@openwop/spec-artifacts 2.0.0-rc.6 → 2.0.0-rc.60
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 +39 -36
- package/api/seams-v2.yaml +1 -1
- package/api/v2/asyncapi.yaml +1 -1
- package/api/v2/openapi.yaml +17 -19
- package/package.json +18 -5
- package/schemas/capabilities.schema.json +40 -1
- package/schemas/certification-bundle-v2.schema.json +119 -27
- package/schemas/run-snapshot.schema.json +103 -33
- package/schemas/v2/agent-deployment-transition.schema.json +5 -6
- package/schemas/v2/agent-deployment.schema.json +8 -9
- package/schemas/v2/agent-eval-suite.schema.json +11 -12
- package/schemas/v2/artifact-type-pack-manifest.schema.json +22 -18
- package/schemas/v2/capabilities.schema.json +39 -0
- package/schemas/v2/certification-bundle.schema.json +1 -1
- package/schemas/v2/chat-card-pack-manifest.schema.json +19 -15
- package/schemas/v2/debug-bundle.schema.json +6 -6
- package/schemas/v2/error-envelope.schema.json +185 -138
- package/schemas/v2/eval-summary.schema.json +17 -10
- package/schemas/v2/goal.schema.json +5 -5
- package/schemas/v2/ids.schema.json +120 -22
- package/schemas/v2/node-pack-manifest.schema.json +27 -31
- package/schemas/v2/proposal.schema.json +7 -8
- package/schemas/v2/run-event-payloads.schema.json +258 -245
- package/schemas/v2/run-event.schema.json +2 -126
- package/schemas/v2/run-options.schema.json +1 -1
- package/schemas/v2/run-snapshot.schema.json +34 -13
- package/schemas/v2/webhook-delivery.schema.json +26 -0
- package/schemas/v2/workflow-chain-pack-manifest.schema.json +41 -45
- package/schemas/v2/workflow-definition.schema.json +31 -36
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/deprecations.json +79 -67
- package/spec/v1/deprecations.schema.json +23 -7
- package/spec/v1/extensions.json +3 -2
- package/spec/v2/declaration.json +34 -6
- package/spec/v2/errors.json +421 -360
- package/spec/v2/id-field-bindings.json +105 -0
- package/spec/v2/profiles.json +27 -6
- package/spec/v2/release.json +2 -2
- package/spec/v2/retention-floors.json +35 -0
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
"properties": {
|
|
255
255
|
"id": {
|
|
256
256
|
"type": "string",
|
|
257
|
-
"pattern": "^openwop\\.(?!it\\.(?:artifact-schema-compile-bounded|artifact-type-legacy-ids|capability-example-root-layout|certification-floor-enforcement|chain-subchain-unsupported-refused|compensation-profile|core-manifest-and-extension-registry|discovery-canonical-family-no-shadow|edge-condition-truthy-falsy|effect-identity-composition|effect-identity-cross-scope|error-envelope-canonical-shape|event-codemap-complete|form-content-packs|multi-region-effect-vocabulary|normative-example-extraction|openapi-asyncapi-sdk-parity|pack-manifest-extensions|protocol-version-grammar|registry-declarative-kinds|rfc-0147-self-audit|rfc-lifecycle-coherence|semantic-digest-v2|spec-corpus-validity|spec-section-citations|tool-result-trust-monotone|v2-alias-covers-reword|v2-corpus-tag-pinned|v2-declaration-parity|v2-error-registry-prose-parity|v2-event-naming-rule|v2-events-channel-parity|v2-externally-gated-never-stable|v2-one-signing-scheme|v2-path-parity|v2-release-identity|v2-req-only-assertions|v2-seams-not-in-canonical|v2-security-defaults-table|v2-spec-artifacts-digest|v2-threat-model-template|v2-witness-required|versioned-composition-profiles|workflow-chain-internal-flag|workload-identity-profile)\\.)(requirement|it|scenario|floor|profile|family)\\.[a-z0-9]",
|
|
257
|
+
"pattern": "^openwop\\.(?!it\\.(?:artifact-schema-compile-bounded|artifact-type-legacy-ids|capability-example-root-layout|certification-floor-enforcement|chain-subchain-unsupported-refused|compensation-profile|core-manifest-and-extension-registry|discovery-canonical-family-no-shadow|edge-condition-truthy-falsy|effect-identity-composition|effect-identity-cross-scope|error-envelope-canonical-shape|event-codemap-complete|form-content-packs|multi-region-effect-vocabulary|normative-example-extraction|openapi-asyncapi-sdk-parity|pack-manifest-extensions|protocol-version-grammar|registry-declarative-kinds|rfc-0147-self-audit|rfc-lifecycle-coherence|semantic-digest-v2|spec-corpus-validity|spec-section-citations|tool-result-trust-monotone|v2-alias-covers-reword|v2-corpus-tag-pinned|v2-declaration-parity|v2-eos-clock|v2-error-registry-prose-parity|v2-event-naming-rule|v2-events-channel-parity|v2-externally-gated-never-stable|v2-id-kinds-bound|v2-bundle-signature-attributable|v2-one-signing-scheme|v2-path-parity|v2-release-identity|v2-req-only-assertions|v2-retention-floors|v2-seams-not-in-canonical|v2-security-defaults-table|v2-spec-artifacts-digest|v2-threat-model-template|v2-witness-required|versioned-composition-profiles|workflow-chain-internal-flag|workload-identity-profile)\\.)(requirement|it|scenario|floor|profile|family)\\.[a-z0-9]",
|
|
258
258
|
"description": "RFC 0168 §A.1 — `openwop.<area>.<slug>`. The suite mints six areas: `requirement` (an explicit `req()` id), `it` (a per-test id from the scenario file and title), `scenario` and `floor` (per-file rows), `profile` (a claimed-profile row) and `family` (a capability gate). The lookahead refuses every id minted from a corpus-coherence file: those run in the spec repo’s CI and MUST NOT appear in a host bundle (conformance.md §\"Two products, two ledgers\"; RFC 0168 §D.1). `scripts/check-req-only.mjs` fails when the list drifts from `conformance/src/coherence/`."
|
|
259
259
|
},
|
|
260
260
|
"scenario": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://openwop.dev/spec/v2/chat-card-pack-manifest.schema.json",
|
|
4
4
|
"title": "ChatCardPackManifest",
|
|
5
|
-
"description": "Manifest for a published OpenWOP AI chat card pack
|
|
5
|
+
"description": "Manifest for a published OpenWOP AI chat card pack \u2014 `pack.json` at the pack root with `kind: \"card\"`. Peer to the node / workflow-chain / prompt / artifact-type pack manifests; disjoint via the `kind` discriminator. See `spec/v1/chat-card-packs.md` for the canonical contract and RFC 0071 Phase 2 for the rationale.\n\nA chat card pack distributes AI step cards: each card binds a prompt template (with typed input slots) to a typed output artifact. When a host advertises `host.chat.cardPacks: supported` and a registered card is invoked, the host substitutes inputs into the prompt, routes the call through `ctx.aiEnvelope.generate`, and (when `outputArtifactType` is set) validates the result against the referenced artifact-type pack's schema before emitting `artifact.created`.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": [
|
|
8
8
|
"name",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"name": {
|
|
22
22
|
"type": "string",
|
|
23
|
-
"description": "Reverse-DNS pack name per `node-packs.md`
|
|
23
|
+
"description": "Reverse-DNS pack name per `node-packs.md` \u00a7Naming. Reserved scopes are identical (`core.*` / `vendor.<org>.*` / `community.<author>.*` / `private.<host>.*`).",
|
|
24
24
|
"pattern": "^(core|vendor|community|private)\\.[a-z][a-z0-9_-]*(\\.[a-z][a-zA-Z0-9_-]*)+$",
|
|
25
25
|
"minLength": 1,
|
|
26
26
|
"maxLength": 256
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"properties": {
|
|
66
66
|
"openwop": {
|
|
67
67
|
"type": "string",
|
|
68
|
-
"description": "Semver range
|
|
68
|
+
"description": "Semver range \u2014 which openwop protocol versions this pack works against."
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"additionalProperties": false
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"additionalProperties": {
|
|
76
76
|
"type": "string"
|
|
77
77
|
},
|
|
78
|
-
"description": "Other packs this pack depends on (e.g., the artifact-type pack declaring this card's `outputArtifactType`). Map of pack name
|
|
78
|
+
"description": "Other packs this pack depends on (e.g., the artifact-type pack declaring this card's `outputArtifactType`). Map of pack name \u2192 semver range."
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
81
|
"type": "object",
|
|
@@ -106,16 +106,20 @@
|
|
|
106
106
|
"additionalProperties": false,
|
|
107
107
|
"properties": {
|
|
108
108
|
"cardTypeId": {
|
|
109
|
-
"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
"allOf": [
|
|
110
|
+
{
|
|
111
|
+
"$ref": "ids.schema.json#/$defs/typeId"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"pattern": "^(core|vendor|community|private)\\.[a-z][a-z0-9_-]*(\\.[a-z][a-zA-Z0-9_-]*)+$"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"description": "Reverse-DNS card identifier. Same pattern and reserved scopes as a pack `name`. The value `WorkflowNode.cardType` / `ctx.chat.emitCard` MAY reference. Third parties MUST NOT publish under `core.*`."
|
|
114
118
|
},
|
|
115
119
|
"schemaVersion": {
|
|
116
120
|
"type": "integer",
|
|
117
121
|
"minimum": 0,
|
|
118
|
-
"description": "Non-negative integer card-schema version (the envelope/artifact integer-version axis). Absent
|
|
122
|
+
"description": "Non-negative integer card-schema version (the envelope/artifact integer-version axis). Absent \u21d2 treated as 0."
|
|
119
123
|
},
|
|
120
124
|
"prompt": {
|
|
121
125
|
"$ref": "#/$defs/PromptSpec"
|
|
@@ -150,7 +154,7 @@
|
|
|
150
154
|
},
|
|
151
155
|
"patternProperties": {
|
|
152
156
|
"^(openwop-|x-|vendor\\.)": {
|
|
153
|
-
"description": "Vendor / host extension escape hatch (RFC 0138). A property matching `^(x-|vendor\\.)` is a HOST EXTENSION: its semantics are unspecified by this protocol, and a consumer that does not recognize one MUST ignore it rather than reject the pack. Resolves the contradiction in `host-extensions.md`
|
|
157
|
+
"description": "Vendor / host extension escape hatch (RFC 0138). A property matching `^(x-|vendor\\.)` is a HOST EXTENSION: its semantics are unspecified by this protocol, and a consumer that does not recognize one MUST ignore it rather than reject the pack. Resolves the contradiction in `host-extensions.md` \u00a7\"Vendor-prefixed namespaces\", which requires a client receiving an unknown vendor-prefixed field to treat it as opaque \u2014 a field that `additionalProperties: false` previously made impossible to carry. SECURITY: an extension value is PACK-AUTHORED, therefore untrusted; \"ignore\" means ignore. See `node-packs.md` \u00a7\"Vendor extensions on pack manifests\" and the `pack-manifest-extension-opaque` invariant."
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
},
|
|
@@ -177,7 +181,7 @@
|
|
|
177
181
|
"additionalProperties": {
|
|
178
182
|
"type": "string"
|
|
179
183
|
},
|
|
180
|
-
"description": "Map of `{{placeholder}}` name
|
|
184
|
+
"description": "Map of `{{placeholder}}` name \u2192 input path (e.g. `\"spec\": \"inputs.spec\"`)."
|
|
181
185
|
},
|
|
182
186
|
"temperature": {
|
|
183
187
|
"type": "number",
|
|
@@ -205,7 +209,7 @@
|
|
|
205
209
|
},
|
|
206
210
|
"type": {
|
|
207
211
|
"type": "string",
|
|
208
|
-
"description": "Closed portable subset OR a `vendor.<org>.<kind>` / `x-<kind>` host extension other hosts ignore. The portable subset (G9, resolved 2026-05-27 against MyndHyve's `CardFieldType`): `text`, `longtext`, `number`, `boolean`, `select`, `multiselect`, `file`, `artifact-ref`. MyndHyve maps `textarea
|
|
212
|
+
"description": "Closed portable subset OR a `vendor.<org>.<kind>` / `x-<kind>` host extension other hosts ignore. The portable subset (G9, resolved 2026-05-27 against MyndHyve's `CardFieldType`): `text`, `longtext`, `number`, `boolean`, `select`, `multiselect`, `file`, `artifact-ref`. MyndHyve maps `textarea`\u2192`longtext` and `toggle`\u2192`boolean`; its product-specific kinds (`canvas-reference`, `collection-reference`, `color`) are host extensions (`vendor.myndhyve.*`), not portable.",
|
|
209
213
|
"pattern": "^(text|longtext|number|boolean|select|multiselect|file|artifact-ref|vendor\\.[a-z][a-z0-9-]*\\.[a-z][a-z0-9-]*|x-[a-z][a-z0-9-]*)$"
|
|
210
214
|
},
|
|
211
215
|
"label": {
|
|
@@ -226,7 +230,7 @@
|
|
|
226
230
|
},
|
|
227
231
|
"Signing": {
|
|
228
232
|
"type": "object",
|
|
229
|
-
"description": "Optional signing metadata. See node-packs.md
|
|
233
|
+
"description": "Optional signing metadata. See node-packs.md \u00a7signing.",
|
|
230
234
|
"additionalProperties": false,
|
|
231
235
|
"properties": {
|
|
232
236
|
"publicKeyRef": {
|
|
@@ -247,7 +251,7 @@
|
|
|
247
251
|
},
|
|
248
252
|
"patternProperties": {
|
|
249
253
|
"^(openwop-|x-|vendor\\.)": {
|
|
250
|
-
"description": "Vendor / host extension escape hatch (RFC 0138). A property matching `^(x-|vendor\\.)` is a HOST EXTENSION: its semantics are unspecified by this protocol, and a consumer that does not recognize one MUST ignore it rather than reject the pack. Resolves the contradiction in `host-extensions.md`
|
|
254
|
+
"description": "Vendor / host extension escape hatch (RFC 0138). A property matching `^(x-|vendor\\.)` is a HOST EXTENSION: its semantics are unspecified by this protocol, and a consumer that does not recognize one MUST ignore it rather than reject the pack. Resolves the contradiction in `host-extensions.md` \u00a7\"Vendor-prefixed namespaces\", which requires a client receiving an unknown vendor-prefixed field to treat it as opaque \u2014 a field that `additionalProperties: false` previously made impossible to carry. SECURITY: an extension value is PACK-AUTHORED, therefore untrusted; \"ignore\" means ignore. See `node-packs.md` \u00a7\"Vendor extensions on pack manifests\" and the `pack-manifest-extension-opaque` invariant."
|
|
251
255
|
}
|
|
252
256
|
},
|
|
253
257
|
"x-openwop-seeded-from": "v1"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://openwop.dev/spec/v2/debug-bundle.schema.json",
|
|
4
4
|
"title": "RunDebugBundle",
|
|
5
|
-
"description": "Portable JSON export of a single run's diagnostic state. See spec/v1/debug-bundle.md. Additive over v1 per COMPATIBILITY.md
|
|
5
|
+
"description": "Portable JSON export of a single run's diagnostic state. See spec/v1/debug-bundle.md. Additive over v1 per COMPATIBILITY.md \u00a72.1: optional endpoint; hosts MAY omit.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": [
|
|
8
8
|
"bundleVersion",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"properties": {
|
|
17
17
|
"bundleVersion": {
|
|
18
18
|
"const": "2",
|
|
19
|
-
"description": "RFC 0172
|
|
19
|
+
"description": "RFC 0172 \u00a7B axis 10 \u2014 one const family; this bundle is \"2\" in v2."
|
|
20
20
|
},
|
|
21
21
|
"generatedAt": {
|
|
22
22
|
"type": "string",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"run": {
|
|
49
49
|
"type": "object",
|
|
50
|
-
"description": "Run snapshot
|
|
50
|
+
"description": "Run snapshot \u2014 same shape as GET /v1/runs/{runId}. See run-snapshot.schema.json.",
|
|
51
51
|
"required": [
|
|
52
52
|
"runId",
|
|
53
53
|
"workflowId",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"currentNodeId": {
|
|
122
122
|
"oneOf": [
|
|
123
123
|
{
|
|
124
|
-
"
|
|
124
|
+
"$ref": "ids.schema.json#/$defs/nodeId"
|
|
125
125
|
},
|
|
126
126
|
{
|
|
127
127
|
"type": "null"
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
"nodeId": {
|
|
168
168
|
"oneOf": [
|
|
169
169
|
{
|
|
170
|
-
"
|
|
170
|
+
"$ref": "ids.schema.json#/$defs/nodeId"
|
|
171
171
|
},
|
|
172
172
|
{
|
|
173
173
|
"type": "null"
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"parentSpanId": {
|
|
199
199
|
"oneOf": [
|
|
200
200
|
{
|
|
201
|
-
"
|
|
201
|
+
"$ref": "ids.schema.json#/$defs/spanId"
|
|
202
202
|
},
|
|
203
203
|
{
|
|
204
204
|
"type": "null"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://openwop.dev/spec/v2/error-envelope.schema.json",
|
|
4
4
|
"title": "ErrorEnvelope (v2)",
|
|
5
|
-
"description": "GENERATED from spec/v2/errors.json by scripts/generate-error-envelope.mjs (RFC 0171 §B.1).
|
|
5
|
+
"description": "GENERATED from spec/v2/errors.json by scripts/generate-error-envelope.mjs (RFC 0171 §B.1). 97 registered codes; vendor codes match ^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$. Consumers MUST accept an unknown registered member and MUST NOT act on it (RFC 0171 §A.5).",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": [
|
|
@@ -15,100 +15,103 @@
|
|
|
15
15
|
{
|
|
16
16
|
"type": "string",
|
|
17
17
|
"enum": [
|
|
18
|
-
"audience_mismatch",
|
|
19
|
-
"capability_not_provided",
|
|
20
|
-
"capability_required",
|
|
21
|
-
"client_version_unsupported",
|
|
22
|
-
"connection_provider_conflict",
|
|
23
18
|
"connection_provider_unresolved",
|
|
24
19
|
"connector_action_unresolved",
|
|
25
|
-
"connector_auth_expired",
|
|
26
|
-
"credential_forbidden",
|
|
27
|
-
"credential_not_found",
|
|
28
|
-
"credential_required",
|
|
29
|
-
"credential_revoked",
|
|
30
20
|
"credential_scope_unsupported",
|
|
31
|
-
"credential_unavailable",
|
|
32
21
|
"delegation_chain_cyclic",
|
|
33
22
|
"delegation_chain_too_long",
|
|
34
|
-
"delegation_expired",
|
|
35
|
-
"delegation_scope_amplified",
|
|
36
|
-
"envelope_correlation_conflict",
|
|
37
|
-
"envelope_invalid",
|
|
38
|
-
"envelope_refusal",
|
|
39
|
-
"envelope_truncation_unrecoverable",
|
|
40
|
-
"event_type_unmapped",
|
|
41
|
-
"forbidden",
|
|
42
|
-
"force_engine_version_forbidden",
|
|
43
|
-
"fork_point_invalid",
|
|
44
|
-
"id_tenant_mismatch",
|
|
45
|
-
"idempotency_in_flight",
|
|
46
23
|
"idempotency_key_invalid",
|
|
47
|
-
"idempotency_key_mismatch",
|
|
48
|
-
"identity_unresolvable",
|
|
49
|
-
"identity_unverified",
|
|
50
|
-
"internal_error",
|
|
51
24
|
"interop_version_unsupported",
|
|
52
|
-
"interrupt_already_resolved",
|
|
53
|
-
"interrupt_cancelled",
|
|
54
|
-
"interrupt_expired",
|
|
55
|
-
"interrupt_not_found",
|
|
56
|
-
"interrupt_token_invalid",
|
|
57
|
-
"key_revoked",
|
|
58
|
-
"loop_limit_exceeded",
|
|
59
|
-
"mcp_mrtr_rounds_exceeded",
|
|
60
|
-
"mock_provider_forbidden",
|
|
61
|
-
"not_found",
|
|
62
25
|
"oauth_provider_unsupported",
|
|
63
26
|
"oauth_scope_unsupported",
|
|
64
|
-
"pack_dependency_conflict",
|
|
65
27
|
"pack_dependency_cycle",
|
|
66
28
|
"pack_engine_unsupported",
|
|
67
29
|
"pack_integrity_failure",
|
|
68
|
-
"pack_integrity_mismatch",
|
|
69
30
|
"pack_kind_invalid",
|
|
70
|
-
"pack_load_failure",
|
|
71
31
|
"pack_lockfile_incomplete",
|
|
72
|
-
"pack_namespace_unauthorized",
|
|
73
32
|
"pack_peer_dependency_missing",
|
|
74
33
|
"pack_peer_dependency_undefined",
|
|
75
|
-
"pack_registry_unreachable",
|
|
76
|
-
"pack_runtime_requirement_unmet",
|
|
77
34
|
"pack_signature_invalid",
|
|
78
35
|
"pack_validation_failed",
|
|
79
|
-
"pack_version_not_found",
|
|
80
36
|
"protocol_version_mismatch",
|
|
37
|
+
"schedule_horizon_exceeded",
|
|
38
|
+
"sub_chain_cycle",
|
|
39
|
+
"sub_chain_depth_exceeded",
|
|
40
|
+
"unsupported_stream_mode",
|
|
41
|
+
"until_in_past",
|
|
42
|
+
"validation_error",
|
|
43
|
+
"webhook_url_rejected",
|
|
44
|
+
"audience_mismatch",
|
|
45
|
+
"connector_auth_expired",
|
|
46
|
+
"credential_revoked",
|
|
47
|
+
"delegation_expired",
|
|
48
|
+
"identity_unresolvable",
|
|
49
|
+
"identity_unverified",
|
|
50
|
+
"interrupt_token_invalid",
|
|
51
|
+
"key_revoked",
|
|
52
|
+
"sender_constraint_missing",
|
|
53
|
+
"unauthenticated",
|
|
54
|
+
"credential_forbidden",
|
|
55
|
+
"delegation_scope_amplified",
|
|
56
|
+
"forbidden",
|
|
57
|
+
"force_engine_version_forbidden",
|
|
58
|
+
"id_tenant_mismatch",
|
|
59
|
+
"mock_provider_forbidden",
|
|
60
|
+
"pack_namespace_unauthorized",
|
|
61
|
+
"run_forbidden",
|
|
62
|
+
"sandbox_capability_denied",
|
|
63
|
+
"sandbox_escape_attempt",
|
|
64
|
+
"workspace_membership_required",
|
|
65
|
+
"credential_not_found",
|
|
66
|
+
"interrupt_not_found",
|
|
67
|
+
"not_found",
|
|
68
|
+
"pack_version_not_found",
|
|
69
|
+
"replay_source_missing",
|
|
70
|
+
"signature_not_available",
|
|
81
71
|
"protocol_version_unsupported",
|
|
82
|
-
"
|
|
83
|
-
"
|
|
72
|
+
"connection_provider_conflict",
|
|
73
|
+
"envelope_correlation_conflict",
|
|
74
|
+
"idempotency_in_flight",
|
|
75
|
+
"idempotency_key_mismatch",
|
|
76
|
+
"interrupt_already_resolved",
|
|
77
|
+
"pack_dependency_conflict",
|
|
78
|
+
"pack_integrity_mismatch",
|
|
84
79
|
"replay_diverged_at_refusal",
|
|
85
80
|
"replay_memory_snapshot_unavailable",
|
|
86
|
-
"replay_source_missing",
|
|
87
|
-
"residency_unavailable",
|
|
88
81
|
"run_already_active",
|
|
89
|
-
"run_forbidden",
|
|
90
82
|
"run_terminal",
|
|
83
|
+
"run_state_conflict",
|
|
84
|
+
"version_conflict",
|
|
85
|
+
"workspace_conflict",
|
|
86
|
+
"interrupt_cancelled",
|
|
87
|
+
"interrupt_expired",
|
|
88
|
+
"payload_too_large",
|
|
89
|
+
"workspace_too_large",
|
|
90
|
+
"unsupported_media_type",
|
|
91
|
+
"capability_not_provided",
|
|
92
|
+
"capability_required",
|
|
93
|
+
"credential_required",
|
|
94
|
+
"envelope_invalid",
|
|
95
|
+
"envelope_refusal",
|
|
96
|
+
"envelope_truncation_unrecoverable",
|
|
97
|
+
"fork_point_invalid",
|
|
98
|
+
"loop_limit_exceeded",
|
|
99
|
+
"mcp_mrtr_rounds_exceeded",
|
|
100
|
+
"pack_runtime_requirement_unmet",
|
|
101
|
+
"recursion_limit_exceeded",
|
|
102
|
+
"residency_unavailable",
|
|
91
103
|
"run_timeout",
|
|
92
|
-
"runner_unavailable",
|
|
93
|
-
"sandbox_capability_denied",
|
|
94
|
-
"sandbox_escape_attempt",
|
|
95
104
|
"sandbox_memory_exceeded",
|
|
96
105
|
"sandbox_timeout",
|
|
97
|
-
"schedule_horizon_exceeded",
|
|
98
|
-
"sender_constraint_missing",
|
|
99
|
-
"signature_not_available",
|
|
100
|
-
"sub_chain_cycle",
|
|
101
|
-
"sub_chain_depth_exceeded",
|
|
102
106
|
"token_budget_exceeded",
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"workspace_too_large"
|
|
107
|
+
"client_version_unsupported",
|
|
108
|
+
"rate_limited",
|
|
109
|
+
"event_type_unmapped",
|
|
110
|
+
"internal_error",
|
|
111
|
+
"pack_load_failure",
|
|
112
|
+
"credential_unavailable",
|
|
113
|
+
"pack_registry_unreachable",
|
|
114
|
+
"runner_unavailable"
|
|
112
115
|
]
|
|
113
116
|
},
|
|
114
117
|
{
|
|
@@ -122,112 +125,156 @@
|
|
|
122
125
|
"minLength": 1
|
|
123
126
|
},
|
|
124
127
|
"details": {
|
|
125
|
-
"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
"oneOf": [
|
|
129
|
+
{
|
|
130
|
+
"type": "object",
|
|
131
|
+
"required": [
|
|
132
|
+
"supported"
|
|
133
|
+
],
|
|
134
|
+
"properties": {
|
|
135
|
+
"supported": {
|
|
136
|
+
"type": "array",
|
|
137
|
+
"minItems": 1,
|
|
138
|
+
"items": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"enum": [
|
|
141
|
+
"values",
|
|
142
|
+
"updates",
|
|
143
|
+
"messages",
|
|
144
|
+
"debug"
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"description": "Each individual mode the host serves; combinations are not listed (events.md §The events channel)."
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"additionalProperties": true,
|
|
151
|
+
"x-openwop-error": "unsupported_stream_mode"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"type": "object",
|
|
155
|
+
"required": [
|
|
156
|
+
"runStatus"
|
|
157
|
+
],
|
|
158
|
+
"properties": {
|
|
159
|
+
"runStatus": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "The run status that refused the transition (runs.md §Pause and resume)."
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"additionalProperties": true,
|
|
165
|
+
"x-openwop-error": "run_state_conflict"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"type": "object",
|
|
169
|
+
"additionalProperties": true
|
|
170
|
+
}
|
|
171
|
+
]
|
|
128
172
|
}
|
|
129
173
|
},
|
|
130
174
|
"x-openwop-http-status": {
|
|
131
|
-
"audience_mismatch": 401,
|
|
132
|
-
"capability_not_provided": 422,
|
|
133
|
-
"capability_required": 422,
|
|
134
|
-
"client_version_unsupported": 426,
|
|
135
|
-
"connection_provider_conflict": 409,
|
|
136
175
|
"connection_provider_unresolved": 400,
|
|
137
176
|
"connector_action_unresolved": 400,
|
|
138
|
-
"connector_auth_expired": 401,
|
|
139
|
-
"credential_forbidden": 403,
|
|
140
|
-
"credential_not_found": 404,
|
|
141
|
-
"credential_required": 422,
|
|
142
|
-
"credential_revoked": 401,
|
|
143
177
|
"credential_scope_unsupported": 400,
|
|
144
|
-
"credential_unavailable": 501,
|
|
145
178
|
"delegation_chain_cyclic": 400,
|
|
146
179
|
"delegation_chain_too_long": 400,
|
|
147
|
-
"delegation_expired": 401,
|
|
148
|
-
"delegation_scope_amplified": 403,
|
|
149
|
-
"envelope_correlation_conflict": 409,
|
|
150
|
-
"envelope_invalid": 422,
|
|
151
|
-
"envelope_refusal": 422,
|
|
152
|
-
"envelope_truncation_unrecoverable": 422,
|
|
153
|
-
"event_type_unmapped": 500,
|
|
154
|
-
"forbidden": 403,
|
|
155
|
-
"force_engine_version_forbidden": 403,
|
|
156
|
-
"fork_point_invalid": 422,
|
|
157
|
-
"id_tenant_mismatch": 403,
|
|
158
|
-
"idempotency_in_flight": 409,
|
|
159
180
|
"idempotency_key_invalid": 400,
|
|
160
|
-
"idempotency_key_mismatch": 409,
|
|
161
|
-
"identity_unresolvable": 401,
|
|
162
|
-
"identity_unverified": 401,
|
|
163
|
-
"internal_error": 500,
|
|
164
181
|
"interop_version_unsupported": 400,
|
|
165
|
-
"interrupt_already_resolved": 409,
|
|
166
|
-
"interrupt_cancelled": 410,
|
|
167
|
-
"interrupt_expired": 410,
|
|
168
|
-
"interrupt_not_found": 404,
|
|
169
|
-
"interrupt_token_invalid": 401,
|
|
170
|
-
"key_revoked": 401,
|
|
171
|
-
"loop_limit_exceeded": 422,
|
|
172
|
-
"mcp_mrtr_rounds_exceeded": 422,
|
|
173
|
-
"mock_provider_forbidden": 403,
|
|
174
|
-
"not_found": 404,
|
|
175
182
|
"oauth_provider_unsupported": 400,
|
|
176
183
|
"oauth_scope_unsupported": 400,
|
|
177
|
-
"pack_dependency_conflict": 409,
|
|
178
184
|
"pack_dependency_cycle": 400,
|
|
179
185
|
"pack_engine_unsupported": 400,
|
|
180
186
|
"pack_integrity_failure": 400,
|
|
181
|
-
"pack_integrity_mismatch": 409,
|
|
182
187
|
"pack_kind_invalid": 400,
|
|
183
|
-
"pack_load_failure": 500,
|
|
184
188
|
"pack_lockfile_incomplete": 400,
|
|
185
|
-
"pack_namespace_unauthorized": 403,
|
|
186
189
|
"pack_peer_dependency_missing": 400,
|
|
187
190
|
"pack_peer_dependency_undefined": 400,
|
|
188
|
-
"pack_registry_unreachable": 503,
|
|
189
|
-
"pack_runtime_requirement_unmet": 422,
|
|
190
191
|
"pack_signature_invalid": 400,
|
|
191
192
|
"pack_validation_failed": 400,
|
|
192
|
-
"pack_version_not_found": 404,
|
|
193
193
|
"protocol_version_mismatch": 400,
|
|
194
|
+
"schedule_horizon_exceeded": 400,
|
|
195
|
+
"sub_chain_cycle": 400,
|
|
196
|
+
"sub_chain_depth_exceeded": 400,
|
|
197
|
+
"unsupported_stream_mode": 400,
|
|
198
|
+
"until_in_past": 400,
|
|
199
|
+
"validation_error": 400,
|
|
200
|
+
"webhook_url_rejected": 400,
|
|
201
|
+
"audience_mismatch": 401,
|
|
202
|
+
"connector_auth_expired": 401,
|
|
203
|
+
"credential_revoked": 401,
|
|
204
|
+
"delegation_expired": 401,
|
|
205
|
+
"identity_unresolvable": 401,
|
|
206
|
+
"identity_unverified": 401,
|
|
207
|
+
"interrupt_token_invalid": 401,
|
|
208
|
+
"key_revoked": 401,
|
|
209
|
+
"sender_constraint_missing": 401,
|
|
210
|
+
"unauthenticated": 401,
|
|
211
|
+
"credential_forbidden": 403,
|
|
212
|
+
"delegation_scope_amplified": 403,
|
|
213
|
+
"forbidden": 403,
|
|
214
|
+
"force_engine_version_forbidden": 403,
|
|
215
|
+
"id_tenant_mismatch": 403,
|
|
216
|
+
"mock_provider_forbidden": 403,
|
|
217
|
+
"pack_namespace_unauthorized": 403,
|
|
218
|
+
"run_forbidden": 403,
|
|
219
|
+
"sandbox_capability_denied": 403,
|
|
220
|
+
"sandbox_escape_attempt": 403,
|
|
221
|
+
"workspace_membership_required": 403,
|
|
222
|
+
"credential_not_found": 404,
|
|
223
|
+
"interrupt_not_found": 404,
|
|
224
|
+
"not_found": 404,
|
|
225
|
+
"pack_version_not_found": 404,
|
|
226
|
+
"replay_source_missing": 404,
|
|
227
|
+
"signature_not_available": 404,
|
|
194
228
|
"protocol_version_unsupported": 406,
|
|
195
|
-
"
|
|
196
|
-
"
|
|
229
|
+
"connection_provider_conflict": 409,
|
|
230
|
+
"envelope_correlation_conflict": 409,
|
|
231
|
+
"idempotency_in_flight": 409,
|
|
232
|
+
"idempotency_key_mismatch": 409,
|
|
233
|
+
"interrupt_already_resolved": 409,
|
|
234
|
+
"pack_dependency_conflict": 409,
|
|
235
|
+
"pack_integrity_mismatch": 409,
|
|
197
236
|
"replay_diverged_at_refusal": 409,
|
|
198
237
|
"replay_memory_snapshot_unavailable": 409,
|
|
199
|
-
"replay_source_missing": 404,
|
|
200
|
-
"residency_unavailable": 422,
|
|
201
238
|
"run_already_active": 409,
|
|
202
|
-
"run_forbidden": 403,
|
|
203
239
|
"run_terminal": 409,
|
|
240
|
+
"run_state_conflict": 409,
|
|
241
|
+
"version_conflict": 409,
|
|
242
|
+
"workspace_conflict": 409,
|
|
243
|
+
"interrupt_cancelled": 410,
|
|
244
|
+
"interrupt_expired": 410,
|
|
245
|
+
"payload_too_large": 413,
|
|
246
|
+
"workspace_too_large": 413,
|
|
247
|
+
"unsupported_media_type": 415,
|
|
248
|
+
"capability_not_provided": 422,
|
|
249
|
+
"capability_required": 422,
|
|
250
|
+
"credential_required": 422,
|
|
251
|
+
"envelope_invalid": 422,
|
|
252
|
+
"envelope_refusal": 422,
|
|
253
|
+
"envelope_truncation_unrecoverable": 422,
|
|
254
|
+
"fork_point_invalid": 422,
|
|
255
|
+
"loop_limit_exceeded": 422,
|
|
256
|
+
"mcp_mrtr_rounds_exceeded": 422,
|
|
257
|
+
"pack_runtime_requirement_unmet": 422,
|
|
258
|
+
"recursion_limit_exceeded": 422,
|
|
259
|
+
"residency_unavailable": 422,
|
|
204
260
|
"run_timeout": 422,
|
|
205
|
-
"runner_unavailable": 503,
|
|
206
|
-
"sandbox_capability_denied": 403,
|
|
207
|
-
"sandbox_escape_attempt": 403,
|
|
208
261
|
"sandbox_memory_exceeded": 422,
|
|
209
262
|
"sandbox_timeout": 422,
|
|
210
|
-
"schedule_horizon_exceeded": 400,
|
|
211
|
-
"sender_constraint_missing": 401,
|
|
212
|
-
"signature_not_available": 404,
|
|
213
|
-
"sub_chain_cycle": 400,
|
|
214
|
-
"sub_chain_depth_exceeded": 400,
|
|
215
263
|
"token_budget_exceeded": 422,
|
|
216
|
-
"
|
|
217
|
-
"
|
|
218
|
-
"
|
|
219
|
-
"
|
|
220
|
-
"
|
|
221
|
-
"
|
|
222
|
-
"
|
|
223
|
-
"
|
|
224
|
-
"workspace_too_large": 413
|
|
264
|
+
"client_version_unsupported": 426,
|
|
265
|
+
"rate_limited": 429,
|
|
266
|
+
"event_type_unmapped": 500,
|
|
267
|
+
"internal_error": 500,
|
|
268
|
+
"pack_load_failure": 500,
|
|
269
|
+
"credential_unavailable": 501,
|
|
270
|
+
"pack_registry_unreachable": 503,
|
|
271
|
+
"runner_unavailable": 503
|
|
225
272
|
},
|
|
226
273
|
"x-openwop-retriable": [
|
|
274
|
+
"residency_unavailable",
|
|
275
|
+
"rate_limited",
|
|
227
276
|
"internal_error",
|
|
228
277
|
"pack_registry_unreachable",
|
|
229
|
-
"rate_limited",
|
|
230
|
-
"residency_unavailable",
|
|
231
278
|
"runner_unavailable"
|
|
232
279
|
]
|
|
233
280
|
}
|