@openwop/spec-artifacts 2.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CORPUS-STAMP.json +234 -0
- package/LICENSE +201 -0
- package/README.md +7 -0
- package/api/.redocly.lint-ignore.yaml +22 -0
- package/api/asyncapi.yaml +834 -0
- package/api/grpc/openwop.proto +251 -0
- package/api/openapi.yaml +2693 -0
- package/api/redocly.yaml +23 -0
- package/api/seams-v2.yaml +680 -0
- package/api/v2/asyncapi.yaml +528 -0
- package/api/v2/openapi.yaml +3139 -0
- package/api/v2/redocly.yaml +16 -0
- package/package.json +10 -0
- package/schemas/README.md +144 -0
- package/schemas/a2a-task-state.schema.json +78 -0
- package/schemas/a2ui-surface-delta-frame.schema.json +48 -0
- package/schemas/agent-deployment-transition.schema.json +49 -0
- package/schemas/agent-deployment.schema.json +54 -0
- package/schemas/agent-eval-suite.schema.json +140 -0
- package/schemas/agent-inventory-response.schema.json +115 -0
- package/schemas/agent-manifest.schema.json +156 -0
- package/schemas/agent-org-chart.schema.json +82 -0
- package/schemas/agent-ref.schema.json +63 -0
- package/schemas/agent-roster-entry.schema.json +81 -0
- package/schemas/agent-roster-response.schema.json +21 -0
- package/schemas/ai-envelope.schema.json +134 -0
- package/schemas/annotation-create.schema.json +37 -0
- package/schemas/annotation.schema.json +56 -0
- package/schemas/artifact-type-pack-manifest.schema.json +244 -0
- package/schemas/audit-verify-result.schema.json +90 -0
- package/schemas/budget-policy.schema.json +18 -0
- package/schemas/capabilities.schema.json +4160 -0
- package/schemas/certification-bundle-v2.schema.json +118 -0
- package/schemas/channel-presence-payload.schema.json +41 -0
- package/schemas/channel-written-payload.schema.json +55 -0
- package/schemas/chat-card-pack-manifest.schema.json +253 -0
- package/schemas/compact-tool-descriptor.schema.json +51 -0
- package/schemas/compensation-policy.schema.json +64 -0
- package/schemas/conformance-certification-bundle.schema.json +86 -0
- package/schemas/connection-pack-manifest.schema.json +353 -0
- package/schemas/conversation-event.schema.json +168 -0
- package/schemas/conversation-turn.schema.json +117 -0
- package/schemas/core-conformance-mock-agent-config.schema.json +152 -0
- package/schemas/credential-provenance.schema.json +18 -0
- package/schemas/credential-reference.schema.json +21 -0
- package/schemas/debug-bundle.schema.json +196 -0
- package/schemas/dispatch-config.schema.json +112 -0
- package/schemas/envelopes/clarification.request.schema.json +52 -0
- package/schemas/envelopes/error.schema.json +30 -0
- package/schemas/envelopes/media.audio.schema.json +38 -0
- package/schemas/envelopes/media.file.schema.json +37 -0
- package/schemas/envelopes/media.image.schema.json +33 -0
- package/schemas/envelopes/schema.request.schema.json +26 -0
- package/schemas/envelopes/schema.response.schema.json +22 -0
- package/schemas/envelopes/ui.a2ui-surface.schema.json +154 -0
- package/schemas/error-envelope.schema.json +25 -0
- package/schemas/eval-summary.schema.json +92 -0
- package/schemas/export-bundle.schema.json +66 -0
- package/schemas/form-content-pack-manifest.schema.json +243 -0
- package/schemas/frontend-plugin-manifest.schema.json +109 -0
- package/schemas/goal.schema.json +104 -0
- package/schemas/heartbeat-evaluated.schema.json +14 -0
- package/schemas/heartbeat-state-changed.schema.json +14 -0
- package/schemas/localized-content-language-settings.schema.json +26 -0
- package/schemas/localized-content-page-response.schema.json +60 -0
- package/schemas/localized-content-page.schema.json +62 -0
- package/schemas/localized-content-section.schema.json +51 -0
- package/schemas/memory-entry.schema.json +36 -0
- package/schemas/memory-list-options.schema.json +37 -0
- package/schemas/node-pack-manifest.schema.json +654 -0
- package/schemas/orchestrator-decision.schema.json +90 -0
- package/schemas/org-chart-responsibility-view.schema.json +26 -0
- package/schemas/pack-lockfile.schema.json +108 -0
- package/schemas/prompt-kind.schema.json +8 -0
- package/schemas/prompt-pack-manifest.schema.json +117 -0
- package/schemas/prompt-ref.schema.json +40 -0
- package/schemas/prompt-template.schema.json +149 -0
- package/schemas/proposal.schema.json +84 -0
- package/schemas/registry-version-manifest.schema.json +208 -0
- package/schemas/residency.schema.json +16 -0
- package/schemas/run-ancestry-response.schema.json +54 -0
- package/schemas/run-diff-response.schema.json +64 -0
- package/schemas/run-event-payloads.schema.json +4452 -0
- package/schemas/run-event.schema.json +211 -0
- package/schemas/run-options.schema.json +80 -0
- package/schemas/run-orchestrator-decided-event.schema.json +20 -0
- package/schemas/run-snapshot.schema.json +148 -0
- package/schemas/security-advisory.schema.json +109 -0
- package/schemas/self-hosted-runner-dispatch-frame.schema.json +79 -0
- package/schemas/self-hosted-runner-registration.schema.json +53 -0
- package/schemas/self-hosted-runner-result-frame.schema.json +38 -0
- package/schemas/subject.schema.json +56 -0
- package/schemas/suspend-request.schema.json +207 -0
- package/schemas/tool-descriptor.schema.json +63 -0
- package/schemas/trigger-event.schema.json +222 -0
- package/schemas/trigger-subscription-registration.schema.json +67 -0
- package/schemas/trigger-subscription.schema.json +26 -0
- package/schemas/ui-plugin-message.schema.json +90 -0
- package/schemas/v2/a2a-task-state.schema.json +102 -0
- package/schemas/v2/a2ui-surface-delta-frame.schema.json +62 -0
- package/schemas/v2/agent-deployment-transition.schema.json +67 -0
- package/schemas/v2/agent-deployment.schema.json +68 -0
- package/schemas/v2/agent-eval-suite.schema.json +214 -0
- package/schemas/v2/agent-inventory-response.schema.json +172 -0
- package/schemas/v2/agent-manifest.schema.json +218 -0
- package/schemas/v2/agent-org-chart.schema.json +149 -0
- package/schemas/v2/agent-ref.schema.json +67 -0
- package/schemas/v2/agent-roster-entry.schema.json +104 -0
- package/schemas/v2/agent-roster-response.schema.json +27 -0
- package/schemas/v2/ai-envelope.schema.json +167 -0
- package/schemas/v2/annotation-create.schema.json +109 -0
- package/schemas/v2/annotation.schema.json +142 -0
- package/schemas/v2/artifact-type-pack-manifest.schema.json +245 -0
- package/schemas/v2/audit-verify-result.schema.json +110 -0
- package/schemas/v2/budget-policy.schema.json +61 -0
- package/schemas/v2/capabilities.schema.json +7644 -0
- package/schemas/v2/certification-bundle.schema.json +401 -0
- package/schemas/v2/channel-presence-payload.schema.json +60 -0
- package/schemas/v2/channel-written-payload.schema.json +64 -0
- package/schemas/v2/chat-card-pack-manifest.schema.json +254 -0
- package/schemas/v2/compact-tool-descriptor.schema.json +108 -0
- package/schemas/v2/compensation-policy.schema.json +91 -0
- package/schemas/v2/compensation-projection.schema.json +95 -0
- package/schemas/v2/configurable.schema.json +110 -0
- package/schemas/v2/connection-pack-manifest.schema.json +354 -0
- package/schemas/v2/conversation-event.schema.json +281 -0
- package/schemas/v2/conversation-turn.schema.json +165 -0
- package/schemas/v2/credential-provenance.schema.json +62 -0
- package/schemas/v2/credential-reference.schema.json +28 -0
- package/schemas/v2/debug-bundle.schema.json +312 -0
- package/schemas/v2/dispatch-config.schema.json +147 -0
- package/schemas/v2/effect-ledger-projection.schema.json +71 -0
- package/schemas/v2/effect-seam-manifest.schema.json +98 -0
- package/schemas/v2/envelopes/clarification.request.schema.json +59 -0
- package/schemas/v2/envelopes/error.schema.json +35 -0
- package/schemas/v2/envelopes/media.audio.schema.json +41 -0
- package/schemas/v2/envelopes/media.file.schema.json +40 -0
- package/schemas/v2/envelopes/media.image.schema.json +36 -0
- package/schemas/v2/envelopes/schema.request.schema.json +29 -0
- package/schemas/v2/envelopes/schema.response.schema.json +26 -0
- package/schemas/v2/envelopes/ui.a2ui-surface.schema.json +292 -0
- package/schemas/v2/error-envelope.schema.json +229 -0
- package/schemas/v2/eval-summary.schema.json +166 -0
- package/schemas/v2/export-bundle.schema.json +94 -0
- package/schemas/v2/form-content-pack-manifest.schema.json +241 -0
- package/schemas/v2/frontend-plugin-manifest.schema.json +152 -0
- package/schemas/v2/goal.schema.json +188 -0
- package/schemas/v2/heartbeat-evaluated.schema.json +34 -0
- package/schemas/v2/heartbeat-state-changed.schema.json +31 -0
- package/schemas/v2/ids.schema.json +31 -0
- package/schemas/v2/localized-content-language-settings.schema.json +34 -0
- package/schemas/v2/localized-content-page-response.schema.json +94 -0
- package/schemas/v2/localized-content-page.schema.json +87 -0
- package/schemas/v2/localized-content-section.schema.json +63 -0
- package/schemas/v2/memory-entry.schema.json +45 -0
- package/schemas/v2/memory-list-options.schema.json +41 -0
- package/schemas/v2/node-pack-manifest.schema.json +657 -0
- package/schemas/v2/orchestrator-decision.schema.json +120 -0
- package/schemas/v2/org-chart-responsibility-view.schema.json +36 -0
- package/schemas/v2/pack-lockfile.schema.json +139 -0
- package/schemas/v2/prompt-kind.schema.json +14 -0
- package/schemas/v2/prompt-pack-manifest.schema.json +118 -0
- package/schemas/v2/prompt-ref.schema.json +42 -0
- package/schemas/v2/prompt-template.schema.json +209 -0
- package/schemas/v2/proposal.schema.json +145 -0
- package/schemas/v2/registry-version-manifest.schema.json +292 -0
- package/schemas/v2/residency.schema.json +19 -0
- package/schemas/v2/run-ancestry-response.schema.json +68 -0
- package/schemas/v2/run-diff-response.schema.json +80 -0
- package/schemas/v2/run-event-payloads.schema.json +4588 -0
- package/schemas/v2/run-event.schema.json +324 -0
- package/schemas/v2/run-options.schema.json +90 -0
- package/schemas/v2/run-orchestrator-decided-event.schema.json +22 -0
- package/schemas/v2/run-snapshot.schema.json +207 -0
- package/schemas/v2/security-advisory.schema.json +138 -0
- package/schemas/v2/self-hosted-runner-dispatch-frame.schema.json +119 -0
- package/schemas/v2/self-hosted-runner-registration.schema.json +74 -0
- package/schemas/v2/self-hosted-runner-result-frame.schema.json +47 -0
- package/schemas/v2/subject-link.schema.json +69 -0
- package/schemas/v2/subject.schema.json +597 -0
- package/schemas/v2/suspend-request.schema.json +370 -0
- package/schemas/v2/tool-descriptor.schema.json +150 -0
- package/schemas/v2/trigger-event.schema.json +508 -0
- package/schemas/v2/trigger-subscription-registration.schema.json +99 -0
- package/schemas/v2/trigger-subscription.schema.json +79 -0
- package/schemas/v2/ui-plugin-message.schema.json +149 -0
- package/schemas/v2/workflow-chain-pack-manifest.schema.json +610 -0
- package/schemas/v2/workflow-definition.schema.json +864 -0
- package/schemas/v2/workload-identity.schema.json +115 -0
- package/schemas/v2/workspace-file-create.schema.json +23 -0
- package/schemas/v2/workspace-file.schema.json +45 -0
- package/schemas/workflow-chain-pack-manifest.schema.json +615 -0
- package/schemas/workflow-definition.schema.json +850 -0
- package/schemas/workload-identity.schema.json +79 -0
- package/schemas/workspace-file-create.schema.json +20 -0
- package/schemas/workspace-file.schema.json +39 -0
- package/spec/v1/alias-detectors.json +283 -0
- package/spec/v1/capability-declaration-classes.json +176 -0
- package/spec/v1/core-standard-manifest.json +423 -0
- package/spec/v1/deprecations.json +854 -0
- package/spec/v1/deprecations.schema.json +187 -0
- package/spec/v1/event-codemap.json +1089 -0
- package/spec/v1/event-codemap.schema.json +41 -0
- package/spec/v1/extensions.json +1273 -0
- package/spec/v1/gaps.json +14581 -0
- package/spec/v1/gaps.schema.json +55 -0
- package/spec/v1/migrations.json +1822 -0
- package/spec/v1/migrations.schema.json +44 -0
- package/spec/v1/operation-path-manifest.json +462 -0
- package/spec/v1/spec-gaps.json +4823 -0
- package/spec/v2/declaration.json +1862 -0
- package/spec/v2/declaration.schema.json +305 -0
- package/spec/v2/errors.json +837 -0
- package/spec/v2/event-codemap.json +1099 -0
- package/spec/v2/event-codemap.schema.json +114 -0
- package/spec/v2/ext/provider-idempotency/registry.json +6 -0
- package/spec/v2/facets/a2a.schema.json +51 -0
- package/spec/v2/facets/aiProviders.schema.json +56 -0
- package/spec/v2/facets/auth.schema.json +91 -0
- package/spec/v2/facets/heartbeat.schema.json +20 -0
- package/spec/v2/facets/interrupt.schema.json +29 -0
- package/spec/v2/facets/mcp.schema.json +81 -0
- package/spec/v2/facets/replay.schema.json +34 -0
- package/spec/v2/facets/sandbox.schema.json +31 -0
- package/spec/v2/facets/webhooks.schema.json +18 -0
- package/spec/v2/path-manifest.json +279 -0
- package/spec/v2/peer-dependency-aliases.json +165 -0
- package/spec/v2/profiles.json +45 -0
- package/spec/v2/release.json +6 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openwop.dev/spec/v1/workload-identity.schema.json",
|
|
4
|
+
"title": "OpenWOP workload identity and delegated actor chain (RFC 0154)",
|
|
5
|
+
"description": "RFC 0154 §A/§B. An authenticated workload identity, and the delegation context a request may carry.\n\nThe governing rule is negative and it is why every object here is closed: raw certificates, tokens, proofs, and credentials MUST NOT enter these objects. `subject` is an OPAQUE identifier and `proofRef` is a REFERENCE. A verified identity is a fact about a completed verification, not a container for the material that proved it — and these objects are projected into events, spans, and audit records, which is exactly where credential material must never reach (`SECURITY/threat-model-secret-leakage.md`).\n\nThe second rule is that identity is not authorization (RFC 0147 R12). Knowing which workload called says nothing about what it may do; tenant, audience, and policy are re-evaluated at every boundary.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["scheme", "subject"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"scheme": {
|
|
11
|
+
"enum": ["spiffe", "mtls-san", "cloud-subject", "oauth-client"],
|
|
12
|
+
"description": "How the identity was presented and verified. Closed: an unrecognized scheme is a verification path nobody implemented."
|
|
13
|
+
},
|
|
14
|
+
"subject": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"description": "Opaque verified identifier, e.g. a SPIFFE ID. MUST NOT be a credential, token, or certificate."
|
|
18
|
+
},
|
|
19
|
+
"issuer": { "type": "string", "minLength": 1 },
|
|
20
|
+
"audience": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1,
|
|
23
|
+
"description": "RFC 0154 §A — the audience the presented identity was minted for. A host MUST reject an identity whose audience is not its own: accepting one is how a credential valid elsewhere becomes a credential valid here."
|
|
24
|
+
},
|
|
25
|
+
"keyBinding": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"description": "Proof-of-possession binding. Carries the METHOD and a thumbprint reference, never the key.",
|
|
29
|
+
"required": ["method"],
|
|
30
|
+
"properties": {
|
|
31
|
+
"method": { "enum": ["mtls", "dpop"] },
|
|
32
|
+
"thumbprintRef": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"pattern": "^sha256:[0-9a-f]{64}$",
|
|
35
|
+
"description": "Digest reference to the bound key. Pattern-constrained so a raw key cannot be pasted here and still validate."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"delegation": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"additionalProperties": false,
|
|
42
|
+
"description": "RFC 0154 §B — the verified delegation chain, if any.",
|
|
43
|
+
"required": ["chain", "audience"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"chain": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"minItems": 1,
|
|
48
|
+
"description": "Ordered delegation hops. Non-empty: a delegation context with no chain claims a delegation nobody can inspect.",
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["subject"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"subject": { "type": "string", "minLength": 1 },
|
|
55
|
+
"issuer": { "type": "string", "minLength": 1 },
|
|
56
|
+
"scopes": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"uniqueItems": true,
|
|
59
|
+
"items": { "type": "string", "minLength": 1 },
|
|
60
|
+
"description": "RFC 0154 §B — the effective scopes VERIFIED for this hop from its proof (RFC 0049 scope grammar). OPTIONAL and provenance, not authorization: the host still evaluates the resolved principal's own scopes. When present on consecutive hops, a later hop's scopes MUST NOT exceed the previous hop's (`auth.md` §\"Bounds\" — scope amplification is refused: `delegation_scope_amplified`)."
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"audience": { "type": "string", "minLength": 1 },
|
|
66
|
+
"expiresAt": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"format": "date-time",
|
|
69
|
+
"description": "RFC 0154 §B — a delegation without an expiry is a standing grant, which is not what delegation means."
|
|
70
|
+
},
|
|
71
|
+
"proofRef": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"pattern": "^sha256:[0-9a-f]{64}$",
|
|
74
|
+
"description": "Digest REFERENCE to the verified proof. Never the proof itself."
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openwop.dev/spec/v1/workspace-file-create.schema.json",
|
|
4
|
+
"title": "WorkspaceFileCreate",
|
|
5
|
+
"description": "RFC 0059. Request body for `PUT /v1/host/workspace/files/{path}` (atomic create/replace). The `path` is taken from the URL and MUST NOT be supplied here; the host assigns `version`, `etag`, and `updatedAt`. The client supplies only `content` and an optional `contentType`. Optimistic concurrency is expressed via the `If-Match` request header (the file's current `etag`), NOT a body field — a stale `If-Match` returns `409 workspace_conflict`. A `content` exceeding `capabilities.workspace.maxFileBytes` returns `workspace_too_large`. The response is a full `workspace-file.schema.json`.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["content"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "UTF-8 file body to persist. SR-1-redacted on write per RFC 0059 §E WSR-1."
|
|
13
|
+
},
|
|
14
|
+
"contentType": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"default": "text/markdown",
|
|
17
|
+
"description": "Advisory MIME type of `content`. Defaults to `text/markdown`."
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openwop.dev/spec/v1/workspace-file.schema.json",
|
|
4
|
+
"title": "WorkspaceFile",
|
|
5
|
+
"description": "RFC 0059. A versioned, tenant·workspace-scoped ground-truth file in the `host.workspace` store. Returned by `GET /v1/host/workspace/files/{path}` and `PUT …/{path}`; the `list` endpoint returns the same shape minus `content` (metadata only). `path` is a flat namespace with `/`-in-names (NOT nested directories) — no `..`, no leading `/` (the pattern enforces this). Writes are atomic and optimistically concurrent via the `etag` token (`If-Match`). When `capabilities.workspace.versioned: true`, prior versions are retrievable via `?version=N`. Content is SR-1-redacted on write (RFC 0059 §E WSR-1) — never the BYOK plaintext.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["path", "content", "version", "updatedAt"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"path": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._/-]{0,255}$",
|
|
13
|
+
"description": "Workspace-relative path. Flat namespace with `/`-in-names; MUST NOT contain `..` or a leading `/` (the pattern forbids both). Stable identity of the file within the `{tenant, workspace}` scope."
|
|
14
|
+
},
|
|
15
|
+
"content": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "UTF-8 file body. SR-1-redacted on write per RFC 0059 §E WSR-1 — a value the run's BYOK vault resolved is persisted as `[REDACTED:<secretId>]`, never the plaintext."
|
|
18
|
+
},
|
|
19
|
+
"contentType": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"default": "text/markdown",
|
|
22
|
+
"description": "Advisory MIME type of `content`. Defaults to `text/markdown` (the ground-truth-file convention)."
|
|
23
|
+
},
|
|
24
|
+
"version": {
|
|
25
|
+
"type": "integer",
|
|
26
|
+
"minimum": 1,
|
|
27
|
+
"description": "Monotonic version. 1 on first create; each successful `PUT` bumps it by one. The latest version is always retrievable; historical versions are best-effort up to `capabilities.workspace.maxVersions`."
|
|
28
|
+
},
|
|
29
|
+
"etag": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Opaque version token for `If-Match` optimistic concurrency. A `PUT` carrying a stale `If-Match` MUST be refused with `409 workspace_conflict`."
|
|
32
|
+
},
|
|
33
|
+
"updatedAt": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"format": "date-time",
|
|
36
|
+
"description": "ISO 8601 timestamp of the write that produced this version."
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "RFC 0167 §E — the alias inventory as data. Each detector names a literal token that, while present in the named file, proves an alias or legacy spelling is still in the corpus, and the spec/v1/deprecations.json row that must cover it. scripts/check-alias-coverage.mjs fails when a token is present and its row is missing, or when a row's detector token has disappeared (the alias is gone — retire the detector with the surface). Reviewed, not derived: a grep cannot decide what is an alias; this file records the decision.",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"updated": "2026-09-03",
|
|
5
|
+
"detectors": [
|
|
6
|
+
{
|
|
7
|
+
"alias": "capabilities wrapper object",
|
|
8
|
+
"file": "spec/v1/capabilities.md",
|
|
9
|
+
"token": "deprecated legacy shape",
|
|
10
|
+
"deprecation": "openwop.deprecation.capabilities-wrapper"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"alias": "host.* dotted mirror keys",
|
|
14
|
+
"file": "RFCS/0073-capability-document-root-layout.md",
|
|
15
|
+
"token": "deprecated mirror",
|
|
16
|
+
"deprecation": "openwop.deprecation.host-dotted-mirror"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"alias": "openwop-core profile id",
|
|
20
|
+
"file": "spec/v1/profiles.md",
|
|
21
|
+
"token": "openwop-core",
|
|
22
|
+
"deprecation": "openwop.deprecation.profile-openwop-core-alias"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"alias": "channel state-key prefix conventions",
|
|
26
|
+
"file": "spec/v1/channels-and-reducers.md",
|
|
27
|
+
"token": "prefix",
|
|
28
|
+
"deprecation": "openwop.deprecation.channel-prefix-conventions"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"alias": "a2a bare supported:true",
|
|
32
|
+
"file": "spec/v1/a2a-integration.md",
|
|
33
|
+
"token": "supported: true",
|
|
34
|
+
"deprecation": "openwop.deprecation.a2a-bare-supported"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"alias": "mcp bare supported:true",
|
|
38
|
+
"file": "spec/v1/mcp-integration.md",
|
|
39
|
+
"token": "supported: true",
|
|
40
|
+
"deprecation": "openwop.deprecation.mcp-bare-supported"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"alias": "config.outputArtifactType",
|
|
44
|
+
"file": "schemas/workflow-definition.schema.json",
|
|
45
|
+
"token": "outputArtifactType",
|
|
46
|
+
"deprecation": "openwop.deprecation.config-output-artifact-type"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"alias": "config.chatCard",
|
|
50
|
+
"file": "schemas/workflow-definition.schema.json",
|
|
51
|
+
"token": "chatCard",
|
|
52
|
+
"deprecation": "openwop.deprecation.config-chat-card"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"alias": "capabilities.auth.subjectLinking flag",
|
|
56
|
+
"file": "schemas/capabilities.schema.json",
|
|
57
|
+
"token": "subjectLinking",
|
|
58
|
+
"deprecation": "openwop.deprecation.auth-subject-linking-flag"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"alias": "certification bundle v1",
|
|
62
|
+
"file": "schemas/conformance-certification-bundle.schema.json",
|
|
63
|
+
"token": "\"const\": \"1\"",
|
|
64
|
+
"deprecation": "openwop.deprecation.certification-bundle-v1"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"alias": "Capabilities-Etag header",
|
|
68
|
+
"file": "spec/v1/capabilities-change-detection.md",
|
|
69
|
+
"token": "Capabilities-Etag",
|
|
70
|
+
"deprecation": "openwop.deprecation.capabilities-etag-header"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"alias": "contractProvenance root block",
|
|
74
|
+
"file": "schemas/capabilities.schema.json",
|
|
75
|
+
"token": "contractProvenance",
|
|
76
|
+
"deprecation": "openwop.deprecation.contract-provenance"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"alias": "X-openwop-* webhook header family",
|
|
80
|
+
"file": "spec/v1/webhooks.md",
|
|
81
|
+
"token": "X-openwop-Signature",
|
|
82
|
+
"deprecation": "openwop.deprecation.webhook-x-header-family"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"alias": "409 interrupt_already_resolved beside 410 interrupt_gone",
|
|
86
|
+
"file": "spec/v1/interrupt-profiles.md",
|
|
87
|
+
"token": "interrupt_already_resolved",
|
|
88
|
+
"deprecation": "openwop.deprecation.interrupt-token-409-410-overlap"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"alias": "engineVersion integer root / string event split",
|
|
92
|
+
"file": "spec/v1/version-negotiation.md",
|
|
93
|
+
"token": "engineVersion` axis is split",
|
|
94
|
+
"deprecation": "openwop.deprecation.engine-version-type-split"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"alias": "since poll cursor",
|
|
98
|
+
"file": "spec/v1/version-negotiation.md",
|
|
99
|
+
"token": "hosts MAY also accept `since`",
|
|
100
|
+
"deprecation": "openwop.deprecation.poll-cursor-since"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"alias": "X-Dedup request header",
|
|
104
|
+
"file": "spec/v1/rest-endpoints.md",
|
|
105
|
+
"token": "X-Dedup",
|
|
106
|
+
"deprecation": "openwop.deprecation.custom-request-headers-x-family"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"alias": "X-Force-Engine-Version request header",
|
|
110
|
+
"file": "spec/v1/version-negotiation.md",
|
|
111
|
+
"token": "X-Force-Engine-Version",
|
|
112
|
+
"deprecation": "openwop.deprecation.custom-request-headers-x-family"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"alias": "replay.fork boolean",
|
|
116
|
+
"file": "schemas/capabilities.schema.json",
|
|
117
|
+
"token": "Legacy spelling retained",
|
|
118
|
+
"deprecation": "openwop.deprecation.replay-fork-boolean"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"alias": "debug-bundle seq alias",
|
|
122
|
+
"file": "schemas/debug-bundle.schema.json",
|
|
123
|
+
"token": "Legacy alias for `sequence`",
|
|
124
|
+
"deprecation": "openwop.deprecation.debug-bundle-seq"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"alias": "credentialProvider node config key",
|
|
128
|
+
"file": "spec/v1/node-packs.md",
|
|
129
|
+
"token": "credentialProvider",
|
|
130
|
+
"deprecation": "openwop.deprecation.credential-provider-key"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"alias": "publicKeyRef manifest signing field",
|
|
134
|
+
"file": "schemas/registry-version-manifest.schema.json",
|
|
135
|
+
"token": "publicKeyRef",
|
|
136
|
+
"deprecation": "openwop.deprecation.manifest-public-key-ref"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"alias": "approvalRequested legacy payload",
|
|
140
|
+
"file": "schemas/run-event-payloads.schema.json",
|
|
141
|
+
"token": "approvalRequested",
|
|
142
|
+
"deprecation": "openwop.deprecation.legacy-interrupt-payloads"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"alias": "clarificationRequested legacy payload",
|
|
146
|
+
"file": "schemas/run-event-payloads.schema.json",
|
|
147
|
+
"token": "clarificationRequested",
|
|
148
|
+
"deprecation": "openwop.deprecation.legacy-interrupt-payloads"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"alias": "a2a-0.3-legacy profile id",
|
|
152
|
+
"file": "spec/v1/a2a-integration.md",
|
|
153
|
+
"token": "a2a-0.3-legacy",
|
|
154
|
+
"deprecation": "openwop.deprecation.a2a-0-3-legacy-profile"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"alias": "mcp-2025-06-18-legacy profile id",
|
|
158
|
+
"file": "spec/v1/mcp-integration.md",
|
|
159
|
+
"token": "mcp-2025-06-18-legacy",
|
|
160
|
+
"deprecation": "openwop.deprecation.mcp-2025-06-18-legacy-profile"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"alias": "openwop-Webhook-Signature SDK header (never in spec)",
|
|
164
|
+
"file": "RFCS/0165-v2-preparation-wire-shapes.md",
|
|
165
|
+
"token": "openwop-Webhook-Signature",
|
|
166
|
+
"deprecation": "openwop.deprecation.sdk-webhook-signature-header"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"alias": "RFC 0144 extension-class host.* families declared in neither spelling",
|
|
170
|
+
"file": "spec/v1/capability-declaration-classes.json",
|
|
171
|
+
"token": "\"class\": \"extension\"",
|
|
172
|
+
"deprecation": "openwop.deprecation.undeclared-host-extension-families"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"alias": "/v1/ path-key prefix (the v1 wire surface; removed with the v1 tree)",
|
|
176
|
+
"file": "spec/v1/rest-endpoints.md",
|
|
177
|
+
"token": "All paths under `/v1/` are versioned",
|
|
178
|
+
"deprecation": "openwop.deprecation.v1-path-prefix"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"alias": "per-RFC G<n> local gap id",
|
|
182
|
+
"file": "spec/v1/gaps.schema.json",
|
|
183
|
+
"token": "\"local\"",
|
|
184
|
+
"deprecation": "openwop.deprecation.gap-local-alias"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"alias": "registry manifest `deprecated` version flag",
|
|
188
|
+
"file": "schemas/registry-version-manifest.schema.json",
|
|
189
|
+
"token": "Advisory: this version is deprecated",
|
|
190
|
+
"deprecation": "openwop.deprecation.manifest-deprecated-field"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"alias": "two-segment interrupt resume token",
|
|
194
|
+
"file": "spec/v1/interrupt.md",
|
|
195
|
+
"token": "hmac_sha256(secret, payload)",
|
|
196
|
+
"deprecation": "openwop.deprecation.interrupt-token-unversioned"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"alias": "details.retryAfterMs body spelling",
|
|
200
|
+
"file": "spec/v1/rest-endpoints.md",
|
|
201
|
+
"token": "retryAfterMs",
|
|
202
|
+
"deprecation": "openwop.deprecation.error-details-retry-after-spellings"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"alias": "dotted ai.* configurable keys",
|
|
206
|
+
"file": "spec/v1/run-options.md",
|
|
207
|
+
"token": "ai.credentialRef",
|
|
208
|
+
"deprecation": "openwop.deprecation.configurable-dotted-keys"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"alias": "replay.sideEffectSuppression gate flag",
|
|
212
|
+
"file": "spec/v1/replay.md",
|
|
213
|
+
"token": "sideEffectSuppression",
|
|
214
|
+
"deprecation": "openwop.deprecation.security-opt-in-flags"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"alias": "supportedTransports root field",
|
|
218
|
+
"file": "spec/v1/capabilities.md",
|
|
219
|
+
"token": "supportedTransports",
|
|
220
|
+
"deprecation": "openwop.deprecation.supported-transports-field"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"alias": "capabilities.grpc block / core gRPC transport doc",
|
|
224
|
+
"file": "spec/v1/grpc-transport.md",
|
|
225
|
+
"token": "REST + SSE remains the REQUIRED wire surface",
|
|
226
|
+
"deprecation": "openwop.deprecation.grpc-transport-core"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"alias": "/.well-known/wop rebrand alias",
|
|
230
|
+
"file": "RFCS/0176-v2-persisted-data-and-coexistence.md",
|
|
231
|
+
"token": "/.well-known/wop",
|
|
232
|
+
"deprecation": "openwop.deprecation.well-known-wop-alias"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"alias": "engines.openwop with no upper bound",
|
|
236
|
+
"file": "spec/v1/node-packs.md",
|
|
237
|
+
"token": "`engines.openwop`",
|
|
238
|
+
"deprecation": "openwop.deprecation.engines-absent-ceiling"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"alias": "peer-dependency identifiers outside the declaration file",
|
|
242
|
+
"file": "spec/v1/host-capabilities.md",
|
|
243
|
+
"token": "pack_peer_dependency_undefined",
|
|
244
|
+
"deprecation": "openwop.deprecation.pack-peer-dependency-aliases"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"alias": "signing.method two-convention enum",
|
|
248
|
+
"file": "schemas/registry-version-manifest.schema.json",
|
|
249
|
+
"token": "synonymous in practice",
|
|
250
|
+
"deprecation": "openwop.deprecation.manifest-signing-method"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"alias": "connection provider version precedence (clause 6)",
|
|
254
|
+
"file": "spec/v1/connection-packs.md",
|
|
255
|
+
"token": "greater-than-or-equal to the built-in's",
|
|
256
|
+
"deprecation": "openwop.deprecation.connection-provider-version-precedence"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"alias": "seam/test operations in the canonical path manifest",
|
|
260
|
+
"file": "spec/v1/operation-path-manifest.json",
|
|
261
|
+
"token": "/v1/host/sample/a2a/tasks/{taskId}",
|
|
262
|
+
"deprecation": "openwop.deprecation.seam-operations-in-canonical-api"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"alias": "corpus-coherence scenarios in host bundles",
|
|
266
|
+
"file": "conformance/src/lib/scenario-disposition.ts",
|
|
267
|
+
"token": "See lib/spec-coherence.ts for why not a new disposition value",
|
|
268
|
+
"deprecation": "openwop.deprecation.coherence-scenarios-in-host-bundle"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"alias": "suite tarball vendored corpus",
|
|
272
|
+
"file": "conformance/README.md",
|
|
273
|
+
"token": "The vendored contract is digest-checked",
|
|
274
|
+
"deprecation": "openwop.deprecation.suite-vendored-corpus"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"alias": "certification bundle v2 open root",
|
|
278
|
+
"file": "schemas/certification-bundle-v2.schema.json",
|
|
279
|
+
"token": "\"const\": \"2\"",
|
|
280
|
+
"deprecation": "openwop.deprecation.certification-bundle-v2-open-root"
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "Ledger for the §A rule in spec/v1/host-extensions.md — every §host.<name> section in host-capabilities.md is classified as a core DECLARED family or an EXTENSION namespace. Enforced by scripts/check-capability-declaration-classes.mjs (RFC 0144 G3). This file is REVIEWED, not derived: the classification turns on whether a section binds the shape or content of a wire artifact, which no heuristic decides correctly — see the RFC for two worked false positives.",
|
|
3
|
+
"sections": [
|
|
4
|
+
{
|
|
5
|
+
"section": "agentRuntime",
|
|
6
|
+
"class": "declared",
|
|
7
|
+
"key": "agentRuntime"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"section": "aiEnvelope",
|
|
11
|
+
"class": "declared",
|
|
12
|
+
"key": "aiEnvelope"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"section": "aiProviders",
|
|
16
|
+
"class": "declared",
|
|
17
|
+
"key": "aiProviders"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"section": "artifactTypes",
|
|
21
|
+
"class": "declared",
|
|
22
|
+
"key": "artifactTypes"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"section": "blobStorage",
|
|
26
|
+
"class": "declared",
|
|
27
|
+
"key": "blobStorage"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"section": "brand",
|
|
31
|
+
"class": "extension"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"section": "cache",
|
|
35
|
+
"class": "declared",
|
|
36
|
+
"key": "cache"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"section": "canvas",
|
|
40
|
+
"class": "extension"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"section": "chat",
|
|
44
|
+
"class": "extension",
|
|
45
|
+
"reason": "ctx.* surface. Its MUST binds trust propagation on prompt segments (`meta` / `untrusted`) — a prompt-assembly rule governed by RFC 0143 and carried on the aiEnvelope surface, which IS declared. It does not bind the shape or content of any `chat` discovery field."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"section": "coordination",
|
|
49
|
+
"class": "extension"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"section": "credentials",
|
|
53
|
+
"class": "declared",
|
|
54
|
+
"key": "credentials"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"section": "dataIntegration",
|
|
58
|
+
"class": "extension"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"section": "deadLetter",
|
|
62
|
+
"class": "declared",
|
|
63
|
+
"key": "deadLetter"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"section": "entities",
|
|
67
|
+
"class": "extension"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"section": "forms",
|
|
71
|
+
"class": "declared",
|
|
72
|
+
"key": "forms"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"section": "fs",
|
|
76
|
+
"class": "declared",
|
|
77
|
+
"key": "fs"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"section": "heartbeat",
|
|
81
|
+
"class": "declared",
|
|
82
|
+
"key": "heartbeat"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"section": "http",
|
|
86
|
+
"class": "declared",
|
|
87
|
+
"key": "httpClient"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"section": "kanban",
|
|
91
|
+
"class": "extension"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"section": "knowledge",
|
|
95
|
+
"class": "extension",
|
|
96
|
+
"reason": "ctx.* surface (`ctx.knowledge.retrieve`, `ctx.knowledge.embed`; Required methods: retrieve). Its MUSTs are host-side authorization — enforce workspace access, filter `collectionIds[]`, and surface `403 knowledge_workspace_forbidden`. There is no REST endpoint here, so that 403 is the error of a host-side method call, not a protocol response body. §A names a ctx.*-only section as the extension class."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"section": "kvStorage",
|
|
100
|
+
"class": "declared",
|
|
101
|
+
"key": "kvStorage"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"section": "launchStudio",
|
|
105
|
+
"class": "extension"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"section": "mcp",
|
|
109
|
+
"class": "declared",
|
|
110
|
+
"key": "mcp"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"section": "messaging",
|
|
114
|
+
"class": "extension"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"section": "nosql",
|
|
118
|
+
"class": "declared",
|
|
119
|
+
"key": "nosql"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"section": "oauth",
|
|
123
|
+
"class": "declared",
|
|
124
|
+
"key": "oauth"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"section": "promptLibrary",
|
|
128
|
+
"class": "declared",
|
|
129
|
+
"key": "promptLibrary"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"section": "queueBus",
|
|
133
|
+
"class": "declared",
|
|
134
|
+
"key": "queueBus"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"section": "scheduling",
|
|
138
|
+
"class": "declared",
|
|
139
|
+
"key": "scheduling"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"section": "searchIndex",
|
|
143
|
+
"class": "declared",
|
|
144
|
+
"key": "searchIndex"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"section": "secrets",
|
|
148
|
+
"class": "declared",
|
|
149
|
+
"key": "secrets"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"section": "sql",
|
|
153
|
+
"class": "declared",
|
|
154
|
+
"key": "sql"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"section": "tableStorage",
|
|
158
|
+
"class": "declared",
|
|
159
|
+
"key": "tableStorage"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"section": "toolHooks",
|
|
163
|
+
"class": "declared",
|
|
164
|
+
"key": "toolHooks"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"section": "vectorStore",
|
|
168
|
+
"class": "declared",
|
|
169
|
+
"key": "vectorStore"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"section": "webResearch",
|
|
173
|
+
"class": "extension"
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
}
|