feat: extend operational investigation workflows
Generic Container CI/CD / test-build-publish (push) Successful in 3m53s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 3m52s

This commit is contained in:
2026-10-30 17:30:19 +08:00
parent 63af998045
commit 05183aff93
82 changed files with 4644 additions and 330 deletions
+71
View File
@@ -17,6 +17,7 @@
"Stack",
"Section",
"Text",
"Result",
"Metric",
"Table",
"Chart",
@@ -66,6 +67,7 @@
"Stack",
"Section",
"Text",
"Result",
"Metric",
"Table",
"Chart",
@@ -90,6 +92,21 @@
"compact",
"normal"
]
},
"intent": {
"type": "string",
"enum": [
"response",
"comparison",
"report"
]
},
"density": {
"type": "string",
"enum": [
"compact",
"comfortable"
]
}
},
"required": [
@@ -116,6 +133,15 @@
"type": "null"
}
]
},
"role": {
"type": "string",
"enum": [
"result",
"analysis",
"evidence",
"follow_up"
]
}
},
"required": [
@@ -139,6 +165,10 @@
"info",
"warning"
]
},
"title": {
"type": "string",
"maxLength": 200
}
},
"required": [
@@ -148,6 +178,47 @@
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
},
"Result": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200
},
"summary": {
"type": "string",
"maxLength": 4000
},
"status": {
"type": "string",
"enum": [
"success",
"partial",
"unconfirmed",
"error"
]
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
}
},
"required": [
"title",
"summary",
"status",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
},
"Metric": {
"type": "object",
"properties": {
+1 -1
View File
@@ -3,7 +3,7 @@
"contracts": {
"server": {
"file": "server-v1.openapi.json",
"sha256": "66fbf1105aa966a590f93fac176cbc77d22a4a6cf0a94dfcd1d3c27273f73692"
"sha256": "fa5b186d0f1e4257352a812e578cb9901baf47beaca33c388e876f1a7b4c42ae"
}
}
}
+10 -4
View File
@@ -103,7 +103,7 @@
"$ref": "#/components/schemas/ManagedResourceCapabilities"
},
"origin": {
"const": "synthetic",
"const": "system_data",
"title": "Origin",
"type": "string"
},
@@ -273,6 +273,12 @@
],
"title": "Location"
},
"origin": {
"const": "system_data",
"default": "system_data",
"title": "Origin",
"type": "string"
},
"priority": {
"default": "normal",
"enum": [
@@ -1843,7 +1849,7 @@
"title": "Location"
},
"origin": {
"const": "synthetic",
"const": "system_data",
"title": "Origin",
"type": "string"
},
@@ -2036,8 +2042,8 @@
}
},
"info": {
"description": "测试监测与核查反馈样板,不是正式工单平台或设备控制服务。",
"title": "TJWater 外围系统模拟接入",
"description": "按项目管理业务工单与反馈、读取监测历史;测试数据保留独立来源标记。",
"title": "TJWater 外围系统接入",
"version": "1.0.0"
},
"openapi": "3.1.0",
File diff suppressed because it is too large Load Diff
+663
View File
@@ -0,0 +1,663 @@
{
"anyOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "locate_features"
},
"layer": {
"type": "string",
"enum": [
"junctions",
"pipes",
"valves",
"pumps",
"tanks",
"reservoirs",
"scada"
]
},
"feature_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"minItems": 1,
"maxItems": 100
}
},
"required": [
"action",
"layer",
"feature_ids"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "zoom_to_map"
},
"center": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
]
},
"zoom": {
"type": "number",
"minimum": 0,
"maximum": 24
}
},
"required": [
"action",
"center",
"zoom"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "render_scada_analysis"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"device_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"level": {
"type": "string",
"enum": [
"high",
"medium",
"low",
"unrated"
]
}
},
"required": [
"device_id",
"level"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 100
}
},
"required": [
"action",
"items"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "clear_scada_analysis"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "highlight_features"
},
"layer": {
"type": "string",
"enum": [
"junctions",
"pipes",
"valves",
"pumps",
"tanks",
"reservoirs",
"scada"
]
},
"feature_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"minItems": 1,
"maxItems": 100
},
"effect": {
"type": "string",
"enum": [
"steady",
"pulse"
]
}
},
"required": [
"action",
"layer",
"feature_ids",
"effect"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "clear_highlights"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "open_chart"
},
"chart_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"chart": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200
},
"chart_type": {
"type": "string",
"enum": [
"line",
"bar"
]
},
"x_data": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"minItems": 1,
"maxItems": 100
},
"series": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 128
},
"data": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 1,
"maxItems": 100
}
},
"required": [
"name",
"data"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 8
}
},
"required": [
"title",
"chart_type",
"x_data",
"series"
],
"additionalProperties": false
},
"evidence_refs": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"minItems": 0,
"maxItems": 100
}
},
"required": [
"action",
"chart_id",
"chart",
"evidence_refs"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "close_chart"
},
"chart_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"action",
"chart_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "set_overlay"
},
"overlay_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"mode": {
"type": "string",
"enum": [
"geometry",
"heatmap"
]
},
"evidence_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"data": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "FeatureCollection"
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "Feature"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"properties": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"geometry": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "Point"
},
"coordinates": {
"type": "array",
"minItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
],
"additionalItems": {
"type": "number"
}
}
},
"required": [
"type",
"coordinates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "MultiPoint"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
],
"additionalItems": {
"type": "number"
}
},
"minItems": 1,
"maxItems": 20000
}
},
"required": [
"type",
"coordinates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "LineString"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
],
"additionalItems": {
"type": "number"
}
},
"minItems": 2,
"maxItems": 20000
}
},
"required": [
"type",
"coordinates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "MultiLineString"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
],
"additionalItems": {
"type": "number"
}
},
"minItems": 2,
"maxItems": 20000
},
"minItems": 1,
"maxItems": 20000
}
},
"required": [
"type",
"coordinates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "Polygon"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
],
"additionalItems": {
"type": "number"
}
},
"minItems": 4,
"maxItems": 20000
},
"minItems": 1,
"maxItems": 20000
}
},
"required": [
"type",
"coordinates"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "MultiPolygon"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"minItems": 2,
"items": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "number",
"minimum": -90,
"maximum": 90
}
],
"additionalItems": {
"type": "number"
}
},
"minItems": 4,
"maxItems": 20000
},
"minItems": 1,
"maxItems": 20000
},
"minItems": 1,
"maxItems": 20000
}
},
"required": [
"type",
"coordinates"
],
"additionalProperties": false
}
]
}
},
"required": [
"type",
"properties",
"geometry"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 1000
}
},
"required": [
"type",
"features"
],
"additionalProperties": false
}
},
"required": [
"action",
"overlay_id",
"title",
"mode",
"evidence_id",
"data"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "clear_overlay"
},
"overlay_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"action",
"overlay_id"
],
"additionalProperties": false
}
],
"$schema": "http://json-schema.org/draft-07/schema#"
}