@agent-os-sdk/client 0.9.21 → 0.9.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1238,6 +1238,130 @@
1238
1238
  }
1239
1239
  }
1240
1240
  },
1241
+ "/v1/api/agents/{id}/publish-preview": {
1242
+ "get": {
1243
+ "tags": [
1244
+ "Agents"
1245
+ ],
1246
+ "summary": "Returns the official publish preview/readiness surface for the saved draft IR.",
1247
+ "parameters": [
1248
+ {
1249
+ "name": "id",
1250
+ "in": "path",
1251
+ "required": true,
1252
+ "schema": {
1253
+ "type": "string",
1254
+ "format": "uuid"
1255
+ }
1256
+ }
1257
+ ],
1258
+ "responses": {
1259
+ "200": {
1260
+ "description": "OK",
1261
+ "content": {
1262
+ "application/json": {
1263
+ "schema": {
1264
+ "$ref": "#/components/schemas/PublishPreviewResponse"
1265
+ }
1266
+ }
1267
+ }
1268
+ },
1269
+ "404": {
1270
+ "description": "Not Found",
1271
+ "content": {
1272
+ "application/json": {
1273
+ "schema": {
1274
+ "$ref": "#/components/schemas/ProblemDetails"
1275
+ }
1276
+ }
1277
+ }
1278
+ },
1279
+ "400": {
1280
+ "description": "Bad Request",
1281
+ "content": {
1282
+ "application/json": {
1283
+ "schema": {
1284
+ "$ref": "#/components/schemas/ProblemDetails"
1285
+ }
1286
+ }
1287
+ }
1288
+ },
1289
+ "503": {
1290
+ "description": "Service Unavailable"
1291
+ }
1292
+ }
1293
+ },
1294
+ "post": {
1295
+ "tags": [
1296
+ "Agents"
1297
+ ],
1298
+ "parameters": [
1299
+ {
1300
+ "name": "id",
1301
+ "in": "path",
1302
+ "required": true,
1303
+ "schema": {
1304
+ "type": "string",
1305
+ "format": "uuid"
1306
+ }
1307
+ }
1308
+ ],
1309
+ "requestBody": {
1310
+ "content": {
1311
+ "application/json": {
1312
+ "schema": {
1313
+ "$ref": "#/components/schemas/PublishPreviewRequest"
1314
+ }
1315
+ },
1316
+ "text/json": {
1317
+ "schema": {
1318
+ "$ref": "#/components/schemas/PublishPreviewRequest"
1319
+ }
1320
+ },
1321
+ "application/*+json": {
1322
+ "schema": {
1323
+ "$ref": "#/components/schemas/PublishPreviewRequest"
1324
+ }
1325
+ }
1326
+ }
1327
+ },
1328
+ "responses": {
1329
+ "200": {
1330
+ "description": "OK",
1331
+ "content": {
1332
+ "application/json": {
1333
+ "schema": {
1334
+ "$ref": "#/components/schemas/PublishPreviewResponse"
1335
+ }
1336
+ }
1337
+ }
1338
+ },
1339
+ "404": {
1340
+ "description": "Not Found",
1341
+ "content": {
1342
+ "application/json": {
1343
+ "schema": {
1344
+ "$ref": "#/components/schemas/ProblemDetails"
1345
+ }
1346
+ }
1347
+ }
1348
+ },
1349
+ "400": {
1350
+ "description": "Bad Request",
1351
+ "content": {
1352
+ "application/json": {
1353
+ "schema": {
1354
+ "$ref": "#/components/schemas/ProblemDetails"
1355
+ }
1356
+ }
1357
+ }
1358
+ },
1359
+ "503": {
1360
+ "description": "Service Unavailable"
1361
+ }
1362
+ }
1363
+ }
1364
+ },
1241
1365
  "/v1/api/agents/{id}/draft/ir": {
1242
1366
  "get": {
1243
1367
  "tags": [
@@ -13085,6 +13209,231 @@
13085
13209
  },
13086
13210
  "additionalProperties": false
13087
13211
  },
13212
+ "PublishPreviewBindingItem": {
13213
+ "type": "object",
13214
+ "properties": {
13215
+ "binding_key": {
13216
+ "type": "string",
13217
+ "nullable": true
13218
+ },
13219
+ "status": {
13220
+ "type": "string",
13221
+ "nullable": true
13222
+ },
13223
+ "required_by_capabilities": {
13224
+ "type": "array",
13225
+ "items": {
13226
+ "type": "string"
13227
+ },
13228
+ "nullable": true
13229
+ },
13230
+ "credential_instance_refs": {
13231
+ "type": "array",
13232
+ "items": {
13233
+ "type": "string"
13234
+ },
13235
+ "nullable": true
13236
+ },
13237
+ "credential_type_refs": {
13238
+ "type": "array",
13239
+ "items": {
13240
+ "type": "string"
13241
+ },
13242
+ "nullable": true
13243
+ }
13244
+ },
13245
+ "additionalProperties": false
13246
+ },
13247
+ "PublishPreviewCapabilityItem": {
13248
+ "type": "object",
13249
+ "properties": {
13250
+ "node_id": {
13251
+ "type": "string",
13252
+ "nullable": true
13253
+ },
13254
+ "capability_ref": {
13255
+ "type": "string",
13256
+ "nullable": true
13257
+ },
13258
+ "capability_version": {
13259
+ "type": "string",
13260
+ "nullable": true
13261
+ },
13262
+ "execution_binding": {
13263
+ "type": "string",
13264
+ "nullable": true
13265
+ },
13266
+ "required_credentials": {
13267
+ "type": "array",
13268
+ "items": {
13269
+ "type": "string"
13270
+ },
13271
+ "nullable": true
13272
+ }
13273
+ },
13274
+ "additionalProperties": false
13275
+ },
13276
+ "PublishPreviewDraftDiff": {
13277
+ "type": "object",
13278
+ "properties": {
13279
+ "added_node_ids": {
13280
+ "type": "array",
13281
+ "items": {
13282
+ "type": "string"
13283
+ },
13284
+ "nullable": true
13285
+ },
13286
+ "removed_node_ids": {
13287
+ "type": "array",
13288
+ "items": {
13289
+ "type": "string"
13290
+ },
13291
+ "nullable": true
13292
+ },
13293
+ "modified_node_ids": {
13294
+ "type": "array",
13295
+ "items": {
13296
+ "type": "string"
13297
+ },
13298
+ "nullable": true
13299
+ },
13300
+ "added_capability_refs": {
13301
+ "type": "array",
13302
+ "items": {
13303
+ "type": "string"
13304
+ },
13305
+ "nullable": true
13306
+ },
13307
+ "removed_capability_refs": {
13308
+ "type": "array",
13309
+ "items": {
13310
+ "type": "string"
13311
+ },
13312
+ "nullable": true
13313
+ },
13314
+ "binding_keys_impacted": {
13315
+ "type": "array",
13316
+ "items": {
13317
+ "type": "string"
13318
+ },
13319
+ "nullable": true
13320
+ }
13321
+ },
13322
+ "additionalProperties": false
13323
+ },
13324
+ "PublishPreviewIssue": {
13325
+ "type": "object",
13326
+ "properties": {
13327
+ "code": {
13328
+ "type": "string",
13329
+ "nullable": true
13330
+ },
13331
+ "message": {
13332
+ "type": "string",
13333
+ "nullable": true
13334
+ },
13335
+ "severity": {
13336
+ "type": "string",
13337
+ "nullable": true
13338
+ },
13339
+ "path": {
13340
+ "type": "string",
13341
+ "nullable": true
13342
+ },
13343
+ "node_id": {
13344
+ "type": "string",
13345
+ "nullable": true
13346
+ },
13347
+ "hint": {
13348
+ "type": "string",
13349
+ "nullable": true
13350
+ }
13351
+ },
13352
+ "additionalProperties": false
13353
+ },
13354
+ "PublishPreviewRequest": {
13355
+ "type": "object",
13356
+ "properties": {
13357
+ "ir_json": {
13358
+ "nullable": true
13359
+ }
13360
+ },
13361
+ "additionalProperties": false
13362
+ },
13363
+ "PublishPreviewResponse": {
13364
+ "type": "object",
13365
+ "properties": {
13366
+ "agent_id": {
13367
+ "type": "string",
13368
+ "format": "uuid"
13369
+ },
13370
+ "draft_ir_revision": {
13371
+ "type": "string",
13372
+ "nullable": true
13373
+ },
13374
+ "ready": {
13375
+ "type": "boolean"
13376
+ },
13377
+ "validation_result": {
13378
+ "$ref": "#/components/schemas/PublishPreviewValidationResult"
13379
+ },
13380
+ "capabilities": {
13381
+ "type": "array",
13382
+ "items": {
13383
+ "$ref": "#/components/schemas/PublishPreviewCapabilityItem"
13384
+ },
13385
+ "nullable": true
13386
+ },
13387
+ "bindings": {
13388
+ "type": "array",
13389
+ "items": {
13390
+ "$ref": "#/components/schemas/PublishPreviewBindingItem"
13391
+ },
13392
+ "nullable": true
13393
+ },
13394
+ "draft_diff": {
13395
+ "$ref": "#/components/schemas/PublishPreviewDraftDiff"
13396
+ },
13397
+ "blockers": {
13398
+ "type": "array",
13399
+ "items": {
13400
+ "$ref": "#/components/schemas/PublishPreviewIssue"
13401
+ },
13402
+ "nullable": true
13403
+ },
13404
+ "warnings": {
13405
+ "type": "array",
13406
+ "items": {
13407
+ "$ref": "#/components/schemas/PublishPreviewIssue"
13408
+ },
13409
+ "nullable": true
13410
+ }
13411
+ },
13412
+ "additionalProperties": false
13413
+ },
13414
+ "PublishPreviewValidationResult": {
13415
+ "type": "object",
13416
+ "properties": {
13417
+ "valid": {
13418
+ "type": "boolean"
13419
+ },
13420
+ "errors": {
13421
+ "type": "array",
13422
+ "items": {
13423
+ "$ref": "#/components/schemas/PublishPreviewIssue"
13424
+ },
13425
+ "nullable": true
13426
+ },
13427
+ "warnings": {
13428
+ "type": "array",
13429
+ "items": {
13430
+ "$ref": "#/components/schemas/PublishPreviewIssue"
13431
+ },
13432
+ "nullable": true
13433
+ }
13434
+ },
13435
+ "additionalProperties": false
13436
+ },
13088
13437
  "RejectImprovementCaseRequest": {
13089
13438
  "type": "object",
13090
13439
  "properties": {
@@ -53,6 +53,58 @@ export interface GraphValidationResponse {
53
53
  warnings?: string[];
54
54
  }
55
55
 
56
+ export interface PublishPreviewIssue {
57
+ code: string;
58
+ message: string;
59
+ severity: string;
60
+ path?: string;
61
+ node_id?: string;
62
+ hint?: string;
63
+ }
64
+
65
+ export interface PublishPreviewValidationResult {
66
+ valid: boolean;
67
+ errors: PublishPreviewIssue[];
68
+ warnings: PublishPreviewIssue[];
69
+ }
70
+
71
+ export interface PublishPreviewCapabilityItem {
72
+ node_id: string;
73
+ capability_ref: string;
74
+ capability_version: string;
75
+ execution_binding: string;
76
+ required_credentials: string[];
77
+ }
78
+
79
+ export interface PublishPreviewBindingItem {
80
+ binding_key: string;
81
+ status: "bound" | "missing" | "ambiguous";
82
+ required_by_capabilities: string[];
83
+ credential_instance_refs: string[];
84
+ credential_type_refs: string[];
85
+ }
86
+
87
+ export interface PublishPreviewDraftDiff {
88
+ added_node_ids: string[];
89
+ removed_node_ids: string[];
90
+ modified_node_ids: string[];
91
+ added_capability_refs: string[];
92
+ removed_capability_refs: string[];
93
+ binding_keys_impacted: string[];
94
+ }
95
+
96
+ export interface PublishPreviewResponse {
97
+ agent_id: string;
98
+ draft_ir_revision: string;
99
+ ready: boolean;
100
+ validation_result: PublishPreviewValidationResult;
101
+ capabilities: PublishPreviewCapabilityItem[];
102
+ bindings: PublishPreviewBindingItem[];
103
+ draft_diff: PublishPreviewDraftDiff;
104
+ blockers: PublishPreviewIssue[];
105
+ warnings: PublishPreviewIssue[];
106
+ }
107
+
56
108
  export interface AgentDraftIrResponse {
57
109
  id: string;
58
110
  name: string;
@@ -308,6 +360,24 @@ export class AgentsModule {
308
360
  });
309
361
  }
310
362
 
363
+ async getPublishPreview(
364
+ agentId: string,
365
+ irJson?: Record<string, unknown>
366
+ ): Promise<APIResponse<PublishPreviewResponse>> {
367
+ if (irJson) {
368
+ return this.client.POST<PublishPreviewResponse>("/v1/api/agents/{id}/publish-preview", {
369
+ params: { path: { id: agentId } },
370
+ body: { ir_json: irJson } as any,
371
+ headers: this.headers(),
372
+ });
373
+ }
374
+
375
+ return this.client.GET<PublishPreviewResponse>("/v1/api/agents/{id}/publish-preview", {
376
+ params: { path: { id: agentId } },
377
+ headers: this.headers(),
378
+ });
379
+ }
380
+
311
381
  // ======================== Draft IR ========================
312
382
 
313
383
  async getDraftIr(agentId: string): Promise<APIResponse<AgentDraftIrResponse>> {
@@ -87,6 +87,48 @@ export interface RunEventDto {
87
87
  root_operation_id: string;
88
88
  }
89
89
 
90
+ export interface RunInspectionResponse {
91
+ run: Record<string, unknown>;
92
+ replay: Record<string, unknown>;
93
+ failure: Record<string, unknown>;
94
+ attempts: Array<Record<string, unknown>>;
95
+ node_executions: Array<Record<string, unknown>>;
96
+ events: Array<Record<string, unknown>>;
97
+ }
98
+
99
+ export interface RunObservabilitySummaryResponse {
100
+ workspace_id: string;
101
+ agent_id?: string | null;
102
+ from?: string | null;
103
+ to?: string | null;
104
+ runs_total: number;
105
+ runs_completed: number;
106
+ runs_failed: number;
107
+ node_executions_total: number;
108
+ node_executions_failed: number;
109
+ retry_count: number;
110
+ replay_count: number;
111
+ handoff_count: number;
112
+ avg_run_latency_ms: number;
113
+ p95_run_latency_ms: number;
114
+ avg_node_latency_ms: number;
115
+ failure_rate: number;
116
+ top_error_categories: Array<{
117
+ error_category: string;
118
+ count: number;
119
+ }>;
120
+ }
121
+
122
+ export interface RunObservabilityCapabilityListResponse {
123
+ items: Array<Record<string, unknown>>;
124
+ count: number;
125
+ }
126
+
127
+ export interface RunObservabilityBindingListResponse {
128
+ items: Array<Record<string, unknown>>;
129
+ count: number;
130
+ }
131
+
90
132
  export class RunsModule {
91
133
  constructor(private client: RawClient) { }
92
134
 
@@ -139,6 +181,12 @@ export class RunsModule {
139
181
  });
140
182
  }
141
183
 
184
+ async getInspection(runId: string): Promise<APIResponse<RunInspectionResponse>> {
185
+ return this.client.GET<RunInspectionResponse>("/v1/api/runs/{runId}/inspection", {
186
+ params: { path: { runId } },
187
+ });
188
+ }
189
+
142
190
  /**
143
191
  * List runs with optional filters.
144
192
  */
@@ -243,6 +291,40 @@ export class RunsModule {
243
291
  });
244
292
  }
