@jini-ai/agentic 0.1.1 → 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.
Files changed (176) hide show
  1. package/README.md +92 -0
  2. package/dist/a2ui/agent-to-renderer.d.ts +36 -2
  3. package/dist/a2ui/agent-to-renderer.d.ts.map +1 -1
  4. package/dist/a2ui/agent-to-renderer.js +23 -1
  5. package/dist/a2ui/agent-to-renderer.js.map +1 -1
  6. package/dist/a2ui/interpreter.d.ts +24 -1
  7. package/dist/a2ui/interpreter.d.ts.map +1 -1
  8. package/dist/a2ui/interpreter.js +115 -65
  9. package/dist/a2ui/interpreter.js.map +1 -1
  10. package/dist/a2ui/json-pointer.d.ts.map +1 -1
  11. package/dist/a2ui/json-pointer.js +28 -3
  12. package/dist/a2ui/json-pointer.js.map +1 -1
  13. package/dist/a2ui/renderer-to-agent.d.ts +35 -11
  14. package/dist/a2ui/renderer-to-agent.d.ts.map +1 -1
  15. package/dist/a2ui/renderer-to-agent.js +15 -2
  16. package/dist/a2ui/renderer-to-agent.js.map +1 -1
  17. package/dist/a2ui/resolve.d.ts +1 -1
  18. package/dist/a2ui/resolve.d.ts.map +1 -1
  19. package/dist/a2ui/resolve.js +29 -3
  20. package/dist/a2ui/resolve.js.map +1 -1
  21. package/dist/a2ui/tree.d.ts +27 -2
  22. package/dist/a2ui/tree.d.ts.map +1 -1
  23. package/dist/a2ui/tree.js +48 -9
  24. package/dist/a2ui/tree.js.map +1 -1
  25. package/dist/ag-ui.d.ts.map +1 -1
  26. package/dist/ag-ui.js +30 -1
  27. package/dist/ag-ui.js.map +1 -1
  28. package/dist/core/a2ui/agent-to-renderer.d.ts +613 -0
  29. package/dist/core/a2ui/agent-to-renderer.d.ts.map +1 -0
  30. package/dist/core/a2ui/agent-to-renderer.js +191 -0
  31. package/dist/core/a2ui/agent-to-renderer.js.map +1 -0
  32. package/dist/core/a2ui/catalog.d.ts +73 -0
  33. package/dist/core/a2ui/catalog.d.ts.map +1 -0
  34. package/dist/core/a2ui/catalog.js +304 -0
  35. package/dist/core/a2ui/catalog.js.map +1 -0
  36. package/dist/core/a2ui/common-types.d.ts +401 -0
  37. package/dist/core/a2ui/common-types.d.ts.map +1 -0
  38. package/dist/core/a2ui/common-types.js +130 -0
  39. package/dist/core/a2ui/common-types.js.map +1 -0
  40. package/dist/core/a2ui/index.d.ts +16 -0
  41. package/dist/core/a2ui/index.d.ts.map +1 -0
  42. package/dist/core/a2ui/index.js +16 -0
  43. package/dist/core/a2ui/index.js.map +1 -0
  44. package/dist/core/a2ui/interpreter.d.ts +71 -0
  45. package/dist/core/a2ui/interpreter.d.ts.map +1 -0
  46. package/dist/core/a2ui/interpreter.js +341 -0
  47. package/dist/core/a2ui/interpreter.js.map +1 -0
  48. package/dist/core/a2ui/json-pointer.d.ts +48 -0
  49. package/dist/core/a2ui/json-pointer.d.ts.map +1 -0
  50. package/dist/core/a2ui/json-pointer.js +174 -0
  51. package/dist/core/a2ui/json-pointer.js.map +1 -0
  52. package/dist/core/a2ui/renderer-to-agent.d.ts +342 -0
  53. package/dist/core/a2ui/renderer-to-agent.d.ts.map +1 -0
  54. package/dist/core/a2ui/renderer-to-agent.js +111 -0
  55. package/dist/core/a2ui/renderer-to-agent.js.map +1 -0
  56. package/dist/core/a2ui/resolve.d.ts +28 -0
  57. package/dist/core/a2ui/resolve.d.ts.map +1 -0
  58. package/dist/core/a2ui/resolve.js +144 -0
  59. package/dist/core/a2ui/resolve.js.map +1 -0
  60. package/dist/core/a2ui/tree.d.ts +66 -0
  61. package/dist/core/a2ui/tree.d.ts.map +1 -0
  62. package/dist/core/a2ui/tree.js +74 -0
  63. package/dist/core/a2ui/tree.js.map +1 -0
  64. package/dist/core/ag-ui.d.ts +82 -0
  65. package/dist/core/ag-ui.d.ts.map +1 -0
  66. package/dist/core/ag-ui.js +85 -0
  67. package/dist/core/ag-ui.js.map +1 -0
  68. package/dist/core/capability.d.ts +81 -0
  69. package/dist/core/capability.d.ts.map +1 -0
  70. package/dist/core/capability.js +79 -0
  71. package/dist/core/capability.js.map +1 -0
  72. package/dist/core/dom/dom-page-driver.d.ts +36 -0
  73. package/dist/core/dom/dom-page-driver.d.ts.map +1 -0
  74. package/dist/core/dom/dom-page-driver.js +601 -0
  75. package/dist/core/dom/dom-page-driver.js.map +1 -0
  76. package/dist/core/dom/index.d.ts +17 -0
  77. package/dist/core/dom/index.d.ts.map +1 -0
  78. package/dist/core/dom/index.js +17 -0
  79. package/dist/core/dom/index.js.map +1 -0
  80. package/dist/core/dom/model-context.d.ts +69 -0
  81. package/dist/core/dom/model-context.d.ts.map +1 -0
  82. package/dist/core/dom/model-context.js +44 -0
  83. package/dist/core/dom/model-context.js.map +1 -0
  84. package/dist/core/element-handles.d.ts +120 -0
  85. package/dist/core/element-handles.d.ts.map +1 -0
  86. package/dist/core/element-handles.js +39 -0
  87. package/dist/core/element-handles.js.map +1 -0
  88. package/dist/core/gen-ui/encoder.d.ts +50 -0
  89. package/dist/core/gen-ui/encoder.d.ts.map +1 -0
  90. package/dist/core/gen-ui/encoder.js +97 -0
  91. package/dist/core/gen-ui/encoder.js.map +1 -0
  92. package/dist/core/gen-ui/events.d.ts +59 -0
  93. package/dist/core/gen-ui/events.d.ts.map +1 -0
  94. package/dist/core/gen-ui/events.js +15 -0
  95. package/dist/core/gen-ui/events.js.map +1 -0
  96. package/dist/core/gen-ui/index.d.ts +18 -0
  97. package/dist/core/gen-ui/index.d.ts.map +1 -0
  98. package/dist/core/gen-ui/index.js +17 -0
  99. package/dist/core/gen-ui/index.js.map +1 -0
  100. package/dist/core/guards.d.ts +96 -0
  101. package/dist/core/guards.d.ts.map +1 -0
  102. package/dist/core/guards.js +186 -0
  103. package/dist/core/guards.js.map +1 -0
  104. package/dist/core/handle.d.ts +41 -0
  105. package/dist/core/handle.d.ts.map +1 -0
  106. package/dist/core/handle.js +41 -0
  107. package/dist/core/handle.js.map +1 -0
  108. package/dist/core/index.d.ts +75 -0
  109. package/dist/core/index.d.ts.map +1 -0
  110. package/dist/core/index.js +74 -0
  111. package/dist/core/index.js.map +1 -0
  112. package/dist/core/list-handles.d.ts +43 -0
  113. package/dist/core/list-handles.d.ts.map +1 -0
  114. package/dist/core/list-handles.js +57 -0
  115. package/dist/core/list-handles.js.map +1 -0
  116. package/dist/core/mcp-ui-apps.d.ts +223 -0
  117. package/dist/core/mcp-ui-apps.d.ts.map +1 -0
  118. package/dist/core/mcp-ui-apps.js +252 -0
  119. package/dist/core/mcp-ui-apps.js.map +1 -0
  120. package/dist/core/page-capabilities.d.ts +14 -0
  121. package/dist/core/page-capabilities.d.ts.map +1 -0
  122. package/dist/core/page-capabilities.js +129 -0
  123. package/dist/core/page-capabilities.js.map +1 -0
  124. package/dist/core/page-driver.d.ts +120 -0
  125. package/dist/core/page-driver.d.ts.map +1 -0
  126. package/dist/core/page-driver.js +2 -0
  127. package/dist/core/page-driver.js.map +1 -0
  128. package/dist/core/page-executor.d.ts +94 -0
  129. package/dist/core/page-executor.d.ts.map +1 -0
  130. package/dist/core/page-executor.js +320 -0
  131. package/dist/core/page-executor.js.map +1 -0
  132. package/dist/core/webmcp.d.ts +202 -0
  133. package/dist/core/webmcp.d.ts.map +1 -0
  134. package/dist/core/webmcp.js +173 -0
  135. package/dist/core/webmcp.js.map +1 -0
  136. package/dist/dom/dom-page-driver.d.ts +9 -2
  137. package/dist/dom/dom-page-driver.d.ts.map +1 -1
  138. package/dist/dom/dom-page-driver.js +84 -40
  139. package/dist/dom/dom-page-driver.js.map +1 -1
  140. package/dist/dom/index.d.ts +1 -1
  141. package/dist/dom/index.d.ts.map +1 -1
  142. package/dist/dom/index.js +1 -1
  143. package/dist/dom/index.js.map +1 -1
  144. package/dist/element-handles.d.ts +22 -1
  145. package/dist/element-handles.d.ts.map +1 -1
  146. package/dist/gen-ui/encoder.d.ts +8 -8
  147. package/dist/gen-ui/encoder.d.ts.map +1 -1
  148. package/dist/gen-ui/encoder.js +2 -2
  149. package/dist/gen-ui/encoder.js.map +1 -1
  150. package/dist/gen-ui/events.d.ts +10 -10
  151. package/dist/gen-ui/events.d.ts.map +1 -1
  152. package/dist/gen-ui/index.d.ts +3 -3
  153. package/dist/gen-ui/index.d.ts.map +1 -1
  154. package/dist/gen-ui/index.js +2 -2
  155. package/dist/gen-ui/index.js.map +1 -1
  156. package/dist/guards.d.ts +8 -3
  157. package/dist/guards.d.ts.map +1 -1
  158. package/dist/guards.js +6 -1
  159. package/dist/guards.js.map +1 -1
  160. package/dist/index.d.ts +4 -62
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +4 -61
  163. package/dist/index.js.map +1 -1
  164. package/dist/mcp-ui-apps.d.ts +19 -0
  165. package/dist/mcp-ui-apps.d.ts.map +1 -1
  166. package/dist/mcp-ui-apps.js +50 -5
  167. package/dist/mcp-ui-apps.js.map +1 -1
  168. package/dist/page-capabilities.js +6 -6
  169. package/dist/page-capabilities.js.map +1 -1
  170. package/dist/page-driver.d.ts +15 -2
  171. package/dist/page-driver.d.ts.map +1 -1
  172. package/dist/page-executor.d.ts +11 -4
  173. package/dist/page-executor.d.ts.map +1 -1
  174. package/dist/page-executor.js +47 -15
  175. package/dist/page-executor.js.map +1 -1
  176. package/package.json +18 -9
