@smthrs/gateway 0.34.0 → 0.35.0

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.
package/openapi.yaml CHANGED
@@ -160,6 +160,22 @@ paths:
160
160
  system:
161
161
  type: boolean
162
162
  description: "Whether the launched workflow is an internal system workflow."
163
+ ownership:
164
+ type: object
165
+ description: "Exact persisted run ownership pair."
166
+ properties:
167
+ owner:
168
+ type: string
169
+ minLength: 1
170
+ description: "Authenticated tenant owner key."
171
+ app:
172
+ type: string
173
+ minLength: 1
174
+ description: "Authenticated application key."
175
+ required:
176
+ - owner
177
+ - app
178
+ additionalProperties: false
163
179
  required:
164
180
  - runId
165
181
  - workflow
@@ -213,6 +229,7 @@ paths:
213
229
  - InvalidInput
214
230
  - Unauthorized
215
231
  - Forbidden
232
+ - CONFLICT
216
233
  - Internal
217
234
  message:
218
235
  type: string
@@ -274,6 +291,7 @@ paths:
274
291
  - InvalidInput
275
292
  - Unauthorized
276
293
  - Forbidden
294
+ - CONFLICT
277
295
  - Internal
278
296
  message:
279
297
  type: string
@@ -335,6 +353,69 @@ paths:
335
353
  - InvalidInput
336
354
  - Unauthorized
337
355
  - Forbidden
356
+ - CONFLICT
357
+ - Internal
358
+ message:
359
+ type: string
360
+ requiredScope:
361
+ type: string
362
+ enum:
363
+ - run:read
364
+ - run:write
365
+ - run:admin
366
+ - approval:submit
367
+ - signal:submit
368
+ - cron:read
369
+ - cron:write
370
+ - account:read
371
+ - memory:read
372
+ - prompt:read
373
+ - score:read
374
+ - ticket:read
375
+ - ticket:write
376
+ - observability:read
377
+ refresh:
378
+ type: string
379
+ 409:
380
+ description: "The requested run id is already taken by an existing run."
381
+ content:
382
+ application/json:
383
+ schema:
384
+ type: object
385
+ required:
386
+ - type
387
+ - id
388
+ - ok
389
+ - apiVersion
390
+ - error
391
+ additionalProperties: false
392
+ properties:
393
+ type:
394
+ const: res
395
+ id:
396
+ type: string
397
+ ok:
398
+ const: false
399
+ apiVersion:
400
+ const: v1
401
+ error:
402
+ type: object
403
+ required:
404
+ - version
405
+ - code
406
+ - message
407
+ additionalProperties: true
408
+ properties:
409
+ version:
410
+ const: v1
411
+ code:
412
+ type: string
413
+ enum:
414
+ - InvalidRequest
415
+ - InvalidInput
416
+ - Unauthorized
417
+ - Forbidden
418
+ - CONFLICT
338
419
  - Internal
339
420
  message:
340
421
  type: string
@@ -396,6 +477,7 @@ paths:
396
477
  - InvalidInput
397
478
  - Unauthorized
398
479
  - Forbidden
480
+ - CONFLICT
399
481
  - Internal
400
482
  message:
401
483
  type: string
@@ -835,7 +917,7 @@ paths:
835
917
  post:
836
918
  operationId: cancelRun
837
919
  summary: "Cancel Run"
838
- description: "Cancel an active run."
920
+ description: "Cancel a run AND every transitive child-workflow descendant as one recursive operation. Time-travel forks are spared; continue-as-new continuations are not."
839
921
  tags:
840
922
  - "Gateway RPC"
841
923
  security:
@@ -912,13 +994,126 @@ paths:
912
994
  runId:
913
995
  type: string
914
996
  description: "Stable run identifier."
997
+ won:
998
+ type: boolean
999
+ description: "Whether this request won the durable cancellation claim."
915
1000
  status:
916
1001
  type: string
917
1002
  enum:
918
- - cancelling
1003
+ - cancelled
1004
+ - already-terminal
1005
+ - not-found
1006
+ terminalStatus:
1007
+ type: string
1008
+ description: "Persisted terminal status after cancellation finalization."
1009
+ repaired:
1010
+ type: boolean
1011
+ description: "Whether replay repaired incomplete cancellation cleanup."
1012
+ cancellationSource:
1013
+ type: object
1014
+ description: "Durable attribution for the first caller that cancelled the run."
1015
+ properties:
1016
+ kind:
1017
+ type: string
1018
+ enum:
1019
+ - signal
1020
+ - rpc
1021
+ - cli
1022
+ - engine
1023
+ detail:
1024
+ type: string
1025
+ description: "Human-readable cancellation detail."
1026
+ signal:
1027
+ type: string
1028
+ description: "POSIX signal that initiated cancellation."
1029
+ clientPid:
1030
+ type: integer
1031
+ minimum: 1
1032
+ description: "Process id of the cancellation caller."
1033
+ requestId:
1034
+ type: string
1035
+ description: "Request id of the first cancellation caller."
1036
+ clientIdentity:
1037
+ type: string
1038
+ description: "Authenticated identity of the first cancellation caller."
1039
+ required:
1040
+ - kind
1041
+ additionalProperties: false
1042
+ cancelledAttempts:
1043
+ type: integer
1044
+ minimum: 0
1045
+ description: "Attempts closed across the whole cancelled subtree."
1046
+ descendants:
1047
+ type: array
1048
+ description: "Every descendant the cascade reached, excluding the root run."
1049
+ items:
1050
+ type: object
1051
+ description: "What recursive cancellation did to one run in the cancelled subtree."
1052
+ properties:
1053
+ runId:
1054
+ type: string
1055
+ description: "Stable run identifier."
1056
+ depth:
1057
+ type: integer
1058
+ minimum: 0
1059
+ description: "Distance from the requested root run."
1060
+ action:
1061
+ type: string
1062
+ enum:
1063
+ - cancel-requested
1064
+ - cancelled
1065
+ - already-terminal
1066
+ - missing
1067
+ required:
1068
+ - runId
1069
+ - depth
1070
+ - action
1071
+ additionalProperties: false
1072
+ terminatedOwners:
1073
+ type: array
1074
+ description: "Detached owner processes terminated by the cascade."
1075
+ items:
1076
+ type: object
1077
+ description: "A process tree cancellation terminated so work cannot outlive its run."
1078
+ properties:
1079
+ runId:
1080
+ type:
1081
+ - string
1082
+ - "null"
1083
+ description: "Run the process belonged to."
1084
+ pid:
1085
+ type: integer
1086
+ minimum: 1
1087
+ description: "Terminated process id."
1088
+ required:
1089
+ - runId
1090
+ - pid
1091
+ additionalProperties: false
1092
+ terminatedAgents:
1093
+ type: array
1094
+ description: "Agent process trees terminated for the cancelled subtree."
1095
+ items:
1096
+ type: object
1097
+ description: "A process tree cancellation terminated so work cannot outlive its run."
1098
+ properties:
1099
+ runId:
1100
+ type:
1101
+ - string
1102
+ - "null"
1103
+ description: "Run the process belonged to."
1104
+ pid:
1105
+ type: integer
1106
+ minimum: 1
1107
+ description: "Terminated process id."
1108
+ required:
1109
+ - runId
1110
+ - pid
1111
+ additionalProperties: false
919
1112
  required:
920
1113
  - runId
1114
+ - won
921
1115
  - status
1116
+ - repaired
922
1117
  additionalProperties: false
923
1118
  example:
924
1119
  type: res
@@ -927,7 +1122,30 @@ paths:
927
1122
  apiVersion: v1
928
1123
  payload:
929
1124
  runId: run_01
930
- status: cancelling
1125
+ won: true
1126
+ status: cancelled
1127
+ terminalStatus: cancelled
1128
+ repaired: false
1129
+ cancellationSource:
1130
+ kind: rpc
1131
+ detail: "websocket cancellation request"
1132
+ clientPid: 4321
1133
+ requestId: cancelRun-1
1134
+ clientIdentity: user:operator
1135
+ cancelledAttempts: 2
1136
+ descendants:
1137
+ -
1138
+ runId: run_01:child:review:0
1139
+ depth: 1
1140
+ action: cancelled
1141
+ terminatedOwners:
1142
+ -
1143
+ runId: run_01:child:review:0
1144
+ pid: 4711
1145
+ terminatedAgents:
1146
+ -
1147
+ runId: run_01:child:review:0
1148
+ pid: 4712
931
1149
  400:
