@claudexor/schema 4.7.0 → 4.8.2

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.
Files changed (196) hide show
  1. package/dist/account-resources.d.ts +37 -37
  2. package/dist/account-routing-evidence.d.ts +14 -14
  3. package/dist/attachment.d.ts +178 -0
  4. package/dist/attachment.d.ts.map +1 -1
  5. package/dist/attachment.js +46 -0
  6. package/dist/attachment.js.map +1 -1
  7. package/dist/captured-run-start.d.ts +1105 -0
  8. package/dist/captured-run-start.d.ts.map +1 -0
  9. package/dist/captured-run-start.js +41 -0
  10. package/dist/captured-run-start.js.map +1 -0
  11. package/dist/command-summary.d.ts +1 -1
  12. package/dist/command-summary.d.ts.map +1 -1
  13. package/dist/command-summary.js +1 -0
  14. package/dist/command-summary.js.map +1 -1
  15. package/dist/control-gc.d.ts +377 -0
  16. package/dist/control-gc.d.ts.map +1 -1
  17. package/dist/control-gc.js +74 -1
  18. package/dist/control-gc.js.map +1 -1
  19. package/dist/control-harness-models.js +1 -1
  20. package/dist/control-harness-models.js.map +1 -1
  21. package/dist/control-operation-responses.d.ts +201 -9
  22. package/dist/control-operation-responses.d.ts.map +1 -1
  23. package/dist/control-operation-responses.js +7 -1
  24. package/dist/control-operation-responses.js.map +1 -1
  25. package/dist/control-run-detail.d.ts +292 -19
  26. package/dist/control-run-detail.d.ts.map +1 -1
  27. package/dist/control-run-detail.js +2 -0
  28. package/dist/control-run-detail.js.map +1 -1
  29. package/dist/control-run-failure.d.ts +29 -4
  30. package/dist/control-run-failure.d.ts.map +1 -1
  31. package/dist/control-run-failure.js +3 -0
  32. package/dist/control-run-failure.js.map +1 -1
  33. package/dist/control-run-retry.d.ts +31 -0
  34. package/dist/control-run-retry.d.ts.map +1 -1
  35. package/dist/control-run-retry.js +12 -1
  36. package/dist/control-run-retry.js.map +1 -1
  37. package/dist/control-timeline.d.ts +9 -0
  38. package/dist/control-timeline.d.ts.map +1 -1
  39. package/dist/control-timeline.js +13 -0
  40. package/dist/control-timeline.js.map +1 -1
  41. package/dist/control.d.ts +78 -5
  42. package/dist/control.d.ts.map +1 -1
  43. package/dist/control.js +7 -9
  44. package/dist/control.js.map +1 -1
  45. package/dist/credential-profile-snapshot.d.ts +28 -28
  46. package/dist/credential-profile.d.ts +1 -1
  47. package/dist/credential-profile.js +2 -2
  48. package/dist/credential-profile.js.map +1 -1
  49. package/dist/credential-store.d.ts +3 -2
  50. package/dist/credential-store.d.ts.map +1 -1
  51. package/dist/credential-store.js +5 -4
  52. package/dist/credential-store.js.map +1 -1
  53. package/dist/daemon-status.d.ts +492 -0
  54. package/dist/daemon-status.d.ts.map +1 -1
  55. package/dist/daemon-status.js +22 -0
  56. package/dist/daemon-status.js.map +1 -1
  57. package/dist/deferred-message.d.ts +2450 -0
  58. package/dist/deferred-message.d.ts.map +1 -0
  59. package/dist/deferred-message.js +186 -0
  60. package/dist/deferred-message.js.map +1 -0
  61. package/dist/events.d.ts +3 -3
  62. package/dist/events.js +1 -1
  63. package/dist/events.js.map +1 -1
  64. package/dist/harness-input.d.ts +15 -0
  65. package/dist/harness-input.d.ts.map +1 -1
  66. package/dist/harness-input.js +10 -1
  67. package/dist/harness-input.js.map +1 -1
  68. package/dist/harness-model.d.ts +65 -0
  69. package/dist/harness-model.d.ts.map +1 -1
  70. package/dist/harness-model.js +42 -0
  71. package/dist/harness-model.js.map +1 -1
  72. package/dist/harness-quota.d.ts +3 -3
  73. package/dist/harness-speech.d.ts +36 -0
  74. package/dist/harness-speech.d.ts.map +1 -0
  75. package/dist/harness-speech.js +27 -0
  76. package/dist/harness-speech.js.map +1 -0
  77. package/dist/harness.d.ts +79 -9
  78. package/dist/harness.d.ts.map +1 -1
  79. package/dist/harness.js +5 -4
  80. package/dist/harness.js.map +1 -1
  81. package/dist/index.d.ts +9 -0
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +9 -0
  84. package/dist/index.js.map +1 -1
  85. package/dist/mcp-run-result.d.ts +356 -12
  86. package/dist/mcp-run-result.d.ts.map +1 -1
  87. package/dist/mcp-run-result.js +5 -0
  88. package/dist/mcp-run-result.js.map +1 -1
  89. package/dist/mcp-run-wait.d.ts +133 -0
  90. package/dist/mcp-run-wait.d.ts.map +1 -1
  91. package/dist/mcp-run-wait.js +4 -0
  92. package/dist/mcp-run-wait.js.map +1 -1
  93. package/dist/mcp-upload.d.ts +133 -0
  94. package/dist/mcp-upload.d.ts.map +1 -0
  95. package/dist/mcp-upload.js +40 -0
  96. package/dist/mcp-upload.js.map +1 -0
  97. package/dist/quota-read.d.ts +8 -8
  98. package/dist/quota.d.ts +26 -20
  99. package/dist/quota.d.ts.map +1 -1
  100. package/dist/quota.js +11 -1
  101. package/dist/quota.js.map +1 -1
  102. package/dist/run-observation.d.ts +189 -0
  103. package/dist/run-observation.d.ts.map +1 -0
  104. package/dist/run-observation.js +99 -0
  105. package/dist/run-observation.js.map +1 -0
  106. package/dist/setup-login.d.ts +5 -5
  107. package/dist/setup.d.ts +63 -63
  108. package/dist/setup.d.ts.map +1 -1
  109. package/dist/setup.js +1 -1
  110. package/dist/setup.js.map +1 -1
  111. package/dist/task-group-runs.d.ts +258 -0
  112. package/dist/task-group-runs.d.ts.map +1 -0
  113. package/dist/task-group-runs.js +94 -0
  114. package/dist/task-group-runs.js.map +1 -0
  115. package/dist/task-group.d.ts +23 -0
  116. package/dist/task-group.d.ts.map +1 -0
  117. package/dist/task-group.js +38 -0
  118. package/dist/task-group.js.map +1 -0
  119. package/dist/telemetry.d.ts +136 -8
  120. package/dist/telemetry.d.ts.map +1 -1
  121. package/dist/telemetry.js +2 -5
  122. package/dist/telemetry.js.map +1 -1
  123. package/dist/thread-history.d.ts +12553 -0
  124. package/dist/thread-history.d.ts.map +1 -0
  125. package/dist/thread-history.js +291 -0
  126. package/dist/thread-history.js.map +1 -0
  127. package/generated/ControlAccountResetResponse.schema.json +1 -0
  128. package/generated/ControlAccountResourcesFreshnessResponse.schema.json +1 -0
  129. package/generated/ControlAccountResourcesResponse.schema.json +1 -0
  130. package/generated/ControlCredentialProfileCreateRequest.schema.json +1 -1
  131. package/generated/ControlCredentialProfilesQueryResponse.schema.json +1 -0
  132. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +1 -0
  133. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +1 -0
  134. package/generated/ControlDaemonStatus.schema.json +112 -43
  135. package/generated/ControlGcLastResponse.schema.json +184 -0
  136. package/generated/ControlGcReceipt.schema.json +60 -1
  137. package/generated/ControlGcRequest.schema.json +4 -0
  138. package/generated/ControlQueuedRunInfo.schema.json +10 -0
  139. package/generated/ControlQuotaFreshnessResponse.schema.json +1 -0
  140. package/generated/ControlQuotaQueryResponse.schema.json +1 -0
  141. package/generated/ControlQuotaResponse.schema.json +1 -0
  142. package/generated/ControlRunAgainDraft.schema.json +5 -0
  143. package/generated/ControlRunControlResponse.schema.json +169 -0
  144. package/generated/ControlRunDecisionResponse.schema.json +14 -0
  145. package/generated/ControlRunDetail.schema.json +240 -2
  146. package/generated/ControlRunListResponse.schema.json +32 -2
  147. package/generated/ControlRunRetryResponse.schema.json +10 -0
  148. package/generated/ControlRunStartInfo.schema.json +10 -0
  149. package/generated/ControlRunStartRequest.schema.json +5 -0
  150. package/generated/ControlRunStartResponse.schema.json +18 -0
  151. package/generated/ControlRunSummary.schema.json +32 -2
  152. package/generated/ControlSetupJob.schema.json +2 -1
  153. package/generated/ControlSetupJobCreateRequest.schema.json +2 -1
  154. package/generated/ControlSetupJobEvent.schema.json +2 -1
  155. package/generated/ControlSetupJobListFilter.schema.json +2 -1
  156. package/generated/ControlSetupJobListResponse.schema.json +2 -1
  157. package/generated/ControlSetupJobSnapshot.schema.json +2 -1
  158. package/generated/ControlThreadDetail.schema.json +1 -1
  159. package/generated/ControlUploadImport.schema.json +124 -0
  160. package/generated/ControlUploadImportRequest.schema.json +66 -0
  161. package/generated/DeferredMessageCall.schema.json +331 -0
  162. package/generated/DeferredMessageDetail.schema.json +917 -0
  163. package/generated/DeferredMessageMutation.schema.json +315 -0
  164. package/generated/DeferredMessageProjection.schema.json +177 -0
  165. package/generated/DeferredMessageReadInput.schema.json +20 -0
  166. package/generated/DeferredMessageReadResult.schema.json +399 -0
  167. package/generated/DeferredMessageReceipt.schema.json +193 -0
  168. package/generated/HarnessEvent.schema.json +100 -1
  169. package/generated/McpAccountsToolResult.schema.json +1 -0
  170. package/generated/McpRunHandleResult.schema.json +226 -19
  171. package/generated/McpRunToolResult.schema.json +228 -11
  172. package/generated/McpRunWaitResult.schema.json +180 -2
  173. package/generated/McpStoreIdentityInput.schema.json +11 -0
  174. package/generated/McpUploadCreateInput.schema.json +54 -0
  175. package/generated/McpUploadFinalizeInput.schema.json +40 -0
  176. package/generated/McpUploadImportInput.schema.json +52 -0
  177. package/generated/McpUploadImportLocalInput.schema.json +27 -0
  178. package/generated/McpUploadImportLocalResult.schema.json +45 -0
  179. package/generated/McpUploadTargetInput.schema.json +20 -0
  180. package/generated/ResourceAttachmentRef.schema.json +21 -0
  181. package/generated/RoutePrimaryDivergedPayload.schema.json +23 -14
  182. package/generated/RunFailure.schema.json +31 -1
  183. package/generated/RunObservationRecord.schema.json +64 -0
  184. package/generated/RunTelemetry.schema.json +83 -1
  185. package/generated/RunWaitManyInput.schema.json +54 -0
  186. package/generated/RunWaitManyResult.schema.json +110 -0
  187. package/generated/RunWaitManySummary.schema.json +75 -0
  188. package/generated/TaskGroupId.schema.json +11 -0
  189. package/generated/TaskGroupReceipt.schema.json +26 -0
  190. package/generated/TaskGroupRunsInput.schema.json +46 -0
  191. package/generated/TaskGroupRunsResult.schema.json +162 -0
  192. package/generated/ThreadHistoryInput.schema.json +48 -0
  193. package/generated/ThreadHistoryPage.schema.json +2857 -0
  194. package/generated/ThreadPromptPart.schema.json +57 -0
  195. package/generated/ThreadPromptPartInput.schema.json +41 -0
  196. package/package.json +2 -2