package/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # @jini-ai/agentic
2
+
3
+ The framework-free half of agent control: everything an outside caller needs to drive a Jini
4
+ frontend, with no React, no DOM, and no transport baked in. Defines the capability vocabulary
5
+ (what a page may be asked to do), the `data-agent-*` markup convention a component uses to publish
6
+ itself, projections of that vocabulary onto WebMCP and genuine AG-UI, Jini's own six-event
7
+ run-stream protocol ("GenUI" — not AG-UI, despite the historical directory name), and a separate,
8
+ zero-DOM implementation of the real A2UI ("Agent-to-UI") wire protocol. A framework binding (this
9
+ repo's own `@jini-ai/chat-react`, or a future Vue/Svelte sibling) imports from here and adds only
10
+ the DOM/transport wiring its framework needs; a server-side host (an HTTP route table, an MCP
11
+ stdio server) imports the same manifests, so client and server can never drift apart.
12
+
13
+ ## Install
14
+
15
+ ```sh
16
+ npm install @jini-ai/agentic
17
+ ```
18
+
19
+ No peer dependencies. `@jini-ai/protocol` and `zod` are regular dependencies. The `./dom` entry
20
+ point additionally needs a real DOM (browser or jsdom) at runtime — see Entry points below.
21
+
22
+ ## What you get
23
+
24
+ - **Capability vocabulary** — `CapabilityDef`/`CapabilityInputSchema`/`CapabilityRisk`
25
+ (`'read' | 'write'`)/`CapabilitySurface` (`'session' | 'server'`), `findCapability`,
26
+ `findCapabilityInputError` (validates caller input against a capability's declared schema),
27
+ `availableCapabilities`.
28
+ - **The generic page-capability manifest** — `PAGE_CAPABILITIES` (`page.find_elements`,
29
+ `page.click`, and friends — every verb addresses a published `data-agent-element` handle, never
30
+ a caller-supplied selector or script), `PageDriver`/`FindElementsFilter`, and
31
+ `executePageCapability(driver, capabilityId, input)` to run one.
32
+ - **The `data-agent-*` markup convention** — `agentHandle('save', { role, label, page })` returns
33
+ spreadable attribute props (pure data, works with React/Vue/Svelte/anything); plus the
34
+ attribute-name constants, `AGENT_ELEMENT_ROLES`, `isValidElementHandle`, and
35
+ `resolveHandleSelector` for a driver to resolve a handle back to a DOM node.
36
+ - **Field guards** — `findFieldFillRefusal`/`findFieldReadRefusal` and their `describe*Refusal`
37
+ pair, the refusals that must hold everywhere a capability writes to or reads from a form field.
38
+ - **WebMCP projection** — `toWebMcpTool`/`toWebMcpTools`, `isValidWebMcpToolName`,
39
+ `WebMcpConfirmationRequiredError`/`InvalidWebMcpToolNameError`.
40
+ - **Genuine AG-UI projection** — `toAgUiTool`/`toAgUiTools`, `createAgUiToolResult`,
41
+ `AG_UI_TOOL_CALL_EVENTS`. Real conformance: emits AG-UI's own `parameters` field name and its
42
+ canonical `TOOL_CALL_START`/`TOOL_CALL_ARGS`/`TOOL_CALL_END` event names.
43
+ - **GenUI run-stream protocol** (`./gen-ui`, re-exported at root) — `createGenUiEncoder` and the
44
+ six dotted-lowercase event kinds (`GenUiEvent`: `agent.message`, `tool_call`, `state_update`,
45
+ `ui.surface_requested`, `ui.surface_responded`, `run.lifecycle`). **Not AG-UI** — it shares zero
46
+ event names with the real protocol above; it's a de-branded port of one product's own run-event
47
+ adapter, renamed from `Agui`/`AGUI` to `GenUi` on 2026-07-29 to stop the two reading as one.
48
+ - **MCP-UI apps wire helpers** — `MCP_UI_VIEW_METHODS`/`MCP_UI_HOST_NOTIFICATIONS`/
49
+ `MCP_UI_HOST_REQUESTS`, `JINI_PAGE_ACTION_METHOD`, `isJsonRpcRequest`/`createJsonRpcRequest`/
50
+ `createJsonRpcResult`/`createJsonRpcError`/`createPageActionRequest`.
51
+
52
+ ## Usage
53
+
54
+ ```ts
55
+ import { PAGE_CAPABILITIES, executePageCapability, agentHandle, type PageDriver } from '@jini-ai/agentic';
56
+
57
+ // A component publishes itself once, in whatever framework renders it:
58
+ // <button {...agentHandle('save', { role: 'button', label: 'Save changes' })}>Save</button>
59
+
60
+ declare const driver: PageDriver; // e.g. createDomPageDriver(...) from '@jini-ai/agentic/dom'
61
+
62
+ const elements = await executePageCapability(driver, 'page.find_elements', { role: 'button' });
63
+ console.log(PAGE_CAPABILITIES.map((c) => c.id)); // every verb an outside caller may invoke
64
+ ```
65
+
66
+ ## Entry points
67
+
68
+ | subpath | what's behind it | extra dep it pulls in |
69
+ |---|---|---|
70
+ | `.` | Capability vocabulary, `PAGE_CAPABILITIES`, `data-agent-*` markup helpers, WebMCP/AG-UI projections, GenUI protocol, MCP-UI wire helpers. Zero DOM, zero transport. | none beyond `@jini-ai/protocol`, `zod` |
71
+ | `./dom` | `createDomPageDriver`/`currentAgentPage` — the one `PageDriver` that reads and writes a real DOM subtree, compiled under its own DOM-lib `tsconfig`. Also WebMCP feature detection (`getAgentModelContext`). `@jini-ai/chat-react` is its one in-repo consumer. | a real DOM (browser or jsdom) |
72
+ | `./a2ui` | The real A2UI v1.0 wire types and a minimal client-side interpreter (`common-types`, `agent-to-renderer`, `renderer-to-agent`, `catalog`, `json-pointer`, `resolve`, `tree`, `interpreter`) — zero DOM dependency. | none |
73
+
74
+ ## What's swappable
75
+
76
+ `PageDriver` is the seam: `executePageCapability` and every `page.*` verb work against whatever
77
+ implementation you hand them — `createDomPageDriver` from `./dom` is the shipped one, but a
78
+ non-DOM host (a native app, a canvas-based renderer) can implement `PageDriver` itself.
79
+ `toWebMcpTool`'s `execute` callback and `WebMcpRegisterToolOptions` (`signal`, `exposedTo`) are
80
+ likewise caller-supplied. Fixed: `PAGE_CAPABILITIES`' verb list and schemas, the `data-agent-*`
81
+ attribute names, and the wire shapes of both the GenUI and A2UI protocols.
82
+
83
+ ## Runtime
84
+
85
+ `jini.runtime: "universal"` for `.` and `./a2ui`; `./dom` is `"browser"` (needs a real or jsdom
86
+ DOM at runtime — see Entry points above).
87
+ ESM only — ships `"type": "module"` with no CommonJS `require` build.
88
+
89
+ ## Provenance
90
+
91
+ See [source-map.md](./source-map.md) for per-file provenance, the AG-UI/GenUI naming history, and
92
+ the A2UI spec-parity gap list. Apache-2.0, inherited from Open Design — see the repo `NOTICE`.
@@ -167,9 +167,27 @@ export declare const UpdateComponentsMessageSchema: z.ZodObject<{
167
167
  };
168
168
  }>;
169
169
  export type UpdateComponentsMessage = z.infer<typeof UpdateComponentsMessageSchema>;
170
+ /**
171
+ * `value` is required by the real schema (`"required": ["surfaceId", "value"]`, re-fetched and
172
+ * checked 2026-07-29) — but declaring it `z.unknown()` did not make it so. In Zod 3 a key whose
173
+ * schema accepts `undefined` is satisfied by the key being absent entirely, and `undefined`
174
+ * inhabits `unknown`; `z.unknown().isOptional()` is literally `true`. So `{updateDataModel:
175
+ * {surfaceId: "s1"}}` parsed clean, and `interpreter.ts` then wrote that missing value at the
176
+ * default `'/'` pointer — replacing the surface's whole data model with `undefined`, silently,
177
+ * with no error message and no way for the agent to learn it had happened.
178
+ *
179
+ * Presence is therefore asserted on the object rather than on the field: there is no Zod 3 schema
180
+ * for "any value, but it has to be there," because optionality is decided by the field's *type*.
181
+ * `'value' in body` rather than a `!== undefined` check, so every legal JSON value — `null`
182
+ * (the spec's own delete verb), `false`, `0`, `""` — is still accepted as content.
183
+ *
184
+ * The same limitation leaves `value` typed `value?: unknown` on the inferred type. That is
185
+ * unavoidable in Zod 3 for an `unknown`-typed key (`undefined extends unknown`), and is why this
186
+ * is enforced at runtime rather than trusted to the type.
187
+ */
170
188
  export declare const UpdateDataModelMessageSchema: z.ZodObject<{
171
189
  version: z.ZodLiteral<"v1.0">;
172
- updateDataModel: z.ZodObject<{
190
+ updateDataModel: z.ZodEffects<z.ZodObject<{
173
191
  surfaceId: z.ZodString;
174
192
  path: z.ZodOptional<z.ZodString>;
175
193
  value: z.ZodUnknown;
@@ -181,6 +199,14 @@ export declare const UpdateDataModelMessageSchema: z.ZodObject<{
181
199
  surfaceId: string;
182
200
  value?: unknown;
183
201
  path?: string | undefined;
202
+ }>, {
203
+ surfaceId: string;
204
+ value?: unknown;
205
+ path?: string | undefined;
206
+ }, {
207
+ surfaceId: string;
208
+ value?: unknown;
209
+ path?: string | undefined;
184
210
  }>;
185
211
  }, "strict", z.ZodTypeAny, {
186
212
  version: "v1.0";
@@ -421,7 +447,7 @@ declare const MESSAGE_KEY_SCHEMAS: {
421
447
  }>;
422
448
  readonly updateDataModel: z.ZodObject<{
423
449
  version: z.ZodLiteral<"v1.0">;
424
- updateDataModel: z.ZodObject<{
450
+ updateDataModel: z.ZodEffects<z.ZodObject<{
425
451
  surfaceId: z.ZodString;
426
452
  path: z.ZodOptional<z.ZodString>;
427
453
  value: z.ZodUnknown;
@@ -433,6 +459,14 @@ declare const MESSAGE_KEY_SCHEMAS: {
433
459
  surfaceId: string;
434
460
  value?: unknown;
435
461
  path?: string | undefined;
462
+ }>, {
463
+ surfaceId: string;
464
+ value?: unknown;
465
+ path?: string | undefined;
466
+ }, {
467
+ surfaceId: string;
468
+ value?: unknown;
469
+ path?: string | undefined;
436
470
  }>;
437
471
  }, "strict", z.ZodTypeAny, {
438
472
  version: "v1.0";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-to-renderer.d.ts","sourceRoot":"","sources":["../../src/a2ui/agent-to-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;gCAKhB,CAAC;AACjB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1F,yHAAyH;AACzH,eAAO,MAAM,oBAAoB;;;;;;;;;yCAAsC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AACZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAO3B,CAAC;AACZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;AACX,KAAK,UAAU,GAAG,MAAM,OAAO,mBAAmB,CAAC;AACnD,+PAA+P;AAC/P,eAAO,MAAM,8BAA8B,EAAuC,UAAU,EAAE,CAAC;AAG/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;IACxH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CA8CrF"}
1
+ {"version":3,"file":"agent-to-renderer.d.ts","sourceRoot":"","sources":["../../src/a2ui/agent-to-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;gCAKhB,CAAC;AACjB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1F,yHAAyH;AACzH,eAAO,MAAM,oBAAoB;;;;;;;;;yCAAsC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe9B,CAAC;AACZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAO3B,CAAC;AACZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;AACX,KAAK,UAAU,GAAG,MAAM,OAAO,mBAAmB,CAAC;AACnD,+PAA+P;AAC/P,eAAO,MAAM,8BAA8B,EAAuC,UAAU,EAAE,CAAC;AAG/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;IACxH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CA8CrF"}
@@ -66,6 +66,24 @@ export const UpdateComponentsMessageSchema = z
66
66
  .strict(),
67
67
  })
68
68
  .strict();
69
+ /**
70
+ * `value` is required by the real schema (`"required": ["surfaceId", "value"]`, re-fetched and
71
+ * checked 2026-07-29) — but declaring it `z.unknown()` did not make it so. In Zod 3 a key whose
72
+ * schema accepts `undefined` is satisfied by the key being absent entirely, and `undefined`
73
+ * inhabits `unknown`; `z.unknown().isOptional()` is literally `true`. So `{updateDataModel:
74
+ * {surfaceId: "s1"}}` parsed clean, and `interpreter.ts` then wrote that missing value at the
75
+ * default `'/'` pointer — replacing the surface's whole data model with `undefined`, silently,
76
+ * with no error message and no way for the agent to learn it had happened.
77
+ *
78
+ * Presence is therefore asserted on the object rather than on the field: there is no Zod 3 schema
79
+ * for "any value, but it has to be there," because optionality is decided by the field's *type*.
80
+ * `'value' in body` rather than a `!== undefined` check, so every legal JSON value — `null`
81
+ * (the spec's own delete verb), `false`, `0`, `""` — is still accepted as content.
82
+ *
83
+ * The same limitation leaves `value` typed `value?: unknown` on the inferred type. That is
84
+ * unavoidable in Zod 3 for an `unknown`-typed key (`undefined extends unknown`), and is why this
85
+ * is enforced at runtime rather than trusted to the type.
86
+ */
69
87
  export const UpdateDataModelMessageSchema = z
70
88
  .object({
71
89
  version: z.literal(PROTOCOL_VERSION),
@@ -75,7 +93,11 @@ export const UpdateDataModelMessageSchema = z
75
93
  path: z.string().optional(),
76
94
  value: z.unknown(),
77
95
  })
78
- .strict(),
96
+ .strict()
97
+ .refine((body) => 'value' in body, {
98
+ message: 'updateDataModel requires an explicit "value" (use null to delete the key at "path")',
99
+ path: ['value'],
100
+ }),
79
101
  })
80
102
  .strict();
81
103
  export const DeleteSurfaceMessageSchema = z
@@ -1 +1 @@
1
- {"version":3,"file":"agent-to-renderer.js","sourceRoot":"","sources":["../../src/a2ui/agent-to-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-to-renderer.js","sourceRoot":"","sources":["../../src/a2ui/agent-to-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExF,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,EAAE,EAAE,iBAAiB;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC;KACD,WAAW,EAAE,CAAC;AAGjB,yHAAyH;AACzH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAGxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,aAAa,EAAE,CAAC;SACb,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/D,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACrC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE;QAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACxD,CAAC;SACD,MAAM,EAAE;CACZ,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,gBAAgB,EAAE,CAAC;SAChB,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,oBAAoB;KACjC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,eAAe,EAAE,CAAC;SACf,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;KACnB,CAAC;SACD,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE;QACjC,OAAO,EAAE,qFAAqF;QAC9F,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC;CACL,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CAC5D,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,cAAc,EAAE,YAAY;IAC5B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,kBAAkB;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,cAAc,EAAE,CAAC;SACd,KAAK,CAAC;QACL,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACzC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KAC3F,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,wCAAwC,CAAC;CAC9F,CAAC;KACD,MAAM,EAAE,CAAC;AAWZ,MAAM,mBAAmB,GAAG;IAC1B,aAAa,EAAE,0BAA0B;IACzC,gBAAgB,EAAE,6BAA6B;IAC/C,eAAe,EAAE,4BAA4B;IAC7C,aAAa,EAAE,0BAA0B;IACzC,YAAY,EAAE,yBAAyB;IACvC,cAAc,EAAE,2BAA2B;CACnC,CAAC;AAEX,+PAA+P;AAC/P,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAiB,CAAC;AAC/F,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAapD;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAY;IACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;IAC7F,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAE3C,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;IAC7G,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,kCAAkC,gBAAgB,GAAG;SACvH,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,mEAAmE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACvG,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,wDAAwD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC1F,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,2FAA2F;QAC3F,6FAA6F;QAC7F,4FAA4F;QAC5F,uFAAuF;QACvF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,UAAU,CAAC,OAAO,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7G,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC"}
@@ -1,8 +1,9 @@
1
+ import type { ParseFailure } from './agent-to-renderer.js';
1
2
  import { WireComponentSchema } from './agent-to-renderer.js';
2
3
  import type { RendererToAgentMessage } from './renderer-to-agent.js';
3
4
  import { type Catalog } from './catalog.js';
4
5
  import { resolveDynamicValue } from './resolve.js';
5
- import { type DynamicValue } from './common-types.js';
6
+ import { type DynamicValue, type LocalFunctionAction } from './common-types.js';
6
7
  export interface ComponentInstance {
7
8
  readonly id: string;
8
9
  readonly component: string;
@@ -32,6 +33,28 @@ export type BuildActionResult = {
32
33
  readonly ok: false;
33
34
  readonly reason: string;
34
35
  };
36
+ /**
37
+ * Turns a `ParseFailure` (from `parseAgentToRendererMessage`) into what `applyAgentMessage`
38
+ * returns for it. See this module's doc, decision 4: an envelope malformed enough to carry no
39
+ * attributable `surfaceId`/`functionCallId` cannot be turned into a spec-shaped `error` message —
40
+ * `renderer_to_agent.json`'s own generic-error schema *requires* one of those two identifiers —
41
+ * so it surfaces out-of-band via `unattributedViolation` (a string, not sent over the wire)
42
+ * instead of forcing a fake identifier into a wire-conformant shape.
43
+ *
44
+ * Exported and pure — it only reads `parsed`/`raw`, so the surfaceId-attribution rule can be
45
+ * tested directly, without a live interpreter instance.
46
+ */
47
+ export declare function buildParseFailureResult(parsed: ParseFailure, raw: unknown): ApplyMessageResult;
48
+ /**
49
+ * Runs a component's local `functionCall` action synchronously against `dataModel` — no network
50
+ * round trip, no pending-action bookkeeping (that only applies to the agent-event branch; see
51
+ * `interpreter`'s `buildAction`/`buildAgentEventAction`).
52
+ *
53
+ * Exported and pure given its inputs, so "a local action resolves against the surface's actual
54
+ * data model, and a resolution failure becomes a typed refusal rather than a thrown error" can be
55
+ * tested without a live interpreter instance.
56
+ */
57
+ export declare function runLocalFunctionAction(dataModel: unknown, catalog: Catalog, action: LocalFunctionAction): BuildActionResult;
35
58
  export interface A2uiInterpreter {
36
59
  applyAgentMessage(raw: unknown): ApplyMessageResult;
37
60
  getSurface(surfaceId: string): SurfaceSnapshot | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/a2ui/interpreter.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAO7D,OAAO,KAAK,EAAwB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sGAAsG;IACtG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAiBD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC7D,2FAA2F;IAC3F,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAQpD,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAC3D,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,0LAA0L;IAC1L,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAC1D,4PAA4P;IAC5P,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC;IAC3F,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACnI,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAwPvE;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/a2ui/interpreter.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAA0C,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAO7D,OAAO,KAAK,EAAwB,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sGAAsG;IACtG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAiBD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC7D,2FAA2F;IAC3F,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAqBpD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAiC9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,mBAAmB,GAC1B,iBAAiB,CAGnB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAC3D,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,0LAA0L;IAC1L,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAC1D,4PAA4P;IAC5P,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC;IAC3F,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACnI,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CA+OvE;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -46,12 +46,80 @@ import { buildActionMessage, buildFunctionResponseMessage, buildGenericErrorMess
46
46
  import { setAtPointer } from './json-pointer.js';
47
47
  import { isComponentAllowed } from './catalog.js';
48
48
  import { resolveDynamicValue } from './resolve.js';
49
- import { isLocalFunctionAction } from './common-types.js';
49
+ import { isLocalFunctionAction, } from './common-types.js';
50
50
  let actionIdCounter = 0;
51
51
  function nextActionId() {
52
52
  actionIdCounter += 1;
53
53
  return `a2ui-action-${actionIdCounter}-${Date.now().toString(36)}`;
54
54
  }
55
+ /**
56
+ * Best-effort `surfaceId` extraction from a raw envelope's message-type-keyed body, without
57
+ * assuming the envelope is well-formed. Used only to attribute a parse failure to a surface when
58
+ * possible (see `buildParseFailureResult`); never trusted for anything else.
59
+ */
60
+ function bestEffortSurfaceId(raw, key) {
61
+ if (typeof raw !== 'object' || raw === null)
62
+ return undefined;
63
+ const body = raw[key];
64
+ if (typeof body !== 'object' || body === null)
65
+ return undefined;
66
+ const surfaceId = body.surfaceId;
67
+ return typeof surfaceId === 'string' ? surfaceId : undefined;
68
+ }
69
+ /**
70
+ * Turns a `ParseFailure` (from `parseAgentToRendererMessage`) into what `applyAgentMessage`
71
+ * returns for it. See this module's doc, decision 4: an envelope malformed enough to carry no
72
+ * attributable `surfaceId`/`functionCallId` cannot be turned into a spec-shaped `error` message —
73
+ * `renderer_to_agent.json`'s own generic-error schema *requires* one of those two identifiers —
74
+ * so it surfaces out-of-band via `unattributedViolation` (a string, not sent over the wire)
75
+ * instead of forcing a fake identifier into a wire-conformant shape.
76
+ *
77
+ * Exported and pure — it only reads `parsed`/`raw`, so the surfaceId-attribution rule can be
78
+ * tested directly, without a live interpreter instance.
79
+ */
80
+ export function buildParseFailureResult(parsed, raw) {
81
+ if (parsed.code === 'MISSING_VERSION'
82
+ || parsed.code === 'UNSUPPORTED_VERSION'
83
+ || parsed.code === 'NO_MESSAGE_KEY'
84
+ || parsed.code === 'AMBIGUOUS_MESSAGE') {
85
+ return { rendererMessages: [], unattributedViolation: parsed.message };
86
+ }
87
+ // VALIDATION_FAILED from the dispatcher: either `raw` wasn't even an object (`bestEffortSurfaceId`
88
+ // safely returns `undefined` for that, same as every other shape it doesn't recognize — no
89
+ // separate guard needed here), or exactly one of the six known message-type keys was present
90
+ // and its body failed schema validation. Checked against the *known* keys specifically
91
+ // (`AGENT_TO_RENDERER_MESSAGE_KEYS`), not "whatever the first non-version object key happens to
92
+ // be" — an envelope could carry unrelated extra top-level junk ahead of the real message key in
93
+ // insertion order, and grabbing that first would attribute the error to the wrong place. Best-
94
+ // effort surfaceId extraction so this can still be a spec-shaped error where possible
95
+ // (createSurface/updateComponents/updateDataModel/deleteSurface all carry surfaceId at the top
96
+ // of their body even when some other field is what actually failed validation); callFunction/
97
+ // actionResponse have no surfaceId at all, so those fall back to the out-of-band channel too.
98
+ const surfaceId = AGENT_TO_RENDERER_MESSAGE_KEYS.map((key) => bestEffortSurfaceId(raw, key)).find((id) => id !== undefined);
99
+ if (surfaceId) {
100
+ // `parsed.path` is guaranteed set here: `ParseFailure.path` is only ever omitted for the
101
+ // "raw input wasn't even an object" case (`agent-to-renderer.ts`'s very first guard), and
102
+ // `surfaceId` above could only have resolved to a truthy value if `raw` *was* an object
103
+ // (`bestEffortSurfaceId` requires that) — so this specific combination (object-shaped raw,
104
+ // yet no `path`) cannot occur. Asserted, not defensively branched, per this package's
105
+ // testing discipline (see the zod-issues-array comments elsewhere in this file).
106
+ return { rendererMessages: [buildValidationFailedMessage(surfaceId, parsed.path, parsed.message)] };
107
+ }
108
+ return { rendererMessages: [], unattributedViolation: parsed.message };
109
+ }
110
+ /**
111
+ * Runs a component's local `functionCall` action synchronously against `dataModel` — no network
112
+ * round trip, no pending-action bookkeeping (that only applies to the agent-event branch; see
113
+ * `interpreter`'s `buildAction`/`buildAgentEventAction`).
114
+ *
115
+ * Exported and pure given its inputs, so "a local action resolves against the surface's actual
116
+ * data model, and a resolution failure becomes a typed refusal rather than a thrown error" can be
117
+ * tested without a live interpreter instance.
118
+ */
119
+ export function runLocalFunctionAction(dataModel, catalog, action) {
120
+ const result = resolveDynamicValue(action.functionCall, { dataModel, catalog, side: 'renderer' });
121
+ return result.ok ? { ok: true, kind: 'local', result: result.value } : { ok: false, reason: result.detail };
122
+ }
55
123
  export function createA2uiInterpreter(catalog) {
56
124
  const surfaces = new Map();
57
125
  const listeners = new Set();
@@ -59,15 +127,6 @@ export function createA2uiInterpreter(catalog) {
59
127
  for (const listener of listeners)
60
128
  listener();
61
129
  }
62
- function bestEffortSurfaceId(raw, key) {
63
- if (typeof raw !== 'object' || raw === null)
64
- return undefined;
65
- const body = raw[key];
66
- if (typeof body !== 'object' || body === null)
67
- return undefined;
68
- const surfaceId = body.surfaceId;
69
- return typeof surfaceId === 'string' ? surfaceId : undefined;
70
- }
71
130
  function applyComponentsList(surface, wireComponents) {
72
131
  const errors = [];
73
132
  wireComponents.forEach((wireComponent, index) => {
@@ -146,7 +205,11 @@ export function createA2uiInterpreter(catalog) {
146
205
  }
147
206
  if (!wantResponse)
148
207
  return [];
149
- return [buildFunctionResponseMessage({ functionCallId, call: callFunction.call, value: result.value })];
208
+ // `?? null` because `functionResponse.value` is required on the wire and JSON has no
209
+ // `undefined`: a `returnType: 'void'` function (the catalog has three) resolves to
210
+ // `undefined`, and passing that straight through built a message whose `value` vanished on
211
+ // serialization — one this package's own `parseRendererToAgentMessage` correctly refuses.
212
+ return [buildFunctionResponseMessage({ functionCallId, call: callFunction.call, value: result.value ?? null })];
150
213
  }
151
214
  function handleActionResponse(message) {
152
215
  const { actionId, actionResponse } = message;
@@ -165,49 +228,25 @@ export function createA2uiInterpreter(catalog) {
165
228
  // sent a well-formed message, it just arrived too late (or was mistaken) to mean anything now.
166
229
  return [];
167
230
  }
231
+ /** Routes one successfully-parsed envelope to its message-type handler. */
232
+ function dispatchAgentMessage(message) {
233
+ if ('createSurface' in message)
234
+ return handleCreateSurface(message);
235
+ if ('updateComponents' in message)
236
+ return handleUpdateComponents(message);
237
+ if ('updateDataModel' in message)
238
+ return handleUpdateDataModel(message);
239
+ if ('deleteSurface' in message)
240
+ return handleDeleteSurface(message);
241
+ if ('callFunction' in message)
242
+ return handleCallFunction(message);
243
+ return handleActionResponse(message);
244
+ }
168
245
  function applyAgentMessage(raw) {
169
246
  const parsed = parseAgentToRendererMessage(raw);
170
- if (!parsed.ok) {
171
- if (parsed.code === 'MISSING_VERSION' || parsed.code === 'UNSUPPORTED_VERSION' || parsed.code === 'NO_MESSAGE_KEY' || parsed.code === 'AMBIGUOUS_MESSAGE') {
172
- return { rendererMessages: [], unattributedViolation: parsed.message };
173
- }
174
- // VALIDATION_FAILED from the dispatcher: either `raw` wasn't even an object (`bestEffortSurfaceId`
175
- // safely returns `undefined` for that, same as every other shape it doesn't recognize — no
176
- // separate guard needed here), or exactly one of the six known message-type keys was present
177
- // and its body failed schema validation. Checked against the *known* keys specifically
178
- // (`AGENT_TO_RENDERER_MESSAGE_KEYS`), not "whatever the first non-version object key happens to
179
- // be" — an envelope could carry unrelated extra top-level junk ahead of the real message key in
180
- // insertion order, and grabbing that first would attribute the error to the wrong place. Best-
181
- // effort surfaceId extraction so this can still be a spec-shaped error where possible
182
- // (createSurface/updateComponents/updateDataModel/deleteSurface all carry surfaceId at the top
183
- // of their body even when some other field is what actually failed validation); callFunction/
184
- // actionResponse have no surfaceId at all, so those fall back to the out-of-band channel too.
185
- const surfaceId = AGENT_TO_RENDERER_MESSAGE_KEYS.map((key) => bestEffortSurfaceId(raw, key)).find((id) => id !== undefined);
186
- if (surfaceId) {
187
- // `parsed.path` is guaranteed set here: `ParseFailure.path` is only ever omitted for the
188
- // "raw input wasn't even an object" case (`agent-to-renderer.ts`'s very first guard), and
189
- // `surfaceId` above could only have resolved to a truthy value if `raw` *was* an object
190
- // (`bestEffortSurfaceId` requires that) — so this specific combination (object-shaped raw,
191
- // yet no `path`) cannot occur. Asserted, not defensively branched, per this package's
192
- // testing discipline (see the zod-issues-array comments elsewhere in this file).
193
- return { rendererMessages: [buildValidationFailedMessage(surfaceId, parsed.path, parsed.message)] };
194
- }
195
- return { rendererMessages: [], unattributedViolation: parsed.message };
196
- }
197
- const message = parsed.message;
198
- let rendererMessages;
199
- if ('createSurface' in message)
200
- rendererMessages = handleCreateSurface(message);
201
- else if ('updateComponents' in message)
202
- rendererMessages = handleUpdateComponents(message);
203
- else if ('updateDataModel' in message)
204
- rendererMessages = handleUpdateDataModel(message);
205
- else if ('deleteSurface' in message)
206
- rendererMessages = handleDeleteSurface(message);
207
- else if ('callFunction' in message)
208
- rendererMessages = handleCallFunction(message);
209
- else
210
- rendererMessages = handleActionResponse(message);
247
+ if (!parsed.ok)
248
+ return buildParseFailureResult(parsed, raw);
249
+ const rendererMessages = dispatchAgentMessage(parsed.message);
211
250
  notify();
212
251
  return { rendererMessages };
213
252
  }
@@ -233,7 +272,8 @@ export function createA2uiInterpreter(catalog) {
233
272
  }
234
273
  return resolved;
235
274
  }
236
- function buildAction(surfaceId, componentId, now = Date.now) {
275
+ /** Looks up the surface, component, and `action` prop `buildAction` needs, or the specific reason it can't. */
276
+ function resolveActionTarget(surfaceId, componentId) {
237
277
  const surface = surfaces.get(surfaceId);
238
278
  if (!surface)
239
279
  return { ok: false, reason: `unknown surfaceId "${surfaceId}"` };
@@ -243,18 +283,11 @@ export function createA2uiInterpreter(catalog) {
243
283
  const action = component.props.action;
244
284
  if (!action)
245
285
  return { ok: false, reason: `component "${componentId}" has no action` };
246
- if (isLocalFunctionAction(action)) {
247
- const result = resolveDynamicValue(action.functionCall, { dataModel: surface.dataModel, catalog, side: 'renderer' });
248
- return result.ok ? { ok: true, kind: 'local', result: result.value } : { ok: false, reason: result.detail };
249
- }
250
- // `ActionSchema` (validated when this component's props were ingested — see
251
- // `applyComponentsList`) is a closed 2-branch union: `{event}` | `{functionCall}`. Having
252
- // already eliminated the `functionCall` branch above, TypeScript itself narrows `action` to
253
- // the `event` branch here — no runtime `isAgentEventAction` re-check is reachable to fail; a
254
- // malformed third shape could never have made it into `component.props.action` in the first
255
- // place. (Not defensively branched-and-left-untested, per this package's own testing
256
- // discipline — see the zod-issues-array comments above for the same principle.)
257
- const { name, context, wantResponse, responsePath } = action.event;
286
+ return { ok: true, surface, action };
287
+ }
288
+ /** Builds the `action` wire envelope for an agent-event action, registering a pending response if `wantResponse` was set. */
289
+ function buildAgentEventAction(surface, surfaceId, componentId, event, now) {
290
+ const { name, context, wantResponse, responsePath } = event;
258
291
  const actionId = wantResponse ? nextActionId() : undefined;
259
292
  if (actionId) {
260
293
  surface.pendingActions.set(actionId, { name, sourceComponentId: componentId, responsePath });
@@ -270,6 +303,23 @@ export function createA2uiInterpreter(catalog) {
270
303
  };
271
304
  return { ok: true, kind: 'agent', message: buildActionMessage(payload) };
272
305
  }
306
+ function buildAction(surfaceId, componentId, now = Date.now) {
307
+ const target = resolveActionTarget(surfaceId, componentId);
308
+ if (!target.ok)
309
+ return target;
310
+ const { surface, action } = target;
311
+ if (isLocalFunctionAction(action)) {
312
+ return runLocalFunctionAction(surface.dataModel, catalog, action);
313
+ }
314
+ // `ActionSchema` (validated when this component's props were ingested — see
315
+ // `applyComponentsList`) is a closed 2-branch union: `{event}` | `{functionCall}`. Having
316
+ // already eliminated the `functionCall` branch above, TypeScript itself narrows `action` to
317
+ // the `event` branch here — no runtime `isAgentEventAction` re-check is reachable to fail; a
318
+ // malformed third shape could never have made it into `component.props.action` in the first
319
+ // place. (Not defensively branched-and-left-untested, per this package's own testing
320
+ // discipline — see the zod-issues-array comments above for the same principle.)
321
+ return buildAgentEventAction(surface, surfaceId, componentId, action.event, now);
322
+ }
273
323
  return {
274
324
  applyAgentMessage,
275
325
  getSurface,
@@ -1 +1 @@
1
- {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/a2ui/interpreter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/a2ui/interpreter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer.d.ts","sourceRoot":"","sources":["../../src/a2ui/json-pointer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAiBD,oGAAoG;AACpG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGrE;AAED,iOAAiO;AACjO,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CA4B5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAkDnF"}
1
+ {"version":3,"file":"json-pointer.d.ts","sourceRoot":"","sources":["../../src/a2ui/json-pointer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AA4CD,oGAAoG;AACpG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGrE;AAED,iOAAiO;AACjO,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CA4B5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAkDnF"}