@mcp-native/a2ui 0.2.0 → 0.4.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/README.md +58 -28
- package/dist/index.d.ts +16 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/v1/action.d.ts +13 -0
- package/dist/v1/action.d.ts.map +1 -0
- package/dist/v1/action.js +201 -0
- package/dist/v1/action.js.map +1 -0
- package/dist/v1/capabilities.d.ts +13 -0
- package/dist/v1/capabilities.d.ts.map +1 -0
- package/dist/v1/capabilities.js +134 -0
- package/dist/v1/capabilities.js.map +1 -0
- package/dist/v1/format-string.d.ts +13 -0
- package/dist/v1/format-string.d.ts.map +1 -1
- package/dist/v1/format-string.js +112 -2
- package/dist/v1/format-string.js.map +1 -1
- package/dist/v1/index.d.ts +5 -1
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +3 -0
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/schemas.d.ts +9 -0
- package/dist/v1/schemas.d.ts.map +1 -1
- package/dist/v1/schemas.js +47 -6
- package/dist/v1/schemas.js.map +1 -1
- package/dist/v1/store.d.ts.map +1 -1
- package/dist/v1/store.js +4 -0
- package/dist/v1/store.js.map +1 -1
- package/dist/v1/types.d.ts +105 -0
- package/dist/v1/types.d.ts.map +1 -1
- package/dist/v1/validate.js +15 -0
- package/dist/v1/validate.js.map +1 -1
- package/dist/v1/vendor/agent_capabilities.json +26 -0
- package/dist/v1/vendor/renderer_capabilities.json +29 -0
- package/dist/v1/vendor/renderer_to_agent.json +161 -0
- package/package.json +2 -2
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/PROVENANCE.md +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
-
> **Experimental:** this package implements
|
|
15
|
+
> **Experimental:** this package implements the documented feature-scoped A2UI v1.0 Candidate profile and retains a deprecated custom `0.1` proof surface only for migration. `0.1` is not an A2UI protocol version, and the v1 subset is not an unqualified A2UI compatibility claim.
|
|
16
16
|
|
|
17
17
|
`@mcp-native/a2ui` resolves explicitly typed resource links and parses untrusted JSON or JavaScript values into a validated, typed surface before a host renders anything. Unknown or ambiguous resources fail with `A2uiResourceError`; unknown versions, node types, action types, non-plain objects, oversized trees, and invalid JSON values fail with `A2uiParseError`. Surfaces are capped at `A2UI_MAX_DEPTH` (32) and `A2UI_MAX_NODES` (256).
|
|
18
18
|
|
|
@@ -24,7 +24,10 @@ npm install @mcp-native/a2ui
|
|
|
24
24
|
|
|
25
25
|
`@mcp-native/core` is installed as a dependency. The package is ESM-only and includes TypeScript declarations.
|
|
26
26
|
|
|
27
|
-
##
|
|
27
|
+
## Deprecated custom `0.1` example
|
|
28
|
+
|
|
29
|
+
The following APIs remain available for migration but are deprecated. New hosts should start with
|
|
30
|
+
the v1 flow below and the [migration guide](https://github.com/pablospaniard/mcp-native/blob/main/docs/a2ui-v1-conformance.md#custom-01-migration).
|
|
28
31
|
|
|
29
32
|
```ts
|
|
30
33
|
import { parseA2uiSurface } from "@mcp-native/a2ui";
|
|
@@ -91,7 +94,7 @@ Other tool content and non-A2UI resource links may coexist with the surface link
|
|
|
91
94
|
|
|
92
95
|
The prototype's `application/a2ui+json` resource convention comes from earlier A2UI-over-MCP work. The [A2UI v1.0 Candidate protocol](https://github.com/a2ui-project/a2ui/blob/7541f953050cd58b80f0bf5d85fe2d63192af305/specification/v1_0/docs/a2ui_protocol.md) is transport-agnostic and uses a stream of `v1.0` envelopes. Recognizing this media type does not establish v1.0 conformance.
|
|
93
96
|
|
|
94
|
-
The official v1.0 surface-store state now has a strict
|
|
97
|
+
The official v1.0 surface-store state now has a strict React Native adapter, including bounded dynamic lists, local string state, supported catalog functions, and host-callback action envelopes, into the internal trusted render plan. This does not evolve the custom `0.1` object into a competing wire protocol. See the [compatibility matrix and conformance roadmap](https://github.com/pablospaniard/mcp-native/blob/main/docs/standards-compatibility.md).
|
|
95
98
|
|
|
96
99
|
## A2UI-over-MCP capability binding
|
|
97
100
|
|
|
@@ -108,6 +111,26 @@ const result = negotiateA2uiMcpBinding(
|
|
|
108
111
|
|
|
109
112
|
A fallback result means the host uses ordinary MCP text or structured data. A resource link, MIME type, or `_meta` value never activates the binding by itself. The exact capability exchange, ordered `resource-text-jsonl` mapping, and failure behavior are documented in the [project binding contract](https://github.com/pablospaniard/mcp-native/blob/main/docs/a2ui-mcp-binding.md).
|
|
110
113
|
|
|
114
|
+
## A2UI v1 catalog capabilities
|
|
115
|
+
|
|
116
|
+
A2UI's agent and renderer capability objects are separate from the project-owned MCP binding settings. Parse peer metadata and negotiate only exact shared catalog IDs:
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
import {
|
|
120
|
+
createA2uiV1RendererCapabilities,
|
|
121
|
+
negotiateA2uiV1Capabilities,
|
|
122
|
+
parseA2uiV1AgentCapabilities,
|
|
123
|
+
} from "@mcp-native/a2ui";
|
|
124
|
+
|
|
125
|
+
const rendererCapabilities = createA2uiV1RendererCapabilities({
|
|
126
|
+
supportedCatalogIds: ["https://example.com/catalogs/native-v1"],
|
|
127
|
+
});
|
|
128
|
+
const agentCapabilities = parseA2uiV1AgentCapabilities(untrustedAgentMetadata);
|
|
129
|
+
const catalogs = negotiateA2uiV1Capabilities(agentCapabilities, rendererCapabilities);
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
These APIs close fields the pinned schemas leave permissive, require the protocol's normative agent catalog list, reject empty or duplicate IDs, and keep inline catalogs disabled. A host must advertise only catalogs it fully implements. The current React Native adapter supports only a subset of the pinned basic catalog, so that subset alone is not grounds to advertise the complete basic catalog ID.
|
|
133
|
+
|
|
111
134
|
## Official v1.0 envelopes and surface store
|
|
112
135
|
|
|
113
136
|
After mutual negotiation, hosts can resolve a JSONL resource and apply lifecycle envelopes:
|
|
@@ -138,9 +161,9 @@ const surface = store.getValidated(
|
|
|
138
161
|
);
|
|
139
162
|
```
|
|
140
163
|
|
|
141
|
-
Only `createSurface`, `updateComponents`, `updateDataModel`, and `deleteSurface` envelopes are accepted
|
|
164
|
+
Only `createSurface`, `updateComponents`, `updateDataModel`, and `deleteSurface` agent-to-renderer envelopes are accepted by the lifecycle parser. Raw store snapshots may be incomplete while ordered updates arrive. Store snapshots include a host-owned `dataModelRevision` that changes only after an accepted agent data-model update, allowing renderers to preserve local edits across equivalent fresh snapshots. The store bounds retained surfaces and components; `getValidated` is the required pre-render boundary for the pinned basic catalog, explicit host component/event/function allowlists, reachable child references and cycles, template-aware binding paths, and component placement rules. The React Native package adapts and mounts the supported subset, including bounded dynamic lists, string/number/currency/date/plural formatting, pure boolean and validation functions, supported field and button checks, and host-policy-gated HTTP(S) `openUrl`, after revalidation. `createA2uiV1ActionEnvelope` constructs actions, while `parseA2uiV1RendererToAgentEnvelope` validates all four pinned renderer-to-agent message kinds as owned data. Parsing does not execute functions, select transport, or grant device access. The deprecated custom `0.1` resolver remains isolated and never receives a failed v1 stream. See the [exact conformance profile and migration guide](https://github.com/pablospaniard/mcp-native/blob/main/docs/a2ui-v1-conformance.md).
|
|
142
165
|
|
|
143
|
-
##
|
|
166
|
+
## Deprecated custom `0.1` surface
|
|
144
167
|
|
|
145
168
|
| Node | Required fields | Purpose |
|
|
146
169
|
| ------------ | ----------------------- | ------------------------------------------------------ |
|
|
@@ -153,27 +176,32 @@ The only supported action is `{ type: "tool", name, arguments? }`. Arguments mus
|
|
|
153
176
|
|
|
154
177
|
## Public API
|
|
155
178
|
|
|
156
|
-
| Export | Purpose
|
|
157
|
-
| --------------------------------------------------------------------------------------------------------- |
|
|
158
|
-
| `resolveA2uiResourceFromToolResult` |
|
|
159
|
-
| `parseA2uiSurface` |
|
|
160
|
-
| `A2uiResourceError`, `A2uiParseError` | Specific resolution and parsing failures.
|
|
161
|
-
| `A2UI_MIME_TYPE`, `A2UI_VERSION` | Exact media type and current proof-of-concept version.
|
|
162
|
-
| `A2UI_MAX_DEPTH`, `A2UI_MAX_NODES` | Container-tree complexity limits.
|
|
163
|
-
| `A2UI_MAX_SOURCE_LENGTH`, `A2UI_MAX_STRING_LENGTH` | Serialized-input and string-field limits.
|
|
164
|
-
| `A2UI_MCP_EXTENSION_ID`, `A2UI_MCP_EXTENSION_CAPABILITIES` | Exact project-owned extension declaration.
|
|
165
|
-
| `negotiateA2uiMcpBinding`, `A2uiMcpBindingNegotiation`, `A2uiMcpBindingGrant` | Exact-match negotiation with typed fallback reasons.
|
|
166
|
-
| `A2UI_MCP_BINDING_VERSION`, `A2UI_MCP_PROTOCOL_VERSION`, `A2UI_MCP_SCHEMA_REVISION`, `A2UI_MCP_TRANSPORT` | Pinned binding and Candidate transport values.
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
172
|
-
| `
|
|
173
|
-
| `
|
|
174
|
-
| `
|
|
175
|
-
| `
|
|
176
|
-
|
|
|
179
|
+
| Export | Purpose |
|
|
180
|
+
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
181
|
+
| `resolveA2uiResourceFromToolResult` | Deprecated custom `0.1` resource resolver. |
|
|
182
|
+
| `parseA2uiSurface` | Deprecated custom `0.1` surface parser. |
|
|
183
|
+
| `A2uiResourceError`, `A2uiParseError` | Specific resolution and parsing failures. |
|
|
184
|
+
| `A2UI_MIME_TYPE`, `A2UI_VERSION` | Exact media type and current proof-of-concept version. |
|
|
185
|
+
| `A2UI_MAX_DEPTH`, `A2UI_MAX_NODES` | Container-tree complexity limits. |
|
|
186
|
+
| `A2UI_MAX_SOURCE_LENGTH`, `A2UI_MAX_STRING_LENGTH` | Serialized-input and string-field limits. |
|
|
187
|
+
| `A2UI_MCP_EXTENSION_ID`, `A2UI_MCP_EXTENSION_CAPABILITIES` | Exact project-owned extension declaration. |
|
|
188
|
+
| `negotiateA2uiMcpBinding`, `A2uiMcpBindingNegotiation`, `A2uiMcpBindingGrant` | Exact-match negotiation with typed fallback reasons. |
|
|
189
|
+
| `A2UI_MCP_BINDING_VERSION`, `A2UI_MCP_PROTOCOL_VERSION`, `A2UI_MCP_SCHEMA_REVISION`, `A2UI_MCP_TRANSPORT` | Pinned binding and Candidate transport values. |
|
|
190
|
+
| `parseA2uiV1AgentCapabilities`, `parseA2uiV1RendererCapabilities` | Strict pinned-schema capability metadata boundaries. |
|
|
191
|
+
| `createA2uiV1RendererCapabilities`, `negotiateA2uiV1Capabilities` | Host-owned declarations and exact shared-catalog negotiation. |
|
|
192
|
+
| `parseA2uiV1Envelope`, `parseA2uiV1Jsonl` | Schema-validate v1 lifecycle envelopes and JSONL batches. |
|
|
193
|
+
| `A2uiSurfaceStore` | Ordered lifecycle state plus policy-gated `getValidated`. |
|
|
194
|
+
| `createA2uiV1BasicCatalogPolicy`, `A2uiV1SurfaceValidationPolicy` | Explicit host allowlists for components, events, and functions. |
|
|
195
|
+
| `validateA2uiV1SurfaceState` | Revalidate a complete snapshot at another public trust boundary. |
|
|
196
|
+
| `createA2uiV1ActionEnvelope`, `A2uiV1ActionEnvelope` | Construct an owned, pinned-schema renderer action for host transport. |
|
|
197
|
+
| `parseA2uiV1RendererToAgentEnvelope`, renderer-to-agent envelope types | Parse every pinned renderer message as owned, non-authorizing data. |
|
|
198
|
+
| `evaluateA2uiV1FormatString` | Evaluate interpolation and report parser-counted work to budgets. |
|
|
199
|
+
| `A2UI_V1_BASIC_CATALOG_ID`, catalog name constants | Exact pinned catalog identity and selectable host capabilities. |
|
|
200
|
+
| `resolveA2uiV1JsonlFromToolResult`, `ResolvedA2uiV1JsonlResource` | Resolve a JSONL A2UI resource without using the `0.1` parser. |
|
|
201
|
+
| `A2UI_V1_PROTOCOL_VERSION`, `A2UI_V1_MAX_SOURCE_LENGTH`, `A2UI_V1_MAX_ENVELOPES`, store limit constants | v1 protocol and complexity limits. |
|
|
202
|
+
| `ResolvedA2uiResource` | URI, MIME type, and validated surface returned by the resolver. |
|
|
203
|
+
| `A2uiSurface`, `A2uiNode` | Validated surface and node unions. |
|
|
204
|
+
| Node interfaces | Typed container, text, button, and text-input nodes. |
|
|
177
205
|
|
|
178
206
|
## Security behavior
|
|
179
207
|
|
|
@@ -185,15 +213,17 @@ The only supported action is `{ type: "tool", name, arguments? }`. Arguments mus
|
|
|
185
213
|
- Tool arguments are recursively constrained to finite, acyclic JSON values in plain objects.
|
|
186
214
|
- JSON keys such as `__proto__` are preserved as ordinary own data properties without changing object prototypes.
|
|
187
215
|
- Parsing never resolves components or executes server-provided code.
|
|
216
|
+
- Renderer action construction selects a closed field set, owns its JSON context and metadata, and validates the official pinned renderer-to-agent schema.
|
|
188
217
|
- Renderer-ready v1 snapshots require a complete acyclic root-reachable graph and explicit host allowlists.
|
|
218
|
+
- Capability metadata rejects unknown versions and fields, empty or duplicate catalog IDs, non-JSON values, and inline catalog definitions.
|
|
189
219
|
- Relative bindings and `@index` are accepted only inside dynamic-list template context.
|
|
190
220
|
- Catalog functions and agent events are denied unless named by host policy.
|
|
191
|
-
- `formatString` is accepted only when explicitly allowlisted and its `value` is a literal string. Its interpolation language is parsed with depth, expression-count,
|
|
221
|
+
- `formatString` is accepted only when explicitly allowlisted and its `value` is a literal string. Its interpolation language is parsed with depth, expression-count, cumulative-source, per-result, and expanded-plan limits; every embedded binding and named function call is validated against template scope, the host allowlist, and the pinned catalog schema. Runtime-provided format sources are rejected because their interpolations cannot be inspected before rendering. The evaluator coerces null to an empty string, primitives conventionally, and arrays or objects through bounded JSON serialization; callers still own expression resolution.
|
|
192
222
|
- Successful parsing does not grant device capabilities or permission to call a tool; the host still owns those decisions.
|
|
193
223
|
|
|
194
224
|
## Next layer
|
|
195
225
|
|
|
196
|
-
Use [`@mcp-native/react-native`](https://www.npmjs.com/package/@mcp-native/react-native) to adapt the supported
|
|
226
|
+
Use [`@mcp-native/react-native`](https://www.npmjs.com/package/@mcp-native/react-native) to adapt the supported v1 subset or the custom `0.1` surface into a trusted native render plan. Install [`mcp-native`](https://www.npmjs.com/package/mcp-native) for the combined runtime and UI APIs.
|
|
197
227
|
|
|
198
228
|
## License
|
|
199
229
|
|
package/dist/index.d.ts
CHANGED
|
@@ -5,44 +5,52 @@ export { A2UI_MIME_TYPE, type A2uiResourceReader } from "./mime.js";
|
|
|
5
5
|
export { A2UI_MCP_SCHEMA_REVISION } from "./schema-revision.js";
|
|
6
6
|
export { A2UI_MCP_BINDING_VERSION, A2UI_MCP_EXTENSION_CAPABILITIES, A2UI_MCP_EXTENSION_ID, A2UI_MCP_PROTOCOL_VERSION, A2UI_MCP_TRANSPORT, isA2uiMcpBindingGrant, negotiateA2uiMcpBinding, } from "./binding.js";
|
|
7
7
|
export type { A2uiMcpBindingGrant, A2uiMcpBindingNegotiation } from "./binding.js";
|
|
8
|
-
export { A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, A2UI_V1_BASIC_CATALOG_ID, A2UI_V1_BASIC_COMPONENT_NAMES, A2UI_V1_BASIC_FUNCTION_NAMES, A2UI_V1_SYSTEM_FUNCTION_NAMES, A2UI_V1_MAX_COMPONENTS, A2UI_V1_MAX_SURFACES, A2uiSurfaceStore, createA2uiV1BasicCatalogPolicy, parseA2uiV1Envelope, parseA2uiV1Jsonl, resolveA2uiV1JsonlFromToolResult, validateA2uiV1SurfaceState, } from "./v1/index.js";
|
|
9
|
-
export type { A2uiV1BasicCatalogPolicyOptions, A2uiV1Component, A2uiV1CreateSurfaceEnvelope, A2uiV1DeleteSurfaceEnvelope, A2uiV1Envelope, A2uiV1EnvelopeKind, A2uiV1SurfaceState, A2uiV1SurfaceValidationPolicy, A2uiV1UpdateComponentsEnvelope, A2uiV1UpdateDataModelEnvelope, ResolvedA2uiV1JsonlResource, } from "./v1/index.js";
|
|
8
|
+
export { A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, A2UI_V1_BASIC_CATALOG_ID, A2UI_V1_BASIC_COMPONENT_NAMES, A2UI_V1_BASIC_FUNCTION_NAMES, A2UI_V1_SYSTEM_FUNCTION_NAMES, A2UI_V1_MAX_COMPONENTS, A2UI_V1_MAX_SURFACES, A2uiSurfaceStore, createA2uiV1ActionEnvelope, createA2uiV1BasicCatalogPolicy, createA2uiV1RendererCapabilities, evaluateA2uiV1FormatString, negotiateA2uiV1Capabilities, parseA2uiV1AgentCapabilities, parseA2uiV1Envelope, parseA2uiV1Jsonl, parseA2uiV1RendererCapabilities, parseA2uiV1RendererToAgentEnvelope, resolveA2uiV1JsonlFromToolResult, validateA2uiV1SurfaceState, } from "./v1/index.js";
|
|
9
|
+
export type { A2uiV1Action, A2uiV1ActionEnvelope, A2uiV1ActionEnvelopeInput, A2uiV1AgentCapabilities, A2uiV1BasicCatalogPolicyOptions, A2uiV1CallAgentFunctionEnvelope, A2uiV1CapabilityNegotiation, A2uiV1Component, A2uiV1CreateSurfaceEnvelope, A2uiV1DeleteSurfaceEnvelope, A2uiV1ErrorEnvelope, A2uiV1Envelope, A2uiV1EnvelopeKind, A2uiV1FormatStringExpressionBudgetConsumer, A2uiV1FormatStringExpressionResolver, A2uiV1FunctionCall, A2uiV1GenericRendererError, A2uiV1RendererCapabilities, A2uiV1RendererCapabilitiesOptions, A2uiV1RendererError, A2uiV1RendererFunctionResponse, A2uiV1RendererFunctionResponseEnvelope, A2uiV1RendererToAgentEnvelope, A2uiV1RendererToAgentEnvelopeKind, A2uiV1SurfaceState, A2uiV1SurfaceValidationPolicy, A2uiV1UpdateComponentsEnvelope, A2uiV1UpdateDataModelEnvelope, A2uiV1ValidationErrorCode, A2uiV1ValidationRendererError, ResolvedA2uiV1JsonlResource, } from "./v1/index.js";
|
|
10
|
+
/** @deprecated Use the pinned A2UI v1 Candidate APIs exported from this package. */
|
|
10
11
|
export declare const A2UI_VERSION: "0.1";
|
|
11
|
-
/**
|
|
12
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
12
13
|
export declare const A2UI_MAX_DEPTH = 32;
|
|
13
|
-
/**
|
|
14
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
14
15
|
export declare const A2UI_MAX_NODES = 256;
|
|
15
|
-
/**
|
|
16
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
16
17
|
export declare const A2UI_MAX_SOURCE_LENGTH = 1048576;
|
|
17
|
-
/**
|
|
18
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
18
19
|
export declare const A2UI_MAX_STRING_LENGTH = 65536;
|
|
19
20
|
interface A2uiNodeBase {
|
|
20
21
|
readonly id: string;
|
|
21
22
|
}
|
|
23
|
+
/** @deprecated Use A2UI v1 components and `A2uiV1SurfaceState`. */
|
|
22
24
|
export interface A2uiContainerNode extends A2uiNodeBase {
|
|
23
25
|
readonly type: "container";
|
|
24
26
|
readonly children: readonly A2uiNode[];
|
|
25
27
|
}
|
|
28
|
+
/** @deprecated Use A2UI v1 components and `A2uiV1SurfaceState`. */
|
|
26
29
|
export interface A2uiTextNode extends A2uiNodeBase {
|
|
27
30
|
readonly type: "text";
|
|
28
31
|
readonly text: string;
|
|
29
32
|
}
|
|
33
|
+
/** @deprecated Use A2UI v1 components and `A2uiV1SurfaceState`. */
|
|
30
34
|
export interface A2uiButtonNode extends A2uiNodeBase {
|
|
31
35
|
readonly type: "button";
|
|
32
36
|
readonly label: string;
|
|
33
37
|
readonly action: ToolAction;
|
|
34
38
|
}
|
|
39
|
+
/** @deprecated Use A2UI v1 components and `A2uiV1SurfaceState`. */
|
|
35
40
|
export interface A2uiTextInputNode extends A2uiNodeBase {
|
|
36
41
|
readonly type: "text-input";
|
|
37
42
|
readonly label: string;
|
|
38
43
|
readonly value?: string;
|
|
39
44
|
readonly binding?: string;
|
|
40
45
|
}
|
|
46
|
+
/** @deprecated Use A2UI v1 components and `A2uiV1SurfaceState`. */
|
|
41
47
|
export type A2uiNode = A2uiButtonNode | A2uiContainerNode | A2uiTextInputNode | A2uiTextNode;
|
|
48
|
+
/** @deprecated Use `A2uiV1SurfaceState` from the pinned Candidate adapter. */
|
|
42
49
|
export interface A2uiSurface {
|
|
43
50
|
readonly version: typeof A2UI_VERSION;
|
|
44
51
|
readonly root: A2uiNode;
|
|
45
52
|
}
|
|
53
|
+
/** @deprecated Use `ResolvedA2uiV1JsonlResource`. */
|
|
46
54
|
export interface ResolvedA2uiResource {
|
|
47
55
|
readonly uri: string;
|
|
48
56
|
readonly mimeType: typeof A2UI_MIME_TYPE;
|
|
@@ -51,7 +59,9 @@ export interface ResolvedA2uiResource {
|
|
|
51
59
|
/**
|
|
52
60
|
* Resolves the single explicitly typed A2UI resource link in a successful
|
|
53
61
|
* tool result, reads it through the host client, and validates its surface.
|
|
62
|
+
* @deprecated Use `resolveA2uiV1JsonlFromToolResult` with an exact negotiated binding grant.
|
|
54
63
|
*/
|
|
55
64
|
export declare function resolveA2uiResourceFromToolResult(reader: A2uiResourceReader, toolResult: McpToolCallResult): Promise<ResolvedA2uiResource>;
|
|
65
|
+
/** @deprecated Use `parseA2uiV1Jsonl` or `parseA2uiV1Envelope`. */
|
|
56
66
|
export declare function parseA2uiSurface(input: string | unknown): A2uiSurface;
|
|
57
67
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,8BAA8B,EAC9B,mBAAmB,EACnB,gBAAgB,EAChB,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,+BAA+B,EAC/B,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,YAAY,EAAG,KAAc,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,19 +5,21 @@ export { A2uiParseError, A2uiResourceError } from "./errors.js";
|
|
|
5
5
|
export { A2UI_MIME_TYPE } from "./mime.js";
|
|
6
6
|
export { A2UI_MCP_SCHEMA_REVISION } from "./schema-revision.js";
|
|
7
7
|
export { A2UI_MCP_BINDING_VERSION, A2UI_MCP_EXTENSION_CAPABILITIES, A2UI_MCP_EXTENSION_ID, A2UI_MCP_PROTOCOL_VERSION, A2UI_MCP_TRANSPORT, isA2uiMcpBindingGrant, negotiateA2uiMcpBinding, } from "./binding.js";
|
|
8
|
-
export { A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, A2UI_V1_BASIC_CATALOG_ID, A2UI_V1_BASIC_COMPONENT_NAMES, A2UI_V1_BASIC_FUNCTION_NAMES, A2UI_V1_SYSTEM_FUNCTION_NAMES, A2UI_V1_MAX_COMPONENTS, A2UI_V1_MAX_SURFACES, A2uiSurfaceStore, createA2uiV1BasicCatalogPolicy, parseA2uiV1Envelope, parseA2uiV1Jsonl, resolveA2uiV1JsonlFromToolResult, validateA2uiV1SurfaceState, } from "./v1/index.js";
|
|
8
|
+
export { A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, A2UI_V1_BASIC_CATALOG_ID, A2UI_V1_BASIC_COMPONENT_NAMES, A2UI_V1_BASIC_FUNCTION_NAMES, A2UI_V1_SYSTEM_FUNCTION_NAMES, A2UI_V1_MAX_COMPONENTS, A2UI_V1_MAX_SURFACES, A2uiSurfaceStore, createA2uiV1ActionEnvelope, createA2uiV1BasicCatalogPolicy, createA2uiV1RendererCapabilities, evaluateA2uiV1FormatString, negotiateA2uiV1Capabilities, parseA2uiV1AgentCapabilities, parseA2uiV1Envelope, parseA2uiV1Jsonl, parseA2uiV1RendererCapabilities, parseA2uiV1RendererToAgentEnvelope, resolveA2uiV1JsonlFromToolResult, validateA2uiV1SurfaceState, } from "./v1/index.js";
|
|
9
|
+
/** @deprecated Use the pinned A2UI v1 Candidate APIs exported from this package. */
|
|
9
10
|
export const A2UI_VERSION = "0.1";
|
|
10
|
-
/**
|
|
11
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
11
12
|
export const A2UI_MAX_DEPTH = 32;
|
|
12
|
-
/**
|
|
13
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
13
14
|
export const A2UI_MAX_NODES = 256;
|
|
14
|
-
/**
|
|
15
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
15
16
|
export const A2UI_MAX_SOURCE_LENGTH = 1_048_576;
|
|
16
|
-
/**
|
|
17
|
+
/** @deprecated Applies only to the frozen custom 0.1 surface model. */
|
|
17
18
|
export const A2UI_MAX_STRING_LENGTH = 65_536;
|
|
18
19
|
/**
|
|
19
20
|
* Resolves the single explicitly typed A2UI resource link in a successful
|
|
20
21
|
* tool result, reads it through the host client, and validates its surface.
|
|
22
|
+
* @deprecated Use `resolveA2uiV1JsonlFromToolResult` with an exact negotiated binding grant.
|
|
21
23
|
*/
|
|
22
24
|
export async function resolveA2uiResourceFromToolResult(reader, toolResult) {
|
|
23
25
|
if (toolResult.isError !== undefined && typeof toolResult.isError !== "boolean") {
|
|
@@ -46,6 +48,7 @@ export async function resolveA2uiResourceFromToolResult(reader, toolResult) {
|
|
|
46
48
|
surface: parseA2uiSurface(resource.text),
|
|
47
49
|
};
|
|
48
50
|
}
|
|
51
|
+
/** @deprecated Use `parseA2uiV1Jsonl` or `parseA2uiV1Envelope`. */
|
|
49
52
|
export function parseA2uiSurface(input) {
|
|
50
53
|
let value = input;
|
|
51
54
|
if (typeof input === "string") {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { A2uiV1ActionEnvelope, A2uiV1ActionEnvelopeInput, A2uiV1RendererToAgentEnvelope } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Constructs an owned, schema-validated A2UI renderer-to-agent action envelope.
|
|
4
|
+
* Delivery remains the host transport's responsibility.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createA2uiV1ActionEnvelope(input: A2uiV1ActionEnvelopeInput): A2uiV1ActionEnvelope;
|
|
7
|
+
/**
|
|
8
|
+
* Parses and owns one message from the complete pinned renderer-to-agent schema.
|
|
9
|
+
* Successful parsing is data validation only; it does not authorize function execution,
|
|
10
|
+
* transport delivery, device access, or trust in a renderer-reported error.
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseA2uiV1RendererToAgentEnvelope(input: string | unknown): A2uiV1RendererToAgentEnvelope;
|
|
13
|
+
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/v1/action.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAE9B,MAAM,YAAY,CAAC;AAyBpB;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,yBAAyB,GAAG,oBAAoB,CAqCjG;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GAAG,OAAO,GACtB,6BAA6B,CA2B/B"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { parseJsonObject, parseJsonValue } from "@mcp-native/core";
|
|
2
|
+
import { A2uiParseError } from "../errors.js";
|
|
3
|
+
import { formatAjvErrors, getA2uiV1RendererToAgentValidator } from "./schemas.js";
|
|
4
|
+
import { A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION } from "./types.js";
|
|
5
|
+
const ACTION_KEYS = [
|
|
6
|
+
"context",
|
|
7
|
+
"metadata",
|
|
8
|
+
"name",
|
|
9
|
+
"sourceComponentId",
|
|
10
|
+
"surfaceId",
|
|
11
|
+
"timestamp",
|
|
12
|
+
"userMessage",
|
|
13
|
+
];
|
|
14
|
+
const RENDERER_TO_AGENT_KEYS = [
|
|
15
|
+
"action",
|
|
16
|
+
"callAgentFunction",
|
|
17
|
+
"error",
|
|
18
|
+
"rendererFunctionResponse",
|
|
19
|
+
];
|
|
20
|
+
const VALIDATION_ERROR_CODES = new Set([
|
|
21
|
+
"VALIDATION_FAILED",
|
|
22
|
+
"UNALLOWED_CHILD",
|
|
23
|
+
"UNALLOWED_PARENT",
|
|
24
|
+
]);
|
|
25
|
+
/**
|
|
26
|
+
* Constructs an owned, schema-validated A2UI renderer-to-agent action envelope.
|
|
27
|
+
* Delivery remains the host transport's responsibility.
|
|
28
|
+
*/
|
|
29
|
+
export function createA2uiV1ActionEnvelope(input) {
|
|
30
|
+
const source = expectPlainObject(input, "A2UI action input");
|
|
31
|
+
rejectUnknownKeys(source, ACTION_KEYS, "A2UI action input");
|
|
32
|
+
const name = expectNonEmptyString(source.name, "action.name");
|
|
33
|
+
const surfaceId = expectNonEmptyString(source.surfaceId, "action.surfaceId");
|
|
34
|
+
const sourceComponentId = expectNonEmptyString(source.sourceComponentId, "action.sourceComponentId");
|
|
35
|
+
const context = parseJsonObject(source.context, "action.context");
|
|
36
|
+
const timestamp = source.timestamp === undefined
|
|
37
|
+
? new Date().toISOString()
|
|
38
|
+
: expectNonEmptyString(source.timestamp, "action.timestamp");
|
|
39
|
+
const userMessage = optionalString(source.userMessage, "action.userMessage");
|
|
40
|
+
const metadata = source.metadata === undefined ? undefined : parseJsonObject(source.metadata, "action.metadata");
|
|
41
|
+
const action = {
|
|
42
|
+
name,
|
|
43
|
+
surfaceId,
|
|
44
|
+
sourceComponentId,
|
|
45
|
+
timestamp,
|
|
46
|
+
context,
|
|
47
|
+
};
|
|
48
|
+
if (userMessage !== undefined) {
|
|
49
|
+
action.userMessage = userMessage;
|
|
50
|
+
}
|
|
51
|
+
if (metadata !== undefined) {
|
|
52
|
+
action.metadata = metadata;
|
|
53
|
+
}
|
|
54
|
+
const envelope = {
|
|
55
|
+
version: A2UI_V1_PROTOCOL_VERSION,
|
|
56
|
+
action,
|
|
57
|
+
};
|
|
58
|
+
return parseA2uiV1RendererToAgentEnvelope(envelope);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parses and owns one message from the complete pinned renderer-to-agent schema.
|
|
62
|
+
* Successful parsing is data validation only; it does not authorize function execution,
|
|
63
|
+
* transport delivery, device access, or trust in a renderer-reported error.
|
|
64
|
+
*/
|
|
65
|
+
export function parseA2uiV1RendererToAgentEnvelope(input) {
|
|
66
|
+
const value = parseRendererInput(input);
|
|
67
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
68
|
+
throw new A2uiParseError("Expected an object at renderer-to-agent envelope");
|
|
69
|
+
}
|
|
70
|
+
const envelope = value;
|
|
71
|
+
if (envelope.version !== A2UI_V1_PROTOCOL_VERSION) {
|
|
72
|
+
throw new A2uiParseError(`Unsupported A2UI renderer-to-agent protocol version: ${JSON.stringify(envelope.version)}`);
|
|
73
|
+
}
|
|
74
|
+
const keys = Object.keys(envelope).filter((key) => key !== "version");
|
|
75
|
+
if (keys.length !== 1 || !isRendererToAgentKey(keys[0])) {
|
|
76
|
+
throw new A2uiParseError("Expected exactly one of action, callAgentFunction, rendererFunctionResponse, or error");
|
|
77
|
+
}
|
|
78
|
+
const validate = getA2uiV1RendererToAgentValidator();
|
|
79
|
+
if (!validate(envelope)) {
|
|
80
|
+
throw new A2uiParseError(`A2UI renderer-to-agent schema validation failed: ${formatAjvErrors(validate)}`);
|
|
81
|
+
}
|
|
82
|
+
validateRendererMessageSemantics(envelope, keys[0]);
|
|
83
|
+
return envelope;
|
|
84
|
+
}
|
|
85
|
+
function parseRendererInput(input) {
|
|
86
|
+
let value = input;
|
|
87
|
+
if (typeof input === "string") {
|
|
88
|
+
if (input.length > A2UI_V1_MAX_SOURCE_LENGTH) {
|
|
89
|
+
throw new A2uiParseError(`A2UI renderer-to-agent envelope exceeds maximum length of ${A2UI_V1_MAX_SOURCE_LENGTH}`);
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
value = JSON.parse(input);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
const message = error instanceof Error ? error.message : "unknown JSON error";
|
|
96
|
+
throw new A2uiParseError(`Invalid renderer-to-agent JSON: ${message}`, { cause: error });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
return parseJsonValue(value, "renderer-to-agent envelope", {
|
|
101
|
+
maxTotalStringCodeUnits: A2UI_V1_MAX_SOURCE_LENGTH,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
const message = error instanceof Error ? error.message : "Invalid renderer-to-agent envelope";
|
|
106
|
+
throw new A2uiParseError(message, { cause: error });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function validateRendererMessageSemantics(envelope, kind) {
|
|
110
|
+
const message = expectPlainObject(envelope[kind], `renderer-to-agent.${kind}`);
|
|
111
|
+
switch (kind) {
|
|
112
|
+
case "action":
|
|
113
|
+
rejectUnknownKeys(message, ACTION_KEYS, "renderer-to-agent.action");
|
|
114
|
+
expectNonEmptyString(message.name, "renderer-to-agent.action.name");
|
|
115
|
+
expectNonEmptyString(message.surfaceId, "renderer-to-agent.action.surfaceId");
|
|
116
|
+
expectNonEmptyString(message.sourceComponentId, "renderer-to-agent.action.sourceComponentId");
|
|
117
|
+
return;
|
|
118
|
+
case "callAgentFunction": {
|
|
119
|
+
expectNonEmptyString(message.functionCallId, "renderer-to-agent.callAgentFunction.functionCallId");
|
|
120
|
+
expectNonEmptyString(message.surfaceId, "renderer-to-agent.callAgentFunction.surfaceId");
|
|
121
|
+
const call = expectPlainObject(message.callFunction, "renderer-to-agent.callAgentFunction.callFunction");
|
|
122
|
+
expectNonEmptyString(call.call, "renderer-to-agent.callAgentFunction.callFunction.call");
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
case "rendererFunctionResponse":
|
|
126
|
+
expectNonEmptyString(message.functionCallId, "renderer-to-agent.rendererFunctionResponse.functionCallId");
|
|
127
|
+
if (message.error !== undefined) {
|
|
128
|
+
const error = expectPlainObject(message.error, "renderer-to-agent.rendererFunctionResponse.error");
|
|
129
|
+
expectNonEmptyString(error.code, "renderer-to-agent.rendererFunctionResponse.error.code");
|
|
130
|
+
expectNonEmptyString(error.message, "renderer-to-agent.rendererFunctionResponse.error.message");
|
|
131
|
+
}
|
|
132
|
+
return;
|
|
133
|
+
case "error": {
|
|
134
|
+
const code = expectNonEmptyString(message.code, "renderer-to-agent.error.code");
|
|
135
|
+
expectNonEmptyString(message.message, "renderer-to-agent.error.message");
|
|
136
|
+
if (VALIDATION_ERROR_CODES.has(code)) {
|
|
137
|
+
expectNonEmptyString(message.surfaceId, "renderer-to-agent.error.surfaceId");
|
|
138
|
+
expectJsonPointer(message.path, "renderer-to-agent.error.path");
|
|
139
|
+
}
|
|
140
|
+
else if (message.surfaceId !== undefined) {
|
|
141
|
+
expectNonEmptyString(message.surfaceId, "renderer-to-agent.error.surfaceId");
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
expectNonEmptyString(message.functionCallId, "renderer-to-agent.error.functionCallId");
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function isRendererToAgentKey(value) {
|
|
150
|
+
return value !== undefined && RENDERER_TO_AGENT_KEYS.includes(value);
|
|
151
|
+
}
|
|
152
|
+
function expectPlainObject(value, path) {
|
|
153
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
154
|
+
throw new A2uiParseError(`Expected an object at ${path}`);
|
|
155
|
+
}
|
|
156
|
+
const prototype = Object.getPrototypeOf(value);
|
|
157
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
158
|
+
throw new A2uiParseError(`Expected a plain object at ${path}`);
|
|
159
|
+
}
|
|
160
|
+
return value;
|
|
161
|
+
}
|
|
162
|
+
function rejectUnknownKeys(value, allowed, path) {
|
|
163
|
+
const allowedKeys = new Set(allowed);
|
|
164
|
+
for (const key of Object.keys(value)) {
|
|
165
|
+
if (!allowedKeys.has(key)) {
|
|
166
|
+
throw new A2uiParseError(`Unexpected field ${JSON.stringify(key)} at ${path}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function expectNonEmptyString(value, path) {
|
|
171
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
172
|
+
throw new A2uiParseError(`Expected a non-empty string at ${path}`);
|
|
173
|
+
}
|
|
174
|
+
return value;
|
|
175
|
+
}
|
|
176
|
+
function expectJsonPointer(value, path) {
|
|
177
|
+
if (typeof value !== "string" || (value.length > 0 && !value.startsWith("/"))) {
|
|
178
|
+
throw new A2uiParseError(`Expected a JSON Pointer at ${path}`);
|
|
179
|
+
}
|
|
180
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
181
|
+
if (value[index] !== "~") {
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
const escape = value[index + 1];
|
|
185
|
+
if (escape !== "0" && escape !== "1") {
|
|
186
|
+
throw new A2uiParseError(`Invalid JSON Pointer escape at ${path}`);
|
|
187
|
+
}
|
|
188
|
+
index += 1;
|
|
189
|
+
}
|
|
190
|
+
return value;
|
|
191
|
+
}
|
|
192
|
+
function optionalString(value, path) {
|
|
193
|
+
if (value === undefined) {
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
if (typeof value !== "string") {
|
|
197
|
+
throw new A2uiParseError(`Expected a string at ${path}`);
|
|
198
|
+
}
|
|
199
|
+
return value;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/v1/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { A2uiV1AgentCapabilities, A2uiV1CapabilityNegotiation, A2uiV1RendererCapabilities, A2uiV1RendererCapabilitiesOptions } from "./types.js";
|
|
2
|
+
/** Parses untrusted agent capability metadata and applies the normative v1 requirements. */
|
|
3
|
+
export declare function parseA2uiV1AgentCapabilities(input: string | unknown): A2uiV1AgentCapabilities;
|
|
4
|
+
/**
|
|
5
|
+
* Parses renderer capability metadata without activating inline catalogs.
|
|
6
|
+
* Catalog IDs are declarations only; callers must advertise only fully implemented host catalogs.
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseA2uiV1RendererCapabilities(input: string | unknown): A2uiV1RendererCapabilities;
|
|
9
|
+
/** Constructs closed renderer metadata from host-owned catalog declarations. */
|
|
10
|
+
export declare function createA2uiV1RendererCapabilities(options: A2uiV1RendererCapabilitiesOptions): A2uiV1RendererCapabilities;
|
|
11
|
+
/** Finds exact catalog IDs that both peers explicitly declare. */
|
|
12
|
+
export declare function negotiateA2uiV1Capabilities(agentInput: string | unknown, rendererInput: string | unknown): A2uiV1CapabilityNegotiation;
|
|
13
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/v1/capabilities.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAIpB,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,uBAAuB,CAsB7F;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GAAG,OAAO,GACtB,0BAA0B,CAkB5B;AAED,gFAAgF;AAChF,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CAS5B;AAED,kEAAkE;AAClE,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,GAAG,OAAO,EAC5B,aAAa,EAAE,MAAM,GAAG,OAAO,GAC9B,2BAA2B,CAoB7B"}
|