@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
@@ -0,0 +1,173 @@
1
+ /**
2
+ * @module webmcp
3
+ *
4
+ * Projection: {@link CapabilityDef} → a WebMCP tool registration.
5
+ *
6
+ * WebMCP (`document.modelContext.registerTool`) is the browser API by which a *page* offers
7
+ * tools to an agent running inside the browser. It is a W3C Community Group draft, not a
8
+ * standards-track spec, and it moves: the API relocated from `navigator.modelContext` to
9
+ * `document.modelContext` on 2026-07-21, Chrome 150 deprecated the `navigator` location while
10
+ * still serving it during the origin trial (Chrome 149–156), Edge ships it behind a flag, and
11
+ * Firefox and Safari have made no commitment. Feature detection must therefore check `document`
12
+ * first and fall back to `navigator`.
13
+ *
14
+ * That detection is deliberately NOT here: it touches browser globals, and this package holds
15
+ * none. Framework bindings own host access; this file owns only the shape translation, so when
16
+ * the registration shape changes again there is exactly one place to change it.
17
+ *
18
+ * Re-verified 2026-07-28 against the primary spec source
19
+ * (https://webmachinelearning.github.io/webmcp/, `index.bs`). Four real gaps closed this pass,
20
+ * all additive — none change the confirmation gate below, which is Jini's own addition and has
21
+ * no spec counterpart:
22
+ *
23
+ * 1. **`signal`/`exposedTo`** — `ModelContextRegisterToolOptions`, the *second* positional
24
+ * argument to `registerTool(tool, options)`. `signal` is the spec's ONLY unregistration
25
+ * mechanism (there is no `unregisterTool()`); aborting it removes the tool and fires
26
+ * `toolchange`. `exposedTo` scopes which cross-origin documents in the same tree may see the
27
+ * tool. Neither belongs on the `ModelContextTool` dict itself, so they are not fields of
28
+ * {@link WebMcpToolRegistration} — they ride along on its optional `registerOptions`, computed
29
+ * from {@link ToWebMcpToolOptions}, so a caller has exactly one object to destructure:
30
+ * `modelContext.registerTool(reg, reg.registerOptions)`.
31
+ * 2. **`title`/`annotations`** — real `ModelContextTool` dict fields (`USVString title`,
32
+ * `ToolAnnotations annotations`), now on {@link WebMcpToolRegistration}. `annotations.readOnlyHint`
33
+ * defaults from {@link CapabilityDef.risk} (`'read'` → `true`) since Jini's manifests already
34
+ * carry that judgment; a caller may override or add `untrustedContentHint` via `options.annotations`.
35
+ * 3. **Tool name validation** — the spec's `registerTool` algorithm rejects (with an
36
+ * `InvalidStateError` `DOMException`) a name that is empty, over 128 code points, or contains
37
+ * anything outside ASCII alphanumeric plus `_`, `-`, `.`. `capability.id` becomes `name`
38
+ * verbatim, so a malformed manifest entry previously surfaced as a cryptic browser-side
39
+ * rejection days later; {@link toWebMcpTool} now checks it at projection time and names the
40
+ * offending capability.
41
+ * 4. **Schema-on-error** — WebMCP defines no input validation of its own (the spec's
42
+ * `ToolExecuteCallback` is just `Promise<any> (object input)`), and this module's own doc used
43
+ * to say so ("the caller is responsible for validating it... WebMCP does not"). That left a
44
+ * wrong-schema call to fail deep inside whatever `execute` does, with no way for the caller to
45
+ * self-correct in the same turn. `execute` now runs the manifest's own
46
+ * {@link findCapabilityInputError} first and, on failure, throws the same
47
+ * `"<id>: <reason>. Expected input: <schema>"` shape `page-executor.ts` already uses for
48
+ * `page.*` — one discipline, not two.
49
+ */
50
+ import { findCapabilityInputError } from './capability.js';
51
+ /** Thrown in place of executing, when a call needed confirmation and did not get it. */
52
+ export class WebMcpConfirmationRequiredError extends Error {
53
+ capabilityId;
54
+ reason;
55
+ constructor(capabilityId, reason) {
56
+ super(reason === 'declined'
57
+ ? `WebMCP: "${capabilityId}" was declined by the user`
58
+ : `WebMCP: "${capabilityId}" requires confirmation, but no requestUserInteraction handler was supplied`);
59
+ this.capabilityId = capabilityId;
60
+ this.reason = reason;
61
+ this.name = 'WebMcpConfirmationRequiredError';
62
+ }
63
+ }
64
+ /**
65
+ * The spec's tool-name rule, verbatim: "The tool definition's name's length must be between 1 and
66
+ * 128, inclusive, and only consist of ASCII alphanumeric code points, U+005F LOW LINE (_), U+002D
67
+ * HYPHEN-MINUS (-), and U+002E FULL STOP (.)." A name outside this is rejected by `registerTool`
68
+ * with an `InvalidStateError` `DOMException` — this projection checks it earlier, at manifest time.
69
+ */
70
+ const WEBMCP_TOOL_NAME_PATTERN = /^[A-Za-z0-9_.-]{1,128}$/;
71
+ /** Whether `name` satisfies the spec's tool-name rule. Exported so a caller can pre-check a manifest without registering anything. */
72
+ export function isValidWebMcpToolName(name) {
73
+ return WEBMCP_TOOL_NAME_PATTERN.test(name);
74
+ }
75
+ /**
76
+ * Thrown synchronously by {@link toWebMcpTool} for a capability whose `id` cannot legally become a
77
+ * WebMCP tool name. Distinct from {@link WebMcpConfirmationRequiredError}: this is a manifest
78
+ * defect caught before any registration is attempted, not a runtime refusal of a call.
79
+ */
80
+ export class InvalidWebMcpToolNameError extends Error {
81
+ capabilityId;
82
+ constructor(capabilityId) {
83
+ super(`WebMCP: capability id "${capabilityId}" is not a valid tool name — the spec requires 1-128 `
84
+ + 'ASCII alphanumeric characters plus "_", "-", "." '
85
+ + '(https://webmachinelearning.github.io/webmcp/#dom-modelcontext-registertool)');
86
+ this.capabilityId = capabilityId;
87
+ this.name = 'InvalidWebMcpToolNameError';
88
+ }
89
+ }
90
+ /**
91
+ * Projects one capability into a WebMCP registration.
92
+ *
93
+ * **The confirmation gate is fail-closed.** A capability with `requiresConfirmation` will not run
94
+ * unless `options.requestUserInteraction` is supplied *and* resolves `true`. Omitting the handler
95
+ * does not silently downgrade to "just run it" — it makes the tool permanently refuse, which is
96
+ * the only safe reading of a manifest that asked for confirmation.
97
+ *
98
+ * This does not make WebMCP governed. It is a page-local gate over a path that still has no run,
99
+ * no principal, no `ToolExecutor` and no audit trail (see this package's `frontend-session-registry`
100
+ * note and §11 of the capability report). It closes the *accidental* case — a destructive
101
+ * capability reaching the page with nothing in front of it — not the authorization gap.
102
+ *
103
+ * @param capability - The capability to expose.
104
+ * @param execute - Runs the capability. Receives the raw argument object, already checked against
105
+ * `capability.inputSchema` — a caller-supplied value that fails validation never reaches this.
106
+ * @param options - Optional confirmation handler, title/annotations, and registration options
107
+ * (`signal`/`exposedTo`); required in practice for any capability declaring `requiresConfirmation`.
108
+ * @returns The registration object to hand to `registerTool`.
109
+ * @throws {@link InvalidWebMcpToolNameError} synchronously, if `capability.id` cannot be a WebMCP
110
+ * tool name.
111
+ * @throws {@link WebMcpConfirmationRequiredError} from `execute`, when confirmation is required
112
+ * and is either declined or unobtainable.
113
+ */
114
+ export function toWebMcpTool(capability, execute, options = {}) {
115
+ if (!isValidWebMcpToolName(capability.id)) {
116
+ throw new InvalidWebMcpToolNameError(capability.id);
117
+ }
118
+ const { title, annotations, signal, exposedTo } = options;
119
+ const resolvedAnnotations = {
120
+ readOnlyHint: capability.risk === 'read',
121
+ ...annotations,
122
+ };
123
+ const registerOptions = signal !== undefined || exposedTo !== undefined
124
+ ? { ...(signal !== undefined ? { signal } : {}), ...(exposedTo !== undefined ? { exposedTo } : {}) }
125
+ : undefined;
126
+ return {
127
+ name: capability.id,
128
+ ...(title !== undefined ? { title } : {}),
129
+ description: capability.description,
130
+ inputSchema: capability.inputSchema,
131
+ execute: async (args) => {
132
+ const input = args ?? {};
133
+ // Schema-on-error, matching page-executor.ts's discipline for page.* — WebMCP defines no
134
+ // input validation of its own, so a wrong-schema call would otherwise reach `execute` (or a
135
+ // confirmation prompt for one) with bad arguments instead of a same-turn correctable error.
136
+ const inputError = findCapabilityInputError(capability, input);
137
+ if (inputError !== null) {
138
+ throw new Error(`${capability.id}: ${inputError}. Expected input: ${JSON.stringify(capability.inputSchema)}`);
139
+ }
140
+ if (capability.requiresConfirmation === true) {
141
+ const { requestUserInteraction } = options;
142
+ if (!requestUserInteraction) {
143
+ throw new WebMcpConfirmationRequiredError(capability.id, 'no-handler');
144
+ }
145
+ const approved = await requestUserInteraction({ capability, args: input });
146
+ if (approved !== true) {
147
+ throw new WebMcpConfirmationRequiredError(capability.id, 'declined');
148
+ }
149
+ }
150
+ return execute(capability.id, input);
151
+ },
152
+ annotations: resolvedAnnotations,
153
+ ...(registerOptions !== undefined ? { registerOptions } : {}),
154
+ };
155
+ }
156
+ /**
157
+ * Projects a whole manifest.
158
+ *
159
+ * `options` is shared across every capability — safe for `requestUserInteraction`, `signal`, and
160
+ * `exposedTo`, which are naturally uniform for one registration session; do not pass `title`
161
+ * through this one, since it would repeat verbatim across every tool in the manifest (see
162
+ * {@link ToWebMcpToolOptions.title}).
163
+ *
164
+ * @param capabilities - Capabilities to expose, already filtered by whatever policy applies.
165
+ * @param execute - Shared dispatcher, keyed by capability id.
166
+ * @returns One registration per capability, in manifest order.
167
+ * @throws {@link InvalidWebMcpToolNameError} synchronously, for the first capability whose `id`
168
+ * cannot be a WebMCP tool name.
169
+ */
170
+ export function toWebMcpTools(capabilities, execute, options = {}) {
171
+ return capabilities.map((capability) => toWebMcpTool(capability, execute, options));
172
+ }
173
+ //# sourceMappingURL=webmcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webmcp.js","sourceRoot":"","sources":["../../src/core/webmcp.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import type { PageDriver } from '../page-driver.js';
2
+ /** One page a host allows navigation to: its human label, and how to actually get there. */
3
+ export interface DomPageDriverPage {
4
+ /** Shown to a caller by `page.find_elements`/`page.navigate`'s refusal message — see
5
+ * `PageSummary.label` for why this exists at all. */
6
+ readonly label: string;
7
+ readonly navigate: () => void;
8
+ }
2
9
  export interface DomPageDriverOptions {
3
10
  /** The subtree to expose. Never pass `document`. */
4
11
  readonly root: ParentNode & {
5
12
  querySelector: Element['querySelector'];
6
13
  };
7
- /** Page ids this driver may navigate to, and how to get there. */
8
- readonly pages: Readonly<Record<string, () => void>>;
14
+ /** Page ids this driver may navigate to, each with its label and how to get there. */
15
+ readonly pages: Readonly<Record<string, DomPageDriverPage>>;
9
16
  /**
10
17
  * The id of the page currently shown, reported on every element.
11
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dom-page-driver.d.ts","sourceRoot":"","sources":["../../src/dom/dom-page-driver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAsB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAoMxE,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;KAAE,CAAC;IACxE,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IACrD;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAwT7E;AAgDD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAGrE"}
1
+ {"version":3,"file":"dom-page-driver.d.ts","sourceRoot":"","sources":["../../src/dom/dom-page-driver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAsB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgNxE,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC;0DACsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;KAAE,CAAC;IACxE,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC5D;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CA2V7E;AAgDD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAGrE"}
@@ -53,51 +53,55 @@ function isEditableRegion(element) {
53
53
  // Editability inherited from an ancestor, which only a real layout engine can tell us about.
54
54
  return element.isContentEditable === true;
55
55
  }
56
- /** Every `<label>` associated with `control` by whichever relationship resolves first. */
57
- function labelTextOf(control) {
56
+ /** The text of every `<label>` associated with `control`, by any of the relationships that link one. */
57
+ function labelTextsOf(control) {
58
+ const texts = [];
59
+ const add = (text) => {
60
+ const trimmed = text?.trim();
61
+ if (trimmed)
62
+ texts.push(trimmed);
63
+ };
58
64
  // Real form controls carry `.labels` — every associated <label>, both for-linked and wrapping.
59
65
  const associated = 'labels' in control
60
66
  ? Array.from(control.labels ?? [])
61
67
  : [];
62
- for (const label of associated) {
63
- const text = label.textContent?.trim();
64
- if (text)
65
- return text;
66
- }
68
+ for (const label of associated)
69
+ add(label.textContent);
67
70
  // A contenteditable region is not a form control and has no `.labels`; resolve the same two
68
71
  // relationships by hand — an ancestor <label> (implicit wrapping) and a for-linked one (explicit).
69
72
  const wrapping = control.closest('label');
70
- if (wrapping) {
71
- const text = wrapping.textContent?.trim();
72
- if (text)
73
- return text;
74
- }
73
+ if (wrapping)
74
+ add(wrapping.textContent);
75
75
  if (control.id) {
76
76
  for (const label of Array.from(control.ownerDocument.querySelectorAll('label'))) {
77
- if (label.htmlFor === control.id) {
78
- const text = label.textContent?.trim();
79
- if (text)
80
- return text;
81
- }
77
+ if (label.htmlFor === control.id)
78
+ add(label.textContent);
82
79
  }
83
80
  }
84
- return undefined;
81
+ return texts;
85
82
  }
86
83
  /**
87
- * The field's human-visible label, for the guard's benefit: `name`/`id` are the machine names, and
88
- * a CMS emitting `name="field_47"` next to a visibly-labelled "Card number" leaves every guard here
89
- * nothing to judge unless this is populated. Resolution order: `aria-label`, then `placeholder`,
90
- * then the text of an associated `<label>` (for-linked or wrapping) — whichever the driver can
91
- * resolve first.
84
+ * **Every** human-visible naming of the field, for the guard's benefit: `name`/`id` are the machine
85
+ * names, and a CMS emitting `name="field_47"` next to a visibly-labelled "Card number" leaves every
86
+ * guard here nothing to judge unless this is populated. Sources, in the order a human would read
87
+ * them: `aria-label`, `placeholder`, then the text of each associated `<label>` (for-linked or
88
+ * wrapping).
89
+ *
90
+ * All of them, not the first that resolves. Stopping at the first made the *page* the one choosing
91
+ * which of its own labels the guard is allowed to see, which is the opposite of what a guard is
92
+ * for: `<label for=f>Card number</label><input id=f name=field_47 placeholder="Enter value">` was
93
+ * described to the guard as "Enter value" alone, and its value read back in full.
94
+ *
95
+ * De-duplicated because one label is often reachable twice (a wrapping `<label>` is also in
96
+ * `.labels`), and a repeated entry is noise in every refusal built from these.
92
97
  */
93
- function accessibleLabelOf(control) {
94
- const ariaLabel = control.getAttribute('aria-label')?.trim();
95
- if (ariaLabel)
96
- return ariaLabel;
97
- const placeholder = control.getAttribute('placeholder')?.trim();
98
- if (placeholder)
99
- return placeholder;
100
- return labelTextOf(control);
98
+ function accessibleLabelsOf(control) {
99
+ const candidates = [
100
+ control.getAttribute('aria-label')?.trim(),
101
+ control.getAttribute('placeholder')?.trim(),
102
+ ...labelTextsOf(control),
103
+ ];
104
+ return [...new Set(candidates.filter((text) => !!text))];
101
105
  }
102
106
  /** The field attributes the guards need, or `null` when the control is not a text-bearing input. */
103
107
  function fieldDescriptorOf(control) {
@@ -114,7 +118,7 @@ function fieldDescriptorOf(control) {
114
118
  autocomplete: control.getAttribute('autocomplete')?.toLowerCase() || undefined,
115
119
  name: control.getAttribute('name') || undefined,
116
120
  id: control.id || undefined,
117
- accessibleLabel: accessibleLabelOf(control),
121
+ accessibleLabels: accessibleLabelsOf(control),
118
122
  readOnly: control.getAttribute('aria-readonly') === 'true',
119
123
  disabled: control.getAttribute('aria-disabled') === 'true',
120
124
  };
@@ -127,7 +131,7 @@ function fieldDescriptorOf(control) {
127
131
  autocomplete: control.getAttribute('autocomplete')?.toLowerCase() ?? undefined,
128
132
  name: control.name || undefined,
129
133
  id: control.id || undefined,
130
- accessibleLabel: accessibleLabelOf(control),
134
+ accessibleLabels: accessibleLabelsOf(control),
131
135
  readOnly: control.readOnly,
132
136
  // `.disabled` reflects only this element's own attribute — not the "actually disabled" state
133
137
  // a control gets from an ancestor `<fieldset disabled>`. `:disabled` is the platform's own
@@ -178,7 +182,14 @@ function describe(element, page) {
178
182
  const role = element.getAttribute(AGENT_ROLE_ATTRIBUTE);
179
183
  /* c8 ignore next -- `Node.textContent` is typed nullable for the abstract node; on an Element it is always a string, so the `?? ''` satisfies the type and is not a reachable path. */
180
184
  const text = element.textContent ?? '';
181
- const label = element.getAttribute(AGENT_LABEL_ATTRIBUTE) ?? text;
185
+ // Live text is a fine fallback label for an ordinary element — it is the page's own ontology,
186
+ // rendered openly. For an editable region it is not: a contenteditable's content is the *user's
187
+ // data*, so falling back to it published the contents of a rich-text field to every
188
+ // `find_elements` caller, with no `withState` asked for and no read guard anywhere in the way
189
+ // (`<div contenteditable name="password">hunter2</div>` reported `label: "hunter2"`). Such a
190
+ // region is named by what labels it instead, exactly as `fieldDescriptorOf` describes it.
191
+ const fallback = isEditableRegion(element) ? (accessibleLabelsOf(element)[0] ?? '') : text;
192
+ const label = element.getAttribute(AGENT_LABEL_ATTRIBUTE) ?? fallback;
182
193
  /* c8 ignore next -- only ever called on a `[data-agent-element]` match, so the attribute is present by construction. */
183
194
  const handle = element.getAttribute(AGENT_ELEMENT_ATTRIBUTE) ?? '';
184
195
  return {
@@ -294,7 +305,10 @@ export function createDomPageDriver(options) {
294
305
  });
295
306
  },
296
307
  async listPages() {
297
- return Object.keys(pages);
308
+ // `Object.entries`, same own-enumerable-keys-only guarantee `Object.keys` gives `navigate`'s
309
+ // own `hasOwnProperty` check above — no risk of a `pages.label`/`pages.navigate`-shaped
310
+ // prototype entry leaking in as a fake page id.
311
+ return Object.entries(pages).map(([id, page]) => ({ id, label: page.label }));
298
312
  },
299
313
  async describeField(handle) {
300
314
  return fieldDescriptorOf(controlOf(find(handle)));
@@ -323,6 +337,10 @@ export function createDomPageDriver(options) {
323
337
  type: 'select',
324
338
  name: dropdown.name || undefined,
325
339
  id: dropdown.id || undefined,
340
+ // Same reason `fieldDescriptorOf` carries these: a `<select aria-label="Card number"
341
+ // name="f9">` states its sensitivity nowhere else, and this descriptor is built by hand
342
+ // rather than going through that function, so it needs the labels wired up separately.
343
+ accessibleLabels: accessibleLabelsOf(dropdown),
326
344
  // Same `:disabled` reasoning as `disabledOf` — a `<select>` inside a disabled `<fieldset>`
327
345
  // is not itself flagged by the `.disabled` IDL property.
328
346
  disabled: dropdown.matches(':disabled'),
@@ -334,6 +352,12 @@ export function createDomPageDriver(options) {
334
352
  const text = element.textContent ?? '';
335
353
  return {
336
354
  text,
355
+ // A contenteditable region has no `.value`; its content IS its value, so `text` is the
356
+ // one channel carrying it and the executor has to gate it exactly like a value. Reported
357
+ // as a mechanical fact about the element, not as a judgment about the content — the
358
+ // decision of whether it may be shown stays in `projectElementState`, with every other
359
+ // secrecy rule.
360
+ ...(isEditableRegion(control) ? { textIsValue: true } : {}),
337
361
  // Reported raw and unconditionally; `projectElementState` applies the read guard. A
338
362
  // driver deciding here which values are secret is a driver holding policy.
339
363
  ...(value !== undefined ? { value } : {}),
@@ -442,11 +466,24 @@ export function createDomPageDriver(options) {
442
466
  if (!(control instanceof HTMLSelectElement)) {
443
467
  throw new Error(`"${handle}" is not a dropdown`);
444
468
  }
469
+ // A disabled control is not one a user could touch, so writing to it is a way around the
470
+ // page's own rule and the resulting selection cannot be submitted. The per-`<option>` filter
471
+ // below reads as if it enforced that, but only ever looked at each option — a
472
+ // `<select disabled>` (and a `<select>` inside a `<fieldset disabled>`, which `:disabled`
473
+ // also covers and `.disabled` does not) was written to happily, and the executor then
474
+ // reported `targetChanged: true` because the value really had changed.
475
+ //
476
+ // Checked before the option lookup on purpose: the refusal is about the control, so it must
477
+ // not depend on the caller having named a real option, and the "Available: ..." message must
478
+ // not enumerate a disabled control's options.
479
+ if (control.matches(':disabled')) {
480
+ throw new Error(`"${handle}" is disabled, so its selection cannot be changed — `
481
+ + 'a user cannot change it either, and its value would not be submitted');
482
+ }
445
483
  // Visible text first, then value: the text is what a caller saw in `find_elements`, and
446
484
  // matching value first would make an option whose value collides with another's label
447
485
  // resolve to the wrong entry.
448
- // A disabled option is not selectable by the user either, so offering it to an agent would
449
- // be a way around the page's own rule — and the resulting selection cannot be submitted.
486
+ // A disabled option is not selectable by the user either, for the same reason.
450
487
  const options = Array.from(control.options).filter((entry) => !entry.disabled);
451
488
  const match = options.find((entry) => entry.text.trim() === option)
452
489
  ?? options.find((entry) => entry.value === option);
@@ -491,15 +528,22 @@ export function createDomPageDriver(options) {
491
528
  control.dispatchEvent(new Event('change', { bubbles: true }));
492
529
  },
493
530
  async navigate(page) {
494
- const go = pages[page];
531
+ // `hasOwnProperty`, not `pages[page]`: a plain object literal inherits everything
532
+ // `Object.prototype` contributes, so a bare lookup answered `navigate("constructor")` with
533
+ // the `Object` constructor — a function the host never published, which this then called,
534
+ // reporting a navigation that never happened. `navigate("__proto__")` was worse in a
535
+ // different way: it resolved a non-callable object and failed with "go is not a function"
536
+ // instead of the refusal this check exists to produce. `listPages` already reports only own
537
+ // keys (`Object.keys`), so this is what makes the two agree.
538
+ const published = Object.prototype.hasOwnProperty.call(pages, page);
495
539
  // The executor already checked the allowlist and sanitizes this same message before this
496
540
  // driver-level check would ever be reached through it; this is the belt on the braces. But
497
541
  // `PageDriver` is a public interface — a caller that reaches this method directly, bypassing
498
542
  // the executor entirely, hands `page` in unsanitized, so the same bound-and-strip treatment
499
543
  // applies here too rather than assuming the only caller is the one that already checked.
500
- if (go === undefined)
544
+ if (!published)
501
545
  throw new Error(`"${normalizeAgentLabel(page).text}" is not a published page`);
502
- go();
546
+ pages[page].navigate();
503
547
  },
504
548
  };
505
549
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dom-page-driver.js","sourceRoot":"","sources":["../../src/dom/dom-page-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom-page-driver.js","sourceRoot":"","sources":["../../src/dom/dom-page-driver.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * `@jini-ai/chat-react` is this package's one in-repo consumer today.
9
9
  */
10
- export { createDomPageDriver, currentAgentPage, type DomPageDriverOptions } from './dom-page-driver.js';
10
+ export { createDomPageDriver, currentAgentPage, type DomPageDriverOptions, type DomPageDriverPage, } from './dom-page-driver.js';
11
11
  /**
12
12
  * WebMCP feature detection — moved 2026-07-26 from `@jini-ai/ui`'s `agent-tools/model-context.ts`
13
13
  * (plan §8 step 6). See `model-context.ts`'s module doc for why it lives here rather than
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAExG;;;;GAIG;AACH,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,GACvC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,GACvC,MAAM,oBAAoB,CAAC"}
package/dist/dom/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * `@jini-ai/chat-react` is this package's one in-repo consumer today.
9
9
  */
10
- export { createDomPageDriver, currentAgentPage } from './dom-page-driver.js';
10
+ export { createDomPageDriver, currentAgentPage, } from './dom-page-driver.js';
11
11
  /**
12
12
  * WebMCP feature detection — moved 2026-07-26 from `@jini-ai/ui`'s `agent-tools/model-context.ts`
13
13
  * (plan §8 step 6). See `model-context.ts`'s module doc for why it lives here rather than
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAA6B,MAAM,sBAAsB,CAAC;AAExG;;;;GAIG;AACH,OAAO,EACL,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,OAAO,EACL,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC"}
@@ -55,9 +55,20 @@ export interface AgentElementDescriptor {
55
55
  * `text` and any `value` are page-authored and therefore untrusted, exactly like `label`.
56
56
  */
57
57
  export interface AgentElementState {
58
- /** Live text rendered inside the element, normalized and bounded. Empty for a bare input. */
58
+ /**
59
+ * Live text rendered inside the element, normalized and bounded. Empty for a bare input, and
60
+ * empty when withheld — see {@link AgentElementState.textWithheld}.
61
+ */
59
62
  readonly text: string;
60
63
  readonly textTruncated: boolean;
64
+ /**
65
+ * Why `text` is empty on an element that has some — so a caller reads "withheld", not "blank".
66
+ *
67
+ * Only ever set for an editable region (a `contenteditable`), whose text is the field's own
68
+ * contents rather than page-authored chrome. Every other element's text is what the page already
69
+ * renders openly to anyone looking at it.
70
+ */
71
+ readonly textWithheld?: string;
61
72
  /** The field's current contents. Absent when the element is not a field, or when withheld. */
62
73
  readonly value?: string;
63
74
  readonly valueTruncated?: boolean;
@@ -86,6 +97,16 @@ export interface AgentElementState {
86
97
  export interface AgentElementRawState {
87
98
  /** Raw text content. The executor normalizes and bounds it. */
88
99
  readonly text: string;
100
+ /**
101
+ * True when this element's `text` IS the field's contents rather than page-authored chrome —
102
+ * i.e. it is an editable region (`contenteditable`), which has no `value` of its own.
103
+ *
104
+ * A mechanical fact about the element, which is why a driver reports it: only the driver can
105
+ * tell. What follows from it is policy and stays in `projectElementState`, which gates such text
106
+ * with the same read guard it applies to `value`. Without this, a `<div contenteditable
107
+ * name="password">` had no `value` to withhold and handed the secret back as `text` instead.
108
+ */
109
+ readonly textIsValue?: boolean | undefined;
89
110
  /** Raw field contents, reported unconditionally; the executor applies the read guard. */
90
111
  readonly value?: string | undefined;
91
112
  readonly checked?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"element-handles.d.ts","sourceRoot":"","sources":["../src/element-handles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD,qGAAqG;AACrG,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAE1D,CAAC;AAYF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,iGAAiG;IACjG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAClD"}
1
+ {"version":3,"file":"element-handles.d.ts","sourceRoot":"","sources":["../src/element-handles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD,qGAAqG;AACrG,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAE1D,CAAC;AAYF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,iGAAiG;IACjG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3C,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAClD"}
@@ -15,9 +15,9 @@
15
15
  * stream into AG-UI *wire* events. Same protocol, two unrelated halves of it.
16
16
  */
17
17
  import type { RunProtocolEvent } from '@jini-ai/protocol';
18
- import type { AGUIEvent } from './events.js';
19
- export interface AguiEncodeContext {
20
- /** The run this event belongs to — stamped onto every produced `AGUIEvent`. */
18
+ import type { GenUiEvent } from './events.js';
19
+ export interface GenUiEncodeContext {
20
+ /** The run this event belongs to — stamped onto every produced `GenUiEvent`. */
21
21
  readonly runId: string;
22
22
  /** Passed through onto the produced event's `seq`, when the caller tracks one (e.g. an SSE `Last-Event-ID`-shaped cursor). Omitted entirely (not set to `undefined`) when absent, matching the original adapter's own base-field construction. */
23
23
  readonly seq?: number;
@@ -32,19 +32,19 @@ export interface AguiEncodeContext {
32
32
  * an instance across multiple runs, since the correlation map has no per-run partitioning of its
33
33
  * own (`ctx.runId` is only used to stamp the produced event, not to scope the map).
34
34
  */
35
- export interface AguiEncoder {
35
+ export interface GenUiEncoder {
36
36
  /**
37
- * Encodes one `RunProtocolEvent` into an `AGUIEvent`, or `null` if this event has no AG-UI
37
+ * Encodes one `RunProtocolEvent` into an `GenUiEvent`, or `null` if this event has no AG-UI
38
38
  * equivalent (an unrecognized/not-yet-generalized event kind — silently dropped by the relay,
39
39
  * matching the original adapter's own default behavior).
40
40
  */
41
- encode(event: RunProtocolEvent, ctx: AguiEncodeContext): AGUIEvent | null;
41
+ encode(event: RunProtocolEvent, ctx: GenUiEncodeContext): GenUiEvent | null;
42
42
  }
43
43
  /**
44
- * Creates a fresh `AguiEncoder` with its own, empty tool-call correlation map.
44
+ * Creates a fresh `GenUiEncoder` with its own, empty tool-call correlation map.
45
45
  * @complexity `encode` is O(1) per call (one `Map` get/set/delete); memory is O(k) in the number
46
46
  * of currently in-flight (not yet resolved) tool calls for the run this instance encodes.
47
47
  * @overallScore 100/100
48
48
  */
49
- export declare function createAguiEncoder(): AguiEncoder;
49
+ export declare function createGenUiEncoder(): GenUiEncoder;
50
50
  //# sourceMappingURL=encoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/gen-ui/encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kPAAkP;IAClP,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAOD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;CAC3E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAqG/C"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/gen-ui/encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kPAAkP;IAClP,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAOD;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,kBAAkB,GAAG,UAAU,GAAG,IAAI,CAAC;CAC7E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAqGjD"}