932
1150
  description: "The request shape is invalid."
933
1151
  content:
@@ -966,6 +1184,7 @@ paths:
966
1184
  - InvalidRequest
967
1185
  - Unauthorized
968
1186
  - Forbidden
1187
+ - RunNotFound
969
1188
  - RUN_NOT_ACTIVE
970
1189
  - Internal
971
1190
  message:
@@ -1027,6 +1246,7 @@ paths:
1027
1246
  - InvalidRequest
1028
1247
  - Unauthorized
1029
1248
  - Forbidden
1249
+ - RunNotFound
1030
1250
  - RUN_NOT_ACTIVE
1031
1251
  - Internal
1032
1252
  message:
@@ -1088,6 +1308,69 @@ paths:
1088
1308
  - InvalidRequest
1089
1309
  - Unauthorized
1090
1310
  - Forbidden
1311
+ - RunNotFound
1312
+ - RUN_NOT_ACTIVE
1313
+ - Internal
1314
+ message:
1315
+ type: string
1316
+ requiredScope:
1317
+ type: string
1318
+ enum:
1319
+ - run:read
1320
+ - run:write
1321
+ - run:admin
1322
+ - approval:submit
1323
+ - signal:submit
1324
+ - cron:read
1325
+ - cron:write
1326
+ - account:read
1327
+ - memory:read
1328
+ - prompt:read
1329
+ - score:read
1330
+ - ticket:read
1331
+ - ticket:write
1332
+ - observability:read
1333
+ refresh:
1334
+ type: string
1335
+ 404:
1336
+ description: "The run does not exist."
1337
+ content:
1338
+ application/json:
1339
+ schema:
1340
+ type: object
1341
+ required:
1342
+ - type
1343
+ - id
1344
+ - ok
1345
+ - apiVersion
1346
+ - error
1347
+ additionalProperties: false
1348
+ properties:
1349
+ type:
1350
+ const: res
1351
+ id:
1352
+ type: string
1353
+ ok:
1354
+ const: false
1355
+ apiVersion:
1356
+ const: v1
1357
+ error:
1358
+ type: object
1359
+ required:
1360
+ - version
1361
+ - code
1362
+ - message
1363
+ additionalProperties: true
1364
+ properties:
1365
+ version:
1366
+ const: v1
1367
+ code:
1368
+ type: string
1369
+ enum:
1370
+ - InvalidRequest
1371
+ - Unauthorized
1372
+ - Forbidden
1373
+ - RunNotFound
1091
1374
  - RUN_NOT_ACTIVE
1092
1375
  - Internal
1093
1376
  message:
@@ -1149,6 +1432,7 @@ paths:
1149
1432
  - InvalidRequest
1150
1433
  - Unauthorized
1151
1434
  - Forbidden
1435
+ - RunNotFound
1152
1436
  - RUN_NOT_ACTIVE
1153
1437
  - Internal
1154
1438
  message:
@@ -1210,6 +1494,7 @@ paths:
1210
1494
  - InvalidRequest
1211
1495
  - Unauthorized
1212
1496
  - Forbidden
1497
+ - RunNotFound
1213
1498
  - RUN_NOT_ACTIVE
1214
1499
  - Internal
1215
1500
  message:
@@ -4088,6 +4373,52 @@ paths:
4088
4373
  - state
4089
4374
  - computedAt
4090
4375
  additionalProperties: true