@@ -0,0 +1,184 @@
1
+ {
2
+ "$ref": "#/definitions/ControlGcLastResponse",
3
+ "definitions": {
4
+ "ControlGcLastResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "last": {
8
+ "anyOf": [
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "outcome": {
13
+ "type": "string",
14
+ "enum": [
15
+ "completed",
16
+ "held",
17
+ "truncated",
18
+ "failed"
19
+ ]
20
+ },
21
+ "started_at": {
22
+ "type": "string"
23
+ },
24
+ "finished_at": {
25
+ "type": "string"
26
+ },
27
+ "freed_bytes": {
28
+ "type": "integer",
29
+ "minimum": 0
30
+ },
31
+ "kept": {
32
+ "type": "object",
33
+ "properties": {
34
+ "active": {
35
+ "type": "integer",
36
+ "minimum": 0,
37
+ "default": 0
38
+ },
39
+ "recent": {
40
+ "type": "integer",
41
+ "minimum": 0,
42
+ "default": 0
43
+ },
44
+ "young": {
45
+ "type": "integer",
46
+ "minimum": 0,
47
+ "default": 0
48
+ },
49
+ "referenced": {
50
+ "type": "integer",
51
+ "minimum": 0,
52
+ "default": 0
53
+ },
54
+ "actionable": {
55
+ "type": "integer",
56
+ "minimum": 0,
57
+ "default": 0
58
+ },
59
+ "unknown_state": {
60
+ "type": "integer",
61
+ "minimum": 0,
62
+ "default": 0
63
+ }
64
+ },
65
+ "additionalProperties": false,
66
+ "description": "Survivor counts per keep reason."
67
+ },
68
+ "held": {
69
+ "type": "object",
70
+ "properties": {
71
+ "roots": {
72
+ "type": "integer",
73
+ "minimum": 0,
74
+ "default": 0
75
+ },
76
+ "native_homes": {
77
+ "type": "integer",
78
+ "minimum": 0,
79
+ "default": 0,
80
+ "description": "Vetoed native homes only; unsupported adapters and unknown native entries are informational."
81
+ }
82
+ },
83
+ "additionalProperties": false,
84
+ "description": "Held project roots and vetoed native homes, separate from run counts."
85
+ },
86
+ "holds": {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "object",
90
+ "properties": {
91
+ "class": {
92
+ "type": "string",
93
+ "enum": [
94
+ "missing_partition",
95
+ "unbound_active_registration",
96
+ "recovery_pending",
97
+ "namespace_unreadable",
98
+ "anchor_references_unreadable",
99
+ "references_changed",
100
+ "native_home_veto",
101
+ "cleanup_suppressed"
102
+ ]
103
+ },
104
+ "count": {
105
+ "type": "integer",
106
+ "exclusiveMinimum": 0
107
+ },
108
+ "example": {
109
+ "type": "string",
110
+ "maxLength": 160
111
+ },
112
+ "since": {
113
+ "type": "string"
114
+ }
115
+ },
116
+ "required": [
117
+ "class",
118
+ "count",
119
+ "example",
120
+ "since"
121
+ ],
122
+ "additionalProperties": false
123
+ },
124
+ "maxItems": 8
125
+ },
126
+ "errors": {
127
+ "type": "object",
128
+ "properties": {
129
+ "count": {
130
+ "type": "integer",
131
+ "minimum": 0
132
+ },
133
+ "first": {
134
+ "anyOf": [
135
+ {
136
+ "type": "string",
137
+ "maxLength": 512
138
+ },
139
+ {
140
+ "type": "null"
141
+ }
142
+ ]
143
+ }
144
+ },
145
+ "required": [
146
+ "count",
147
+ "first"
148
+ ],
149
+ "additionalProperties": false
150
+ }
151
+ },
152
+ "required": [
153
+ "outcome",
154
+ "started_at",
155
+ "finished_at",
156
+ "freed_bytes",
157
+ "kept",
158
+ "held",
159
+ "holds",
160
+ "errors"
161
+ ],
162
+ "additionalProperties": false,
163
+ "description": "One durable non-preview pass summary (at most 16 KiB), including outer cleanup failures."
164
+ },
165
+ {
166
+ "type": "null"
167
+ }
168
+ ],
169
+ "description": "Null when no readable non-preview pass has been recorded; reading never starts GC."
170
+ },
171
+ "diagnostic": {
172
+ "type": "string",
173
+ "maxLength": 512,
174
+ "description": "Why the stored summary could not be read; absent when no record exists or it is valid."
175
+ }
176
+ },
177
+ "required": [
178
+ "last"
179
+ ],
180
+ "additionalProperties": false
181
+ }
182
+ },
183
+ "$schema": "http://json-schema.org/draft-07/schema#"
184
+ }
@@ -116,6 +116,64 @@
116
116
  "additionalProperties": false,
