@jini-ai/agentic 0.1.2 → 0.3.6
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 +92 -0
- package/dist/a2ui/agent-to-renderer.d.ts +36 -2
- package/dist/a2ui/agent-to-renderer.d.ts.map +1 -1
- package/dist/a2ui/agent-to-renderer.js +23 -1
- package/dist/a2ui/agent-to-renderer.js.map +1 -1
- package/dist/a2ui/interpreter.d.ts +24 -1
- package/dist/a2ui/interpreter.d.ts.map +1 -1
- package/dist/a2ui/interpreter.js +115 -65
- package/dist/a2ui/interpreter.js.map +1 -1
- package/dist/a2ui/json-pointer.d.ts.map +1 -1
- package/dist/a2ui/json-pointer.js +28 -3
- package/dist/a2ui/json-pointer.js.map +1 -1
- package/dist/a2ui/renderer-to-agent.d.ts +35 -11
- package/dist/a2ui/renderer-to-agent.d.ts.map +1 -1
- package/dist/a2ui/renderer-to-agent.js +15 -2
- package/dist/a2ui/renderer-to-agent.js.map +1 -1
- package/dist/a2ui/resolve.d.ts +1 -1
- package/dist/a2ui/resolve.d.ts.map +1 -1
- package/dist/a2ui/resolve.js +29 -3
- package/dist/a2ui/resolve.js.map +1 -1
- package/dist/a2ui/tree.d.ts +27 -2
- package/dist/a2ui/tree.d.ts.map +1 -1
- package/dist/a2ui/tree.js +48 -9
- package/dist/a2ui/tree.js.map +1 -1
- package/dist/ag-ui.d.ts.map +1 -1
- package/dist/ag-ui.js +30 -1
- package/dist/ag-ui.js.map +1 -1
- package/dist/core/a2ui/agent-to-renderer.d.ts +613 -0
- package/dist/core/a2ui/agent-to-renderer.d.ts.map +1 -0
- package/dist/core/a2ui/agent-to-renderer.js +191 -0
- package/dist/core/a2ui/agent-to-renderer.js.map +1 -0
- package/dist/core/a2ui/catalog.d.ts +73 -0
- package/dist/core/a2ui/catalog.d.ts.map +1 -0
- package/dist/core/a2ui/catalog.js +304 -0
- package/dist/core/a2ui/catalog.js.map +1 -0
- package/dist/core/a2ui/common-types.d.ts +401 -0
- package/dist/core/a2ui/common-types.d.ts.map +1 -0
- package/dist/core/a2ui/common-types.js +130 -0
- package/dist/core/a2ui/common-types.js.map +1 -0
- package/dist/core/a2ui/index.d.ts +16 -0
- package/dist/core/a2ui/index.d.ts.map +1 -0
- package/dist/core/a2ui/index.js +16 -0
- package/dist/core/a2ui/index.js.map +1 -0
- package/dist/core/a2ui/interpreter.d.ts +71 -0
- package/dist/core/a2ui/interpreter.d.ts.map +1 -0
- package/dist/core/a2ui/interpreter.js +341 -0
- package/dist/core/a2ui/interpreter.js.map +1 -0
- package/dist/core/a2ui/json-pointer.d.ts +48 -0
- package/dist/core/a2ui/json-pointer.d.ts.map +1 -0
- package/dist/core/a2ui/json-pointer.js +174 -0
- package/dist/core/a2ui/json-pointer.js.map +1 -0
- package/dist/core/a2ui/renderer-to-agent.d.ts +342 -0
- package/dist/core/a2ui/renderer-to-agent.d.ts.map +1 -0
- package/dist/core/a2ui/renderer-to-agent.js +111 -0
- package/dist/core/a2ui/renderer-to-agent.js.map +1 -0
- package/dist/core/a2ui/resolve.d.ts +28 -0
- package/dist/core/a2ui/resolve.d.ts.map +1 -0
- package/dist/core/a2ui/resolve.js +144 -0
- package/dist/core/a2ui/resolve.js.map +1 -0
- package/dist/core/a2ui/tree.d.ts +66 -0
- package/dist/core/a2ui/tree.d.ts.map +1 -0
- package/dist/core/a2ui/tree.js +74 -0
- package/dist/core/a2ui/tree.js.map +1 -0
- package/dist/core/ag-ui.d.ts +82 -0
- package/dist/core/ag-ui.d.ts.map +1 -0
- package/dist/core/ag-ui.js +85 -0
- package/dist/core/ag-ui.js.map +1 -0
- package/dist/core/capability.d.ts +81 -0
- package/dist/core/capability.d.ts.map +1 -0
- package/dist/core/capability.js +79 -0
- package/dist/core/capability.js.map +1 -0
- package/dist/core/dom/dom-page-driver.d.ts +36 -0
- package/dist/core/dom/dom-page-driver.d.ts.map +1 -0
- package/dist/core/dom/dom-page-driver.js +601 -0
- package/dist/core/dom/dom-page-driver.js.map +1 -0
- package/dist/core/dom/index.d.ts +17 -0
- package/dist/core/dom/index.d.ts.map +1 -0
- package/dist/core/dom/index.js +17 -0
- package/dist/core/dom/index.js.map +1 -0
- package/dist/core/dom/model-context.d.ts +69 -0
- package/dist/core/dom/model-context.d.ts.map +1 -0
- package/dist/core/dom/model-context.js +44 -0
- package/dist/core/dom/model-context.js.map +1 -0
- package/dist/core/element-handles.d.ts +120 -0
- package/dist/core/element-handles.d.ts.map +1 -0
- package/dist/core/element-handles.js +39 -0
- package/dist/core/element-handles.js.map +1 -0
- package/dist/core/gen-ui/encoder.d.ts +50 -0
- package/dist/core/gen-ui/encoder.d.ts.map +1 -0
- package/dist/core/gen-ui/encoder.js +97 -0
- package/dist/core/gen-ui/encoder.js.map +1 -0
- package/dist/core/gen-ui/events.d.ts +59 -0
- package/dist/core/gen-ui/events.d.ts.map +1 -0
- package/dist/core/gen-ui/events.js +15 -0
- package/dist/core/gen-ui/events.js.map +1 -0
- package/dist/core/gen-ui/index.d.ts +18 -0
- package/dist/core/gen-ui/index.d.ts.map +1 -0
- package/dist/core/gen-ui/index.js +17 -0
- package/dist/core/gen-ui/index.js.map +1 -0
- package/dist/core/guards.d.ts +96 -0
- package/dist/core/guards.d.ts.map +1 -0
- package/dist/core/guards.js +186 -0
- package/dist/core/guards.js.map +1 -0
- package/dist/core/handle.d.ts +89 -0
- package/dist/core/handle.d.ts.map +1 -0
- package/dist/core/handle.js +88 -0
- package/dist/core/handle.js.map +1 -0
- package/dist/core/index.d.ts +75 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +74 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/list-handles.d.ts +43 -0
- package/dist/core/list-handles.d.ts.map +1 -0
- package/dist/core/list-handles.js +57 -0
- package/dist/core/list-handles.js.map +1 -0
- package/dist/core/mcp-ui-apps.d.ts +223 -0
- package/dist/core/mcp-ui-apps.d.ts.map +1 -0
- package/dist/core/mcp-ui-apps.js +252 -0
- package/dist/core/mcp-ui-apps.js.map +1 -0
- package/dist/core/page-capabilities.d.ts +14 -0
- package/dist/core/page-capabilities.d.ts.map +1 -0
- package/dist/core/page-capabilities.js +129 -0
- package/dist/core/page-capabilities.js.map +1 -0
- package/dist/core/page-driver.d.ts +120 -0
- package/dist/core/page-driver.d.ts.map +1 -0
- package/dist/core/page-driver.js +2 -0
- package/dist/core/page-driver.js.map +1 -0
- package/dist/core/page-executor.d.ts +94 -0
- package/dist/core/page-executor.d.ts.map +1 -0
- package/dist/core/page-executor.js +320 -0
- package/dist/core/page-executor.js.map +1 -0
- package/dist/core/webmcp.d.ts +202 -0
- package/dist/core/webmcp.d.ts.map +1 -0
- package/dist/core/webmcp.js +173 -0
- package/dist/core/webmcp.js.map +1 -0
- package/dist/dom/dom-page-driver.d.ts +9 -2
- package/dist/dom/dom-page-driver.d.ts.map +1 -1
- package/dist/dom/dom-page-driver.js +84 -40
- package/dist/dom/dom-page-driver.js.map +1 -1
- package/dist/dom/index.d.ts +1 -1
- package/dist/dom/index.d.ts.map +1 -1
- package/dist/dom/index.js +1 -1
- package/dist/dom/index.js.map +1 -1
- package/dist/element-handles.d.ts +22 -1
- package/dist/element-handles.d.ts.map +1 -1
- package/dist/gen-ui/encoder.d.ts +8 -8
- package/dist/gen-ui/encoder.d.ts.map +1 -1
- package/dist/gen-ui/encoder.js +2 -2
- package/dist/gen-ui/encoder.js.map +1 -1
- package/dist/gen-ui/events.d.ts +10 -10
- package/dist/gen-ui/events.d.ts.map +1 -1
- package/dist/gen-ui/index.d.ts +3 -3
- package/dist/gen-ui/index.d.ts.map +1 -1
- package/dist/gen-ui/index.js +2 -2
- package/dist/gen-ui/index.js.map +1 -1
- package/dist/guards.d.ts +8 -3
- package/dist/guards.d.ts.map +1 -1
- package/dist/guards.js +6 -1
- package/dist/guards.js.map +1 -1
- package/dist/index.d.ts +4 -62
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -61
- package/dist/index.js.map +1 -1
- package/dist/mcp-ui-apps.d.ts +19 -0
- package/dist/mcp-ui-apps.d.ts.map +1 -1
- package/dist/mcp-ui-apps.js +50 -5
- package/dist/mcp-ui-apps.js.map +1 -1
- package/dist/page-capabilities.js +6 -6
- package/dist/page-capabilities.js.map +1 -1
- package/dist/page-driver.d.ts +15 -2
- package/dist/page-driver.d.ts.map +1 -1
- package/dist/page-executor.d.ts +11 -4
- package/dist/page-executor.d.ts.map +1 -1
- package/dist/page-executor.js +47 -15
- package/dist/page-executor.js.map +1 -1
- package/package.json +16 -9
|
@@ -17,6 +17,31 @@
|
|
|
17
17
|
* A2UI's own wording exactly (not raw RFC 6901) since that is what a conformant renderer must do;
|
|
18
18
|
* flagged here rather than silently treated as an oversight.
|
|
19
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* Whether `record` itself carries `token` — never whether it *inherits* it.
|
|
22
|
+
*
|
|
23
|
+
* A JSON Pointer addresses a member of a JSON document, and a JSON document has no inherited
|
|
24
|
+
* members. The `token in record` form this replaced answered `true` for everything
|
|
25
|
+
* `Object.prototype` contributes, so `getAtPointer({}, "/constructor")` resolved the `Object`
|
|
26
|
+
* constructor as though the agent's data model contained it.
|
|
27
|
+
*/
|
|
28
|
+
function hasOwnToken(record, token) {
|
|
29
|
+
return Object.prototype.hasOwnProperty.call(record, token);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Writes one own, plain data property — never through an inherited accessor.
|
|
33
|
+
*
|
|
34
|
+
* `record[token] = value` looks like it defines a key, and does for every token but one:
|
|
35
|
+
* `__proto__` is an inherited accessor on `Object.prototype`, so assigning to it *sets the
|
|
36
|
+
* object's prototype* instead. An agent sending `{"path": "/__proto__", "value": {...}}` therefore
|
|
37
|
+
* reshaped the object this function was building rather than putting a key in it. (Narrower than
|
|
38
|
+
* classic prototype pollution — the shallow-copy discipline here means only the one returned
|
|
39
|
+
* object was affected, never the global `Object.prototype` — but a pointer must address the
|
|
40
|
+
* document, so this defines the key RFC 6901 actually named.)
|
|
41
|
+
*/
|
|
42
|
+
function defineOwn(record, token, value) {
|
|
43
|
+
Object.defineProperty(record, token, { value, writable: true, enumerable: true, configurable: true });
|
|
44
|
+
}
|
|
20
45
|
/** `true` for the two spellings A2UI's own spec treats as "the whole document" (see module doc). Anything else is parsed as a normal RFC 6901 pointer. */
|
|
21
46
|
function isRootPointer(pointer) {
|
|
22
47
|
return pointer === '' || pointer === '/';
|
|
@@ -66,7 +91,7 @@ export function getAtPointer(doc, pointer) {
|
|
|
66
91
|
}
|
|
67
92
|
if (current !== null && typeof current === 'object') {
|
|
68
93
|
const record = current;
|
|
69
|
-
if (!(token
|
|
94
|
+
if (!hasOwnToken(record, token))
|
|
70
95
|
return { found: false, value: undefined };
|
|
71
96
|
current = record[token];
|
|
72
97
|
continue;
|
|
@@ -126,7 +151,7 @@ export function setAtPointer(doc, pointer, value) {
|
|
|
126
151
|
delete record[lastToken];
|
|
127
152
|
return record;
|
|
128
153
|
}
|
|
129
|
-
record
|
|
154
|
+
defineOwn(record, lastToken, value);
|
|
130
155
|
return record;
|
|
131
156
|
}
|
|
132
157
|
const [head, ...rest] = remaining;
|
|
@@ -141,7 +166,7 @@ export function setAtPointer(doc, pointer, value) {
|
|
|
141
166
|
const record = current !== null && typeof current === 'object' ? { ...current } : {};
|
|
142
167
|
if (!head)
|
|
143
168
|
return record;
|
|
144
|
-
record
|
|
169
|
+
defineOwn(record, head, recurse(hasOwnToken(record, head) ? record[head] : {}, rest));
|
|
145
170
|
return record;
|
|
146
171
|
}
|
|
147
172
|
return recurse(doc, parentTokens);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-pointer.js","sourceRoot":"","sources":["../../src/a2ui/json-pointer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,0JAA0J;AAC1J,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,gGAAgG;IAChG,kDAAkD;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAG,MAAgB;IAC3D,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,iOAAiO;AACjO,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,OAAe;IACxD,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAE/D,IAAI,MAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACvE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,OAAkC,CAAC;YAClD,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"json-pointer.js","sourceRoot":"","sources":["../../src/a2ui/json-pointer.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,16 @@ export declare const ActionMessagePayloadSchema: z.ZodObject<{
|
|
|
36
36
|
actionId?: string | undefined;
|
|
37
37
|
}>;
|
|
38
38
|
export type ActionMessagePayload = z.infer<typeof ActionMessagePayloadSchema>;
|
|
39
|
-
/**
|
|
40
|
-
|
|
39
|
+
/**
|
|
40
|
+
* `renderer_to_agent.json#/properties/functionResponse`.
|
|
41
|
+
*
|
|
42
|
+
* `value` is required (`"required": ["functionCallId", "call", "value"]`), and — as with
|
|
43
|
+
* `updateDataModel.value`, see that schema's own note — `z.unknown()` alone does not enforce a
|
|
44
|
+
* required key in Zod 3, so a response with no `value` at all validated clean. Presence is
|
|
45
|
+
* asserted on the object instead. JSON has no `undefined`: a function returning nothing must say
|
|
46
|
+
* `null`, which is why `interpreter.ts` encodes a void return that way rather than omitting it.
|
|
47
|
+
*/
|
|
48
|
+
export declare const FunctionResponsePayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
41
49
|
functionCallId: z.ZodString;
|
|
42
50
|
call: z.ZodString;
|
|
43
51
|
value: z.ZodUnknown;
|
|
@@ -49,6 +57,14 @@ export declare const FunctionResponsePayloadSchema: z.ZodObject<{
|
|
|
49
57
|
call: string;
|
|
50
58
|
functionCallId: string;
|
|
51
59
|
value?: unknown;
|
|
60
|
+
}>, {
|
|
61
|
+
call: string;
|
|
62
|
+
functionCallId: string;
|
|
63
|
+
value?: unknown;
|
|
64
|
+
}, {
|
|
65
|
+
call: string;
|
|
66
|
+
functionCallId: string;
|
|
67
|
+
value?: unknown;
|
|
52
68
|
}>;
|
|
53
69
|
export type FunctionResponsePayload = z.infer<typeof FunctionResponsePayloadSchema>;
|
|
54
70
|
/**
|
|
@@ -64,13 +80,13 @@ export declare const ValidationFailedErrorSchema: z.ZodObject<{
|
|
|
64
80
|
}, "strict", z.ZodTypeAny, {
|
|
65
81
|
surfaceId: string;
|
|
66
82
|
code: "VALIDATION_FAILED";
|
|
67
|
-
path: string;
|
|
68
83
|
message: string;
|
|
84
|
+
path: string;
|
|
69
85
|
}, {
|
|
70
86
|
surfaceId: string;
|
|
71
87
|
code: "VALIDATION_FAILED";
|
|
72
|
-
path: string;
|
|
73
88
|
message: string;
|
|
89
|
+
path: string;
|
|
74
90
|
}>;
|
|
75
91
|
export type ValidationFailedError = z.infer<typeof ValidationFailedErrorSchema>;
|
|
76
92
|
export declare const GenericErrorSchema: z.ZodEffects<z.ZodObject<{
|
|
@@ -108,13 +124,13 @@ export declare const ErrorPayloadSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
108
124
|
}, "strict", z.ZodTypeAny, {
|
|
109
125
|
surfaceId: string;
|
|
110
126
|
code: "VALIDATION_FAILED";
|
|
111
|
-
path: string;
|
|
112
127
|
message: string;
|
|
128
|
+
path: string;
|
|
113
129
|
}, {
|
|
114
130
|
surfaceId: string;
|
|
115
131
|
code: "VALIDATION_FAILED";
|
|
116
|
-
path: string;
|
|
117
132
|
message: string;
|
|
133
|
+
path: string;
|
|
118
134
|
}>, z.ZodEffects<z.ZodObject<{
|
|
119
135
|
code: z.ZodEffects<z.ZodString, string, string>;
|
|
120
136
|
message: z.ZodString;
|
|
@@ -196,7 +212,7 @@ export declare const ActionMessageSchema: z.ZodObject<{
|
|
|
196
212
|
export type ActionMessage = z.infer<typeof ActionMessageSchema>;
|
|
197
213
|
export declare const FunctionResponseMessageSchema: z.ZodObject<{
|
|
198
214
|
version: z.ZodLiteral<"v1.0">;
|
|
199
|
-
functionResponse: z.ZodObject<{
|
|
215
|
+
functionResponse: z.ZodEffects<z.ZodObject<{
|
|
200
216
|
functionCallId: z.ZodString;
|
|
201
217
|
call: z.ZodString;
|
|
202
218
|
value: z.ZodUnknown;
|
|
@@ -208,6 +224,14 @@ export declare const FunctionResponseMessageSchema: z.ZodObject<{
|
|
|
208
224
|
call: string;
|
|
209
225
|
functionCallId: string;
|
|
210
226
|
value?: unknown;
|
|
227
|
+
}>, {
|
|
228
|
+
call: string;
|
|
229
|
+
functionCallId: string;
|
|
230
|
+
value?: unknown;
|
|
231
|
+
}, {
|
|
232
|
+
call: string;
|
|
233
|
+
functionCallId: string;
|
|
234
|
+
value?: unknown;
|
|
211
235
|
}>;
|
|
212
236
|
}, "strict", z.ZodTypeAny, {
|
|
213
237
|
version: "v1.0";
|
|
@@ -235,13 +259,13 @@ export declare const ErrorMessageSchema: z.ZodObject<{
|
|
|
235
259
|
}, "strict", z.ZodTypeAny, {
|
|
236
260
|
surfaceId: string;
|
|
237
261
|
code: "VALIDATION_FAILED";
|
|
238
|
-
path: string;
|
|
239
262
|
message: string;
|
|
263
|
+
path: string;
|
|
240
264
|
}, {
|
|
241
265
|
surfaceId: string;
|
|
242
266
|
code: "VALIDATION_FAILED";
|
|
243
|
-
path: string;
|
|
244
267
|
message: string;
|
|
268
|
+
path: string;
|
|
245
269
|
}>, z.ZodEffects<z.ZodObject<{
|
|
246
270
|
code: z.ZodEffects<z.ZodString, string, string>;
|
|
247
271
|
message: z.ZodString;
|
|
@@ -272,8 +296,8 @@ export declare const ErrorMessageSchema: z.ZodObject<{
|
|
|
272
296
|
error: {
|
|
273
297
|
surfaceId: string;
|
|
274
298
|
code: "VALIDATION_FAILED";
|
|
275
|
-
path: string;
|
|
276
299
|
message: string;
|
|
300
|
+
path: string;
|
|
277
301
|
} | z.objectOutputType<{
|
|
278
302
|
code: z.ZodEffects<z.ZodString, string, string>;
|
|
279
303
|
message: z.ZodString;
|
|
@@ -285,8 +309,8 @@ export declare const ErrorMessageSchema: z.ZodObject<{
|
|
|
285
309
|
error: {
|
|
286
310
|
surfaceId: string;
|
|
287
311
|
code: "VALIDATION_FAILED";
|
|
288
|
-
path: string;
|
|
289
312
|
message: string;
|
|
313
|
+
path: string;
|
|
290
314
|
} | z.objectInputType<{
|
|
291
315
|
code: z.ZodEffects<z.ZodString, string, string>;
|
|
292
316
|
message: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-to-agent.d.ts","sourceRoot":"","sources":["../../src/a2ui/renderer-to-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,wGAAwG;AACxG,eAAO,MAAM,0BAA0B;;;;IAIrC,8MAA8M;;;;;;;;;;;;;;;;;;;;;EAK9M,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E
|
|
1
|
+
{"version":3,"file":"renderer-to-agent.d.ts","sourceRoot":"","sources":["../../src/a2ui/renderer-to-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,wGAAwG;AACxG,eAAO,MAAM,0BAA0B;;;;IAIrC,8MAA8M;;;;;;;;;;;;;;;;;;;;;EAK9M,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;EAStC,CAAC;AACL,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAO7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;gCAQwF,CAAC;AACxH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAA6D,CAAC;AAC7F,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;QA1D9B,8MAA8M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DrM,CAAC;AACZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEpB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,uBAAuB,GAAG,YAAY,CAAC;AAE5F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAE/E;AACD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,GAAG,uBAAuB,CAEtG;AACD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAE3G;AACD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GACzD,YAAY,CAEd;AAID,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,2RAA2R;AAC3R,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,GAAG,oBAAoB,CAqBrG"}
|
|
@@ -21,11 +21,24 @@ export const ActionMessagePayloadSchema = z.object({
|
|
|
21
21
|
wantResponse: z.boolean().optional(),
|
|
22
22
|
actionId: z.string().optional(),
|
|
23
23
|
});
|
|
24
|
-
/**
|
|
25
|
-
|
|
24
|
+
/**
|
|
25
|
+
* `renderer_to_agent.json#/properties/functionResponse`.
|
|
26
|
+
*
|
|
27
|
+
* `value` is required (`"required": ["functionCallId", "call", "value"]`), and — as with
|
|
28
|
+
* `updateDataModel.value`, see that schema's own note — `z.unknown()` alone does not enforce a
|
|
29
|
+
* required key in Zod 3, so a response with no `value` at all validated clean. Presence is
|
|
30
|
+
* asserted on the object instead. JSON has no `undefined`: a function returning nothing must say
|
|
31
|
+
* `null`, which is why `interpreter.ts` encodes a void return that way rather than omitting it.
|
|
32
|
+
*/
|
|
33
|
+
export const FunctionResponsePayloadSchema = z
|
|
34
|
+
.object({
|
|
26
35
|
functionCallId: CallIdSchema,
|
|
27
36
|
call: z.string(),
|
|
28
37
|
value: z.unknown(),
|
|
38
|
+
})
|
|
39
|
+
.refine((payload) => 'value' in payload, {
|
|
40
|
+
message: 'functionResponse requires an explicit "value" (use null for a function that returns nothing)',
|
|
41
|
+
path: ['value'],
|
|
29
42
|
});
|
|
30
43
|
/**
|
|
31
44
|
* `renderer_to_agent.json#/properties/error` — two mutually-exclusive shapes: a `VALIDATION_FAILED`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-to-agent.js","sourceRoot":"","sources":["../../src/a2ui/renderer-to-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEzC,wGAAwG;AACxG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,8MAA8M;IAC9M,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAGH
|
|
1
|
+
{"version":3,"file":"renderer-to-agent.js","sourceRoot":"","sources":["../../src/a2ui/renderer-to-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/a2ui/resolve.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface ResolveContext {
|
|
|
12
12
|
readonly side: ResolveSide;
|
|
13
13
|
readonly itemScope?: ItemScope;
|
|
14
14
|
}
|
|
15
|
-
export type ResolveFailureReason = 'PATH_NOT_FOUND' | 'FUNCTION_NOT_REGISTERED' | 'FUNCTION_NOT_CALLABLE_FROM_SIDE' | 'FUNCTION_NOT_IMPLEMENTED' | 'INDEX_OUTSIDE_LIST_CONTEXT' | 'RELATIVE_PATH_OUTSIDE_LIST_CONTEXT';
|
|
15
|
+
export type ResolveFailureReason = 'PATH_NOT_FOUND' | 'FUNCTION_NOT_REGISTERED' | 'FUNCTION_NOT_CALLABLE_FROM_SIDE' | 'FUNCTION_NOT_IMPLEMENTED' | 'FUNCTION_THREW' | 'INDEX_OUTSIDE_LIST_CONTEXT' | 'RELATIVE_PATH_OUTSIDE_LIST_CONTEXT';
|
|
16
16
|
export interface ResolveFailure {
|
|
17
17
|
readonly ok: false;
|
|
18
18
|
readonly reason: ResolveFailureReason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/a2ui/resolve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/a2ui/resolve.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/C,gOAAgO;AAChO,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,4nBAA4nB;IAC5nB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,yBAAyB,GACzB,iCAAiC,GACjC,0BAA0B,GAC1B,gBAAgB,GAChB,4BAA4B,GAC5B,oCAAoC,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AACD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC;AAwHvD,8LAA8L;AAC9L,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,aAAa,CAItF"}
|
package/dist/a2ui/resolve.js
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* walk the data model to answer.
|
|
9
9
|
*
|
|
10
10
|
* **Never throws.** Every failure mode (a path that doesn't resolve, a function that isn't
|
|
11
|
-
* registered, a function that crosses a `callableFrom` boundary it isn't allowed to cross,
|
|
11
|
+
* registered, a function that crosses a `callableFrom` boundary it isn't allowed to cross, a
|
|
12
|
+
* registered function whose implementation throws on the arguments it was handed, `@index`
|
|
12
13
|
* used outside a list-template context) returns a tagged `ResolveFailure` instead — this is the
|
|
13
14
|
* direct answer to this task's adversarial question "a binding whose path doesn't resolve — does
|
|
14
15
|
* it crash or degrade sanely?": it degrades sanely, always, by construction (no code path in this
|
|
@@ -17,8 +18,21 @@
|
|
|
17
18
|
*/
|
|
18
19
|
import { getAtPointer, joinPointer, parsePointerTokens } from './json-pointer.js';
|
|
19
20
|
import { callableFromOf, isFunctionRegistered } from './catalog.js';
|
|
21
|
+
/**
|
|
22
|
+
* `path` must actually be a *string*, not merely present — the same check `isFunctionCall` already
|
|
23
|
+
* makes on `call`, and its absence here was a live crash rather than a nicety. `FunctionCall.args`
|
|
24
|
+
* accepts a plain object (`common-types.ts`'s `ArgValueSchema` record branch), so an agent could
|
|
25
|
+
* send `{path: 7}` as an arg, pass wire validation, get classified as a binding here, and blow up
|
|
26
|
+
* on `path.startsWith` inside `resolveBindingPath` — a throw straight out through
|
|
27
|
+
* `applyAgentMessage`, which this module's own doc says cannot happen.
|
|
28
|
+
*/
|
|
20
29
|
function isDataBinding(value) {
|
|
21
|
-
return typeof value === 'object'
|
|
30
|
+
return typeof value === 'object'
|
|
31
|
+
&& value !== null
|
|
32
|
+
&& !Array.isArray(value)
|
|
33
|
+
&& 'path' in value
|
|
34
|
+
&& typeof value.path === 'string'
|
|
35
|
+
&& Object.keys(value).length === 1;
|
|
22
36
|
}
|
|
23
37
|
function isFunctionCall(value) {
|
|
24
38
|
return typeof value === 'object' && value !== null && !Array.isArray(value) && 'call' in value && typeof value.call === 'string';
|
|
@@ -77,7 +91,19 @@ function resolveFunctionCall(call, ctx) {
|
|
|
77
91
|
return argResult;
|
|
78
92
|
resolvedArgs[key] = argResult.value;
|
|
79
93
|
}
|
|
80
|
-
|
|
94
|
+
// `impl` is host-supplied code handed agent-supplied arguments, and this module validates
|
|
95
|
+
// neither against the other (the catalog's per-function arg schemas are not implemented — see
|
|
96
|
+
// `catalog.ts`'s module doc). An entirely ordinary implementation therefore throws the moment an
|
|
97
|
+
// agent sends the wrong shape (`args.name.toUpperCase()` on a number), and that throw used to
|
|
98
|
+
// travel out through `applyAgentMessage` into the host's render, where nothing catches it. It is
|
|
99
|
+
// a resolution failure like any other: reported, not propagated.
|
|
100
|
+
try {
|
|
101
|
+
return { ok: true, value: spec.impl(resolvedArgs) };
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
105
|
+
return { ok: false, reason: 'FUNCTION_THREW', detail: `function "${call.call}" threw while evaluating: ${detail}` };
|
|
106
|
+
}
|
|
81
107
|
}
|
|
82
108
|
/**
|
|
83
109
|
* Resolves one `FunctionCall` arg value, recursing into arrays element-by-element. Real
|
package/dist/a2ui/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/a2ui/resolve.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/a2ui/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/a2ui/tree.d.ts
CHANGED
|
@@ -19,12 +19,25 @@
|
|
|
19
19
|
export interface ComponentLike {
|
|
20
20
|
readonly id: string;
|
|
21
21
|
}
|
|
22
|
-
export type RenderNodeStatus = 'ok' | 'missing' | 'cycle';
|
|
22
|
+
export type RenderNodeStatus = 'ok' | 'missing' | 'cycle' | 'truncated';
|
|
23
23
|
export interface RenderNode {
|
|
24
24
|
readonly id: string;
|
|
25
25
|
readonly depth: number;
|
|
26
26
|
readonly status: RenderNodeStatus;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Ceiling on how many nodes one flattening may produce.
|
|
30
|
+
*
|
|
31
|
+
* The cycle check bounds *repetition along one path*; it does not bound the tree's size, and a
|
|
32
|
+
* component map is an adjacency list, so a valid acyclic message can name the same child twice per
|
|
33
|
+
* level and double the output at every step. Measured before this cap existed: 24 components —
|
|
34
|
+
* a few hundred bytes of wire data — expanded to 16,777,215 render nodes in ~15 seconds. Nothing
|
|
35
|
+
* crashed; the renderer was simply consumed.
|
|
36
|
+
*
|
|
37
|
+
* Far above any real UI (the largest component tree a catalog of 18 types could sensibly produce
|
|
38
|
+
* is orders of magnitude smaller), so this is a fail-safe, not a design budget.
|
|
39
|
+
*/
|
|
40
|
+
export declare const MAX_RENDER_NODES = 50000;
|
|
28
41
|
/**
|
|
29
42
|
* @param components The full component map (id -> instance).
|
|
30
43
|
* @param rootId The id to start walking from (typically `'root'`, but not assumed — a surface
|
|
@@ -35,7 +48,19 @@ export interface RenderNode {
|
|
|
35
48
|
* @returns A depth-first, pre-order flattening. A `missing` node is a leaf in the output (its own
|
|
36
49
|
* children are never visited — there is nothing to look up). A `cycle` node is also a leaf: the
|
|
37
50
|
* id is emitted once more so a renderer can show *where* the cycle closes, but its children are
|
|
38
|
-
* not walked again (that walk already happened higher up the same path).
|
|
51
|
+
* not walked again (that walk already happened higher up the same path). A `truncated` node is the
|
|
52
|
+
* third such marker and always the last entry: the tree exceeded {@link MAX_RENDER_NODES} and the
|
|
53
|
+
* rest was not walked.
|
|
54
|
+
*
|
|
55
|
+
* The walk is iterative — an explicit stack rather than recursion — because the component map is
|
|
56
|
+
* agent-authored: a straight chain of components is a legal, acyclic message, and a recursive walk
|
|
57
|
+
* died on one with `RangeError: Maximum call stack size exceeded` somewhere past 6,000 links.
|
|
58
|
+
* Degrading sanely on hostile input is this module's whole purpose, and "deep" belongs on that
|
|
59
|
+
* list next to "missing" and "circular".
|
|
60
|
+
*
|
|
61
|
+
* The ancestor set is maintained by push/pop along the current path rather than copied per node,
|
|
62
|
+
* which is both what makes the iterative form equivalent (an ancestor set IS the path from the
|
|
63
|
+
* root) and what removes the old walk's quadratic set-copying cost.
|
|
39
64
|
*/
|
|
40
65
|
export declare function flattenRenderTree<C extends ComponentLike>(components: ReadonlyMap<string, C>, rootId: string, getChildIds: (component: C) => readonly string[]): RenderNode[];
|
|
41
66
|
//# sourceMappingURL=tree.d.ts.map
|
package/dist/a2ui/tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/a2ui/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/a2ui/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EACvD,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,GAC/C,UAAU,EAAE,CAuCd"}
|
package/dist/a2ui/tree.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ceiling on how many nodes one flattening may produce.
|
|
3
|
+
*
|
|
4
|
+
* The cycle check bounds *repetition along one path*; it does not bound the tree's size, and a
|
|
5
|
+
* component map is an adjacency list, so a valid acyclic message can name the same child twice per
|
|
6
|
+
* level and double the output at every step. Measured before this cap existed: 24 components —
|
|
7
|
+
* a few hundred bytes of wire data — expanded to 16,777,215 render nodes in ~15 seconds. Nothing
|
|
8
|
+
* crashed; the renderer was simply consumed.
|
|
9
|
+
*
|
|
10
|
+
* Far above any real UI (the largest component tree a catalog of 18 types could sensibly produce
|
|
11
|
+
* is orders of magnitude smaller), so this is a fail-safe, not a design budget.
|
|
12
|
+
*/
|
|
13
|
+
export const MAX_RENDER_NODES = 50_000;
|
|
1
14
|
/**
|
|
2
15
|
* @param components The full component map (id -> instance).
|
|
3
16
|
* @param rootId The id to start walking from (typically `'root'`, but not assumed — a surface
|
|
@@ -8,28 +21,54 @@
|
|
|
8
21
|
* @returns A depth-first, pre-order flattening. A `missing` node is a leaf in the output (its own
|
|
9
22
|
* children are never visited — there is nothing to look up). A `cycle` node is also a leaf: the
|
|
10
23
|
* id is emitted once more so a renderer can show *where* the cycle closes, but its children are
|
|
11
|
-
* not walked again (that walk already happened higher up the same path).
|
|
24
|
+
* not walked again (that walk already happened higher up the same path). A `truncated` node is the
|
|
25
|
+
* third such marker and always the last entry: the tree exceeded {@link MAX_RENDER_NODES} and the
|
|
26
|
+
* rest was not walked.
|
|
27
|
+
*
|
|
28
|
+
* The walk is iterative — an explicit stack rather than recursion — because the component map is
|
|
29
|
+
* agent-authored: a straight chain of components is a legal, acyclic message, and a recursive walk
|
|
30
|
+
* died on one with `RangeError: Maximum call stack size exceeded` somewhere past 6,000 links.
|
|
31
|
+
* Degrading sanely on hostile input is this module's whole purpose, and "deep" belongs on that
|
|
32
|
+
* list next to "missing" and "circular".
|
|
33
|
+
*
|
|
34
|
+
* The ancestor set is maintained by push/pop along the current path rather than copied per node,
|
|
35
|
+
* which is both what makes the iterative form equivalent (an ancestor set IS the path from the
|
|
36
|
+
* root) and what removes the old walk's quadratic set-copying cost.
|
|
12
37
|
*/
|
|
13
38
|
export function flattenRenderTree(components, rootId, getChildIds) {
|
|
14
39
|
const output = [];
|
|
15
|
-
|
|
40
|
+
/** Ids on the path from the root to the node being visited — the recursive walk's `ancestors`. */
|
|
41
|
+
const ancestors = new Set();
|
|
42
|
+
const stack = [{ id: rootId, depth: 0 }];
|
|
43
|
+
while (stack.length > 0) {
|
|
44
|
+
const frame = stack.pop();
|
|
45
|
+
if ('leave' in frame) {
|
|
46
|
+
ancestors.delete(frame.leave);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (output.length >= MAX_RENDER_NODES) {
|
|
50
|
+
output.push({ id: frame.id, depth: frame.depth, status: 'truncated' });
|
|
51
|
+
return output;
|
|
52
|
+
}
|
|
53
|
+
const { id, depth } = frame;
|
|
16
54
|
if (ancestors.has(id)) {
|
|
17
55
|
output.push({ id, depth, status: 'cycle' });
|
|
18
|
-
|
|
56
|
+
continue;
|
|
19
57
|
}
|
|
20
58
|
const component = components.get(id);
|
|
21
59
|
if (!component) {
|
|
22
60
|
output.push({ id, depth, status: 'missing' });
|
|
23
|
-
|
|
61
|
+
continue;
|
|
24
62
|
}
|
|
25
63
|
output.push({ id, depth, status: 'ok' });
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
64
|
+
ancestors.add(id);
|
|
65
|
+
stack.push({ leave: id });
|
|
66
|
+
// Pushed in reverse so the first child is popped first, preserving pre-order.
|
|
67
|
+
const childIds = getChildIds(component);
|
|
68
|
+
for (let index = childIds.length - 1; index >= 0; index -= 1) {
|
|
69
|
+
stack.push({ id: childIds[index], depth: depth + 1 });
|
|
30
70
|
}
|
|
31
71
|
}
|
|
32
|
-
visit(rootId, 0, new Set());
|
|
33
72
|
return output;
|
|
34
73
|
}
|
|
35
74
|
//# sourceMappingURL=tree.js.map
|
package/dist/a2ui/tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/a2ui/tree.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkC,EAClC,MAAc,EACd,WAAgD;IAEhD,MAAM,MAAM,GAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/a2ui/tree.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkC,EAClC,MAAc,EACd,WAAgD;IAEhD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,kGAAkG;IAClG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAGpC,MAAM,KAAK,GAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAElD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/ag-ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui.d.ts","sourceRoot":"","sources":["../src/ag-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;IACjC,wEAAwE;;IAExE,8EAA8E;;IAE9E,2EAA2E;;CAEnE,CAAC;AAEX,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,CAM9D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,QAAQ,EAAE,CAEvF;
|
|
1
|
+
{"version":3,"file":"ag-ui.d.ts","sourceRoot":"","sources":["../src/ag-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;IACjC,wEAAwE;;IAExE,8EAA8E;;IAE9E,2EAA2E;;CAEnE,CAAC;AAEX,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,CAM9D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,QAAQ,EAAE,CAEvF;AA+BD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE,qBAAqB,CAKvB"}
|
package/dist/ag-ui.js
CHANGED
|
@@ -35,6 +35,35 @@ export function toAgUiTool(capability) {
|
|
|
35
35
|
export function toAgUiTools(capabilities) {
|
|
36
36
|
return capabilities.map(toAgUiTool);
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* JSON, or a description of why there is none — always a string, which `JSON.stringify` alone is
|
|
40
|
+
* not.
|
|
41
|
+
*
|
|
42
|
+
* `output` is `unknown`: whatever a host's capability actually returned. `JSON.stringify` is not
|
|
43
|
+
* total over that domain, in two different ways, and `content` is declared `string`:
|
|
44
|
+
*
|
|
45
|
+
* - it **throws** for a BigInt or a circular structure — landing on the transport, where the
|
|
46
|
+
* agent never learns its tool call produced anything at all;
|
|
47
|
+
* - it **returns `undefined`** (not a string) for a function or a symbol, so `content` was
|
|
48
|
+
* genuinely `undefined` despite its type, and whatever serialized the message downstream
|
|
49
|
+
* dropped the field or wrote `undefined` into the wire.
|
|
50
|
+
*
|
|
51
|
+
* Both become a result the agent can read, because that is this channel's whole premise: a
|
|
52
|
+
* failure it can see and reason about beats one that disappears.
|
|
53
|
+
*/
|
|
54
|
+
function encodeToolContent(output) {
|
|
55
|
+
let encoded;
|
|
56
|
+
try {
|
|
57
|
+
encoded = JSON.stringify(output ?? null);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
61
|
+
return JSON.stringify({ error: `tool output could not be encoded as JSON: ${detail}` });
|
|
62
|
+
}
|
|
63
|
+
// `undefined` here means "not representable in JSON" (a function, a symbol), which is what
|
|
64
|
+
// `null` means in every other JSON position — an array element, an object property.
|
|
65
|
+
return encoded ?? 'null';
|
|
66
|
+
}
|
|
38
67
|
/**
|
|
39
68
|
* Builds the result message for a completed frontend tool call.
|
|
40
69
|
*
|
|
@@ -49,7 +78,7 @@ export function toAgUiTools(capabilities) {
|
|
|
49
78
|
*/
|
|
50
79
|
export function createAgUiToolResult(messageId, toolCallId, outcome) {
|
|
51
80
|
const content = outcome.ok
|
|
52
|
-
? typeof outcome.output === 'string' ? outcome.output :
|
|
81
|
+
? typeof outcome.output === 'string' ? outcome.output : encodeToolContent(outcome.output)
|
|
53
82
|
: JSON.stringify({ error: outcome.error });
|
|
54
83
|
return { id: messageId, role: 'tool', content, toolCallId };
|
|
55
84
|
}
|
package/dist/ag-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui.js","sourceRoot":"","sources":["../src/ag-ui.ts"],"names":[],"mappings":"AA4BA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,wEAAwE;IACxE,KAAK,EAAE,iBAAiB;IACxB,8EAA8E;IAC9E,IAAI,EAAE,gBAAgB;IACtB,2EAA2E;IAC3E,GAAG,EAAE,eAAe;CACZ,CAAC;AAUX;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,UAAyB;IAClD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,EAAE;QACnB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,UAAU,CAAC,WAAW;KACnC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,YAAsC;IAChE,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,UAAkB,EAClB,OAAqE;IAErE,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE;QACxB,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ag-ui.js","sourceRoot":"","sources":["../src/ag-ui.ts"],"names":[],"mappings":"AA4BA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,wEAAwE;IACxE,KAAK,EAAE,iBAAiB;IACxB,8EAA8E;IAC9E,IAAI,EAAE,gBAAgB;IACtB,2EAA2E;IAC3E,GAAG,EAAE,eAAe;CACZ,CAAC;AAUX;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,UAAyB;IAClD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,EAAE;QACnB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,UAAU,CAAC,WAAW;KACnC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,YAAsC;IAChE,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,2FAA2F;IAC3F,oFAAoF;IACpF,OAAO,OAAO,IAAI,MAAM,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,UAAkB,EAClB,OAAqE;IAErE,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE;QACxB,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;QACzF,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC9D,CAAC"}
|