4376
+ cancellationSource:
4377
+ type: object
4378
+ description: "Durable attribution for the first caller that cancelled the run."
4379
+ properties:
4380
+ kind:
4381
+ type: string
4382
+ enum:
4383
+ - signal
4384
+ - rpc
4385
+ - cli
4386
+ - engine
4387
+ detail:
4388
+ type: string
4389
+ description: "Human-readable cancellation detail."
4390
+ signal:
4391
+ type: string
4392
+ description: "POSIX signal that initiated cancellation."
4393
+ clientPid:
4394
+ type: integer
4395
+ minimum: 1
4396
+ description: "Process id of the cancellation caller."
4397
+ requestId:
4398
+ type: string
4399
+ description: "Request id of the first cancellation caller."
4400
+ clientIdentity:
4401
+ type: string
4402
+ description: "Authenticated identity of the first cancellation caller."
4403
+ required:
4404
+ - kind
4405
+ additionalProperties: false
4406
+ ownership:
4407
+ type: object
4408
+ description: "Exact persisted run ownership pair."
4409
+ properties:
4410
+ owner:
4411
+ type: string
4412
+ minLength: 1
4413
+ description: "Authenticated tenant owner key."
4414
+ app:
4415
+ type: string
4416
+ minLength: 1
4417
+ description: "Authenticated application key."
4418
+ required:
4419
+ - owner
4420
+ - app
4421
+ additionalProperties: false
4091
4422
  required:
4092
4423
  - runId
4093
4424
  - system
@@ -4521,6 +4852,10 @@ paths:
4521
4852
  type: integer
4522
4853
  minimum: 0
4523
4854
  description: "Reported input tokens."
4855
+ freshInputTokens:
4856
+ type: integer
4857
+ minimum: 0
4858
+ description: "Reported input tokens excluding cache reads."
4524
4859
  outputTokens:
4525
4860
  type: integer
4526
4861
  minimum: 0
@@ -4537,6 +4872,11 @@ paths:
4537
4872
  type: integer
4538
4873
  minimum: 0
4539
4874
  description: "Reported reasoning tokens."
4875
+ costUsd:
4876
+ type:
4877
+ - number
4878
+ - "null"
4879
+ description: "Reported cost in USD, null when unknown."
4540
4880
  timestampMs:
4541
4881
  type: integer
4542
4882
  minimum: 0
@@ -4548,10 +4888,12 @@ paths:
4548
4888
  - model
4549
4889
  - agent
4550
4890
  - inputTokens
4891
+ - freshInputTokens
4551
4892
  - outputTokens
4552
4893
  - cacheReadTokens
4553
4894
  - cacheWriteTokens
4554
4895
  - reasoningTokens
4896
+ - costUsd
4555
4897
  - timestampMs
4556
4898
  additionalProperties: false
4557
4899
  required:
@@ -4573,10 +4915,12 @@ paths:
4573
4915
  model: gpt-5.4-codex
4574
4916
  agent: codex-work
4575
4917
  inputTokens: 120
4918
+ freshInputTokens: 80
4576
4919
  outputTokens: 30
4577
4920
  cacheReadTokens: 40
4578
4921
  cacheWriteTokens: 5
4579
4922
  reasoningTokens: 12
4923
+ costUsd: null
4580
4924
  timestampMs: 1710000000000
4581
4925
  400:
4582
4926
  description: "The request shape is invalid."
@@ -4941,6 +5285,14 @@ paths:
4941
5285
  includeSystem:
4942
5286
  type: boolean
4943
5287
  description: "Include internal system runs; they are excluded by default."
5288
+ owner:
5289
+ type: string
5290
+ minLength: 1
5291
+ description: "Admin-only owner filter; must be paired with app."
5292
+ app:
5293
+ type: string
5294
+ minLength: 1
5295
+ description: "Admin-only application filter; must be paired with owner."
4944
5296
  required: []
4945
5297
  additionalProperties: false
4946
5298
  required: []
@@ -5011,6 +5363,52 @@ paths:
5011
5363
  system:
5012
5364
  type: boolean
5013
5365
  description: "Whether this run belongs to an internal system workflow."