245
293
 
294
+ async getObservabilitySummary(params?: {
295
+ agent_id?: string;
296
+ from?: string;
297
+ to?: string;
298
+ }): Promise<APIResponse<RunObservabilitySummaryResponse>> {
299
+ return this.client.GET<RunObservabilitySummaryResponse>("/v1/api/runs/observability/summary", {
300
+ params: { query: params },
301
+ });
302
+ }
303
+
304
+ async getObservabilityCapabilities(params?: {
305
+ agent_id?: string;
306
+ from?: string;
307
+ to?: string;
308
+ limit?: number;
309
+ offset?: number;
310
+ }): Promise<APIResponse<RunObservabilityCapabilityListResponse>> {
311
+ return this.client.GET<RunObservabilityCapabilityListResponse>("/v1/api/runs/observability/capabilities", {
312
+ params: { query: params },
313
+ });
314
+ }
315
+
316
+ async getObservabilityBindings(params?: {
317
+ agent_id?: string;
318
+ from?: string;
319
+ to?: string;
320
+ limit?: number;
321
+ offset?: number;
322
+ }): Promise<APIResponse<RunObservabilityBindingListResponse>> {
323
+ return this.client.GET<RunObservabilityBindingListResponse>("/v1/api/runs/observability/bindings", {
324
+ params: { query: params },
325
+ });
326
+ }
327
+
246
328
  /**
247
329
  * Resume a run waiting for human input (HITL).
248
330
  * After the run reaches status 'waiting_for_human', use this to provide