@mcp-native/a2ui 0.2.0 → 0.3.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 +51 -25
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/v1/action.d.ts +7 -0
- package/dist/v1/action.d.ts.map +1 -0
- package/dist/v1/action.js +86 -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 +51 -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
|
@@ -91,7 +91,7 @@ Other tool content and non-A2UI resource links may coexist with the surface link
|
|
|
91
91
|
|
|
92
92
|
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
93
|
|
|
94
|
-
The official v1.0 surface-store state now has a strict
|
|
94
|
+
The official v1.0 surface-store state now has a strict adapter, including bounded dynamic lists, 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
95
|
|
|
96
96
|
## A2UI-over-MCP capability binding
|
|
97
97
|
|
|
@@ -108,6 +108,26 @@ const result = negotiateA2uiMcpBinding(
|
|
|
108
108
|
|
|
109
109
|
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
110
|
|
|
111
|
+
## A2UI v1 catalog capabilities
|
|
112
|
+
|
|
113
|
+
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:
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
import {
|
|
117
|
+
createA2uiV1RendererCapabilities,
|
|
118
|
+
negotiateA2uiV1Capabilities,
|
|
119
|
+
parseA2uiV1AgentCapabilities,
|
|
120
|
+
} from "@mcp-native/a2ui";
|
|
121
|
+
|
|
122
|
+
const rendererCapabilities = createA2uiV1RendererCapabilities({
|
|
123
|
+
supportedCatalogIds: ["https://example.com/catalogs/native-v1"],
|
|
124
|
+
});
|
|
125
|
+
const agentCapabilities = parseA2uiV1AgentCapabilities(untrustedAgentMetadata);
|
|
126
|
+
const catalogs = negotiateA2uiV1Capabilities(agentCapabilities, rendererCapabilities);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
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.
|
|
130
|
+
|
|
111
131
|
## Official v1.0 envelopes and surface store
|
|
112
132
|
|
|
113
133
|
After mutual negotiation, hosts can resolve a JSONL resource and apply lifecycle envelopes:
|
|
@@ -138,7 +158,7 @@ const surface = store.getValidated(
|
|
|
138
158
|
);
|
|
139
159
|
```
|
|
140
160
|
|
|
141
|
-
Only `createSurface`, `updateComponents`, `updateDataModel`, and `deleteSurface` envelopes are accepted
|
|
161
|
+
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, supported formatting functions, and pure boolean functions, after revalidation. `createA2uiV1ActionEnvelope` constructs the supported renderer-to-agent action envelope from resolved, host-owned input; the host remains responsible for transport delivery. Function-call envelopes, remaining renderer functions and checks, and the remaining renderer-to-agent message kinds remain deferred. The custom `0.1` resolver is unchanged and never receives a failed v1 stream.
|
|
142
162
|
|
|
143
163
|
## Supported surface
|
|
144
164
|
|
|
@@ -153,27 +173,31 @@ The only supported action is `{ type: "tool", name, arguments? }`. Arguments mus
|
|
|
153
173
|
|
|
154
174
|
## Public API
|
|
155
175
|
|
|
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
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
172
|
-
| `
|
|
173
|
-
| `
|
|
174
|
-
| `
|
|
175
|
-
| `
|
|
176
|
-
|
|
|
176
|
+
| Export | Purpose |
|
|
177
|
+
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
178
|
+
| `resolveA2uiResourceFromToolResult` | Reads and parses the single explicit A2UI link in a tool result. |
|
|
179
|
+
| `parseA2uiSurface` | Validates input and returns a typed `A2uiSurface`. |
|
|
180
|
+
| `A2uiResourceError`, `A2uiParseError` | Specific resolution and parsing failures. |
|
|
181
|
+
| `A2UI_MIME_TYPE`, `A2UI_VERSION` | Exact media type and current proof-of-concept version. |
|
|
182
|
+
| `A2UI_MAX_DEPTH`, `A2UI_MAX_NODES` | Container-tree complexity limits. |
|
|
183
|
+
| `A2UI_MAX_SOURCE_LENGTH`, `A2UI_MAX_STRING_LENGTH` | Serialized-input and string-field limits. |
|
|
184
|
+
| `A2UI_MCP_EXTENSION_ID`, `A2UI_MCP_EXTENSION_CAPABILITIES` | Exact project-owned extension declaration. |
|
|
185
|
+
| `negotiateA2uiMcpBinding`, `A2uiMcpBindingNegotiation`, `A2uiMcpBindingGrant` | Exact-match negotiation with typed fallback reasons. |
|
|
186
|
+
| `A2UI_MCP_BINDING_VERSION`, `A2UI_MCP_PROTOCOL_VERSION`, `A2UI_MCP_SCHEMA_REVISION`, `A2UI_MCP_TRANSPORT` | Pinned binding and Candidate transport values. |
|
|
187
|
+
| `parseA2uiV1AgentCapabilities`, `parseA2uiV1RendererCapabilities` | Strict pinned-schema capability metadata boundaries. |
|
|
188
|
+
| `createA2uiV1RendererCapabilities`, `negotiateA2uiV1Capabilities` | Host-owned declarations and exact shared-catalog negotiation. |
|
|
189
|
+
| `parseA2uiV1Envelope`, `parseA2uiV1Jsonl` | Schema-validate v1 lifecycle envelopes and JSONL batches. |
|
|
190
|
+
| `A2uiSurfaceStore` | Ordered lifecycle state plus policy-gated `getValidated`. |
|
|
191
|
+
| `createA2uiV1BasicCatalogPolicy`, `A2uiV1SurfaceValidationPolicy` | Explicit host allowlists for components, events, and functions. |
|
|
192
|
+
| `validateA2uiV1SurfaceState` | Revalidate a complete snapshot at another public trust boundary. |
|
|
193
|
+
| `createA2uiV1ActionEnvelope`, `A2uiV1ActionEnvelope` | Construct an owned, pinned-schema renderer action for host transport. |
|
|
194
|
+
| `evaluateA2uiV1FormatString` | Evaluate interpolation and report parser-counted work to budgets. |
|
|
195
|
+
| `A2UI_V1_BASIC_CATALOG_ID`, catalog name constants | Exact pinned catalog identity and selectable host capabilities. |
|
|
196
|
+
| `resolveA2uiV1JsonlFromToolResult`, `ResolvedA2uiV1JsonlResource` | Resolve a JSONL A2UI resource without using the `0.1` parser. |
|
|
197
|
+
| `A2UI_V1_PROTOCOL_VERSION`, `A2UI_V1_MAX_SOURCE_LENGTH`, `A2UI_V1_MAX_ENVELOPES`, store limit constants | v1 protocol and complexity limits. |
|
|
198
|
+
| `ResolvedA2uiResource` | URI, MIME type, and validated surface returned by the resolver. |
|
|
199
|
+
| `A2uiSurface`, `A2uiNode` | Validated surface and node unions. |
|
|
200
|
+
| Node interfaces | Typed container, text, button, and text-input nodes. |
|
|
177
201
|
|
|
178
202
|
## Security behavior
|
|
179
203
|
|
|
@@ -185,15 +209,17 @@ The only supported action is `{ type: "tool", name, arguments? }`. Arguments mus
|
|
|
185
209
|
- Tool arguments are recursively constrained to finite, acyclic JSON values in plain objects.
|
|
186
210
|
- JSON keys such as `__proto__` are preserved as ordinary own data properties without changing object prototypes.
|
|
187
211
|
- Parsing never resolves components or executes server-provided code.
|
|
212
|
+
- Renderer action construction selects a closed field set, owns its JSON context and metadata, and validates the official pinned renderer-to-agent schema.
|
|
188
213
|
- Renderer-ready v1 snapshots require a complete acyclic root-reachable graph and explicit host allowlists.
|
|
214
|
+
- Capability metadata rejects unknown versions and fields, empty or duplicate catalog IDs, non-JSON values, and inline catalog definitions.
|
|
189
215
|
- Relative bindings and `@index` are accepted only inside dynamic-list template context.
|
|
190
216
|
- 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,
|
|
217
|
+
- `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
218
|
- Successful parsing does not grant device capabilities or permission to call a tool; the host still owns those decisions.
|
|
193
219
|
|
|
194
220
|
## Next layer
|
|
195
221
|
|
|
196
|
-
Use [`@mcp-native/react-native`](https://www.npmjs.com/package/@mcp-native/react-native) to adapt the supported
|
|
222
|
+
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
223
|
|
|
198
224
|
## License
|
|
199
225
|
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ 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, resolveA2uiV1JsonlFromToolResult, validateA2uiV1SurfaceState, } from "./v1/index.js";
|
|
9
|
+
export type { A2uiV1Action, A2uiV1ActionEnvelope, A2uiV1ActionEnvelopeInput, A2uiV1AgentCapabilities, A2uiV1BasicCatalogPolicyOptions, A2uiV1CapabilityNegotiation, A2uiV1Component, A2uiV1CreateSurfaceEnvelope, A2uiV1DeleteSurfaceEnvelope, A2uiV1Envelope, A2uiV1EnvelopeKind, A2uiV1FormatStringExpressionBudgetConsumer, A2uiV1FormatStringExpressionResolver, A2uiV1RendererCapabilities, A2uiV1RendererCapabilitiesOptions, A2uiV1SurfaceState, A2uiV1SurfaceValidationPolicy, A2uiV1UpdateComponentsEnvelope, A2uiV1UpdateDataModelEnvelope, ResolvedA2uiV1JsonlResource, } from "./v1/index.js";
|
|
10
10
|
export declare const A2UI_VERSION: "0.1";
|
|
11
11
|
/** Maximum nesting depth for container trees (root is depth 0). */
|
|
12
12
|
export declare const A2UI_MAX_DEPTH = 32;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,7 +5,7 @@ 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, resolveA2uiV1JsonlFromToolResult, validateA2uiV1SurfaceState, } from "./v1/index.js";
|
|
9
9
|
export const A2UI_VERSION = "0.1";
|
|
10
10
|
/** Maximum nesting depth for container trees (root is depth 0). */
|
|
11
11
|
export const A2UI_MAX_DEPTH = 32;
|
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,7 @@
|
|
|
1
|
+
import type { A2uiV1ActionEnvelope, A2uiV1ActionEnvelopeInput } 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
|
+
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/v1/action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAYlF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,yBAAyB,GAAG,oBAAoB,CA2CjG"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { parseJsonObject } from "@mcp-native/core";
|
|
2
|
+
import { A2uiParseError } from "../errors.js";
|
|
3
|
+
import { formatAjvErrors, getA2uiV1RendererToAgentValidator } from "./schemas.js";
|
|
4
|
+
import { 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
|
+
/**
|
|
15
|
+
* Constructs an owned, schema-validated A2UI renderer-to-agent action envelope.
|
|
16
|
+
* Delivery remains the host transport's responsibility.
|
|
17
|
+
*/
|
|
18
|
+
export function createA2uiV1ActionEnvelope(input) {
|
|
19
|
+
const source = expectPlainObject(input, "A2UI action input");
|
|
20
|
+
rejectUnknownKeys(source, ACTION_KEYS, "A2UI action input");
|
|
21
|
+
const name = expectNonEmptyString(source.name, "action.name");
|
|
22
|
+
const surfaceId = expectNonEmptyString(source.surfaceId, "action.surfaceId");
|
|
23
|
+
const sourceComponentId = expectNonEmptyString(source.sourceComponentId, "action.sourceComponentId");
|
|
24
|
+
const context = parseJsonObject(source.context, "action.context");
|
|
25
|
+
const timestamp = source.timestamp === undefined
|
|
26
|
+
? new Date().toISOString()
|
|
27
|
+
: expectNonEmptyString(source.timestamp, "action.timestamp");
|
|
28
|
+
const userMessage = optionalString(source.userMessage, "action.userMessage");
|
|
29
|
+
const metadata = source.metadata === undefined ? undefined : parseJsonObject(source.metadata, "action.metadata");
|
|
30
|
+
const action = {
|
|
31
|
+
name,
|
|
32
|
+
surfaceId,
|
|
33
|
+
sourceComponentId,
|
|
34
|
+
timestamp,
|
|
35
|
+
context,
|
|
36
|
+
};
|
|
37
|
+
if (userMessage !== undefined) {
|
|
38
|
+
action.userMessage = userMessage;
|
|
39
|
+
}
|
|
40
|
+
if (metadata !== undefined) {
|
|
41
|
+
action.metadata = metadata;
|
|
42
|
+
}
|
|
43
|
+
const envelope = {
|
|
44
|
+
version: A2UI_V1_PROTOCOL_VERSION,
|
|
45
|
+
action,
|
|
46
|
+
};
|
|
47
|
+
const validate = getA2uiV1RendererToAgentValidator();
|
|
48
|
+
if (!validate(envelope)) {
|
|
49
|
+
throw new A2uiParseError(`A2UI renderer-to-agent action schema validation failed: ${formatAjvErrors(validate)}`);
|
|
50
|
+
}
|
|
51
|
+
return envelope;
|
|
52
|
+
}
|
|
53
|
+
function expectPlainObject(value, path) {
|
|
54
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
55
|
+
throw new A2uiParseError(`Expected an object at ${path}`);
|
|
56
|
+
}
|
|
57
|
+
const prototype = Object.getPrototypeOf(value);
|
|
58
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
59
|
+
throw new A2uiParseError(`Expected a plain object at ${path}`);
|
|
60
|
+
}
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
63
|
+
function rejectUnknownKeys(value, allowed, path) {
|
|
64
|
+
const allowedKeys = new Set(allowed);
|
|
65
|
+
for (const key of Object.keys(value)) {
|
|
66
|
+
if (!allowedKeys.has(key)) {
|
|
67
|
+
throw new A2uiParseError(`Unexpected field ${JSON.stringify(key)} at ${path}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function expectNonEmptyString(value, path) {
|
|
72
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
73
|
+
throw new A2uiParseError(`Expected a non-empty string at ${path}`);
|
|
74
|
+
}
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
function optionalString(value, path) {
|
|
78
|
+
if (value === undefined) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
if (typeof value !== "string") {
|
|
82
|
+
throw new A2uiParseError(`Expected a string at ${path}`);
|
|
83
|
+
}
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/v1/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,MAAM,WAAW,GAAG;IAClB,SAAS;IACT,UAAU;IACV,MAAM;IACN,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,aAAa;CACL,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAgC;IACzE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC7D,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,MAAM,CAAC,iBAAiB,EACxB,0BAA0B,CAC3B,CAAC;IACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClE,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS;QAC5B,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC1B,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC7E,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAElG,MAAM,MAAM,GAA4B;QACtC,IAAI;QACJ,SAAS;QACT,iBAAiB;QACjB,SAAS;QACT,OAAO;KACR,CAAC;IACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,wBAAwB;QACjC,MAAM;KACP,CAAC;IACF,MAAM,QAAQ,GAAG,iCAAiC,EAAE,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,cAAc,CACtB,2DAA2D,eAAe,CAAC,QAAQ,CAAC,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,QAA2C,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,IAAY;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,cAAc,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,cAAc,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CACxB,KAA8B,EAC9B,OAA0B,EAC1B,IAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,cAAc,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { parseJsonObject } from "@mcp-native/core";
|
|
2
|
+
import { A2uiParseError } from "../errors.js";
|
|
3
|
+
import { formatAjvErrors, getA2uiV1AgentCapabilitiesValidator, getA2uiV1RendererCapabilitiesValidator, } from "./schemas.js";
|
|
4
|
+
import { A2UI_V1_MAX_SOURCE_LENGTH } from "./types.js";
|
|
5
|
+
const VERSION_KEY = "v1.0";
|
|
6
|
+
/** Parses untrusted agent capability metadata and applies the normative v1 requirements. */
|
|
7
|
+
export function parseA2uiV1AgentCapabilities(input) {
|
|
8
|
+
const source = reconstructCapabilities(input, "agent capabilities");
|
|
9
|
+
const version = expectClosedVersionObject(source, [
|
|
10
|
+
"acceptsInlineCatalogs",
|
|
11
|
+
"supportedCatalogIds",
|
|
12
|
+
]);
|
|
13
|
+
const validate = getA2uiV1AgentCapabilitiesValidator();
|
|
14
|
+
if (!validate(source)) {
|
|
15
|
+
throw new A2uiParseError(`A2UI v1 agent capability schema validation failed: ${formatAjvErrors(validate)}`);
|
|
16
|
+
}
|
|
17
|
+
if (!Object.hasOwn(version, "supportedCatalogIds")) {
|
|
18
|
+
throw new A2uiParseError("A2UI v1 agent capabilities must declare supportedCatalogIds as required by the protocol");
|
|
19
|
+
}
|
|
20
|
+
return freezeAgentCapabilities(parseCatalogIds(version.supportedCatalogIds, "agent capabilities.v1.0.supportedCatalogIds"), version.acceptsInlineCatalogs === true);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parses renderer capability metadata without activating inline catalogs.
|
|
24
|
+
* Catalog IDs are declarations only; callers must advertise only fully implemented host catalogs.
|
|
25
|
+
*/
|
|
26
|
+
export function parseA2uiV1RendererCapabilities(input) {
|
|
27
|
+
const source = reconstructCapabilities(input, "renderer capabilities");
|
|
28
|
+
const version = expectClosedVersionObject(source, ["inlineCatalogs", "supportedCatalogIds"]);
|
|
29
|
+
if (Object.hasOwn(version, "inlineCatalogs")) {
|
|
30
|
+
throw new A2uiParseError("A2UI v1 inline renderer catalogs are not supported without an explicit host catalog policy");
|
|
31
|
+
}
|
|
32
|
+
const validate = getA2uiV1RendererCapabilitiesValidator();
|
|
33
|
+
if (!validate(source)) {
|
|
34
|
+
throw new A2uiParseError(`A2UI v1 renderer capability schema validation failed: ${formatAjvErrors(validate)}`);
|
|
35
|
+
}
|
|
36
|
+
return freezeRendererCapabilities(parseCatalogIds(version.supportedCatalogIds, "renderer capabilities.v1.0.supportedCatalogIds"));
|
|
37
|
+
}
|
|
38
|
+
/** Constructs closed renderer metadata from host-owned catalog declarations. */
|
|
39
|
+
export function createA2uiV1RendererCapabilities(options) {
|
|
40
|
+
if (options === null || typeof options !== "object" || Array.isArray(options)) {
|
|
41
|
+
throw new A2uiParseError("Expected A2UI v1 renderer capability options to be an object");
|
|
42
|
+
}
|
|
43
|
+
const source = options;
|
|
44
|
+
rejectUnknownKeys(source, ["supportedCatalogIds"], "renderer capability options");
|
|
45
|
+
return parseA2uiV1RendererCapabilities({
|
|
46
|
+
[VERSION_KEY]: { supportedCatalogIds: source.supportedCatalogIds },
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/** Finds exact catalog IDs that both peers explicitly declare. */
|
|
50
|
+
export function negotiateA2uiV1Capabilities(agentInput, rendererInput) {
|
|
51
|
+
const agent = parseA2uiV1AgentCapabilities(agentInput);
|
|
52
|
+
const renderer = parseA2uiV1RendererCapabilities(rendererInput);
|
|
53
|
+
const agentCatalogIds = new Set(agent[VERSION_KEY].supportedCatalogIds);
|
|
54
|
+
const supportedCatalogIds = renderer[VERSION_KEY].supportedCatalogIds.filter((catalogId) => agentCatalogIds.has(catalogId));
|
|
55
|
+
if (supportedCatalogIds.length === 0) {
|
|
56
|
+
return Object.freeze({
|
|
57
|
+
kind: "fallback",
|
|
58
|
+
protocolVersion: VERSION_KEY,
|
|
59
|
+
reason: "no-shared-catalog",
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return Object.freeze({
|
|
63
|
+
kind: "negotiated",
|
|
64
|
+
protocolVersion: VERSION_KEY,
|
|
65
|
+
supportedCatalogIds: Object.freeze(supportedCatalogIds),
|
|
66
|
+
inlineCatalogsEnabled: false,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function reconstructCapabilities(input, path) {
|
|
70
|
+
let value = input;
|
|
71
|
+
if (typeof input === "string") {
|
|
72
|
+
if (input.length > A2UI_V1_MAX_SOURCE_LENGTH) {
|
|
73
|
+
throw new A2uiParseError(`A2UI v1 ${path} exceed maximum length of ${A2UI_V1_MAX_SOURCE_LENGTH}`);
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
value = JSON.parse(input);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
const message = error instanceof Error ? error.message : "unknown JSON error";
|
|
80
|
+
throw new A2uiParseError(`Invalid A2UI v1 ${path} JSON: ${message}`, { cause: error });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
return parseJsonObject(value, path);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const message = error instanceof Error ? error.message : `Invalid A2UI v1 ${path}`;
|
|
88
|
+
throw new A2uiParseError(message, { cause: error });
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function expectClosedVersionObject(source, allowedVersionKeys) {
|
|
92
|
+
rejectUnknownKeys(source, [VERSION_KEY], "capabilities");
|
|
93
|
+
const version = source[VERSION_KEY];
|
|
94
|
+
if (version === null || typeof version !== "object" || Array.isArray(version)) {
|
|
95
|
+
throw new A2uiParseError(`Expected an object at capabilities.${VERSION_KEY}`);
|
|
96
|
+
}
|
|
97
|
+
rejectUnknownKeys(version, allowedVersionKeys, `capabilities.${VERSION_KEY}`);
|
|
98
|
+
return version;
|
|
99
|
+
}
|
|
100
|
+
function parseCatalogIds(value, path) {
|
|
101
|
+
if (!Array.isArray(value)) {
|
|
102
|
+
throw new A2uiParseError(`Expected an array at ${path}`);
|
|
103
|
+
}
|
|
104
|
+
const ids = new Set();
|
|
105
|
+
for (const [index, catalogId] of value.entries()) {
|
|
106
|
+
if (typeof catalogId !== "string" || catalogId.length === 0) {
|
|
107
|
+
throw new A2uiParseError(`Expected a non-empty string at ${path}[${index}]`);
|
|
108
|
+
}
|
|
109
|
+
if (ids.has(catalogId)) {
|
|
110
|
+
throw new A2uiParseError(`Duplicate A2UI catalog ID ${JSON.stringify(catalogId)} at ${path}`);
|
|
111
|
+
}
|
|
112
|
+
ids.add(catalogId);
|
|
113
|
+
}
|
|
114
|
+
return Object.freeze([...ids]);
|
|
115
|
+
}
|
|
116
|
+
function freezeAgentCapabilities(supportedCatalogIds, acceptsInlineCatalogs) {
|
|
117
|
+
return Object.freeze({
|
|
118
|
+
[VERSION_KEY]: Object.freeze({ supportedCatalogIds, acceptsInlineCatalogs }),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function freezeRendererCapabilities(supportedCatalogIds) {
|
|
122
|
+
return Object.freeze({
|
|
123
|
+
[VERSION_KEY]: Object.freeze({ supportedCatalogIds }),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function rejectUnknownKeys(value, allowed, path) {
|
|
127
|
+
const allowedKeys = new Set(allowed);
|
|
128
|
+
for (const key of Object.keys(value)) {
|
|
129
|
+
if (!allowedKeys.has(key)) {
|
|
130
|
+
throw new A2uiParseError(`Unexpected field ${JSON.stringify(key)} at ${path}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/v1/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,20 @@ import type { JsonValue } from "@mcp-native/core";
|
|
|
2
2
|
export interface A2uiV1ParsedFormatString {
|
|
3
3
|
readonly expressionCount: number;
|
|
4
4
|
readonly expressions: readonly JsonValue[];
|
|
5
|
+
readonly parts: readonly A2uiV1FormatStringPart[];
|
|
5
6
|
}
|
|
7
|
+
type A2uiV1FormatStringPart = {
|
|
8
|
+
readonly kind: "expression";
|
|
9
|
+
readonly value: JsonValue;
|
|
10
|
+
} | {
|
|
11
|
+
readonly kind: "literal";
|
|
12
|
+
readonly value: string;
|
|
13
|
+
};
|
|
14
|
+
export type A2uiV1FormatStringExpressionResolver = (expression: JsonValue, index: number) => JsonValue | undefined;
|
|
15
|
+
export type A2uiV1FormatStringExpressionBudgetConsumer = (expressionCount: number) => void;
|
|
6
16
|
/** Parses the expression language embedded in one pinned-catalog formatString value. */
|
|
7
17
|
export declare function parseA2uiV1FormatString(source: string, path: string): A2uiV1ParsedFormatString;
|
|
18
|
+
/** Evaluates one parsed formatString source with a host-owned expression resolver. */
|
|
19
|
+
export declare function evaluateA2uiV1FormatString(source: string, resolveExpression: A2uiV1FormatStringExpressionResolver, path?: string, consumeExpressionBudget?: A2uiV1FormatStringExpressionBudgetConsumer): string;
|
|
20
|
+
export {};
|
|
8
21
|
//# sourceMappingURL=format-string.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-string.d.ts","sourceRoot":"","sources":["../../src/v1/format-string.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format-string.d.ts","sourceRoot":"","sources":["../../src/v1/format-string.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI9D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACnD;AAED,KAAK,sBAAsB,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,oCAAoC,GAAG,CACjD,UAAU,EAAE,SAAS,EACrB,KAAK,EAAE,MAAM,KACV,SAAS,GAAG,SAAS,CAAC;AAE3B,MAAM,MAAM,0CAA0C,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;AAW3F,wFAAwF;AACxF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAG9F;AAED,sFAAsF;AACtF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,oCAAoC,EACvD,IAAI,SAAiB,EACrB,uBAAuB,CAAC,EAAE,0CAA0C,GACnE,MAAM,CAwCR"}
|