5366
+ cancellationSource:
5367
+ type: object
5368
+ description: "Durable attribution for the first caller that cancelled the run."
5369
+ properties:
5370
+ kind:
5371
+ type: string
5372
+ enum:
5373
+ - signal
5374
+ - rpc
5375
+ - cli
5376
+ - engine
5377
+ detail:
5378
+ type: string
5379
+ description: "Human-readable cancellation detail."
5380
+ signal:
5381
+ type: string
5382
+ description: "POSIX signal that initiated cancellation."
5383
+ clientPid:
5384
+ type: integer
5385
+ minimum: 1
5386
+ description: "Process id of the cancellation caller."
5387
+ requestId:
5388
+ type: string
5389
+ description: "Request id of the first cancellation caller."
5390
+ clientIdentity:
5391
+ type: string
5392
+ description: "Authenticated identity of the first cancellation caller."
5393
+ required:
5394
+ - kind
5395
+ additionalProperties: false
5396
+ ownership:
5397
+ type: object
5398
+ description: "Exact persisted run ownership pair."
5399
+ properties:
5400
+ owner:
5401
+ type: string
5402
+ minLength: 1
5403
+ description: "Authenticated tenant owner key."
5404
+ app:
5405
+ type: string
5406
+ minLength: 1
5407
+ description: "Authenticated application key."
5408
+ required:
5409
+ - owner
5410
+ - app
5411
+ additionalProperties: false
5014
5412
  required:
5015
5413
  - runId
5016
5414
  - status
@@ -12027,9 +12425,11 @@ paths:
12027
12425
  - codex
12028
12426
  - gemini
12029
12427
  - kimi
12428
+ - grok
12030
12429
  - anthropic-api
12031
12430
  - openai-api
12032
12431
  - gemini-api
12432
+ - xai-api
12033
12433
  description: "Provider id, one of the fixed `smithers agents` catalog."
12034
12434
  configDir:
12035
12435
  type:
@@ -12402,9 +12802,11 @@ paths:
12402
12802
  - codex
12403
12803
  - gemini
12404
12804
  - kimi
12805
+ - grok
12405
12806
  - anthropic-api
12406
12807
  - openai-api
12407
12808
  - gemini-api
12809
+ - xai-api
12408
12810
  description: "Provider id, one of the fixed `smithers agents` catalog."
12409
12811
  authMode:
12410
12812
  type: string
@@ -20486,6 +20888,24 @@ paths:
20486
20888
  minimum: 0
20487
20889
  maximum: 9007199254740991
20488
20890
  description: "Rows to skip after the newest-first sort (server-side pagination); a safe non-negative integer."
20891
+ -
20892
+ name: owner
20893
+ in: query
20894
+ description: "Admin-only run owner filter; must be paired with app."
20895
+ required: false
20896
+ schema:
20897
+ type: string
20898
+ minLength: 1
20899
+ description: "Admin-only owner filter; must be paired with app."
20900
+ -
20901
+ name: app
20902
+ in: query
20903
+ description: "Admin-only run application filter; must be paired with owner."
20904
+ required: false
20905
+ schema:
20906
+ type: string
20907
+ minLength: 1
20908
+ description: "Admin-only application filter; must be paired with owner."
20489
20909
  responses:
20490
20910
  200:
20491
20911
  description: "Gateway REST response."
@@ -20509,8 +20929,82 @@ paths:
20509
20929
  const: true
20510
20930
  data:
20511
20931
  type: array
20932
+ description: "Run summaries."
20512
20933
  items:
20513
20934
  type: object
