feat(agent): align investigation reports and selected context

This commit is contained in:
2026-10-10 16:02:47 +08:00
parent d58bd19039
commit a31b76a793
18 changed files with 1172 additions and 44 deletions
+299 -3
View File
@@ -2565,6 +2565,40 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/v1/operational-tasks/{task_id}/reports": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List Investigation Reports */
get: operations["get_operational_tasks_task_id_reports"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/operational-tasks/{task_id}/reports/{revision}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Investigation Report */
get: operations["get_operational_tasks_task_id_reports_revision"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/v1/operational-tasks/{task_id}/retry": {
parameters: {
query?: never;
@@ -5631,6 +5665,7 @@ export interface components {
AgentTaskContext: {
/** Approved Data Scopes */
approved_data_scopes: string[];
selected_report?: components["schemas"]["InvestigationReportRevision"] | null;
task: components["schemas"]["OperationalTaskDetail"];
};
/**
@@ -6394,21 +6429,119 @@ export interface components {
*/
request_id: string;
};
/** InvestigationReportInput */
/** InvestigationDataGap */
InvestigationDataGap: {
/** Blocking */
blocking: boolean;
/** Evidence Refs */
evidence_refs: string[];
/** Gap Id */
gap_id: string;
/** Impact */
impact: string;
/** Missing Data */
missing_data: string;
/** Node Id */
node_id?: string | null;
/** Required Data */
required_data: string;
/** Scope */
scope: string;
};
/** InvestigationDiagram */
InvestigationDiagram: {
/** Mermaid */
mermaid: string;
/** Node Refs */
node_refs?: components["schemas"]["InvestigationDiagramNodeRef"][];
/** Title */
title: string;
};
/** InvestigationDiagramNodeRef */
InvestigationDiagramNodeRef: {
/** Action Refs */
action_refs?: string[];
/** Evidence Refs */
evidence_refs?: string[];
/** Label */
label: string;
/** Node Id */
node_id: string;
};
/**
* InvestigationReport
* @description Read model: absent historical facts remain unknown, never inferred.
*/
InvestigationReport: {
/** Conclusion Boundary */
conclusion_boundary: string;
/** Current Conclusion */
current_conclusion: string;
/** Data Gaps */
data_gaps?: components["schemas"]["InvestigationDataGap"][] | null;
diagram?: components["schemas"]["InvestigationDiagram"] | null;
/** Evidence Refs */
evidence_refs?: string[];
/** Outcome */
outcome?: ("concluded" | "insufficient_data") | null;
/** Pending Items */
pending_items?: string[];
/** Recommendations */
recommendations?: string[];
/** Stage */
stage?: ("interim" | "final") | null;
/** Stop Reason */
stop_reason?: string | null;
/** Title */
title: string;
};
/**
* InvestigationReportInput
* @description Write model: every new report explicitly declares its business result.
*/
InvestigationReportInput: {
/** Conclusion Boundary */
conclusion_boundary: string;
/** Current Conclusion */
current_conclusion: string;
/** Data Gaps */
data_gaps: components["schemas"]["InvestigationDataGap"][];
diagram?: components["schemas"]["InvestigationDiagram"] | null;
/** Evidence Refs */
evidence_refs?: string[];
/**
* Outcome
* @enum {string}
*/
outcome: "concluded" | "insufficient_data";
/** Pending Items */
pending_items?: string[];
/** Recommendations */
recommendations?: string[];
/**
* Stage
* @enum {string}
*/
stage: "interim" | "final";
/** Stop Reason */
stop_reason?: string | null;
/** Title */
title: string;
};
/** InvestigationReportPage */
InvestigationReportPage: {
/** Items */
items: components["schemas"]["InvestigationReportRevision"][];
/** Next Offset */
next_offset?: number | null;
};
/** InvestigationReportReference */
InvestigationReportReference: {
/** Execution Generation */
execution_generation: number;
/** Revision */
revision: number;
};
/** InvestigationReportRevision */
InvestigationReportRevision: {
/** Execution Generation */
@@ -6420,7 +6553,7 @@ export interface components {
published_at: string;
/** Published By */
published_by: string;
report: components["schemas"]["InvestigationReportInput"];
report: components["schemas"]["InvestigationReport"];
/** Revision */
revision: number;
/** Source Session Id */
@@ -6770,6 +6903,7 @@ export interface components {
read_at?: string | null;
/** Read By */
read_by?: string | null;
report_reference?: components["schemas"]["InvestigationReportReference"] | null;
/** Required Permission */
required_permission?: string | null;
/** Resolution Reason */
@@ -20756,7 +20890,9 @@ export interface operations {
};
get_operational_tasks_task_id_agent_context: {
parameters: {
query?: never;
query?: {
report_revision?: number | null;
};
header: {
"X-Project-Id": string;
};
@@ -21158,6 +21294,166 @@ export interface operations {
};
};
};
get_operational_tasks_task_id_reports: {
parameters: {
query?: {
limit?: number;
offset?: 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"]["InvestigationReportPage"];
};
};
/** @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_revision: {
parameters: {
query?: never;
header: {
"X-Project-Id": string;
};
path: {
task_id: string;
revision: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InvestigationReportRevision"];
};
};
/** @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_retry: {
parameters: {
query?: never;