@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 CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  </div>
14
14
 
15
- > **Experimental:** this package implements MCP Native's deliberately small internal `0.1` proof-of-concept surface. `0.1` is not an A2UI protocol version, and this package does not currently claim A2UI v1.0 compatibility.
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
- ## Quick start
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 static adapter 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).
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 in this milestone. Raw store snapshots may be incomplete while ordered updates arrive. 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 the supported static subset after revalidation. Function-call envelopes, dynamic templates, mounted v1 interactions, and renderer-to-agent messages remain deferred. The custom `0.1` resolver is unchanged and never receives a failed v1 stream.
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
- ## Supported surface
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` | Reads and parses the single explicit A2UI link in a tool result. |
159
- | `parseA2uiSurface` | Validates input and returns a typed `A2uiSurface`. |
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
- | `parseA2uiV1Envelope`, `parseA2uiV1Jsonl` | Schema-validate v1 lifecycle envelopes and JSONL batches. |
168
- | `A2uiSurfaceStore` | Ordered lifecycle state plus policy-gated `getValidated`. |
169
- | `createA2uiV1BasicCatalogPolicy`, `A2uiV1SurfaceValidationPolicy` | Explicit host allowlists for components, events, and functions. |
170
- | `validateA2uiV1SurfaceState` | Revalidate a complete snapshot at another public trust boundary. |
171
- | `A2UI_V1_BASIC_CATALOG_ID`, catalog name constants | Exact pinned catalog identity and selectable host capabilities. |
172
- | `resolveA2uiV1JsonlFromToolResult`, `ResolvedA2uiV1JsonlResource` | Resolve a JSONL A2UI resource without using the `0.1` parser. |
173
- | `A2UI_V1_PROTOCOL_VERSION`, `A2UI_V1_MAX_SOURCE_LENGTH`, `A2UI_V1_MAX_ENVELOPES`, store limit constants | v1 protocol and complexity limits. |
174
- | `ResolvedA2uiResource` | URI, MIME type, and validated surface returned by the resolver. |
175
- | `A2uiSurface`, `A2uiNode` | Validated surface and node unions. |
176
- | Node interfaces | Typed container, text, button, and text-input nodes. |
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, and cumulative-source 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. This validation does not execute renderer functions.
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 static 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.
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
- /** Maximum nesting depth for container trees (root is depth 0). */
12
+ /** @deprecated Applies only to the frozen custom 0.1 surface model. */
12
13
  export declare const A2UI_MAX_DEPTH = 32;
13
- /** Maximum number of nodes allowed in a single surface. */
14
+ /** @deprecated Applies only to the frozen custom 0.1 surface model. */
14
15
  export declare const A2UI_MAX_NODES = 256;
15
- /** Maximum UTF-16 code units accepted in a serialized surface. */
16
+ /** @deprecated Applies only to the frozen custom 0.1 surface model. */
16
17
  export declare const A2UI_MAX_SOURCE_LENGTH = 1048576;
17
- /** Maximum UTF-16 code units accepted in one surface string field. */
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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
- /** Maximum nesting depth for container trees (root is depth 0). */
11
+ /** @deprecated Applies only to the frozen custom 0.1 surface model. */
11
12
  export const A2UI_MAX_DEPTH = 32;
12
- /** Maximum number of nodes allowed in a single surface. */
13
+ /** @deprecated Applies only to the frozen custom 0.1 surface model. */
13
14
  export const A2UI_MAX_NODES = 256;
14
- /** Maximum UTF-16 code units accepted in a serialized surface. */
15
+ /** @deprecated Applies only to the frozen custom 0.1 surface model. */
15
16
  export const A2UI_MAX_SOURCE_LENGTH = 1_048_576;
16
- /** Maximum UTF-16 code units accepted in one surface string field. */
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"}