20935
+ description: "Run summary view."
20936
+ properties:
20937
+ runId:
20938
+ type: string
20939
+ description: "Stable run identifier."
20940
+ workflowKey:
20941
+ type: string
20942
+ description: "Registered Gateway workflow key."
20943
+ status:
20944
+ type: string
20945
+ description: "Current run status."
20946
+ createdAtMs:
20947
+ type: integer
20948
+ minimum: 0
20949
+ description: "Unix epoch milliseconds."
20950
+ parentRunId:
20951
+ type:
20952
+ - string
20953
+ - "null"
20954
+ description: "Immediate parent run id, if this is a child run."
20955
+ system:
20956
+ type: boolean
20957
+ description: "Whether this run belongs to an internal system workflow."
20958
+ cancellationSource:
20959
+ type: object
20960
+ description: "Durable attribution for the first caller that cancelled the run."
20961
+ properties:
20962
+ kind:
20963
+ type: string
20964
+ enum:
20965
+ - signal
20966
+ - rpc
20967
+ - cli
20968
+ - engine
20969
+ detail:
20970
+ type: string
20971
+ description: "Human-readable cancellation detail."
20972
+ signal:
20973
+ type: string
20974
+ description: "POSIX signal that initiated cancellation."
20975
+ clientPid:
20976
+ type: integer
20977
+ minimum: 1
20978
+ description: "Process id of the cancellation caller."
20979
+ requestId:
20980
+ type: string
20981
+ description: "Request id of the first cancellation caller."
20982
+ clientIdentity:
20983
+ type: string
20984
+ description: "Authenticated identity of the first cancellation caller."
20985
+ required:
20986
+ - kind
20987
+ additionalProperties: false
20988
+ ownership:
20989
+ type: object
20990
+ description: "Exact persisted run ownership pair."
20991
+ properties:
20992
+ owner:
20993
+ type: string
20994
+ minLength: 1
20995
+ description: "Authenticated tenant owner key."
20996
+ app:
20997
+ type: string
20998
+ minLength: 1
20999
+ description: "Authenticated application key."
21000
+ required:
21001
+ - owner
21002
+ - app
21003
+ additionalProperties: false
21004
+ required:
21005
+ - runId
21006
+ - status
21007
+ - system
20514
21008
  additionalProperties: true
20515
21009
  txid:
20516
21010
  type: string
@@ -20769,6 +21263,22 @@ paths:
20769
21263
  system:
20770
21264
  type: boolean
20771
21265
  description: "Whether the launched workflow is an internal system workflow."
21266
+ ownership:
21267
+ type: object
21268
+ description: "Exact persisted run ownership pair."
21269
+ properties:
21270
+ owner:
21271
+ type: string
21272
+ minLength: 1
21273
+ description: "Authenticated tenant owner key."
21274
+ app:
21275
+ type: string
21276
+ minLength: 1
21277
+ description: "Authenticated application key."
21278
+ required:
21279
+ - owner
21280
+ - app
21281
+ additionalProperties: false
20772
21282
  required:
20773
21283
  - runId
20774
21284
  - workflow
@@ -21089,6 +21599,121 @@ paths:
21089
21599
  const: true
21090
21600
  data:
21091
21601
  type: object
