@mcp-native/a2ui 0.1.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 +100 -13
- package/dist/binding.d.ts +33 -0
- package/dist/binding.d.ts.map +1 -0
- package/dist/binding.js +83 -0
- package/dist/binding.js.map +1 -0
- package/dist/errors.d.ts +7 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +9 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -13
- package/dist/index.js.map +1 -1
- package/dist/mime.d.ts +6 -0
- package/dist/mime.d.ts.map +1 -0
- package/dist/mime.js +2 -0
- package/dist/mime.js.map +1 -0
- package/dist/schema-revision.d.ts +3 -0
- package/dist/schema-revision.d.ts.map +1 -0
- package/dist/schema-revision.js +3 -0
- package/dist/schema-revision.js.map +1 -0
- 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 +21 -0
- package/dist/v1/format-string.d.ts.map +1 -0
- package/dist/v1/format-string.js +487 -0
- package/dist/v1/format-string.js.map +1 -0
- package/dist/v1/index.d.ts +13 -0
- package/dist/v1/index.d.ts.map +1 -0
- package/dist/v1/index.js +9 -0
- package/dist/v1/index.js.map +1 -0
- package/dist/v1/parse.d.ts +12 -0
- package/dist/v1/parse.d.ts.map +1 -0
- package/dist/v1/parse.js +96 -0
- package/dist/v1/parse.js.map +1 -0
- package/dist/v1/resolve.d.ts +19 -0
- package/dist/v1/resolve.d.ts.map +1 -0
- package/dist/v1/resolve.js +112 -0
- package/dist/v1/resolve.js.map +1 -0
- package/dist/v1/schemas.d.ts +16 -0
- package/dist/v1/schemas.d.ts.map +1 -0
- package/dist/v1/schemas.js +133 -0
- package/dist/v1/schemas.js.map +1 -0
- package/dist/v1/store.d.ts +21 -0
- package/dist/v1/store.d.ts.map +1 -0
- package/dist/v1/store.js +305 -0
- package/dist/v1/store.js.map +1 -0
- package/dist/v1/types.d.ts +109 -0
- package/dist/v1/types.d.ts.map +1 -0
- package/dist/v1/types.js +10 -0
- package/dist/v1/types.js.map +1 -0
- package/dist/v1/validate.d.ts +26 -0
- package/dist/v1/validate.d.ts.map +1 -0
- package/dist/v1/validate.js +449 -0
- package/dist/v1/validate.js.map +1 -0
- package/dist/v1/vendor/agent_capabilities.json +26 -0
- package/dist/v1/vendor/agent_to_renderer.json +216 -0
- package/dist/v1/vendor/catalog.json +1346 -0
- package/dist/v1/vendor/common_types.json +395 -0
- package/dist/v1/vendor/renderer_capabilities.json +29 -0
- package/dist/v1/vendor/renderer_to_agent.json +161 -0
- package/package.json +5 -2
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/CHECKSUMS.sha256 +13 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/PROVENANCE.md +12 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/catalogs/basic/catalog.json +1346 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/agent_capabilities.json +26 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/agent_to_renderer.json +216 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/agent_to_renderer_list.json +10 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/agent_to_renderer_list_wrapper.json +14 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/catalog_definition.json +267 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/common_types.json +395 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/renderer_capabilities.json +29 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/renderer_data_model.json +22 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/renderer_to_agent.json +161 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/renderer_to_agent_list.json +10 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/renderer_to_agent_list_wrapper.json +14 -0
- package/schemas/7541f953050cd58b80f0bf5d85fe2d63192af305/json/sample.json +22 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-string.js","sourceRoot":"","sources":["../../src/v1/format-string.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { A2UI_V1_MAX_COMPONENTS, A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SURFACES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, } from "./types.js";
|
|
2
|
+
export type { A2uiV1Action, A2uiV1ActionEnvelope, A2uiV1ActionEnvelopeInput, A2uiV1AgentCapabilities, A2uiV1CapabilityNegotiation, A2uiV1Component, A2uiV1CreateSurfaceEnvelope, A2uiV1DeleteSurfaceEnvelope, A2uiV1Envelope, A2uiV1EnvelopeKind, A2uiV1RendererCapabilities, A2uiV1RendererCapabilitiesOptions, A2uiV1SurfaceState, A2uiV1UpdateComponentsEnvelope, A2uiV1UpdateDataModelEnvelope, } from "./types.js";
|
|
3
|
+
export { createA2uiV1ActionEnvelope } from "./action.js";
|
|
4
|
+
export { evaluateA2uiV1FormatString } from "./format-string.js";
|
|
5
|
+
export type { A2uiV1FormatStringExpressionBudgetConsumer, A2uiV1FormatStringExpressionResolver, } from "./format-string.js";
|
|
6
|
+
export { createA2uiV1RendererCapabilities, negotiateA2uiV1Capabilities, parseA2uiV1AgentCapabilities, parseA2uiV1RendererCapabilities, } from "./capabilities.js";
|
|
7
|
+
export { parseA2uiV1Envelope, parseA2uiV1Jsonl } from "./parse.js";
|
|
8
|
+
export { A2uiSurfaceStore } from "./store.js";
|
|
9
|
+
export { resolveA2uiV1JsonlFromToolResult } from "./resolve.js";
|
|
10
|
+
export type { ResolvedA2uiV1JsonlResource } from "./resolve.js";
|
|
11
|
+
export { A2UI_V1_BASIC_CATALOG_ID, A2UI_V1_BASIC_COMPONENT_NAMES, A2UI_V1_BASIC_FUNCTION_NAMES, A2UI_V1_SYSTEM_FUNCTION_NAMES, createA2uiV1BasicCatalogPolicy, validateA2uiV1SurfaceState, } from "./validate.js";
|
|
12
|
+
export type { A2uiV1BasicCatalogPolicyOptions, A2uiV1SurfaceValidationPolicy } from "./validate.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,iCAAiC,EACjC,kBAAkB,EAClB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EACV,0CAA0C,EAC1C,oCAAoC,GACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/v1/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { A2UI_V1_MAX_COMPONENTS, A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SURFACES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, } from "./types.js";
|
|
2
|
+
export { createA2uiV1ActionEnvelope } from "./action.js";
|
|
3
|
+
export { evaluateA2uiV1FormatString } from "./format-string.js";
|
|
4
|
+
export { createA2uiV1RendererCapabilities, negotiateA2uiV1Capabilities, parseA2uiV1AgentCapabilities, parseA2uiV1RendererCapabilities, } from "./capabilities.js";
|
|
5
|
+
export { parseA2uiV1Envelope, parseA2uiV1Jsonl } from "./parse.js";
|
|
6
|
+
export { A2uiSurfaceStore } from "./store.js";
|
|
7
|
+
export { resolveA2uiV1JsonlFromToolResult } from "./resolve.js";
|
|
8
|
+
export { A2UI_V1_BASIC_CATALOG_ID, A2UI_V1_BASIC_COMPONENT_NAMES, A2UI_V1_BASIC_FUNCTION_NAMES, A2UI_V1_SYSTEM_FUNCTION_NAMES, createA2uiV1BasicCatalogPolicy, validateA2uiV1SurfaceState, } from "./validate.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAkBpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAKhE,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { A2uiV1Envelope } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Validates one official A2UI v1.0 agent-to-renderer lifecycle envelope.
|
|
4
|
+
* Function-call envelopes are rejected in this milestone.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseA2uiV1Envelope(input: string | unknown): A2uiV1Envelope;
|
|
7
|
+
/**
|
|
8
|
+
* Parses a UTF-8 JSONL batch of agent-to-renderer envelopes.
|
|
9
|
+
* Empty lines are skipped. Any invalid line rejects the entire batch.
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseA2uiV1Jsonl(text: string): readonly A2uiV1Envelope[];
|
|
12
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/v1/parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,YAAY,CAAC;AAgBrE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,CA0D3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE,CAiCxE"}
|
package/dist/v1/parse.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { parseJsonValue } from "@mcp-native/core";
|
|
2
|
+
import { A2uiParseError } from "../errors.js";
|
|
3
|
+
import { formatAjvErrors, getA2uiV1EnvelopeValidator } from "./schemas.js";
|
|
4
|
+
import { A2UI_V1_MAX_ENVELOPES, A2UI_V1_MAX_SOURCE_LENGTH, A2UI_V1_PROTOCOL_VERSION, } from "./types.js";
|
|
5
|
+
const LIFECYCLE_KEYS = [
|
|
6
|
+
"createSurface",
|
|
7
|
+
"updateComponents",
|
|
8
|
+
"updateDataModel",
|
|
9
|
+
"deleteSurface",
|
|
10
|
+
];
|
|
11
|
+
const UNSUPPORTED_KEYS = ["callRendererFunction", "agentFunctionResponse"];
|
|
12
|
+
/**
|
|
13
|
+
* Validates one official A2UI v1.0 agent-to-renderer lifecycle envelope.
|
|
14
|
+
* Function-call envelopes are rejected in this milestone.
|
|
15
|
+
*/
|
|
16
|
+
export function parseA2uiV1Envelope(input) {
|
|
17
|
+
let value = input;
|
|
18
|
+
if (typeof input === "string") {
|
|
19
|
+
if (input.length > A2UI_V1_MAX_SOURCE_LENGTH) {
|
|
20
|
+
throw new A2uiParseError(`A2UI v1 envelope exceeds maximum length of ${A2UI_V1_MAX_SOURCE_LENGTH}`);
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
value = JSON.parse(input);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
const message = error instanceof Error ? error.message : "unknown JSON error";
|
|
27
|
+
throw new A2uiParseError(`Invalid JSON: ${message}`, { cause: error });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
let reconstructed;
|
|
31
|
+
try {
|
|
32
|
+
reconstructed = parseJsonValue(value, "envelope");
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
const message = error instanceof Error ? error.message : "Invalid JSON envelope";
|
|
36
|
+
throw new A2uiParseError(message, { cause: error });
|
|
37
|
+
}
|
|
38
|
+
if (reconstructed === null || typeof reconstructed !== "object" || Array.isArray(reconstructed)) {
|
|
39
|
+
throw new A2uiParseError("Expected an object at envelope");
|
|
40
|
+
}
|
|
41
|
+
const envelopeObject = reconstructed;
|
|
42
|
+
const keys = Object.keys(envelopeObject).filter((key) => key !== "version");
|
|
43
|
+
for (const key of UNSUPPORTED_KEYS) {
|
|
44
|
+
if (Object.hasOwn(envelopeObject, key)) {
|
|
45
|
+
throw new A2uiParseError(`Unsupported A2UI v1 envelope message ${JSON.stringify(key)}; only lifecycle messages are implemented`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (keys.length !== 1 || !isLifecycleKey(keys[0])) {
|
|
49
|
+
throw new A2uiParseError("Expected exactly one of createSurface, updateComponents, updateDataModel, or deleteSurface");
|
|
50
|
+
}
|
|
51
|
+
if (envelopeObject.version !== A2UI_V1_PROTOCOL_VERSION) {
|
|
52
|
+
throw new A2uiParseError(`Unsupported A2UI protocol version: ${JSON.stringify(envelopeObject.version)}`);
|
|
53
|
+
}
|
|
54
|
+
const validate = getA2uiV1EnvelopeValidator();
|
|
55
|
+
if (!validate(envelopeObject)) {
|
|
56
|
+
throw new A2uiParseError(`A2UI v1 schema validation failed: ${formatAjvErrors(validate)}`);
|
|
57
|
+
}
|
|
58
|
+
return envelopeObject;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parses a UTF-8 JSONL batch of agent-to-renderer envelopes.
|
|
62
|
+
* Empty lines are skipped. Any invalid line rejects the entire batch.
|
|
63
|
+
*/
|
|
64
|
+
export function parseA2uiV1Jsonl(text) {
|
|
65
|
+
if (typeof text !== "string") {
|
|
66
|
+
throw new A2uiParseError("Expected a string JSONL body");
|
|
67
|
+
}
|
|
68
|
+
if (text.length > A2UI_V1_MAX_SOURCE_LENGTH) {
|
|
69
|
+
throw new A2uiParseError(`A2UI v1 JSONL source exceeds maximum length of ${A2UI_V1_MAX_SOURCE_LENGTH}`);
|
|
70
|
+
}
|
|
71
|
+
const envelopes = [];
|
|
72
|
+
const lines = text.split(/\r?\n/);
|
|
73
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
74
|
+
const line = lines[index];
|
|
75
|
+
if (line === undefined || line.trim().length === 0) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (envelopes.length >= A2UI_V1_MAX_ENVELOPES) {
|
|
79
|
+
throw new A2uiParseError(`A2UI v1 JSONL exceeds maximum of ${A2UI_V1_MAX_ENVELOPES} envelopes`);
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
envelopes.push(parseA2uiV1Envelope(line));
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
const message = error instanceof Error ? error.message : "Invalid envelope";
|
|
86
|
+
throw new A2uiParseError(`Invalid A2UI v1 JSONL at line ${index + 1}: ${message}`, {
|
|
87
|
+
cause: error,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return envelopes;
|
|
92
|
+
}
|
|
93
|
+
function isLifecycleKey(value) {
|
|
94
|
+
return value !== undefined && LIFECYCLE_KEYS.includes(value);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/v1/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { McpToolCallResult } from "@mcp-native/core";
|
|
2
|
+
import type { A2uiMcpBindingNegotiation } from "../binding.js";
|
|
3
|
+
import { A2UI_MIME_TYPE, type A2uiResourceReader } from "../mime.js";
|
|
4
|
+
import type { A2uiV1Envelope } from "./types.js";
|
|
5
|
+
export interface ResolvedA2uiV1JsonlResource {
|
|
6
|
+
readonly uri: string;
|
|
7
|
+
readonly mimeType: typeof A2UI_MIME_TYPE;
|
|
8
|
+
readonly envelopes: readonly A2uiV1Envelope[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Resolves the single A2UI resource link in a successful tool result and parses
|
|
12
|
+
* its text body as an ordered v1 JSONL envelope batch. Does not invoke the
|
|
13
|
+
* custom `0.1` surface parser.
|
|
14
|
+
*
|
|
15
|
+
* Callers must only use this after mutual binding negotiation; MIME type alone
|
|
16
|
+
* does not grant the transport.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveA2uiV1JsonlFromToolResult(reader: A2uiResourceReader, toolResult: McpToolCallResult, negotiation: A2uiMcpBindingNegotiation): Promise<ResolvedA2uiV1JsonlResource>;
|
|
19
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/v1/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,OAAO,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,yBAAyB,GACrC,OAAO,CAAC,2BAA2B,CAAC,CAyCtC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { isA2uiMcpBindingGrant } from "../binding.js";
|
|
2
|
+
import { A2uiResourceError } from "../errors.js";
|
|
3
|
+
import { A2UI_MIME_TYPE } from "../mime.js";
|
|
4
|
+
import { parseA2uiV1Jsonl } from "./parse.js";
|
|
5
|
+
/**
|
|
6
|
+
* Resolves the single A2UI resource link in a successful tool result and parses
|
|
7
|
+
* its text body as an ordered v1 JSONL envelope batch. Does not invoke the
|
|
8
|
+
* custom `0.1` surface parser.
|
|
9
|
+
*
|
|
10
|
+
* Callers must only use this after mutual binding negotiation; MIME type alone
|
|
11
|
+
* does not grant the transport.
|
|
12
|
+
*/
|
|
13
|
+
export async function resolveA2uiV1JsonlFromToolResult(reader, toolResult, negotiation) {
|
|
14
|
+
if (!isA2uiMcpBindingGrant(negotiation)) {
|
|
15
|
+
throw new A2uiResourceError("Cannot resolve an A2UI v1 JSONL resource without the exact negotiated binding");
|
|
16
|
+
}
|
|
17
|
+
if (toolResult.isError !== undefined && typeof toolResult.isError !== "boolean") {
|
|
18
|
+
throw new A2uiResourceError("Expected tool result.isError to be a boolean");
|
|
19
|
+
}
|
|
20
|
+
if (toolResult.isError === true) {
|
|
21
|
+
throw new A2uiResourceError("Cannot resolve an A2UI resource from an errored tool result");
|
|
22
|
+
}
|
|
23
|
+
const links = expectContentArray(toolResult.content).flatMap((block, index) => parseA2uiResourceLink(block, `tool result.content[${index}]`));
|
|
24
|
+
if (links.length !== 1) {
|
|
25
|
+
throw new A2uiResourceError(`Expected exactly one ${A2UI_MIME_TYPE} resource_link, found ${links.length}`);
|
|
26
|
+
}
|
|
27
|
+
const link = links[0];
|
|
28
|
+
const contents = expectResourceContents(await reader.readResource(link.uri)).filter((item) => item.uri === link.uri && item.mimeType === A2UI_MIME_TYPE);
|
|
29
|
+
if (contents.length !== 1) {
|
|
30
|
+
throw new A2uiResourceError(`Expected exactly one ${A2UI_MIME_TYPE} resource for ${link.uri}, found ${contents.length}`);
|
|
31
|
+
}
|
|
32
|
+
const resource = contents[0];
|
|
33
|
+
if (resource.text === undefined || resource.blob !== undefined) {
|
|
34
|
+
throw new A2uiResourceError(`Expected a text-only A2UI JSONL resource for ${link.uri}`);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
uri: link.uri,
|
|
38
|
+
mimeType: A2UI_MIME_TYPE,
|
|
39
|
+
envelopes: parseA2uiV1Jsonl(resource.text),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function expectContentArray(value) {
|
|
43
|
+
if (!Array.isArray(value)) {
|
|
44
|
+
throw new A2uiResourceError("Expected an array at tool result.content");
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
function parseA2uiResourceLink(value, path) {
|
|
49
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
50
|
+
throw new A2uiResourceError(`Expected a content object at ${path}`);
|
|
51
|
+
}
|
|
52
|
+
const block = value;
|
|
53
|
+
if (typeof block.type !== "string") {
|
|
54
|
+
throw new A2uiResourceError(`Expected a content type at ${path}.type`);
|
|
55
|
+
}
|
|
56
|
+
if (block.type !== "resource_link") {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
if (typeof block.name !== "string") {
|
|
60
|
+
throw new A2uiResourceError(`Expected a string at ${path}.name`);
|
|
61
|
+
}
|
|
62
|
+
if (typeof block.uri !== "string") {
|
|
63
|
+
throw new A2uiResourceError(`Expected a string at ${path}.uri`);
|
|
64
|
+
}
|
|
65
|
+
if (block.mimeType !== undefined && typeof block.mimeType !== "string") {
|
|
66
|
+
throw new A2uiResourceError(`Expected a string at ${path}.mimeType`);
|
|
67
|
+
}
|
|
68
|
+
return block.mimeType === A2UI_MIME_TYPE ? [{ uri: block.uri }] : [];
|
|
69
|
+
}
|
|
70
|
+
function expectResourceContents(value) {
|
|
71
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
72
|
+
throw new A2uiResourceError("Expected an object from resources/read");
|
|
73
|
+
}
|
|
74
|
+
const result = value;
|
|
75
|
+
if (!Array.isArray(result.contents)) {
|
|
76
|
+
throw new A2uiResourceError("Expected an array at resource result.contents");
|
|
77
|
+
}
|
|
78
|
+
return result.contents.map((item, index) => {
|
|
79
|
+
if (item === null || typeof item !== "object" || Array.isArray(item)) {
|
|
80
|
+
throw new A2uiResourceError(`Expected an object at resource result.contents[${index}]`);
|
|
81
|
+
}
|
|
82
|
+
const resource = item;
|
|
83
|
+
if (typeof resource.uri !== "string") {
|
|
84
|
+
throw new A2uiResourceError(`Expected a string at resource result.contents[${index}].uri`);
|
|
85
|
+
}
|
|
86
|
+
if (resource.mimeType !== undefined && typeof resource.mimeType !== "string") {
|
|
87
|
+
throw new A2uiResourceError(`Expected a string at resource result.contents[${index}].mimeType`);
|
|
88
|
+
}
|
|
89
|
+
if (resource.text !== undefined && typeof resource.text !== "string") {
|
|
90
|
+
throw new A2uiResourceError(`Expected a string at resource result.contents[${index}].text`);
|
|
91
|
+
}
|
|
92
|
+
if (resource.blob !== undefined && typeof resource.blob !== "string") {
|
|
93
|
+
throw new A2uiResourceError(`Expected a string at resource result.contents[${index}].blob`);
|
|
94
|
+
}
|
|
95
|
+
if ((resource.text === undefined) === (resource.blob === undefined)) {
|
|
96
|
+
throw new A2uiResourceError(`Expected exactly one of text or blob at resource result.contents[${index}]`);
|
|
97
|
+
}
|
|
98
|
+
if (resource.text !== undefined) {
|
|
99
|
+
return {
|
|
100
|
+
uri: resource.uri,
|
|
101
|
+
text: resource.text,
|
|
102
|
+
...(resource.mimeType === undefined ? {} : { mimeType: resource.mimeType }),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
uri: resource.uri,
|
|
107
|
+
blob: resource.blob,
|
|
108
|
+
...(resource.mimeType === undefined ? {} : { mimeType: resource.mimeType }),
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/v1/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ValidateFunction } from "ajv/dist/2020.js";
|
|
2
|
+
/** Compiles the pinned agent capability schema. Semantic checks remain caller-owned. */
|
|
3
|
+
export declare function getA2uiV1AgentCapabilitiesValidator(): ValidateFunction;
|
|
4
|
+
/**
|
|
5
|
+
* Compiles the pinned renderer capability schema with inline catalogs disabled.
|
|
6
|
+
* Inline catalog schema execution is deferred until a separate host policy exists.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getA2uiV1RendererCapabilitiesValidator(): ValidateFunction;
|
|
9
|
+
/** Compiles the pinned agent-to-renderer schema once with the basic catalog mapped in. */
|
|
10
|
+
export declare function getA2uiV1EnvelopeValidator(): ValidateFunction;
|
|
11
|
+
/** Validates a function reconstructed from the formatString expression language. */
|
|
12
|
+
export declare function getA2uiV1FunctionCallValidator(): ValidateFunction;
|
|
13
|
+
/** Compiles the pinned renderer-to-agent schema once with its standard references. */
|
|
14
|
+
export declare function getA2uiV1RendererToAgentValidator(): ValidateFunction;
|
|
15
|
+
export declare function formatAjvErrors(validate: ValidateFunction): string;
|
|
16
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/v1/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA6DtE,wFAAwF;AACxF,wBAAgB,mCAAmC,IAAI,gBAAgB,CAKtE;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,IAAI,gBAAgB,CAUzE;AAED,0FAA0F;AAC1F,wBAAgB,0BAA0B,IAAI,gBAAgB,CAa7D;AAED,oFAAoF;AACpF,wBAAgB,8BAA8B,IAAI,gBAAgB,CAejE;AAED,sFAAsF;AACtF,wBAAgB,iCAAiC,IAAI,gBAAgB,CAUpE;AAmCD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAMlE"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import Ajv2020Import from "ajv/dist/2020.js";
|
|
2
|
+
import addFormatsImport from "ajv-formats";
|
|
3
|
+
import agentCapabilities from "./vendor/agent_capabilities.json" with { type: "json" };
|
|
4
|
+
import agentToRenderer from "./vendor/agent_to_renderer.json" with { type: "json" };
|
|
5
|
+
import basicCatalog from "./vendor/catalog.json" with { type: "json" };
|
|
6
|
+
import commonTypes from "./vendor/common_types.json" with { type: "json" };
|
|
7
|
+
import rendererCapabilities from "./vendor/renderer_capabilities.json" with { type: "json" };
|
|
8
|
+
import rendererToAgent from "./vendor/renderer_to_agent.json" with { type: "json" };
|
|
9
|
+
const Ajv2020 = Ajv2020Import;
|
|
10
|
+
const addFormats = addFormatsImport;
|
|
11
|
+
/** Official catalogs ship a discriminator that Ajv cannot map through $ref; drop it. */
|
|
12
|
+
function stripDiscriminator(value) {
|
|
13
|
+
if (Array.isArray(value)) {
|
|
14
|
+
return value.map(stripDiscriminator);
|
|
15
|
+
}
|
|
16
|
+
if (value !== null && typeof value === "object") {
|
|
17
|
+
const result = {};
|
|
18
|
+
for (const [key, child] of Object.entries(value)) {
|
|
19
|
+
if (key === "discriminator") {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
result[key] = stripDiscriminator(child);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
function cloneJson(value) {
|
|
29
|
+
return JSON.parse(JSON.stringify(value));
|
|
30
|
+
}
|
|
31
|
+
function addSchemaAs(ajv, schema, id) {
|
|
32
|
+
const copy = stripDiscriminator(cloneJson(schema));
|
|
33
|
+
copy["$id"] = id;
|
|
34
|
+
ajv.addSchema(copy);
|
|
35
|
+
}
|
|
36
|
+
let cachedValidate;
|
|
37
|
+
let cachedFunctionValidate;
|
|
38
|
+
let cachedRendererToAgentValidate;
|
|
39
|
+
let cachedAgentCapabilitiesValidate;
|
|
40
|
+
let cachedRendererCapabilitiesValidate;
|
|
41
|
+
/** Compiles the pinned agent capability schema. Semantic checks remain caller-owned. */
|
|
42
|
+
export function getA2uiV1AgentCapabilitiesValidator() {
|
|
43
|
+
if (cachedAgentCapabilitiesValidate === undefined) {
|
|
44
|
+
cachedAgentCapabilitiesValidate = createAjv().compile(agentCapabilities);
|
|
45
|
+
}
|
|
46
|
+
return cachedAgentCapabilitiesValidate;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Compiles the pinned renderer capability schema with inline catalogs disabled.
|
|
50
|
+
* Inline catalog schema execution is deferred until a separate host policy exists.
|
|
51
|
+
*/
|
|
52
|
+
export function getA2uiV1RendererCapabilitiesValidator() {
|
|
53
|
+
if (cachedRendererCapabilitiesValidate === undefined) {
|
|
54
|
+
const schema = cloneJson(rendererCapabilities);
|
|
55
|
+
const versionProperties = schema.properties["v1.0"].properties;
|
|
56
|
+
versionProperties.inlineCatalogs = false;
|
|
57
|
+
cachedRendererCapabilitiesValidate = createAjv().compile(schema);
|
|
58
|
+
}
|
|
59
|
+
return cachedRendererCapabilitiesValidate;
|
|
60
|
+
}
|
|
61
|
+
/** Compiles the pinned agent-to-renderer schema once with the basic catalog mapped in. */
|
|
62
|
+
export function getA2uiV1EnvelopeValidator() {
|
|
63
|
+
if (cachedValidate !== undefined) {
|
|
64
|
+
return cachedValidate;
|
|
65
|
+
}
|
|
66
|
+
const common = commonTypes;
|
|
67
|
+
const catalog = basicCatalog;
|
|
68
|
+
const envelope = agentToRenderer;
|
|
69
|
+
const ajv = createCatalogAjv(common, catalog);
|
|
70
|
+
const validate = ajv.compile(stripDiscriminator(envelope));
|
|
71
|
+
cachedValidate = validate;
|
|
72
|
+
return validate;
|
|
73
|
+
}
|
|
74
|
+
/** Validates a function reconstructed from the formatString expression language. */
|
|
75
|
+
export function getA2uiV1FunctionCallValidator() {
|
|
76
|
+
if (cachedFunctionValidate !== undefined) {
|
|
77
|
+
return cachedFunctionValidate;
|
|
78
|
+
}
|
|
79
|
+
const common = commonTypes;
|
|
80
|
+
const catalog = basicCatalog;
|
|
81
|
+
const ajv = createCatalogAjv(common, catalog);
|
|
82
|
+
cachedFunctionValidate = ajv.compile({
|
|
83
|
+
oneOf: [
|
|
84
|
+
{ $ref: `${expectStringId(catalog)}#/$defs/anyFunction` },
|
|
85
|
+
{ $ref: `${expectStringId(common)}#/$defs/IndexSystemFunction` },
|
|
86
|
+
],
|
|
87
|
+
});
|
|
88
|
+
return cachedFunctionValidate;
|
|
89
|
+
}
|
|
90
|
+
/** Compiles the pinned renderer-to-agent schema once with its standard references. */
|
|
91
|
+
export function getA2uiV1RendererToAgentValidator() {
|
|
92
|
+
if (cachedRendererToAgentValidate !== undefined) {
|
|
93
|
+
return cachedRendererToAgentValidate;
|
|
94
|
+
}
|
|
95
|
+
const common = commonTypes;
|
|
96
|
+
const catalog = basicCatalog;
|
|
97
|
+
const ajv = createCatalogAjv(common, catalog);
|
|
98
|
+
cachedRendererToAgentValidate = ajv.compile(stripDiscriminator(rendererToAgent));
|
|
99
|
+
return cachedRendererToAgentValidate;
|
|
100
|
+
}
|
|
101
|
+
function createCatalogAjv(common, catalog) {
|
|
102
|
+
const ajv = createAjv();
|
|
103
|
+
const commonId = expectStringId(common);
|
|
104
|
+
const catalogId = expectStringId(catalog);
|
|
105
|
+
addSchemaAs(ajv, common, commonId);
|
|
106
|
+
addSchemaAs(ajv, common, "common_types.json");
|
|
107
|
+
addSchemaAs(ajv, catalog, catalogId);
|
|
108
|
+
addSchemaAs(ajv, catalog, "catalog.json");
|
|
109
|
+
addSchemaAs(ajv, catalog, "https://a2ui.org/specification/v1_0/catalog.json");
|
|
110
|
+
return ajv;
|
|
111
|
+
}
|
|
112
|
+
function createAjv() {
|
|
113
|
+
const ajv = new Ajv2020({
|
|
114
|
+
allErrors: true,
|
|
115
|
+
strict: false,
|
|
116
|
+
validateSchema: false,
|
|
117
|
+
});
|
|
118
|
+
addFormats(ajv);
|
|
119
|
+
return ajv;
|
|
120
|
+
}
|
|
121
|
+
function expectStringId(schema) {
|
|
122
|
+
const id = schema["$id"];
|
|
123
|
+
if (typeof id !== "string" || id.length === 0) {
|
|
124
|
+
throw new Error("Vendored A2UI schema is missing a string $id");
|
|
125
|
+
}
|
|
126
|
+
return id;
|
|
127
|
+
}
|
|
128
|
+
export function formatAjvErrors(validate) {
|
|
129
|
+
const errors = validate.errors;
|
|
130
|
+
return (errors?.map((error) => `${error.instancePath || "/"} ${error.message}`).join("; ") ??
|
|
131
|
+
"schema validation failed");
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/v1/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { A2uiV1SurfaceState } from "./types.js";
|
|
2
|
+
import type { A2uiV1SurfaceValidationPolicy } from "./validate.js";
|
|
3
|
+
/**
|
|
4
|
+
* Ordered in-memory store for official A2UI v1.0 lifecycle envelopes.
|
|
5
|
+
* Batches applied through {@link A2uiSurfaceStore.applyAll} are atomic.
|
|
6
|
+
*/
|
|
7
|
+
export declare class A2uiSurfaceStore {
|
|
8
|
+
#private;
|
|
9
|
+
get size(): number;
|
|
10
|
+
has(surfaceId: string): boolean;
|
|
11
|
+
get(surfaceId: string): A2uiV1SurfaceState | undefined;
|
|
12
|
+
/** Returns a complete renderer-ready snapshot or fails closed. */
|
|
13
|
+
getValidated(surfaceId: string, policy: A2uiV1SurfaceValidationPolicy): A2uiV1SurfaceState | undefined;
|
|
14
|
+
list(): readonly A2uiV1SurfaceState[];
|
|
15
|
+
apply(envelope: unknown): void;
|
|
16
|
+
/**
|
|
17
|
+
* Applies every envelope in order. On failure the store is left unchanged.
|
|
18
|
+
*/
|
|
19
|
+
applyAll(envelopes: readonly unknown[]): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/v1/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAYnE;;;GAGG;AACH,qBAAa,gBAAgB;;IAG3B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9B;IAED,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAGrD;IAED,kEAAkE;IAClE,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,6BAA6B,GACpC,kBAAkB,GAAG,SAAS,CAGhC;IAED,IAAI,IAAI,SAAS,kBAAkB,EAAE,CAEpC;IAED,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAE7B;IAsBD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAiB5C;CA8FF"}
|