feat: upgrade investigation and presentation runtime
Generic Container CI/CD / test-build-publish (push) Successful in 1m6s
Agent CI/CD / build-test-publish-and-deploy (push) Successful in 1m7s

This commit is contained in:
2026-10-30 17:30:19 +08:00
parent 3b52a0ddab
commit 6336157ff4
104 changed files with 6541 additions and 961 deletions
+544 -7
View File
@@ -2709,7 +2709,8 @@ export interface paths {
path?: never;
cookie?: never;
};
get?: never;
/** Get Operational Task Presentation History */
get: operations["get_operational_tasks_task_id_presentation_events"];
put?: never;
/** Publish Operational Task Presentation Event */
post: operations["post_operational_tasks_task_id_presentation_events"];
@@ -2719,6 +2720,40 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/operational-tasks/{task_id}/questions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create Operational Task Question */
post: operations["post_operational_tasks_task_id_questions"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/operational-tasks/{task_id}/questions/{question_id}/answer": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Answer Operational Task Question */
post: operations["post_operational_tasks_task_id_questions_question_id_answer"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/operational-tasks/{task_id}/reports": {
parameters: {
query?: never;
@@ -5983,6 +6018,8 @@ export interface components {
};
/** AgentRunCommand */
AgentRunCommand: {
/** Agent Instance Id */
agent_instance_id?: string | null;
/** Expected Revision */
expected_revision: number;
/**
@@ -6014,6 +6051,8 @@ export interface components {
};
/** AgentRunFailureCommand */
AgentRunFailureCommand: {
/** Agent Instance Id */
agent_instance_id?: string | null;
/** Expected Revision */
expected_revision: number;
/** Failure Code */
@@ -6041,6 +6080,8 @@ export interface components {
block_id: string;
/** Fallback Text */
fallback_text: string;
/** Phase */
phase?: ("process" | "final") | null;
spec: components["schemas"]["AnswerUiSpec"];
/**
* Version
@@ -6703,7 +6744,7 @@ export interface components {
* Origin
* @constant
*/
origin: "synthetic";
origin: "system_data";
/**
* Priority
* @enum {string}
@@ -6922,8 +6963,11 @@ export interface components {
map_targets?: components["schemas"]["InvestigationMapTarget"][];
/** Node Id */
node_id: string;
/** Status */
status?: ("pending" | "running" | "completed" | "waiting_human" | "failed" | "skipped" | "cancelled") | null;
/**
* Status
* @description Evidence-confirmed node state; waiting means prerequisites/external/system result, waiting_human requires manual authorization/approval/feedback. Unknown stays omitted/null; host controls colors.
*/
status?: ("pending" | "running" | "completed" | "waiting" | "waiting_human" | "failed" | "skipped" | "cancelled") | null;
};
/** InvestigationMapTarget */
InvestigationMapTarget: {
@@ -7344,6 +7388,8 @@ export interface components {
* Format: uuid
*/
project_id: string;
/** Questions */
questions?: components["schemas"]["TaskQuestionRequest"][];
/** Revision */
revision: number;
/** Scheduled For */
@@ -7426,7 +7472,7 @@ export interface components {
* @default task
* @enum {string}
*/
subject_type: "task" | "run" | "access_request" | "action";
subject_type: "task" | "run" | "access_request" | "action" | "question";
/**
* Task Id
* Format: uuid
@@ -7461,6 +7507,11 @@ export interface components {
};
/** OperationalTaskPermissions */
OperationalTaskPermissions: {
/**
* Can Answer Questions
* @default false
*/
can_answer_questions: boolean;
/**
* Can Decide Access
* @default false
@@ -7493,6 +7544,8 @@ export interface components {
};
/** OperationalTaskRun */
OperationalTaskRun: {
/** Agent Instance Id */
agent_instance_id?: string | null;
/** Agent Session Id */
agent_session_id?: string | null;
/**
@@ -8599,6 +8652,14 @@ export interface components {
/** Overlay Id */
overlay_id: string;
};
/** TaskClearScadaAnalysis */
TaskClearScadaAnalysis: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
action: "clear_scada_analysis";
};
/** TaskCloseChart */
TaskCloseChart: {
/**
@@ -8659,7 +8720,6 @@ export interface components {
action: "highlight_features";
/**
* Effect
* @default steady
* @enum {string}
*/
effect: "steady" | "pulse";
@@ -8671,6 +8731,21 @@ export interface components {
*/
layer: "junctions" | "pipes" | "valves" | "pumps" | "tanks" | "reservoirs" | "scada";
};
/** TaskLocateFeatures */
TaskLocateFeatures: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
action: "locate_features";
/** Feature Ids */
feature_ids: string[];
/**
* Layer
* @enum {string}
*/
layer: "junctions" | "pipes" | "valves" | "pumps" | "tanks" | "reservoirs" | "scada";
};
/** TaskOpenChart */
TaskOpenChart: {
/**
@@ -8684,6 +8759,41 @@ export interface components {
/** Evidence Refs */
evidence_refs: string[];
};
/** TaskOverlayData */
TaskOverlayData: {
/** Features */
features: components["schemas"]["TaskOverlayFeature"][];
/**
* Type
* @constant
*/
type: "FeatureCollection";
};
/** TaskOverlayFeature */
TaskOverlayFeature: {
geometry: components["schemas"]["TaskOverlayGeometry"];
/** Id */
id?: string | number | null;
/** Properties */
properties: {
[key: string]: components["schemas"]["JsonValue"];
} | null;
/**
* Type
* @constant
*/
type: "Feature";
};
/** TaskOverlayGeometry */
TaskOverlayGeometry: {
/** Coordinates */
coordinates: components["schemas"]["JsonValue"][];
/**
* Type
* @enum {string}
*/
type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon";
};
/** TaskPresentationActiveRun */
TaskPresentationActiveRun: {
/** Generation */
@@ -8715,7 +8825,7 @@ export interface components {
/** TaskPresentationEventCommand */
TaskPresentationEventCommand: {
/** Command */
command: components["schemas"]["TaskHighlightFeatures"] | components["schemas"]["TaskClearHighlights"] | components["schemas"]["TaskOpenChart"] | components["schemas"]["TaskCloseChart"] | components["schemas"]["TaskSetOverlay"] | components["schemas"]["TaskClearOverlay"];
command: components["schemas"]["TaskHighlightFeatures"] | components["schemas"]["TaskLocateFeatures"] | components["schemas"]["TaskZoomToMap"] | components["schemas"]["TaskRenderScadaAnalysis"] | components["schemas"]["TaskClearScadaAnalysis"] | components["schemas"]["TaskClearHighlights"] | components["schemas"]["TaskOpenChart"] | components["schemas"]["TaskCloseChart"] | components["schemas"]["TaskSetOverlay"] | components["schemas"]["TaskClearOverlay"];
/**
* Request Id
* Format: uuid
@@ -8747,6 +8857,158 @@ export interface components {
*/
run_id: string;
};
/** TaskPresentationHistoryItem */
TaskPresentationHistoryItem: {
/** Command */
command: {
[key: string]: components["schemas"]["JsonValue"];
};
/** Event Seq */
event_seq: number;
/** Execution Generation */
execution_generation: number;
/**
* Occurred At
* Format: date-time
*/
occurred_at: string;
/**
* Run Id
* Format: uuid
*/
run_id: string;
};
/** TaskPresentationHistoryPage */
TaskPresentationHistoryPage: {
/** Event Cursor */
event_cursor: number;
/** Items */
items: components["schemas"]["TaskPresentationHistoryItem"][];
/** Next After */
next_after?: number | null;
/**
* Task Id
* Format: uuid
*/
task_id: string;
};
/** TaskQuestion */
TaskQuestion: {
/** Allow Custom */
allow_custom: boolean;
/** Body */
body: string;
/**
* Mode
* @enum {string}
*/
mode: "single" | "multiple";
/** Options */
options: components["schemas"]["TaskQuestionOption"][];
/** Question Id */
question_id: string;
/** Required */
required: boolean;
/** Title */
title: string;
};
/** TaskQuestionAnswer */
TaskQuestionAnswer: {
/** Custom Text */
custom_text: string;
/** Question Id */
question_id: string;
/** Selected Option Ids */
selected_option_ids: string[];
};
/** TaskQuestionCreate */
TaskQuestionCreate: {
/** Questions */
questions: components["schemas"]["TaskQuestion"][];
/**
* Request Id
* Format: uuid
*/
request_id: string;
/**
* Run Id
* Format: uuid
*/
run_id: string;
/** Source Session Id */
source_session_id: string;
};
/** TaskQuestionOption */
TaskQuestionOption: {
/** Id */
id: string;
/** Label */
label: string;
};
/** TaskQuestionReply */
TaskQuestionReply: {
/** Answers */
answers: components["schemas"]["TaskQuestionAnswer"][];
/** Expected Version */
expected_version: number;
/**
* Request Id
* Format: uuid
*/
request_id: string;
};
/** TaskQuestionRequest */
TaskQuestionRequest: {
/** Answered At */
answered_at?: string | null;
/** Answered By */
answered_by?: string | null;
/** Answers */
answers?: components["schemas"]["TaskQuestionAnswer"][];
/**
* Created At
* Format: date-time
*/
created_at: string;
/** Execution Generation */
execution_generation: number;
/**
* Question Request Id
* Format: uuid
*/
question_request_id: string;
/** Questions */
questions: components["schemas"]["TaskQuestion"][];
/**
* Run Id
* Format: uuid
*/
run_id: string;
/** Source Session Id */
source_session_id: string;
/**
* Status
* @enum {string}
*/
status: "pending" | "answered" | "cancelled";
/**
* Task Id
* Format: uuid
*/
task_id: string;
/** Version */
version: number;
};
/** TaskRenderScadaAnalysis */
TaskRenderScadaAnalysis: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
action: "render_scada_analysis";
/** Items */
items: components["schemas"]["TaskScadaAnalysisItem"][];
};
/** TaskSafeChart */
TaskSafeChart: {
/**
@@ -8768,6 +9030,16 @@ export interface components {
/** Name */
name: string;
};
/** TaskScadaAnalysisItem */
TaskScadaAnalysisItem: {
/** Device Id */
device_id: string;
/**
* Level
* @enum {string}
*/
level: "high" | "medium" | "low" | "unrated";
};
/** TaskSetOverlay */
TaskSetOverlay: {
/**
@@ -8775,6 +9047,7 @@ export interface components {
* @enum {string}
*/
action: "set_overlay";
data?: components["schemas"]["TaskOverlayData"] | null;
/** Evidence Id */
evidence_id: string;
/**
@@ -8818,6 +9091,21 @@ export interface components {
*/
occurred_at: string;
};
/** TaskZoomToMap */
TaskZoomToMap: {
/**
* @description discriminator enum property added by openapi-typescript
* @enum {string}
*/
action: "zoom_to_map";
/** Center */
center: [
number,
number
];
/** Zoom */
zoom: number;
};
/** TiandituGeocodeRequest */
TiandituGeocodeRequest: {
/**
@@ -22828,6 +23116,88 @@ export interface operations {
};
};
};
get_operational_tasks_task_id_presentation_events: {
parameters: {
query?: {
after?: number;
through?: number | null;
limit?: number;
};
header: {
"X-Project-Id": string;
};
path: {
task_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskPresentationHistoryPage"];
};
};
/** @description Authentication required */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Insufficient permission */
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Resource not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Resource conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Validation error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Dependency unavailable */
503: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
};
};
post_operational_tasks_task_id_presentation_events: {
parameters: {
query?: never;
@@ -22910,6 +23280,171 @@ export interface operations {
};
};
};
post_operational_tasks_task_id_questions: {
parameters: {
query?: never;
header: {
"X-Project-Id": string;
};
path: {
task_id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["TaskQuestionCreate"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["TaskQuestionRequest"];
};
};
/** @description Authentication required */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Insufficient permission */
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Resource not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Resource conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Validation error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Dependency unavailable */
503: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
};
};
post_operational_tasks_task_id_questions_question_id_answer: {
parameters: {
query?: never;
header: {
"X-Project-Id": string;
};
path: {
task_id: string;
question_id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["TaskQuestionReply"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["OperationalTaskDetail"];
};
};
/** @description Authentication required */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Insufficient permission */
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Resource not found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Resource conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Validation error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
/** @description Dependency unavailable */
503: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProblemDetails"];
};
};
};
};
get_operational_tasks_task_id_reports: {
parameters: {
query?: {
@@ -36409,6 +36944,8 @@ export interface operations {
accident_element: string[];
/** @description 已故障的阀门ID列表(可选) */
disabled_valves?: string[];
/** @description 事故要素类型;auto优先管段再节点;分析同名节点须指定node,纯管段分析可指定link */
accident_element_type?: "auto" | "link" | "node";
};
header: {
"X-Project-Id": string;