@claudexor/schema 6.0.0 → 6.1.1

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.
@@ -0,0 +1,278 @@
1
+ {
2
+ "$ref": "#/definitions/ControlStartLookupResponse",
3
+ "definitions": {
4
+ "ControlStartLookupResponse": {
5
+ "anyOf": [
6
+ {
7
+ "type": "object",
8
+ "properties": {
9
+ "status": {
10
+ "type": "string",
11
+ "const": "found"
12
+ },
13
+ "storeId": {
14
+ "type": "string",
15
+ "minLength": 1,
16
+ "description": "Identity of the durable engine store this read answered from, stable across restarts. A lookup without a store identity is refused as unavailable instead of answering."
17
+ },
18
+ "handle": {
19
+ "type": "object",
20
+ "properties": {
21
+ "jobId": {
22
+ "type": "string",
23
+ "minLength": 1,
24
+ "description": "The accepted daemon job."
25
+ },
26
+ "runId": {
27
+ "anyOf": [
28
+ {
29
+ "type": "string",
30
+ "minLength": 1,
31
+ "description": "Non-empty identifier string."
32
+ },
33
+ {
34
+ "type": "null"
35
+ }
36
+ ],
37
+ "description": "Run bound to the job at this read; null while none is bound, or for a job that ended before a run."
38
+ },
39
+ "state": {
40
+ "type": "string",
41
+ "enum": [
42
+ "queued",
43
+ "running",
44
+ "succeeded",
45
+ "failed",
46
+ "cancelled",
47
+ "interrupted"
48
+ ],
49
+ "description": "The job's lifecycle state at this read."
50
+ },
51
+ "runDir": {
52
+ "type": [
53
+ "string",
54
+ "null"
55
+ ],
56
+ "description": "Run artifact directory; null before a run."
57
+ },
58
+ "taskId": {
59
+ "type": [
60
+ "string",
61
+ "null"
62
+ ],
63
+ "description": "Task id; null before it is allocated."
64
+ },
65
+ "threadId": {
66
+ "$ref": "#/definitions/ControlStartLookupResponse/anyOf/0/properties/handle/properties/runId/anyOf/0",
67
+ "description": "Thread of an accepted turn."
68
+ },
69
+ "turnId": {
70
+ "$ref": "#/definitions/ControlStartLookupResponse/anyOf/0/properties/handle/properties/runId/anyOf/0",
71
+ "description": "The accepted turn."
72
+ },
73
+ "problem": {
74
+ "type": "object",
75
+ "properties": {
76
+ "message": {
77
+ "type": [
78
+ "string",
79
+ "null"
80
+ ],
81
+ "description": "Recorded failure message; null when none was kept."
82
+ },
83
+ "code": {
84
+ "anyOf": [
85
+ {
86
+ "type": "string",
87
+ "minLength": 1
88
+ },
89
+ {
90
+ "type": "null"
91
+ }
92
+ ],
93
+ "description": "Recorded machine code; null for an untyped failure."
94
+ },
95
+ "status": {
96
+ "anyOf": [
97
+ {
98
+ "type": "integer",
99
+ "minimum": 400,
100
+ "maximum": 599
101
+ },
102
+ {
103
+ "type": "null"
104
+ }
105
+ ],
106
+ "description": "HTTP status the start route answers for this failure; null when none is recorded."
107
+ },
108
+ "retryable": {
109
+ "type": [
110
+ "boolean",
111
+ "null"
112
+ ],
113
+ "description": "The recorded retryability; null when the producer made no claim."
114
+ },
115
+ "requiredActions": {
116
+ "type": "array",
117
+ "items": {
118
+ "type": "string",
119
+ "minLength": 1
120
+ },
121
+ "description": "Bounded actions recorded with the failure."
122
+ },
123
+ "context": {
124
+ "type": "object",
125
+ "additionalProperties": {},
126
+ "description": "Bounded recorded context; store and task-group identity are not repeated here."
127
+ }
128
+ },
129
+ "required": [
130
+ "message",
131
+ "code",
132
+ "status",
133
+ "retryable",
134
+ "requiredActions",
135
+ "context"
136
+ ],
137
+ "additionalProperties": false,
138
+ "description": "The refusal or failure an accepted job records. A lookup returns it with HTTP 200; it is the job's outcome, not a failure of the read."
139
+ }
140
+ },
141
+ "required": [
142
+ "jobId",
143
+ "runId",
144
+ "state"
145
+ ],
146
+ "additionalProperties": false,
147
+ "description": "Durable handle of the job a start request created, read without waiting for it."
148
+ }
149
+ },
150
+ "required": [
151
+ "status",
152
+ "storeId",
153
+ "handle"
154
+ ],
155
+ "additionalProperties": false,
156
+ "description": "The store retains the job this exact key and request created."
157
+ },
158
+ {
159
+ "type": "object",
160
+ "properties": {
161
+ "status": {
162
+ "type": "string",
163
+ "const": "turn_only"
164
+ },
165
+ "storeId": {
166
+ "$ref": "#/definitions/ControlStartLookupResponse/anyOf/0/properties/storeId"
167
+ },
168
+ "threadId": {
169
+ "$ref": "#/definitions/ControlStartLookupResponse/anyOf/0/properties/handle/properties/runId/anyOf/0"
170
+ },
171
+ "turnId": {
172
+ "type": "string",
173
+ "minLength": 1,
174
+ "description": "The turn this exact key and request recorded."
175
+ },
176
+ "runId": {
177
+ "anyOf": [
178
+ {
179
+ "$ref": "#/definitions/ControlStartLookupResponse/anyOf/0/properties/handle/properties/runId/anyOf/0"
180
+ },
181
+ {
182
+ "type": "null"
183
+ }
184
+ ],
185
+ "description": "Run bound to the turn; observe exactly this run. Null when no run is bound."
186
+ },
187
+ "enqueueError": {
188
+ "anyOf": [
189
+ {
190
+ "type": "object",
191
+ "properties": {
192
+ "message": {
193
+ "type": "string",
194
+ "description": "Human-readable refusal message."
195
+ },
196
+ "code": {
197
+ "type": [
198
+ "string",
199
+ "null"
200
+ ],
201
+ "default": null,
202
+ "description": "Machine-readable refusal code; remedies key on it, never on the message text."
203
+ },
204
+ "retryable": {
205
+ "type": "boolean",
206
+ "default": true,
207
+ "description": "False when no recorded job exists to replay — surfaces offer a new message instead of a doomed retry."
208
+ },
209
+ "requiredActions": {
210
+ "type": "array",
211
+ "items": {
212
+ "type": "string",
213
+ "minLength": 1,
214
+ "maxLength": 512
215
+ },
216
+ "maxItems": 16,
217
+ "default": [],
218
+ "description": "Bounded user actions that may make an exact retry succeed."
219
+ },
220
+ "context": {
221
+ "type": "object",
222
+ "additionalProperties": {},
223
+ "default": {},
224
+ "description": "Bounded typed recovery context for exact retry."
225
+ },
226
+ "failedAt": {
227
+ "type": "string",
228
+ "description": "When the enqueue failed."
229
+ }
230
+ },
231
+ "required": [
232
+ "message",
233
+ "failedAt"
234
+ ],
235
+ "additionalProperties": false
236
+ },
237
+ {
238
+ "type": "null"
239
+ }
240
+ ],
241
+ "default": null,
242
+ "description": "Why this turn has no run (enqueue/preflight refusal); null once a run binds."
243
+ }
244
+ },
245
+ "required": [
246
+ "status",
247
+ "storeId",
248
+ "threadId",
249
+ "turnId",
250
+ "runId"
251
+ ],
252
+ "additionalProperties": false,
253
+ "description": "The store retains the turn this exact key and request recorded, but no command bound to them: the enqueue failed or never happened, or retention removed the command. Nothing is enqueued for it."
254
+ },
255
+ {
256
+ "type": "object",
257
+ "properties": {
258
+ "status": {
259
+ "type": "string",
260
+ "const": "not_found"
261
+ },
262
+ "storeId": {
263
+ "$ref": "#/definitions/ControlStartLookupResponse/anyOf/0/properties/storeId"
264
+ }
265
+ },
266
+ "required": [
267
+ "status",
268
+ "storeId"
269
+ ],
270
+ "additionalProperties": false,
271
+ "description": "This store's current partition retains no binding for this key and request. It never proves that the original request was not accepted and never authorizes a new start."
272
+ }
273
+ ],
274
+ "description": "Read-only lookup of an accepted run or thread-turn start by its original request and Idempotency-Key."
275
+ }
276
+ },
277
+ "$schema": "http://json-schema.org/draft-07/schema#"
278
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudexor/schema",
3
- "version": "6.0.0",
3
+ "version": "6.1.1",
4
4
  "license": "MIT",
5
5
  "description": "Single source of truth for all Claudexor data shapes (Zod + generated JSON Schema).",
6
6
  "type": "module",
@@ -18,9 +18,9 @@
18
18
  "generated"
19
19
  ],
20
20
  "dependencies": {
21
- "zod": "^4.6.5",
21
+ "zod": "^4.6.7",
22
22
  "zod-to-json-schema": "^3.24.1",
23
- "@claudexor/util": "6.0.0"
23
+ "@claudexor/util": "6.1.1"
24
24
  },
25
25
  "repository": {
26
26
  "type": "git",