117
117
  "description": "Why every surviving candidate survived."
118
118
  },
119
+ "held": {
120
+ "type": "object",
121
+ "properties": {
122
+ "roots": {
123
+ "type": "integer",
124
+ "minimum": 0,
125
+ "default": 0
126
+ },
127
+ "native_homes": {
128
+ "type": "integer",
129
+ "minimum": 0,
130
+ "default": 0,
131
+ "description": "Vetoed native homes only; unsupported adapters and unknown native entries are informational."
132
+ }
133
+ },
134
+ "additionalProperties": false,
135
+ "description": "Held project roots and vetoed native homes, separate from run counts.",
136
+ "default": {}
137
+ },
138
+ "holds": {
139
+ "type": "array",
140
+ "items": {
141
+ "type": "object",
142
+ "properties": {
143
+ "class": {
144
+ "type": "string",
145
+ "enum": [
146
+ "missing_partition",
147
+ "unbound_active_registration",
148
+ "recovery_pending",
149
+ "namespace_unreadable",
150
+ "anchor_references_unreadable",
151
+ "references_changed",
152
+ "native_home_veto",
153
+ "cleanup_suppressed"
154
+ ]
155
+ },
156
+ "count": {
157
+ "type": "integer",
158
+ "exclusiveMinimum": 0
159
+ },
160
+ "example": {
161
+ "type": "string"
162
+ }
163
+ },
164
+ "required": [
165
+ "class",
166
+ "count",
167
+ "example"
168
+ ],
169
+ "additionalProperties": false
170
+ },
171
+ "default": []
172
+ },
173
+ "truncated": {
174
+ "type": "boolean",
175
+ "default": false
176
+ },
119
177
  "deleted_reviews": {
120
178
  "type": "array",
121
179
  "items": {
@@ -215,7 +273,8 @@
215
273
  },
216
274
  "kept_unknown": {
217
275
  "type": "integer",
218
- "minimum": 0
276
+ "minimum": 0,
277
+ "description": "Unknown native entries preserved without a hold; informational only."
219
278
  },
220
279
  "truncated": {
221
280
  "type": "boolean"
@@ -9,6 +9,10 @@
9
9
  "default": false,
10
10
  "description": "Report what WOULD be deleted without touching disk."
11
11
  },
12
+ "retention_report": {
13
+ "type": "boolean",
14
+ "description": "Include typed holds, root/home counts and truncation; lockstep clients only."
15
+ },
12
16
  "model_payload_report": {
13
17
  "type": "boolean",
14
18
  "description": "Include exact model-purpose resource cleanup outcomes. Cleanup itself always runs; opt-in keeps older strict receipt readers compatible."
@@ -4,6 +4,16 @@
4
4
  "ControlQueuedRunInfo": {
5
5
  "type": "object",
6
6
  "properties": {
7
+ "taskGroupId": {
8
+ "type": "string",
9
+ "format": "uuid",
10
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
11
+ },
12
+ "storeId": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
16
+ },
7
17
  "jobId": {
8
18
  "type": "string",
9
19
  "description": "Daemon job id."
@@ -171,6 +171,7 @@
171
171
  "claude_oauth_usage",
172
172
  "agy_command_usage",
173
173
  "cursor_rate_limit",
174
+ "grok_rate_limit",
174
175
  "claude_rate_limit_event",
175
176
  "codex_app_server_event",
176
177
  "codex_image_response"
@@ -163,6 +163,7 @@
163
163
  "claude_oauth_usage",
164
164
  "agy_command_usage",
165
165
  "cursor_rate_limit",
166
+ "grok_rate_limit",
166
167
  "claude_rate_limit_event",
167
168
  "codex_app_server_event",
168
169
  "codex_image_response"
@@ -161,6 +161,7 @@
161
161
  "claude_oauth_usage",
162
162
  "agy_command_usage",
163
163
  "cursor_rate_limit",
164
+ "grok_rate_limit",
164
165
  "claude_rate_limit_event",
165
166
  "codex_app_server_event",
166
167
  "codex_image_response"
@@ -50,6 +50,11 @@
50
50
  "description": "Canonical run mode: ask and plan are read-only, agent writes. Strategy controls are separate schema-owned fields, never modes.",
51
51
  "default": "agent"
52
52
  },
53
+ "taskGroupId": {
54
+ "type": "string",
55
+ "format": "uuid",
56
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
57
+ },
53
58
  "scope": {
54
59
  "anyOf": [
55
60
  {
@@ -35,6 +35,175 @@
35
35
  "message": {
36
36
  "type": "string",
37
37
  "description": "Human-readable detail."
38
+ },
39
+ "deferredMessage": {
40
+ "type": "object",
41
+ "properties": {
42
+ "draftId": {
43
+ "$ref": "#/definitions/ControlRunControlResponse/properties/runId"
44
+ },
45
+ "revision": {
46
+ "type": "integer",
47
+ "exclusiveMinimum": 0,
48
+ "maximum": 9007199254740991
49
+ },
50
+ "state": {
51
+ "type": "string",
52
+ "enum": [
53
+ "waiting",
54
+ "held",
55
+ "dispatched",
56
+ "cleared"
57
+ ]
58
+ },
59
+ "predecessorJobId": {
60
+ "$ref": "#/definitions/ControlRunControlResponse/properties/runId"
61
+ },
62
+ "predecessorRunId": {
63
+ "anyOf": [
64
+ {
65
+ "$ref": "#/definitions/ControlRunControlResponse/properties/runId"
66
+ },
67
+ {
68
+ "type": "null"
69
+ }
70
+ ],
71
+ "description": "Non-empty identifier string."
72
+ },
73
+ "predecessorResult": {
74
+ "type": "string",
75
+ "description": "Existing addressed run-detail/result path; no duplicate result store."
76
+ },
77
+ "hold": {
78
+ "anyOf": [
79
+ {
80
+ "type": "object",
81
+ "properties": {
82
+ "code": {
83
+ "type": "string",
84
+ "enum": [
85
+ "predecessor_failed",
86
+ "predecessor_cancelled",
87
+ "predecessor_interrupted",
88
+ "predecessor_needs_input",
89
+ "predecessor_incomplete",
90
+ "predecessor_facts_unavailable",
91
+ "predecessor_work_unverified",
92
+ "predecessor_checks_failed",
93
+ "predecessor_review_blocked",
94
+ "predecessor_output_unavailable",
95
+ "settlement_unknown",
96
+ "stop_requested",
97
+ "shutdown",
98
+ "restart_requires_controller",
99
+ "partition_retired",
100
+ "admission_refused"
101
+ ]
102
+ },
103
+ "problem": {
104
+ "type": "object",
105
+ "properties": {
106
+ "message": {
107
+ "type": "string",
108
+ "description": "Human-readable refusal message."
109
+ },
110
+ "code": {
111
+ "type": [
112
+ "string",
113
+ "null"
114
+ ],
115
+ "default": null,
116
+ "description": "Machine-readable refusal code carried from the throwing gate; null when the failure had no typed code."
117
+ },
118
+ "retryable": {
119
+ "type": "boolean",
120
+ "default": true,
121
+ "description": "True when retry can replay this turn (a job was recorded before the failure); false when no job exists to replay."
122
+ },
123
+ "required_actions": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "string",
127
+ "minLength": 1,
128
+ "maxLength": 512
129
+ },
130
+ "maxItems": 16,
131
+ "default": [],
132
+ "description": "Bounded user actions that may make an exact retry succeed."
133
+ },
134
+ "context": {
135
+ "type": "object",
136
+ "additionalProperties": {},
137
+ "default": {},
138
+ "description": "Bounded typed recovery context; never arbitrary provider or environment output."
139
+ }
140
+ },
141
+ "required": [
142
+ "message"
143
+ ],
144
+ "additionalProperties": false,
145
+ "description": "Typed, sanitized problem for a thread turn that could not start."
146
+ }
147
+ },
148
+ "required": [
149
+ "code"
150
+ ],
151
+ "additionalProperties": false,
152
+ "description": "Stable hold. Editing, observation and readiness restoration never rearm it; inspect the predecessor result and clear before an ordinary continuation."
153
+ },
154
+ {
155
+ "type": "null"
156
+ }
157
+ ],
158
+ "description": "Stable hold. Editing, observation and readiness restoration never rearm it; inspect the predecessor result and clear before an ordinary continuation."
159
+ },
160
+ "dispatchedRevision": {
161
+ "anyOf": [
162
+ {
163
+ "$ref": "#/definitions/ControlRunControlResponse/properties/deferredMessage/properties/revision"
164
+ },
165
+ {
166
+ "type": "null"
167
+ }
168
+ ]
169
+ },
170
+ "successorJobId": {
171
+ "anyOf": [
172
+ {
173
+ "$ref": "#/definitions/ControlRunControlResponse/properties/runId"
174
+ },
175
+ {
176
+ "type": "null"
177
+ }
178
+ ],
179
+ "description": "Non-empty identifier string."
180
+ },
181
+ "successorRunId": {
182
+ "anyOf": [
183
+ {
184
+ "$ref": "#/definitions/ControlRunControlResponse/properties/runId"
185
+ },
186
+ {
187
+ "type": "null"
188
+ }
189
+ ],
190
+ "description": "Non-empty identifier string."
191
+ }
192
+ },
193
+ "required": [
194
+ "draftId",
195
+ "revision",
196
+ "state",
197
+ "predecessorJobId",
198
+ "predecessorRunId",
199
+ "predecessorResult",
200
+ "hold",
201
+ "dispatchedRevision",
202
+ "successorJobId",
203
+ "successorRunId"
204
+ ],
205
+ "additionalProperties": false,
206
+ "description": "The run's latest next-message draft after this cancel: a waiting draft is held by the same call; an already accepted successor is named, not cancelled."
38
207
  }
39
208
  },
40
209
  "required": [
@@ -24,6 +24,20 @@
24
24
  "minLength": 1,
25
25
  "description": "New run id when the decision re-enqueues a turn (rerun_with_feedback)."
26
26
  },
27
+ "newJobId": {
28
+ "$ref": "#/definitions/ControlRunDecisionResponse/properties/newRunId",
29
+ "description": "Accepted job handle of the re-enqueued work, present even before its run binds."
30
+ },
31
+ "taskGroupId": {
32
+ "type": "string",
33
+ "format": "uuid",
34
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
35
+ },
36
+ "storeId": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
40
+ },
27
41
  "message": {
28
42
  "type": "string",
29
43
  "description": "Human-readable detail."