21602
+ description: "Current run record, including node-state counts and optional derived runState."
21603
+ properties:
21604
+ runId:
21605
+ type: string
21606
+ description: "Stable run identifier."
21607
+ workflowKey:
21608
+ type: string
21609
+ description: "Registered Gateway workflow key."
21610
+ system:
21611
+ type: boolean
21612
+ description: "Whether this run belongs to an internal system workflow."
21613
+ status:
21614
+ type: string
21615
+ description: "Persisted run status."
21616
+ createdAtMs:
21617
+ type: integer
21618
+ minimum: 0
21619
+ description: "Unix epoch milliseconds."
21620
+ startedAtMs:
21621
+ type:
21622
+ - integer
21623
+ - "null"
21624
+ minimum: 0
21625
+ description: "Unix epoch milliseconds."
21626
+ finishedAtMs:
21627
+ type:
21628
+ - integer
21629
+ - "null"
21630
+ minimum: 0
21631
+ description: "Unix epoch milliseconds."
21632
+ summary:
21633
+ type: object
21634
+ description: "Counts keyed by persisted node state."
21635
+ properties: {}
21636
+ required: []
21637
+ additionalProperties: true
21638
+ runState:
21639
+ type: object
21640
+ description: "Derived RunStateView for the run."
21641
+ properties:
21642
+ runId:
21643
+ type: string
21644
+ description: "Stable run identifier."
21645
+ state:
21646
+ type: string
21647
+ description: "Derived lifecycle state."
21648
+ computedAt:
21649
+ type: string
21650
+ description: "ISO timestamp for when the view was computed."
21651
+ blocked:
21652
+ type: object
21653
+ description: "Optional blocked-run reason."
21654
+ properties: {}
21655
+ required: []
21656
+ additionalProperties: true
21657
+ unhealthy:
21658
+ type: object
21659
+ description: "Optional unhealthy-run reason."
21660
+ properties: {}
21661
+ required: []
21662
+ additionalProperties: true
21663
+ required:
21664
+ - runId
21665
+ - state
21666
+ - computedAt
21667
+ additionalProperties: true
21668
+ cancellationSource:
21669
+ type: object
21670
+ description: "Durable attribution for the first caller that cancelled the run."
21671
+ properties:
21672
+ kind:
21673
+ type: string
21674
+ enum:
21675
+ - signal
21676
+ - rpc
21677
+ - cli
21678
+ - engine
21679
+ detail:
21680
+ type: string
21681
+ description: "Human-readable cancellation detail."
21682
+ signal:
21683
+ type: string
21684
+ description: "POSIX signal that initiated cancellation."
21685
+ clientPid:
21686
+ type: integer
21687
+ minimum: 1
21688
+ description: "Process id of the cancellation caller."
21689
+ requestId:
21690
+ type: string
21691
+ description: "Request id of the first cancellation caller."
21692
+ clientIdentity:
21693
+ type: string
21694
+ description: "Authenticated identity of the first cancellation caller."
21695
+ required:
21696
+ - kind
21697
+ additionalProperties: false
21698
+ ownership:
21699
+ type: object
21700
+ description: "Exact persisted run ownership pair."
21701
+ properties:
21702
+ owner:
21703
+ type: string
21704
+ minLength: 1
21705
+ description: "Authenticated tenant owner key."
21706
+ app:
21707
+ type: string
21708
+ minLength: 1
21709
+ description: "Authenticated application key."
21710
+ required:
21711
+ - owner
21712
+ - app
21713
+ additionalProperties: false
21714
+ required:
21715
+ - runId
21716
+ - system
21092
21717
  additionalProperties: true
21093
21718
  txid:
21094
21719
  type: string
@@ -21378,6 +22003,10 @@ paths:
21378
22003
  type: integer
21379
22004
  minimum: 0
21380
22005
  description: "Reported input tokens."
22006
+ freshInputTokens:
22007
+ type: integer
22008
+ minimum: 0
22009
+ description: "Reported input tokens excluding cache reads."
21381
22010
  outputTokens:
21382
22011
  type: integer
21383
22012
  minimum: 0
@@ -21394,6 +22023,11 @@ paths:
21394
22023
  type: integer
21395
22024
  minimum: 0
21396
22025
  description: "Reported reasoning tokens."
22026
+ costUsd:
22027
+ type:
22028
+ - number
22029
+ - "null"
22030
+ description: "Reported cost in USD, null when unknown."
21397
22031
  timestampMs:
21398
22032
  type: integer
21399
22033
  minimum: 0
@@ -21405,10 +22039,12 @@ paths:
21405
22039
  - model
21406
22040
  - agent
21407
22041
  - inputTokens
22042
+ - freshInputTokens
21408
22043
  - outputTokens
21409
22044
  - cacheReadTokens
21410
22045
  - cacheWriteTokens
21411
22046
  - reasoningTokens
22047
+ - costUsd
21412
22048
  - timestampMs
21413
22049
  additionalProperties: false
21414
22050
  required:
@@ -21951,7 +22587,131 @@ paths:
21951
22587
  const: true
21952
22588
  data:
21953
22589
  type: object
