@openwop/spec-artifacts 2.42.6 → 2.42.8
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/CORPUS-STAMP.json +70 -67
- package/api/seams-v2.yaml +238 -322
- package/api/v2/asyncapi.yaml +83 -113
- package/api/v2/openapi.yaml +408 -724
- package/package.json +1 -1
- package/schemas/audit-verify-result.schema.json +2 -2
- package/schemas/v2/audit-verify-result.schema.json +2 -2
- package/schemas/v2/capabilities.schema.json +4 -7
- package/schemas/v2/error-envelope.schema.json +144 -69
- package/spec/v1/alias-detectors.json +6 -0
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/deprecations.json +22 -0
- package/spec/v1/gaps.json +188 -1
- package/spec/v1/migrations.json +18 -0
- package/spec/v2/README.md +35 -37
- package/spec/v2/core/capabilities.md +186 -119
- package/spec/v2/core/conformance.md +78 -27
- package/spec/v2/core/connection-packs.md +8 -3
- package/spec/v2/core/conversation.md +10 -4
- package/spec/v2/core/errors.md +30 -9
- package/spec/v2/core/events.md +116 -80
- package/spec/v2/core/form-content-packs.md +11 -13
- package/spec/v2/core/headers.md +23 -14
- package/spec/v2/core/host-services.md +22 -5
- package/spec/v2/core/i18n.md +64 -0
- package/spec/v2/core/idempotency.md +48 -36
- package/spec/v2/core/identity.md +110 -42
- package/spec/v2/core/interop.md +82 -21
- package/spec/v2/core/interrupt.md +79 -40
- package/spec/v2/core/node-pack-runtimes.md +18 -4
- package/spec/v2/core/oauth.md +40 -6
- package/spec/v2/core/overview.md +61 -33
- package/spec/v2/core/packs.md +53 -28
- package/spec/v2/core/persistence.md +61 -80
- package/spec/v2/core/portability.md +44 -0
- package/spec/v2/core/replay.md +56 -42
- package/spec/v2/core/runs.md +198 -60
- package/spec/v2/core/security-defaults.md +57 -33
- package/spec/v2/core/tool-catalog.md +29 -6
- package/spec/v2/core/versioning.md +115 -50
- package/spec/v2/core/webhooks.md +61 -20
- package/spec/v2/core/workflow-chain-packs.md +16 -14
- package/spec/v2/corrections.json +17 -1
- package/spec/v2/corrections.schema.json +1 -1
- package/spec/v2/declaration.json +26 -9
- package/spec/v2/declaration.schema.json +10 -0
- package/spec/v2/errors.json +121 -4
- package/spec/v2/errors.schema.json +38 -0
- package/spec/v2/ext/README.md +36 -23
- package/spec/v2/ext/a2uiSurface/README.md +75 -89
- package/spec/v2/ext/brand/README.md +15 -15
- package/spec/v2/ext/canvas/README.md +15 -15
- package/spec/v2/ext/chat/README.md +15 -15
- package/spec/v2/ext/coordination/README.md +15 -15
- package/spec/v2/ext/dataIntegration/README.md +17 -20
- package/spec/v2/ext/entities/README.md +15 -15
- package/spec/v2/ext/grpc-transport/README.md +6 -8
- package/spec/v2/ext/kanban/README.md +15 -15
- package/spec/v2/ext/knowledge/README.md +15 -15
- package/spec/v2/ext/launchStudio/README.md +16 -16
- package/spec/v2/ext/messaging/README.md +15 -15
- package/spec/v2/ext/portability/README.md +3 -17
- package/spec/v2/ext/provider-idempotency/README.md +7 -10
- package/spec/v2/ext/restTransport/README.md +30 -19
- package/spec/v2/ext/sandbox-runtime-notes/README.md +7 -9
- package/spec/v2/ext/webResearch/README.md +16 -16
- package/spec/v2/profiles.json +6 -2
- package/spec/v2/release.json +2 -2
- package/spec/v2/surface-baseline.json +544 -2
package/spec/v2/errors.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://openwop.dev/spec/v2/errors.schema.json",
|
|
3
|
-
"$comment": "RFC 0171 §B.1 — the error registry: one row per code {code, httpStatus, retriable, details, since, deprecated?}. schemas/v2/error-envelope.schema.json is GENERATED from it (scripts/generate-error-envelope.mjs). Retry timing lives in Retry-After only (§B.2). statusSource records whether the status was stated in v1 prose, a v1 convention, or decided here. details is null until a code's details schema is registered (a null row means details is an open object for that code — closure over details is the RFC 0171 Phase 3 follow-up G-row).",
|
|
3
|
+
"$comment": "RFC 0171 §B.1 — the error registry: one row per code {code, meaning?, httpStatus, retriable, details, since, deprecated?}. schemas/v2/error-envelope.schema.json is GENERATED from it (scripts/generate-error-envelope.mjs). Retry timing lives in Retry-After only (§B.2). statusSource records whether the status was stated in v1 prose, a v1 convention, or decided here. details is null until a code's details schema is registered (a null row means details is an open object for that code — closure over details is the RFC 0171 Phase 3 follow-up G-row).",
|
|
4
4
|
"version": "2.0",
|
|
5
|
-
"updated": "2026-09-
|
|
5
|
+
"updated": "2026-09-27",
|
|
6
6
|
"vendorCodePattern": "^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$",
|
|
7
7
|
"rows": [
|
|
8
8
|
{
|
|
9
9
|
"code": "connection_provider_unresolved",
|
|
10
|
+
"meaning": "A connector or pack references a connection provider that nothing defines.",
|
|
10
11
|
"httpStatus": 400,
|
|
11
12
|
"statusSource": "v1 prose",
|
|
12
13
|
"retriable": false,
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
},
|
|
17
18
|
{
|
|
18
19
|
"code": "connector_action_unresolved",
|
|
20
|
+
"meaning": "A pack's connector action or trigger names a node type the same manifest does not define.",
|
|
19
21
|
"httpStatus": 400,
|
|
20
22
|
"statusSource": "v1 convention",
|
|
21
23
|
"retriable": false,
|
|
@@ -25,6 +27,7 @@
|
|
|
25
27
|
},
|
|
26
28
|
{
|
|
27
29
|
"code": "credential_scope_unsupported",
|
|
30
|
+
"meaning": "The credential request names a scope the host does not support.",
|
|
28
31
|
"httpStatus": 400,
|
|
29
32
|
"statusSource": "v1 convention",
|
|
30
33
|
"retriable": false,
|
|
@@ -34,6 +37,7 @@
|
|
|
34
37
|
},
|
|
35
38
|
{
|
|
36
39
|
"code": "delegation_chain_cyclic",
|
|
40
|
+
"meaning": "The delegation chain repeats a subject.",
|
|
37
41
|
"httpStatus": 400,
|
|
38
42
|
"statusSource": "v2 decision",
|
|
39
43
|
"retriable": false,
|
|
@@ -43,6 +47,7 @@
|
|
|
43
47
|
},
|
|
44
48
|
{
|
|
45
49
|
"code": "delegation_chain_too_long",
|
|
50
|
+
"meaning": "The delegation chain is longer than the host's bound.",
|
|
46
51
|
"httpStatus": 400,
|
|
47
52
|
"statusSource": "v2 decision",
|
|
48
53
|
"retriable": false,
|
|
@@ -52,6 +57,7 @@
|
|
|
52
57
|
},
|
|
53
58
|
{
|
|
54
59
|
"code": "idempotency_key_invalid",
|
|
60
|
+
"meaning": "The Idempotency-Key value does not match the required grammar.",
|
|
55
61
|
"httpStatus": 400,
|
|
56
62
|
"statusSource": "v2 decision",
|
|
57
63
|
"retriable": false,
|
|
@@ -61,6 +67,7 @@
|
|
|
61
67
|
},
|
|
62
68
|
{
|
|
63
69
|
"code": "interop_version_unsupported",
|
|
70
|
+
"meaning": "An A2A or MCP negotiation would land below the host's advertised minimum version.",
|
|
64
71
|
"httpStatus": 400,
|
|
65
72
|
"statusSource": "v1 convention",
|
|
66
73
|
"retriable": false,
|
|
@@ -70,6 +77,7 @@
|
|
|
70
77
|
},
|
|
71
78
|
{
|
|
72
79
|
"code": "oauth_provider_unsupported",
|
|
80
|
+
"meaning": "A node names an OAuth provider the host does not advertise.",
|
|
73
81
|
"httpStatus": 400,
|
|
74
82
|
"statusSource": "v1 convention",
|
|
75
83
|
"retriable": false,
|
|
@@ -79,6 +87,7 @@
|
|
|
79
87
|
},
|
|
80
88
|
{
|
|
81
89
|
"code": "oauth_scope_unsupported",
|
|
90
|
+
"meaning": "A node asks for an OAuth scope the provider does not advertise.",
|
|
82
91
|
"httpStatus": 400,
|
|
83
92
|
"statusSource": "v1 convention",
|
|
84
93
|
"retriable": false,
|
|
@@ -88,6 +97,7 @@
|
|
|
88
97
|
},
|
|
89
98
|
{
|
|
90
99
|
"code": "pack_dependency_cycle",
|
|
100
|
+
"meaning": "The pack dependency graph contains a cycle.",
|
|
91
101
|
"httpStatus": 400,
|
|
92
102
|
"statusSource": "v1 convention (node-packs.md)",
|
|
93
103
|
"retriable": false,
|
|
@@ -97,6 +107,7 @@
|
|
|
97
107
|
},
|
|
98
108
|
{
|
|
99
109
|
"code": "pack_engine_unsupported",
|
|
110
|
+
"meaning": "The pack's engines range does not admit the host's protocol major.",
|
|
100
111
|
"httpStatus": 400,
|
|
101
112
|
"statusSource": "v2 decision",
|
|
102
113
|
"retriable": false,
|
|
@@ -106,6 +117,7 @@
|
|
|
106
117
|
},
|
|
107
118
|
{
|
|
108
119
|
"code": "pack_integrity_failure",
|
|
120
|
+
"meaning": "The uploaded or fetched pack's SHA-256 does not match the declared digest.",
|
|
109
121
|
"httpStatus": 400,
|
|
110
122
|
"statusSource": "v1 convention (node-packs.md)",
|
|
111
123
|
"retriable": false,
|
|
@@ -115,6 +127,7 @@
|
|
|
115
127
|
},
|
|
116
128
|
{
|
|
117
129
|
"code": "pack_kind_invalid",
|
|
130
|
+
"meaning": "The manifest's content does not match its declared pack kind, or mixes kinds.",
|
|
118
131
|
"httpStatus": 400,
|
|
119
132
|
"statusSource": "v1 convention (node-packs.md)",
|
|
120
133
|
"retriable": false,
|
|
@@ -124,6 +137,7 @@
|
|
|
124
137
|
},
|
|
125
138
|
{
|
|
126
139
|
"code": "pack_lockfile_incomplete",
|
|
140
|
+
"meaning": "The workspace references a pack the lockfile does not list.",
|
|
127
141
|
"httpStatus": 400,
|
|
128
142
|
"statusSource": "v1 convention (node-packs.md)",
|
|
129
143
|
"retriable": false,
|
|
@@ -133,6 +147,7 @@
|
|
|
133
147
|
},
|
|
134
148
|
{
|
|
135
149
|
"code": "pack_peer_dependency_missing",
|
|
150
|
+
"meaning": "The host does not provide a capability the pack declares as a peer dependency.",
|
|
136
151
|
"httpStatus": 400,
|
|
137
152
|
"statusSource": "v1 convention (node-packs.md)",
|
|
138
153
|
"retriable": false,
|
|
@@ -142,6 +157,7 @@
|
|
|
142
157
|
},
|
|
143
158
|
{
|
|
144
159
|
"code": "pack_peer_dependency_undefined",
|
|
160
|
+
"meaning": "A peer-dependency key is not a declared capability family or alias.",
|
|
145
161
|
"httpStatus": 400,
|
|
146
162
|
"statusSource": "v1 convention (node-packs.md)",
|
|
147
163
|
"retriable": false,
|
|
@@ -151,6 +167,7 @@
|
|
|
151
167
|
},
|
|
152
168
|
{
|
|
153
169
|
"code": "pack_signature_invalid",
|
|
170
|
+
"meaning": "The pack's signature, signing key or namespace check failed.",
|
|
154
171
|
"httpStatus": 400,
|
|
155
172
|
"statusSource": "v1 convention (node-packs.md)",
|
|
156
173
|
"retriable": false,
|
|
@@ -160,6 +177,7 @@
|
|
|
160
177
|
},
|
|
161
178
|
{
|
|
162
179
|
"code": "pack_validation_failed",
|
|
180
|
+
"meaning": "The pack manifest is invalid.",
|
|
163
181
|
"httpStatus": 400,
|
|
164
182
|
"statusSource": "v1 convention (node-packs.md)",
|
|
165
183
|
"retriable": false,
|
|
@@ -169,6 +187,7 @@
|
|
|
169
187
|
},
|
|
170
188
|
{
|
|
171
189
|
"code": "unsupported_runtime",
|
|
190
|
+
"meaning": "The host cannot execute the pack's runtime language.",
|
|
172
191
|
"httpStatus": 400,
|
|
173
192
|
"statusSource": "v1 convention (node-packs.md)",
|
|
174
193
|
"retriable": false,
|
|
@@ -178,6 +197,7 @@
|
|
|
178
197
|
},
|
|
179
198
|
{
|
|
180
199
|
"code": "protocol_version_mismatch",
|
|
200
|
+
"meaning": "A /v1/ path was called with an OpenWOP-Version other than 1.",
|
|
181
201
|
"httpStatus": 400,
|
|
182
202
|
"statusSource": "v2 decision",
|
|
183
203
|
"retriable": false,
|
|
@@ -187,6 +207,7 @@
|
|
|
187
207
|
},
|
|
188
208
|
{
|
|
189
209
|
"code": "schedule_horizon_exceeded",
|
|
210
|
+
"meaning": "A schedule asks for a fire time beyond the host's advertised horizon.",
|
|
190
211
|
"httpStatus": 400,
|
|
191
212
|
"statusSource": "v1 convention",
|
|
192
213
|
"retriable": false,
|
|
@@ -196,6 +217,7 @@
|
|
|
196
217
|
},
|
|
197
218
|
{
|
|
198
219
|
"code": "sub_chain_cycle",
|
|
220
|
+
"meaning": "A workflow chain transitively composes itself.",
|
|
199
221
|
"httpStatus": 400,
|
|
200
222
|
"statusSource": "v2 decision",
|
|
201
223
|
"retriable": false,
|
|
@@ -205,6 +227,7 @@
|
|
|
205
227
|
},
|
|
206
228
|
{
|
|
207
229
|
"code": "sub_chain_depth_exceeded",
|
|
230
|
+
"meaning": "Workflow chain nesting is deeper than the host's advertised maximum.",
|
|
208
231
|
"httpStatus": 400,
|
|
209
232
|
"statusSource": "v2 decision",
|
|
210
233
|
"retriable": false,
|
|
@@ -214,6 +237,7 @@
|
|
|
214
237
|
},
|
|
215
238
|
{
|
|
216
239
|
"code": "unsupported_stream_mode",
|
|
240
|
+
"meaning": "The requested stream mode is malformed or not served; details.supported lists the modes the host serves.",
|
|
217
241
|
"httpStatus": 400,
|
|
218
242
|
"statusSource": "v1 prose",
|
|
219
243
|
"retriable": false,
|
|
@@ -245,6 +269,7 @@
|
|
|
245
269
|
},
|
|
246
270
|
{
|
|
247
271
|
"code": "until_in_past",
|
|
272
|
+
"meaning": "A capability record's until date is in the past.",
|
|
248
273
|
"httpStatus": 400,
|
|
249
274
|
"statusSource": "v2 decision",
|
|
250
275
|
"retriable": false,
|
|
@@ -254,6 +279,7 @@
|
|
|
254
279
|
},
|
|
255
280
|
{
|
|
256
281
|
"code": "validation_error",
|
|
282
|
+
"meaning": "The request is malformed or fails schema validation.",
|
|
257
283
|
"httpStatus": 400,
|
|
258
284
|
"statusSource": "v1 convention",
|
|
259
285
|
"retriable": false,
|
|
@@ -263,6 +289,7 @@
|
|
|
263
289
|
},
|
|
264
290
|
{
|
|
265
291
|
"code": "webhook_url_rejected",
|
|
292
|
+
"meaning": "The webhook URL is not an allowed public https:// destination.",
|
|
266
293
|
"httpStatus": 400,
|
|
267
294
|
"statusSource": "v2 decision",
|
|
268
295
|
"retriable": false,
|
|
@@ -272,6 +299,7 @@
|
|
|
272
299
|
},
|
|
273
300
|
{
|
|
274
301
|
"code": "webhook_endpoint_unverified",
|
|
302
|
+
"meaning": "The webhook endpoint did not answer the verification challenge; nothing was stored.",
|
|
275
303
|
"httpStatus": 400,
|
|
276
304
|
"statusSource": "v2 decision",
|
|
277
305
|
"retriable": false,
|
|
@@ -281,6 +309,7 @@
|
|
|
281
309
|
},
|
|
282
310
|
{
|
|
283
311
|
"code": "connector_auth_declined",
|
|
312
|
+
"meaning": "The user declined the connector's authorization request, so the node failed.",
|
|
284
313
|
"httpStatus": 401,
|
|
285
314
|
"statusSource": "v2 decision",
|
|
286
315
|
"retriable": false,
|
|
@@ -290,6 +319,7 @@
|
|
|
290
319
|
},
|
|
291
320
|
{
|
|
292
321
|
"code": "connection_auth_metadata_mismatch",
|
|
322
|
+
"meaning": "The provider's discovered issuer or endpoint differs from the one the manifest or registration pinned.",
|
|
293
323
|
"httpStatus": 422,
|
|
294
324
|
"statusSource": "v2 decision",
|
|
295
325
|
"retriable": false,
|
|
@@ -299,6 +329,7 @@
|
|
|
299
329
|
},
|
|
300
330
|
{
|
|
301
331
|
"code": "audience_mismatch",
|
|
332
|
+
"meaning": "The credential was issued for a different audience than this host.",
|
|
302
333
|
"httpStatus": 401,
|
|
303
334
|
"statusSource": "v2 decision",
|
|
304
335
|
"retriable": false,
|
|
@@ -308,6 +339,7 @@
|
|
|
308
339
|
},
|
|
309
340
|
{
|
|
310
341
|
"code": "connector_auth_expired",
|
|
342
|
+
"meaning": "The connector's credential expired and could not be refreshed, so the node failed.",
|
|
311
343
|
"httpStatus": 401,
|
|
312
344
|
"statusSource": "v1 convention",
|
|
313
345
|
"retriable": false,
|
|
@@ -317,6 +349,7 @@
|
|
|
317
349
|
},
|
|
318
350
|
{
|
|
319
351
|
"code": "credential_revoked",
|
|
352
|
+
"meaning": "The presented API key or session has been revoked.",
|
|
320
353
|
"httpStatus": 401,
|
|
321
354
|
"statusSource": "v2 decision",
|
|
322
355
|
"retriable": false,
|
|
@@ -326,6 +359,7 @@
|
|
|
326
359
|
},
|
|
327
360
|
{
|
|
328
361
|
"code": "credential_lifetime_exceeded",
|
|
362
|
+
"meaning": "The credential's lifetime exceeds the bound the host advertises for its lane, or it carries no iat.",
|
|
329
363
|
"httpStatus": 401,
|
|
330
364
|
"statusSource": "v2 decision",
|
|
331
365
|
"retriable": false,
|
|
@@ -335,6 +369,7 @@
|
|
|
335
369
|
},
|
|
336
370
|
{
|
|
337
371
|
"code": "delegation_expired",
|
|
372
|
+
"meaning": "A delegation or workload credential is past its lifetime.",
|
|
338
373
|
"httpStatus": 401,
|
|
339
374
|
"statusSource": "v2 decision",
|
|
340
375
|
"retriable": false,
|
|
@@ -344,6 +379,7 @@
|
|
|
344
379
|
},
|
|
345
380
|
{
|
|
346
381
|
"code": "identity_unresolvable",
|
|
382
|
+
"meaning": "The credential verified, but it maps to no known subject.",
|
|
347
383
|
"httpStatus": 401,
|
|
348
384
|
"statusSource": "v2 decision",
|
|
349
385
|
"retriable": false,
|
|
@@ -353,6 +389,7 @@
|
|
|
353
389
|
},
|
|
354
390
|
{
|
|
355
391
|
"code": "identity_unverified",
|
|
392
|
+
"meaning": "The credential or delegation chain failed verification.",
|
|
356
393
|
"httpStatus": 401,
|
|
357
394
|
"statusSource": "v2 decision",
|
|
358
395
|
"retriable": false,
|
|
@@ -362,6 +399,7 @@
|
|
|
362
399
|
},
|
|
363
400
|
{
|
|
364
401
|
"code": "interrupt_token_invalid",
|
|
402
|
+
"meaning": "The interrupt token uses an algorithm or key the host does not accept.",
|
|
365
403
|
"httpStatus": 401,
|
|
366
404
|
"statusSource": "v2 decision",
|
|
367
405
|
"retriable": false,
|
|
@@ -371,6 +409,7 @@
|
|
|
371
409
|
},
|
|
372
410
|
{
|
|
373
411
|
"code": "key_revoked",
|
|
412
|
+
"meaning": "The API key has been revoked or its subject disabled.",
|
|
374
413
|
"httpStatus": 401,
|
|
375
414
|
"statusSource": "v1 convention",
|
|
376
415
|
"retriable": false,
|
|
@@ -380,6 +419,7 @@
|
|
|
380
419
|
},
|
|
381
420
|
{
|
|
382
421
|
"code": "sender_constraint_missing",
|
|
422
|
+
"meaning": "The request does not meet the lane's minimum sender-constraint assurance.",
|
|
383
423
|
"httpStatus": 401,
|
|
384
424
|
"statusSource": "v2 decision",
|
|
385
425
|
"retriable": false,
|
|
@@ -389,6 +429,7 @@
|
|
|
389
429
|
},
|
|
390
430
|
{
|
|
391
431
|
"code": "unauthenticated",
|
|
432
|
+
"meaning": "No credential was sent, or the credential is invalid.",
|
|
392
433
|
"httpStatus": 401,
|
|
393
434
|
"statusSource": "v1 convention",
|
|
394
435
|
"retriable": false,
|
|
@@ -398,6 +439,7 @@
|
|
|
398
439
|
},
|
|
399
440
|
{
|
|
400
441
|
"code": "credential_forbidden",
|
|
442
|
+
"meaning": "The credential exists but is outside the caller's scope.",
|
|
401
443
|
"httpStatus": 403,
|
|
402
444
|
"statusSource": "v1 convention",
|
|
403
445
|
"retriable": false,
|
|
@@ -407,6 +449,7 @@
|
|
|
407
449
|
},
|
|
408
450
|
{
|
|
409
451
|
"code": "credential_scope_forbidden",
|
|
452
|
+
"meaning": "The credential cannot be bound at the requested scope.",
|
|
410
453
|
"httpStatus": 403,
|
|
411
454
|
"statusSource": "v1 prose",
|
|
412
455
|
"retriable": false,
|
|
@@ -416,6 +459,7 @@
|
|
|
416
459
|
},
|
|
417
460
|
{
|
|
418
461
|
"code": "delegation_scope_amplified",
|
|
462
|
+
"meaning": "A delegated link claims more scope than its delegator holds.",
|
|
419
463
|
"httpStatus": 403,
|
|
420
464
|
"statusSource": "v2 decision",
|
|
421
465
|
"retriable": false,
|
|
@@ -425,6 +469,7 @@
|
|
|
425
469
|
},
|
|
426
470
|
{
|
|
427
471
|
"code": "forbidden",
|
|
472
|
+
"meaning": "The caller is authenticated but not permitted to do this.",
|
|
428
473
|
"httpStatus": 403,
|
|
429
474
|
"statusSource": "v1 prose",
|
|
430
475
|
"retriable": false,
|
|
@@ -434,6 +479,7 @@
|
|
|
434
479
|
},
|
|
435
480
|
{
|
|
436
481
|
"code": "force_engine_version_forbidden",
|
|
482
|
+
"meaning": "Forcing an engine version is refused outside test keys.",
|
|
437
483
|
"httpStatus": 403,
|
|
438
484
|
"statusSource": "v1 prose",
|
|
439
485
|
"retriable": false,
|
|
@@ -443,6 +489,7 @@
|
|
|
443
489
|
},
|
|
444
490
|
{
|
|
445
491
|
"code": "id_tenant_mismatch",
|
|
492
|
+
"meaning": "The id's tenant segment is not the caller's tenant.",
|
|
446
493
|
"httpStatus": 403,
|
|
447
494
|
"statusSource": "v2 decision",
|
|
448
495
|
"retriable": false,
|
|
@@ -452,6 +499,7 @@
|
|
|
452
499
|
},
|
|
453
500
|
{
|
|
454
501
|
"code": "mock_provider_forbidden",
|
|
502
|
+
"meaning": "The mock AI provider is refused outside test keys.",
|
|
455
503
|
"httpStatus": 403,
|
|
456
504
|
"statusSource": "v1 prose",
|
|
457
505
|
"retriable": false,
|
|
@@ -461,6 +509,7 @@
|
|
|
461
509
|
},
|
|
462
510
|
{
|
|
463
511
|
"code": "pack_namespace_unauthorized",
|
|
512
|
+
"meaning": "The pack's signing key is not allowed for its namespace.",
|
|
464
513
|
"httpStatus": 403,
|
|
465
514
|
"statusSource": "v1 convention (node-packs.md)",
|
|
466
515
|
"retriable": false,
|
|
@@ -470,6 +519,7 @@
|
|
|
470
519
|
},
|
|
471
520
|
{
|
|
472
521
|
"code": "run_forbidden",
|
|
522
|
+
"meaning": "The caller may not act on this run.",
|
|
473
523
|
"httpStatus": 403,
|
|
474
524
|
"statusSource": "v1 prose",
|
|
475
525
|
"retriable": false,
|
|
@@ -479,6 +529,7 @@
|
|
|
479
529
|
},
|
|
480
530
|
{
|
|
481
531
|
"code": "sandbox_capability_denied",
|
|
532
|
+
"meaning": "Sandboxed code called a host capability it is not allowed to use.",
|
|
482
533
|
"httpStatus": 403,
|
|
483
534
|
"statusSource": "v1 convention",
|
|
484
535
|
"retriable": false,
|
|
@@ -488,6 +539,7 @@
|
|
|
488
539
|
},
|
|
489
540
|
{
|
|
490
541
|
"code": "sandbox_escape_attempt",
|
|
542
|
+
"meaning": "Sandboxed code tried to escape its sandbox.",
|
|
491
543
|
"httpStatus": 403,
|
|
492
544
|
"statusSource": "v1 convention",
|
|
493
545
|
"retriable": false,
|
|
@@ -497,6 +549,7 @@
|
|
|
497
549
|
},
|
|
498
550
|
{
|
|
499
551
|
"code": "workspace_membership_required",
|
|
552
|
+
"meaning": "The caller is not a member of the workspace the request names.",
|
|
500
553
|
"httpStatus": 403,
|
|
501
554
|
"statusSource": "v1 prose",
|
|
502
555
|
"retriable": false,
|
|
@@ -506,6 +559,7 @@
|
|
|
506
559
|
},
|
|
507
560
|
{
|
|
508
561
|
"code": "credential_not_found",
|
|
562
|
+
"meaning": "No credential resolves for the requested reference.",
|
|
509
563
|
"httpStatus": 404,
|
|
510
564
|
"statusSource": "v1 convention",
|
|
511
565
|
"retriable": false,
|
|
@@ -515,6 +569,7 @@
|
|
|
515
569
|
},
|
|
516
570
|
{
|
|
517
571
|
"code": "interrupt_not_found",
|
|
572
|
+
"meaning": "The interrupt does not exist.",
|
|
518
573
|
"httpStatus": 404,
|
|
519
574
|
"statusSource": "v1 prose",
|
|
520
575
|
"retriable": false,
|
|
@@ -524,6 +579,7 @@
|
|
|
524
579
|
},
|
|
525
580
|
{
|
|
526
581
|
"code": "not_found",
|
|
582
|
+
"meaning": "The resource does not exist, or the caller may not see it.",
|
|
527
583
|
"httpStatus": 404,
|
|
528
584
|
"statusSource": "v1 convention",
|
|
529
585
|
"retriable": false,
|
|
@@ -533,6 +589,7 @@
|
|
|
533
589
|
},
|
|
534
590
|
{
|
|
535
591
|
"code": "pack_version_not_found",
|
|
592
|
+
"meaning": "The requested pack version is not served.",
|
|
536
593
|
"httpStatus": 404,
|
|
537
594
|
"statusSource": "v1 convention (node-packs.md)",
|
|
538
595
|
"retriable": false,
|
|
@@ -542,6 +599,7 @@
|
|
|
542
599
|
},
|
|
543
600
|
{
|
|
544
601
|
"code": "replay_source_missing",
|
|
602
|
+
"meaning": "During replay, a side-effecting node has no recorded source outcome, so it failed closed.",
|
|
545
603
|
"httpStatus": 404,
|
|
546
604
|
"statusSource": "v1 convention",
|
|
547
605
|
"retriable": false,
|
|
@@ -551,6 +609,7 @@
|
|
|
551
609
|
},
|
|
552
610
|
{
|
|
553
611
|
"code": "signature_not_available",
|
|
612
|
+
"meaning": "No signature is served for this pack version.",
|
|
554
613
|
"httpStatus": 404,
|
|
555
614
|
"statusSource": "v1 prose",
|
|
556
615
|
"retriable": false,
|
|
@@ -560,6 +619,7 @@
|
|
|
560
619
|
},
|
|
561
620
|
{
|
|
562
621
|
"code": "protocol_version_unsupported",
|
|
622
|
+
"meaning": "The OpenWOP-Version header names a version the host does not list; details.protocolVersions lists what it serves.",
|
|
563
623
|
"httpStatus": 406,
|
|
564
624
|
"statusSource": "v2 decision",
|
|
565
625
|
"retriable": false,
|
|
@@ -569,6 +629,7 @@
|
|
|
569
629
|
},
|
|
570
630
|
{
|
|
571
631
|
"code": "connection_provider_conflict",
|
|
632
|
+
"meaning": "Two registrations claim the same connection provider id.",
|
|
572
633
|
"httpStatus": 409,
|
|
573
634
|
"statusSource": "v1 prose",
|
|
574
635
|
"retriable": false,
|
|
@@ -578,6 +639,7 @@
|
|
|
578
639
|
},
|
|
579
640
|
{
|
|
580
641
|
"code": "envelope_correlation_conflict",
|
|
642
|
+
"meaning": "An envelope reuses a correlationId already seen in this run with a different type.",
|
|
581
643
|
"httpStatus": 409,
|
|
582
644
|
"statusSource": "v1 prose",
|
|
583
645
|
"retriable": false,
|
|
@@ -587,6 +649,7 @@
|
|
|
587
649
|
},
|
|
588
650
|
{
|
|
589
651
|
"code": "idempotency_in_flight",
|
|
652
|
+
"meaning": "A request with the same idempotency key is still being processed.",
|
|
590
653
|
"httpStatus": 409,
|
|
591
654
|
"statusSource": "v1 prose",
|
|
592
655
|
"retriable": false,
|
|
@@ -596,6 +659,7 @@
|
|
|
596
659
|
},
|
|
597
660
|
{
|
|
598
661
|
"code": "idempotency_key_mismatch",
|
|
662
|
+
"meaning": "The idempotency key was reused with a different request.",
|
|
599
663
|
"httpStatus": 409,
|
|
600
664
|
"statusSource": "v1 prose",
|
|
601
665
|
"retriable": false,
|
|
@@ -605,6 +669,7 @@
|
|
|
605
669
|
},
|
|
606
670
|
{
|
|
607
671
|
"code": "interrupt_already_resolved",
|
|
672
|
+
"meaning": "The interrupt is already resolved, its run has ended, or its token was invalidated.",
|
|
608
673
|
"httpStatus": 409,
|
|
609
674
|
"statusSource": "v1 prose",
|
|
610
675
|
"retriable": false,
|
|
@@ -614,6 +679,7 @@
|
|
|
614
679
|
},
|
|
615
680
|
{
|
|
616
681
|
"code": "pack_dependency_conflict",
|
|
682
|
+
"meaning": "Two packs require versions of a third pack that no single version satisfies.",
|
|
617
683
|
"httpStatus": 409,
|
|
618
684
|
"statusSource": "v1 convention (node-packs.md)",
|
|
619
685
|
"retriable": false,
|
|
@@ -623,6 +689,7 @@
|
|
|
623
689
|
},
|
|
624
690
|
{
|
|
625
691
|
"code": "pack_integrity_mismatch",
|
|
692
|
+
"meaning": "The fetched pack's SHA-256 does not match the lockfile.",
|
|
626
693
|
"httpStatus": 409,
|
|
627
694
|
"statusSource": "v1 convention (node-packs.md)",
|
|
628
695
|
"retriable": false,
|
|
@@ -632,6 +699,7 @@
|
|
|
632
699
|
},
|
|
633
700
|
{
|
|
634
701
|
"code": "replay_context_summary_unavailable",
|
|
702
|
+
"meaning": "The fork was refused: the host cannot serve the context summary as of the fork point.",
|
|
635
703
|
"httpStatus": 409,
|
|
636
704
|
"statusSource": "v2 decision (sibling of replay_memory_snapshot_unavailable)",
|
|
637
705
|
"retriable": false,
|
|
@@ -641,6 +709,7 @@
|
|
|
641
709
|
},
|
|
642
710
|
{
|
|
643
711
|
"code": "replay_diverged_at_refusal",
|
|
712
|
+
"meaning": "Replay diverged: the source and the replay disagree on whether the AI provider refused.",
|
|
644
713
|
"httpStatus": 409,
|
|
645
714
|
"statusSource": "v1 convention",
|
|
646
715
|
"retriable": false,
|
|
@@ -650,6 +719,7 @@
|
|
|
650
719
|
},
|
|
651
720
|
{
|
|
652
721
|
"code": "replay_memory_snapshot_unavailable",
|
|
722
|
+
"meaning": "The fork was refused: the host cannot serve memory state as of the fork point.",
|
|
653
723
|
"httpStatus": 409,
|
|
654
724
|
"statusSource": "v2 decision (v1 host-sample-test-seams.md §MAE-3 stated 422; the v1 error list states no status)",
|
|
655
725
|
"retriable": false,
|
|
@@ -659,6 +729,7 @@
|
|
|
659
729
|
},
|
|
660
730
|
{
|
|
661
731
|
"code": "run_already_active",
|
|
732
|
+
"meaning": "A run for the same scope is already active and deduplication is enforced.",
|
|
662
733
|
"httpStatus": 409,
|
|
663
734
|
"statusSource": "v1 convention",
|
|
664
735
|
"retriable": false,
|
|
@@ -668,6 +739,7 @@
|
|
|
668
739
|
},
|
|
669
740
|
{
|
|
670
741
|
"code": "run_terminal",
|
|
742
|
+
"meaning": "The run has already finished, so it cannot be changed.",
|
|
671
743
|
"httpStatus": 409,
|
|
672
744
|
"statusSource": "v1 prose",
|
|
673
745
|
"retriable": false,
|
|
@@ -677,6 +749,7 @@
|
|
|
677
749
|
},
|
|
678
750
|
{
|
|
679
751
|
"code": "run_state_conflict",
|
|
752
|
+
"meaning": "The run's current status does not allow this transition; details.runStatus names it.",
|
|
680
753
|
"httpStatus": 409,
|
|
681
754
|
"statusSource": "v2 decision",
|
|
682
755
|
"retriable": false,
|
|
@@ -698,6 +771,7 @@
|
|
|
698
771
|
},
|
|
699
772
|
{
|
|
700
773
|
"code": "version_conflict",
|
|
774
|
+
"meaning": "This pack version was already published with different content.",
|
|
701
775
|
"httpStatus": 409,
|
|
702
776
|
"statusSource": "v1 prose",
|
|
703
777
|
"retriable": false,
|
|
@@ -707,6 +781,7 @@
|
|
|
707
781
|
},
|
|
708
782
|
{
|
|
709
783
|
"code": "workspace_conflict",
|
|
784
|
+
"meaning": "The workspace file changed since the caller last read it.",
|
|
710
785
|
"httpStatus": 409,
|
|
711
786
|
"statusSource": "v1 prose",
|
|
712
787
|
"retriable": false,
|
|
@@ -716,6 +791,7 @@
|
|
|
716
791
|
},
|
|
717
792
|
{
|
|
718
793
|
"code": "interrupt_cancelled",
|
|
794
|
+
"meaning": "The interrupt was cancelled. The core resolve operations never return this code.",
|
|
719
795
|
"httpStatus": 410,
|
|
720
796
|
"statusSource": "registry (v1 prose said 422, run-scoped; RFC 0213 §C)",
|
|
721
797
|
"retriable": false,
|
|
@@ -725,6 +801,7 @@
|
|
|
725
801
|
},
|
|
726
802
|
{
|
|
727
803
|
"code": "interrupt_expired",
|
|
804
|
+
"meaning": "The interrupt token is past its expiry.",
|
|
728
805
|
"httpStatus": 410,
|
|
729
806
|
"statusSource": "v1 prose",
|
|
730
807
|
"retriable": false,
|
|
@@ -734,6 +811,7 @@
|
|
|
734
811
|
},
|
|
735
812
|
{
|
|
736
813
|
"code": "payload_too_large",
|
|
814
|
+
"meaning": "The request body is larger than the host accepts.",
|
|
737
815
|
"httpStatus": 413,
|
|
738
816
|
"statusSource": "v2 decision",
|
|
739
817
|
"retriable": false,
|
|
@@ -743,6 +821,7 @@
|
|
|
743
821
|
},
|
|
744
822
|
{
|
|
745
823
|
"code": "workspace_too_large",
|
|
824
|
+
"meaning": "The workspace file is larger than the host's advertised maximum.",
|
|
746
825
|
"httpStatus": 413,
|
|
747
826
|
"statusSource": "v1 prose",
|
|
748
827
|
"retriable": false,
|
|
@@ -752,6 +831,7 @@
|
|
|
752
831
|
},
|
|
753
832
|
{
|
|
754
833
|
"code": "unsupported_media_type",
|
|
834
|
+
"meaning": "The request body's Content-Type is not accepted.",
|
|
755
835
|
"httpStatus": 415,
|
|
756
836
|
"statusSource": "v2 decision",
|
|
757
837
|
"retriable": false,
|
|
@@ -761,6 +841,7 @@
|
|
|
761
841
|
},
|
|
762
842
|
{
|
|
763
843
|
"code": "capability_not_provided",
|
|
844
|
+
"meaning": "The host does not provide a capability the request or pack requires.",
|
|
764
845
|
"httpStatus": 422,
|
|
765
846
|
"statusSource": "v1 convention",
|
|
766
847
|
"retriable": false,
|
|
@@ -770,6 +851,7 @@
|
|
|
770
851
|
},
|
|
771
852
|
{
|
|
772
853
|
"code": "capability_required",
|
|
854
|
+
"meaning": "The workflow uses a node type whose capability the host does not advertise.",
|
|
773
855
|
"httpStatus": 422,
|
|
774
856
|
"statusSource": "v1 convention",
|
|
775
857
|
"retriable": false,
|
|
@@ -779,6 +861,7 @@
|
|
|
779
861
|
},
|
|
780
862
|
{
|
|
781
863
|
"code": "credential_required",
|
|
864
|
+
"meaning": "A node needs a credential that did not resolve.",
|
|
782
865
|
"httpStatus": 422,
|
|
783
866
|
"statusSource": "v1 convention",
|
|
784
867
|
"retriable": false,
|
|
@@ -788,6 +871,7 @@
|
|
|
788
871
|
},
|
|
789
872
|
{
|
|
790
873
|
"code": "envelope_invalid",
|
|
874
|
+
"meaning": "An AI envelope failed validation and was refused.",
|
|
791
875
|
"httpStatus": 422,
|
|
792
876
|
"statusSource": "v1 convention",
|
|
793
877
|
"retriable": false,
|
|
@@ -797,6 +881,7 @@
|
|
|
797
881
|
},
|
|
798
882
|
{
|
|
799
883
|
"code": "envelope_refusal",
|
|
884
|
+
"meaning": "The AI provider explicitly refused; the host does not retry.",
|
|
800
885
|
"httpStatus": 422,
|
|
801
886
|
"statusSource": "v1 convention",
|
|
802
887
|
"retriable": false,
|
|
@@ -806,6 +891,7 @@
|
|
|
806
891
|
},
|
|
807
892
|
{
|
|
808
893
|
"code": "envelope_truncation_unrecoverable",
|
|
894
|
+
"meaning": "The AI output stayed truncated after the retry budget ran out, so the node failed.",
|
|
809
895
|
"httpStatus": 422,
|
|
810
896
|
"statusSource": "v1 convention",
|
|
811
897
|
"retriable": false,
|
|
@@ -815,6 +901,7 @@
|
|
|
815
901
|
},
|
|
816
902
|
{
|
|
817
903
|
"code": "fork_point_invalid",
|
|
904
|
+
"meaning": "The fork point is not a valid sequence in the source run's log.",
|
|
818
905
|
"httpStatus": 422,
|
|
819
906
|
"statusSource": "v2 decision",
|
|
820
907
|
"retriable": false,
|
|
@@ -824,6 +911,7 @@
|
|
|
824
911
|
},
|
|
825
912
|
{
|
|
826
913
|
"code": "loop_limit_exceeded",
|
|
914
|
+
"meaning": "A loop exceeded its iteration limit.",
|
|
827
915
|
"httpStatus": 422,
|
|
828
916
|
"statusSource": "v1 convention",
|
|
829
917
|
"retriable": false,
|
|
@@ -833,6 +921,7 @@
|
|
|
833
921
|
},
|
|
834
922
|
{
|
|
835
923
|
"code": "mcp_mrtr_rounds_exceeded",
|
|
924
|
+
"meaning": "An MCP exchange asked for more tool-result rounds than the host's advertised ceiling.",
|
|
836
925
|
"httpStatus": 422,
|
|
837
926
|
"statusSource": "v2 decision",
|
|
838
927
|
"retriable": false,
|
|
@@ -842,6 +931,7 @@
|
|
|
842
931
|
},
|
|
843
932
|
{
|
|
844
933
|
"code": "pack_runtime_requirement_unmet",
|
|
934
|
+
"meaning": "The host does not meet a runtime requirement the pack declares.",
|
|
845
935
|
"httpStatus": 422,
|
|
846
936
|
"statusSource": "v1 convention (node-packs.md)",
|
|
847
937
|
"retriable": false,
|
|
@@ -851,6 +941,7 @@
|
|
|
851
941
|
},
|
|
852
942
|
{
|
|
853
943
|
"code": "recursion_limit_exceeded",
|
|
944
|
+
"meaning": "The run hit its recursion safety cap.",
|
|
854
945
|
"httpStatus": 422,
|
|
855
946
|
"statusSource": "v1 convention",
|
|
856
947
|
"retriable": false,
|
|
@@ -860,6 +951,7 @@
|
|
|
860
951
|
},
|
|
861
952
|
{
|
|
862
953
|
"code": "residency_unavailable",
|
|
954
|
+
"meaning": "The host cannot serve the requested data-residency region.",
|
|
863
955
|
"httpStatus": 422,
|
|
864
956
|
"statusSource": "v1 convention",
|
|
865
957
|
"retriable": true,
|
|
@@ -869,6 +961,7 @@
|
|
|
869
961
|
},
|
|
870
962
|
{
|
|
871
963
|
"code": "run_timeout",
|
|
964
|
+
"meaning": "The run exceeded its time limit and failed.",
|
|
872
965
|
"httpStatus": 422,
|
|
873
966
|
"statusSource": "v1 convention",
|
|
874
967
|
"retriable": false,
|
|
@@ -878,6 +971,7 @@
|
|
|
878
971
|
},
|
|
879
972
|
{
|
|
880
973
|
"code": "sandbox_memory_exceeded",
|
|
974
|
+
"meaning": "Sandboxed code exceeded its memory limit.",
|
|
881
975
|
"httpStatus": 422,
|
|
882
976
|
"statusSource": "v1 convention",
|
|
883
977
|
"retriable": false,
|
|
@@ -887,6 +981,7 @@
|
|
|
887
981
|
},
|
|
888
982
|
{
|
|
889
983
|
"code": "sandbox_timeout",
|
|
984
|
+
"meaning": "Sandboxed code exceeded its wall-clock limit.",
|
|
890
985
|
"httpStatus": 422,
|
|
891
986
|
"statusSource": "v1 convention",
|
|
892
987
|
"retriable": false,
|
|
@@ -896,6 +991,7 @@
|
|
|
896
991
|
},
|
|
897
992
|
{
|
|
898
993
|
"code": "token_budget_exceeded",
|
|
994
|
+
"meaning": "The run could not stay within its token budget.",
|
|
899
995
|
"httpStatus": 422,
|
|
900
996
|
"statusSource": "v1 convention",
|
|
901
997
|
"retriable": false,
|
|
@@ -905,15 +1001,27 @@
|
|
|
905
1001
|
},
|
|
906
1002
|
{
|
|
907
1003
|
"code": "client_version_unsupported",
|
|
1004
|
+
"meaning": "The client is below the host's advertised minClientVersion; details.minClientVersion, when present, names the floor.",
|
|
908
1005
|
"httpStatus": 426,
|
|
909
1006
|
"statusSource": "v2 decision",
|
|
910
1007
|
"retriable": false,
|
|
911
|
-
"details":
|
|
1008
|
+
"details": {
|
|
1009
|
+
"type": "object",
|
|
1010
|
+
"properties": {
|
|
1011
|
+
"minClientVersion": {
|
|
1012
|
+
"type": "string",
|
|
1013
|
+
"pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$",
|
|
1014
|
+
"description": "OPTIONAL. The host's advertised minClientVersion, so a client refused at discovery learns the floor (versioning.md §1.5)."
|
|
1015
|
+
}
|
|
1016
|
+
},
|
|
1017
|
+
"additionalProperties": true
|
|
1018
|
+
},
|
|
912
1019
|
"since": "2.0",
|
|
913
|
-
"source": "RFC 0172 row C5.8"
|
|
1020
|
+
"source": "RFC 0172 row C5.8; details registered by RFC 0219"
|
|
914
1021
|
},
|
|
915
1022
|
{
|
|
916
1023
|
"code": "rate_limited",
|
|
1024
|
+
"meaning": "Too many requests. Retry after the Retry-After header.",
|
|
917
1025
|
"httpStatus": 429,
|
|
918
1026
|
"statusSource": "v1 convention",
|
|
919
1027
|
"retriable": true,
|
|
@@ -923,6 +1031,7 @@
|
|
|
923
1031
|
},
|
|
924
1032
|
{
|
|
925
1033
|
"code": "event_type_unmapped",
|
|
1034
|
+
"meaning": "The run's event log holds an event type the host cannot translate, so the log is unreadable.",
|
|
926
1035
|
"httpStatus": 500,
|
|
927
1036
|
"statusSource": "v2 decision",
|
|
928
1037
|
"retriable": false,
|
|
@@ -932,6 +1041,7 @@
|
|
|
932
1041
|
},
|
|
933
1042
|
{
|
|
934
1043
|
"code": "payload_unprojectable",
|
|
1044
|
+
"meaning": "An event payload cannot be represented under the requested contract. Never retried.",
|
|
935
1045
|
"httpStatus": 500,
|
|
936
1046
|
"statusSource": "v2 decision (sibling of event_type_unmapped)",
|
|
937
1047
|
"retriable": false,
|
|
@@ -969,6 +1079,7 @@
|
|
|
969
1079
|
},
|
|
970
1080
|
{
|
|
971
1081
|
"code": "internal_error",
|
|
1082
|
+
"meaning": "The host failed unexpectedly.",
|
|
972
1083
|
"httpStatus": 500,
|
|
973
1084
|
"statusSource": "v1 convention",
|
|
974
1085
|
"retriable": true,
|
|
@@ -978,6 +1089,7 @@
|
|
|
978
1089
|
},
|
|
979
1090
|
{
|
|
980
1091
|
"code": "pack_load_failure",
|
|
1092
|
+
"meaning": "The pack could not be loaded when the workflow was registered.",
|
|
981
1093
|
"httpStatus": 500,
|
|
982
1094
|
"statusSource": "v1 convention (node-packs.md)",
|
|
983
1095
|
"retriable": false,
|
|
@@ -987,6 +1099,7 @@
|
|
|
987
1099
|
},
|
|
988
1100
|
{
|
|
989
1101
|
"code": "credential_unavailable",
|
|
1102
|
+
"meaning": "The host cannot resolve credentials at all, so the run cannot proceed.",
|
|
990
1103
|
"httpStatus": 501,
|
|
991
1104
|
"statusSource": "v1 convention",
|
|
992
1105
|
"retriable": false,
|
|
@@ -996,6 +1109,7 @@
|
|
|
996
1109
|
},
|
|
997
1110
|
{
|
|
998
1111
|
"code": "pack_registry_unreachable",
|
|
1112
|
+
"meaning": "The pack registry could not be reached.",
|
|
999
1113
|
"httpStatus": 503,
|
|
1000
1114
|
"statusSource": "v1 convention (node-packs.md)",
|
|
1001
1115
|
"retriable": true,
|
|
@@ -1005,6 +1119,7 @@
|
|
|
1005
1119
|
},
|
|
1006
1120
|
{
|
|
1007
1121
|
"code": "runner_unavailable",
|
|
1122
|
+
"meaning": "No runner is available to execute this run.",
|
|
1008
1123
|
"httpStatus": 503,
|
|
1009
1124
|
"statusSource": "v1 convention",
|
|
1010
1125
|
"retriable": true,
|
|
@@ -1014,6 +1129,7 @@
|
|
|
1014
1129
|
},
|
|
1015
1130
|
{
|
|
1016
1131
|
"code": "unknown_envelope_kind",
|
|
1132
|
+
"meaning": "The envelope's type is neither universal nor in the host's supported catalog.",
|
|
1017
1133
|
"httpStatus": 422,
|
|
1018
1134
|
"statusSource": "v1 prose",
|
|
1019
1135
|
"retriable": false,
|
|
@@ -1023,6 +1139,7 @@
|
|
|
1023
1139
|
},
|
|
1024
1140
|
{
|
|
1025
1141
|
"code": "unknown_schema_version",
|
|
1142
|
+
"meaning": "The envelope's schemaVersion is above the version the host advertises for that kind.",
|
|
1026
1143
|
"httpStatus": 422,
|
|
1027
1144
|
"statusSource": "v1 prose",
|
|
1028
1145
|
"retriable": false,
|