21954
- additionalProperties: true
22590
+ properties:
22591
+ runId:
22592
+ type: string
22593
+ description: "Stable run identifier."
22594
+ won:
22595
+ type: boolean
22596
+ description: "Whether this request won the durable cancellation claim."
22597
+ status:
22598
+ type: string
22599
+ enum:
22600
+ - cancelled
22601
+ - already-terminal
22602
+ - not-found
22603
+ terminalStatus:
22604
+ type: string
22605
+ description: "Persisted terminal status after cancellation finalization."
22606
+ repaired:
22607
+ type: boolean
22608
+ description: "Whether replay repaired incomplete cancellation cleanup."
22609
+ cancellationSource:
22610
+ type: object
22611
+ description: "Durable attribution for the first caller that cancelled the run."
22612
+ properties:
22613
+ kind:
22614
+ type: string
22615
+ enum:
22616
+ - signal
22617
+ - rpc
22618
+ - cli
22619
+ - engine
22620
+ detail:
22621
+ type: string
22622
+ description: "Human-readable cancellation detail."
22623
+ signal:
22624
+ type: string
22625
+ description: "POSIX signal that initiated cancellation."
22626
+ clientPid:
22627
+ type: integer
22628
+ minimum: 1
22629
+ description: "Process id of the cancellation caller."
22630
+ requestId:
22631
+ type: string
22632
+ description: "Request id of the first cancellation caller."
22633
+ clientIdentity:
22634
+ type: string
22635
+ description: "Authenticated identity of the first cancellation caller."
22636
+ required:
22637
+ - kind
22638
+ additionalProperties: false
22639
+ cancelledAttempts:
22640
+ type: integer
22641
+ minimum: 0
22642
+ description: "Attempts closed across the whole cancelled subtree."
22643
+ descendants:
22644
+ type: array
22645
+ description: "Every descendant the cascade reached, excluding the root run."
22646
+ items:
22647
+ type: object
22648
+ description: "What recursive cancellation did to one run in the cancelled subtree."
22649
+ properties:
22650
+ runId:
22651
+ type: string
22652
+ description: "Stable run identifier."
22653
+ depth:
22654
+ type: integer
22655
+ minimum: 0
22656
+ description: "Distance from the requested root run."
22657
+ action:
22658
+ type: string
22659
+ enum:
22660
+ - cancel-requested
22661
+ - cancelled
22662
+ - already-terminal
22663
+ - missing
22664
+ required:
22665
+ - runId
22666
+ - depth
22667
+ - action
22668
+ additionalProperties: false
22669
+ terminatedOwners:
22670
+ type: array
22671
+ description: "Detached owner processes terminated by the cascade."
22672
+ items:
22673
+ type: object
22674
+ description: "A process tree cancellation terminated so work cannot outlive its run."
22675
+ properties:
22676
+ runId:
22677
+ type:
22678
+ - string
22679
+ - "null"
22680
+ description: "Run the process belonged to."
22681
+ pid:
22682
+ type: integer
22683
+ minimum: 1
22684
+ description: "Terminated process id."
22685
+ required:
22686
+ - runId
22687
+ - pid
22688
+ additionalProperties: false
22689
+ terminatedAgents:
22690
+ type: array
22691
+ description: "Agent process trees terminated for the cancelled subtree."
22692
+ items:
22693
+ type: object
22694
+ description: "A process tree cancellation terminated so work cannot outlive its run."
22695
+ properties:
22696
+ runId:
22697
+ type:
22698
+ - string
22699
+ - "null"
22700
+ description: "Run the process belonged to."
22701
+ pid:
22702
+ type: integer
22703
+ minimum: 1
22704
+ description: "Terminated process id."
22705
+ required:
22706
+ - runId
22707
+ - pid
22708
+ additionalProperties: false
22709
+ required:
22710
+ - runId
22711
+ - won
22712
+ - status
22713
+ - repaired
22714
+ additionalProperties: false
21955
22715
  txid:
21956
22716
  type: string
21957
22717
  pattern: "^\\d+$"
@@ -27342,9 +28102,11 @@ paths:
27342
28102
  - codex
27343
28103
  - gemini
27344
28104
  - kimi
28105
+ - grok
27345
28106
  - anthropic-api
27346
28107
  - openai-api
27347
28108
  - gemini-api
28109
+ - xai-api
27348
28110
  description: "Provider id, one of the fixed `smithers agents` catalog."
27349
28111
  authMode:
27350
28112
  type: string
@@ -29158,6 +29920,7 @@ components:
29158
29920
  - RunNotFound
29159
29921
  - ScoreNotFound
29160
29922
  - RUN_NOT_ACTIVE
29923
+ - CONFLICT
29161
29924
  - CronNotFound
29162
29925
  - TicketNotFound
29163
29926
  - NodeNotFound