@geometra/core 1.59.0 → 1.60.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.
@@ -0,0 +1,51 @@
1
+ import type { App } from './app.js';
2
+ import type { KeyboardHitEvent } from './types.js';
3
+ import { type AgentGeometrySnapshot, type AgentGeometrySnapshotOptions } from './semantic-geometry.js';
4
+ export type AgentRuntimeCommand = 'click' | 'focus' | 'type' | 'key';
5
+ export interface AgentRuntimeActionLogEntry {
6
+ id: string;
7
+ command: AgentRuntimeCommand;
8
+ targetId?: string;
9
+ timestamp: string;
10
+ input?: unknown;
11
+ status: 'completed' | 'failed';
12
+ handled?: boolean;
13
+ error?: string;
14
+ before?: AgentGeometrySnapshot;
15
+ after?: AgentGeometrySnapshot;
16
+ }
17
+ export interface AgentRuntimeCommandResult {
18
+ status: 'completed' | 'failed';
19
+ command: AgentRuntimeCommand;
20
+ targetId?: string;
21
+ handled: boolean;
22
+ before?: AgentGeometrySnapshot;
23
+ after?: AgentGeometrySnapshot;
24
+ error?: string;
25
+ }
26
+ export interface AgentRuntimeTypeOptions {
27
+ replace?: boolean;
28
+ }
29
+ export interface AgentRuntimeReplayResult {
30
+ attempted: number;
31
+ completed: number;
32
+ failed: number;
33
+ results: AgentRuntimeCommandResult[];
34
+ }
35
+ export interface AgentRuntime {
36
+ inspect(options?: AgentGeometrySnapshotOptions): AgentGeometrySnapshot | null;
37
+ snapshot(options?: AgentGeometrySnapshotOptions): AgentGeometrySnapshot | null;
38
+ click(targetId: string, extra?: Record<string, unknown>): AgentRuntimeCommandResult;
39
+ focus(targetId: string): AgentRuntimeCommandResult;
40
+ type(targetId: string, value: string, options?: AgentRuntimeTypeOptions): AgentRuntimeCommandResult;
41
+ key(key: string, init?: Partial<Omit<KeyboardHitEvent, 'target' | 'key'>>): AgentRuntimeCommandResult;
42
+ getActionLog(): AgentRuntimeActionLogEntry[];
43
+ replay(entries: AgentRuntimeActionLogEntry[]): AgentRuntimeReplayResult;
44
+ }
45
+ export interface AgentRuntimeOptions {
46
+ route?: string;
47
+ now?: () => string;
48
+ }
49
+ /** Create a frame-bound agent runtime for direct UI inspection and interaction by stable semantic geometry ids. */
50
+ export declare function createAgentRuntime(app: App, options?: AgentRuntimeOptions): AgentRuntime;
51
+ //# sourceMappingURL=agent-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAClC,MAAM,wBAAwB,CAAA;AAE/B,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;AAEpE,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC9B,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,yBAAyB,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,qBAAqB,GAAG,IAAI,CAAA;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,qBAAqB,GAAG,IAAI,CAAA;IAC9E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAAA;IACnF,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAAA;IAClD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,yBAAyB,CAAA;IACnG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,yBAAyB,CAAA;IACrG,YAAY,IAAI,0BAA0B,EAAE,CAAA;IAC5C,MAAM,CAAC,OAAO,EAAE,0BAA0B,EAAE,GAAG,wBAAwB,CAAA;CACxE;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AA6DD,mHAAmH;AACnH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAmK5F"}
@@ -0,0 +1,199 @@
1
+ import { setFocus } from './focus.js';
2
+ import { createAgentGeometrySnapshot, } from './semantic-geometry.js';
3
+ function defaultNow() {
4
+ return new Date().toISOString();
5
+ }
6
+ function entryId(index) {
7
+ return `agent-runtime:${index + 1}`;
8
+ }
9
+ function keyboardEvent(key, init = {}) {
10
+ return {
11
+ key,
12
+ code: init.code ?? key,
13
+ shiftKey: init.shiftKey ?? false,
14
+ ctrlKey: init.ctrlKey ?? false,
15
+ metaKey: init.metaKey ?? false,
16
+ altKey: init.altKey ?? false,
17
+ };
18
+ }
19
+ function errorMessage(error) {
20
+ return error instanceof Error ? error.message : String(error);
21
+ }
22
+ function resolvePath(app, node) {
23
+ if (!app.tree || !app.layout)
24
+ return null;
25
+ let element = app.tree;
26
+ let layout = app.layout;
27
+ for (const index of node.path) {
28
+ if (element.kind !== 'box')
29
+ return null;
30
+ const child = element.children[index];
31
+ const childLayout = layout.children[index];
32
+ if (!child || !childLayout)
33
+ return null;
34
+ element = child;
35
+ layout = childLayout;
36
+ }
37
+ return { node, element, layout };
38
+ }
39
+ function frameFor(app, options, override = {}) {
40
+ if (!app.tree || !app.layout)
41
+ return null;
42
+ const base = options.route !== undefined ? { route: options.route } : {};
43
+ return createAgentGeometrySnapshot(app.tree, app.layout, {
44
+ ...base,
45
+ ...override,
46
+ });
47
+ }
48
+ function findNode(app, options, targetId) {
49
+ const frame = frameFor(app, options);
50
+ const node = frame?.nodes.find(candidate => candidate.id === targetId);
51
+ return node ? resolvePath(app, node) : null;
52
+ }
53
+ /** Create a frame-bound agent runtime for direct UI inspection and interaction by stable semantic geometry ids. */
54
+ export function createAgentRuntime(app, options = {}) {
55
+ const now = options.now ?? defaultNow;
56
+ const log = [];
57
+ const record = (command, targetId, input, result) => {
58
+ log.push({
59
+ id: entryId(log.length),
60
+ command,
61
+ ...(targetId !== undefined ? { targetId } : {}),
62
+ timestamp: now(),
63
+ ...(input !== undefined ? { input } : {}),
64
+ status: result.status,
65
+ handled: result.handled,
66
+ ...(result.error !== undefined ? { error: result.error } : {}),
67
+ ...(result.before !== undefined ? { before: result.before } : {}),
68
+ ...(result.after !== undefined ? { after: result.after } : {}),
69
+ });
70
+ return result;
71
+ };
72
+ const fail = (command, targetId, input, before, error) => record(command, targetId, input, {
73
+ status: 'failed',
74
+ command,
75
+ ...(targetId !== undefined ? { targetId } : {}),
76
+ handled: false,
77
+ ...(before !== undefined ? { before } : {}),
78
+ error,
79
+ });
80
+ const runtime = {
81
+ inspect(snapshotOptions) {
82
+ return frameFor(app, options, snapshotOptions);
83
+ },
84
+ snapshot(snapshotOptions) {
85
+ return frameFor(app, options, snapshotOptions);
86
+ },
87
+ click(targetId, extra) {
88
+ const before = frameFor(app, options);
89
+ const resolved = findNode(app, options, targetId);
90
+ if (!resolved)
91
+ return fail('click', targetId, extra, before ?? undefined, `target "${targetId}" was not found`);
92
+ if (!resolved.node.enabled)
93
+ return fail('click', targetId, extra, before ?? undefined, `target "${targetId}" is disabled`);
94
+ const { x, y, width, height } = resolved.node.hitTarget;
95
+ const handled = app.dispatch('onClick', x + width / 2, y + height / 2, extra);
96
+ const after = frameFor(app, options);
97
+ return record('click', targetId, extra, {
98
+ status: 'completed',
99
+ command: 'click',
100
+ targetId,
101
+ handled,
102
+ ...(before !== null ? { before } : {}),
103
+ ...(after !== null ? { after } : {}),
104
+ });
105
+ },
106
+ focus(targetId) {
107
+ const before = frameFor(app, options);
108
+ const resolved = findNode(app, options, targetId);
109
+ if (!resolved)
110
+ return fail('focus', targetId, undefined, before ?? undefined, `target "${targetId}" was not found`);
111
+ if (resolved.element.kind !== 'box' || !resolved.node.focusable) {
112
+ return fail('focus', targetId, undefined, before ?? undefined, `target "${targetId}" is not focusable`);
113
+ }
114
+ setFocus(resolved.element, resolved.layout);
115
+ const after = frameFor(app, options);
116
+ return record('focus', targetId, undefined, {
117
+ status: 'completed',
118
+ command: 'focus',
119
+ targetId,
120
+ handled: true,
121
+ ...(before !== null ? { before } : {}),
122
+ ...(after !== null ? { after } : {}),
123
+ });
124
+ },
125
+ type(targetId, value, typeOptions) {
126
+ const before = frameFor(app, options);
127
+ const focusResult = runtime.focus(targetId);
128
+ if (focusResult.status === 'failed') {
129
+ return fail('type', targetId, { value, ...typeOptions }, before ?? undefined, focusResult.error ?? 'focus failed');
130
+ }
131
+ if (typeOptions?.replace) {
132
+ app.dispatchKey('onKeyDown', keyboardEvent('a', { metaKey: true, code: 'KeyA' }));
133
+ app.dispatchKey('onKeyDown', keyboardEvent('Backspace', { code: 'Backspace' }));
134
+ }
135
+ let handled = false;
136
+ for (const char of value) {
137
+ handled = app.dispatchKey('onKeyDown', keyboardEvent(char)) || handled;
138
+ app.dispatchKey('onKeyUp', keyboardEvent(char));
139
+ }
140
+ const after = frameFor(app, options);
141
+ return record('type', targetId, { value, ...typeOptions }, {
142
+ status: 'completed',
143
+ command: 'type',
144
+ targetId,
145
+ handled,
146
+ ...(before !== null ? { before } : {}),
147
+ ...(after !== null ? { after } : {}),
148
+ });
149
+ },
150
+ key(key, init) {
151
+ const before = frameFor(app, options);
152
+ try {
153
+ const handled = app.dispatchKey('onKeyDown', keyboardEvent(key, init));
154
+ app.dispatchKey('onKeyUp', keyboardEvent(key, init));
155
+ const after = frameFor(app, options);
156
+ return record('key', undefined, { key, ...init }, {
157
+ status: 'completed',
158
+ command: 'key',
159
+ handled,
160
+ ...(before !== null ? { before } : {}),
161
+ ...(after !== null ? { after } : {}),
162
+ });
163
+ }
164
+ catch (error) {
165
+ return fail('key', undefined, { key, ...init }, before ?? undefined, errorMessage(error));
166
+ }
167
+ },
168
+ getActionLog() {
169
+ return [...log];
170
+ },
171
+ replay(entries) {
172
+ const results = [];
173
+ for (const entry of entries) {
174
+ if (entry.command === 'click' && entry.targetId) {
175
+ results.push(runtime.click(entry.targetId, entry.input));
176
+ }
177
+ else if (entry.command === 'focus' && entry.targetId) {
178
+ results.push(runtime.focus(entry.targetId));
179
+ }
180
+ else if (entry.command === 'type' && entry.targetId) {
181
+ const input = entry.input;
182
+ results.push(runtime.type(entry.targetId, typeof input?.value === 'string' ? input.value : '', input?.replace !== undefined ? { replace: input.replace } : undefined));
183
+ }
184
+ else if (entry.command === 'key') {
185
+ const input = entry.input;
186
+ results.push(runtime.key(typeof input?.key === 'string' ? input.key : 'Enter'));
187
+ }
188
+ }
189
+ return {
190
+ attempted: entries.length,
191
+ completed: results.filter(result => result.status === 'completed').length,
192
+ failed: results.filter(result => result.status === 'failed').length,
193
+ results,
194
+ };
195
+ },
196
+ };
197
+ return runtime;
198
+ }
199
+ //# sourceMappingURL=agent-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export type AgentTraceStatus = 'requested' | 'approved' | 'denied' | 'completed' | 'failed';
2
+ export interface AgentTraceEvent {
3
+ id: string;
4
+ actionId: string;
5
+ status: AgentTraceStatus;
6
+ timestamp: string;
7
+ actor?: string;
8
+ input?: unknown;
9
+ output?: unknown;
10
+ error?: string;
11
+ message?: string;
12
+ }
13
+ export interface AgentTrace {
14
+ sessionId: string;
15
+ startedAt: string;
16
+ events: AgentTraceEvent[];
17
+ }
18
+ export interface AgentTraceSummary {
19
+ sessionId: string;
20
+ startedAt: string;
21
+ eventCount: number;
22
+ completedCount: number;
23
+ failedCount: number;
24
+ deniedCount: number;
25
+ pendingActionIds: string[];
26
+ }
27
+ export declare function createAgentTrace(sessionId: string, startedAt?: string): AgentTrace;
28
+ export declare function appendAgentTraceEvent(trace: AgentTrace, event: Omit<AgentTraceEvent, 'id' | 'timestamp'> & {
29
+ id?: string;
30
+ timestamp?: string;
31
+ }): AgentTrace;
32
+ export declare function summarizeAgentTrace(trace: AgentTrace): AgentTraceSummary;
33
+ //# sourceMappingURL=agent-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.d.ts","sourceRoot":"","sources":["../src/agent-trace.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;AAE3F,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B;AAUD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAW,GAAG,UAAU,CAEpF;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACrF,UAAU,CAkBZ;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAkBxE"}
@@ -0,0 +1,47 @@
1
+ function nowIso() {
2
+ return new Date().toISOString();
3
+ }
4
+ function eventId(sessionId, index) {
5
+ return `${sessionId}:${index + 1}`;
6
+ }
7
+ export function createAgentTrace(sessionId, startedAt = nowIso()) {
8
+ return { sessionId, startedAt, events: [] };
9
+ }
10
+ export function appendAgentTraceEvent(trace, event) {
11
+ return {
12
+ ...trace,
13
+ events: [
14
+ ...trace.events,
15
+ {
16
+ id: event.id ?? eventId(trace.sessionId, trace.events.length),
17
+ timestamp: event.timestamp ?? nowIso(),
18
+ actionId: event.actionId,
19
+ status: event.status,
20
+ ...(event.actor !== undefined ? { actor: event.actor } : {}),
21
+ ...(event.input !== undefined ? { input: event.input } : {}),
22
+ ...(event.output !== undefined ? { output: event.output } : {}),
23
+ ...(event.error !== undefined ? { error: event.error } : {}),
24
+ ...(event.message !== undefined ? { message: event.message } : {}),
25
+ },
26
+ ],
27
+ };
28
+ }
29
+ export function summarizeAgentTrace(trace) {
30
+ const terminalByAction = new Map();
31
+ for (const event of trace.events) {
32
+ terminalByAction.set(event.actionId, event.status);
33
+ }
34
+ const pendingActionIds = [...terminalByAction.entries()]
35
+ .filter(([, status]) => status === 'requested' || status === 'approved')
36
+ .map(([actionId]) => actionId);
37
+ return {
38
+ sessionId: trace.sessionId,
39
+ startedAt: trace.startedAt,
40
+ eventCount: trace.events.length,
41
+ completedCount: trace.events.filter(event => event.status === 'completed').length,
42
+ failedCount: trace.events.filter(event => event.status === 'failed').length,
43
+ deniedCount: trace.events.filter(event => event.status === 'denied').length,
44
+ pendingActionIds,
45
+ };
46
+ }
47
+ //# sourceMappingURL=agent-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.js","sourceRoot":"","sources":["../src/agent-trace.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -56,9 +56,19 @@ export { toSemanticHTML } from './seo.js';
56
56
  export type { SemanticHTMLOptions } from './seo.js';
57
57
  export { toAccessibilityTree } from './a11y.js';
58
58
  export type { AccessibilityNode, AccessibilityBounds } from './a11y.js';
59
+ export { collectSemanticGeometry, createAgentGeometrySnapshot } from './semantic-geometry.js';
60
+ export type { AgentGeometryBounds, AgentGeometryNode, AgentGeometrySnapshot, AgentGeometrySnapshotOptions, AgentGeometryState, } from './semantic-geometry.js';
61
+ export { agentAction, collectAgentActions } from './agent-contracts.js';
62
+ export type { AgentActionTarget } from './agent-contracts.js';
63
+ export { createAgentTrace, appendAgentTraceEvent, summarizeAgentTrace, } from './agent-trace.js';
64
+ export type { AgentTrace, AgentTraceEvent, AgentTraceStatus, AgentTraceSummary, } from './agent-trace.js';
65
+ export { createAgentGateway, createAgentGatewayPolicy, } from './agent-gateway.js';
66
+ export type { AgentGateway, AgentGatewayActionRequest, AgentGatewayActionResult, AgentGatewayActionStatus, AgentGatewayApprovalRequest, AgentGatewayExecuteContext, AgentGatewayExecutor, AgentGatewayFrame, AgentGatewayFrameOptions, AgentGatewayFrameSnapshot, AgentGatewayOptions, AgentGatewayPendingApproval, AgentGatewayPolicy, AgentGatewayPolicyContext, AgentGatewayPolicyDecision, AgentGatewayPolicyOptions, AgentGatewayRedactionContext, AgentGatewayRedactionField, AgentGatewayRedactor, AgentGatewayReplay, AgentGatewayReplayAction, } from './agent-gateway.js';
67
+ export { createAgentRuntime } from './agent-runtime.js';
68
+ export type { AgentRuntime, AgentRuntimeActionLogEntry, AgentRuntimeCommand, AgentRuntimeCommandResult, AgentRuntimeOptions, AgentRuntimeReplayResult, AgentRuntimeTypeOptions, } from './agent-runtime.js';
59
69
  export { isCollapsedSelection, getInputSelectionText, normalizePasteText, replaceInputSelection, insertInputText, backspaceInput, deleteInput, moveInputCaret, moveInputCaretByWord, moveInputCaretToLineBoundary, getInputCaretGeometry, } from './text-input.js';
60
70
  export type { TextInputState, TextInputEditResult, CaretGeometry } from './text-input.js';
61
71
  export { createTextInputHistory, pushTextInputHistory, undoTextInputHistory, redoTextInputHistory, } from './text-input-history.js';
62
72
  export type { TextInputHistoryState } from './text-input-history.js';
63
- export type { UIElement, BoxElement, TextElement, ImageElement, Scene3dElement, Scene3dObject, Scene3dSphere, Scene3dPoints, Scene3dLine, Scene3dRing, Scene3dAmbientLight, Scene3dDirectionalLight, Scene3dGroup, OrbitControlsConfig, StyleProps, BorderRadiusCorners, CursorProp, Direction, DirectionProps, SemanticProps, EventHandlers, HitEvent, KeyboardHitEvent, CompositionHitEvent, Component, FrameTimings, Renderer, } from './types.js';
73
+ export type { UIElement, BoxElement, TextElement, ImageElement, Scene3dElement, Scene3dObject, Scene3dSphere, Scene3dPoints, Scene3dLine, Scene3dRing, Scene3dAmbientLight, Scene3dDirectionalLight, Scene3dGroup, OrbitControlsConfig, StyleProps, BorderRadiusCorners, CursorProp, Direction, DirectionProps, SemanticProps, AgentActionContract, AgentActionKind, AgentActionRisk, EventHandlers, HitEvent, KeyboardHitEvent, CompositionHitEvent, Component, FrameTimings, Renderer, } from './types.js';
64
74
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -58,6 +58,13 @@ export { inclusiveEndIndex, syncVirtualWindow } from './virtual-scroll.js';
58
58
  export { toSemanticHTML } from './seo.js';
59
59
  // Runtime accessibility
60
60
  export { toAccessibilityTree } from './a11y.js';
61
+ // Agent-native semantic geometry frames
62
+ export { collectSemanticGeometry, createAgentGeometrySnapshot } from './semantic-geometry.js';
63
+ // Agent-native action contracts and trace foundation
64
+ export { agentAction, collectAgentActions } from './agent-contracts.js';
65
+ export { createAgentTrace, appendAgentTraceEvent, summarizeAgentTrace, } from './agent-trace.js';
66
+ export { createAgentGateway, createAgentGatewayPolicy, } from './agent-gateway.js';
67
+ export { createAgentRuntime } from './agent-runtime.js';
61
68
  // Text input foundation
62
69
  export { isCollapsedSelection, getInputSelectionText, normalizePasteText, replaceInputSelection, insertInputText, backspaceInput, deleteInput, moveInputCaret, moveInputCaretByWord, moveInputCaretToLineBoundary, getInputCaretGeometry, } from './text-input.js';
63
70
  export { createTextInputHistory, pushTextInputHistory, undoTextInputHistory, redoTextInputHistory, } from './text-input-history.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { ComputedLayout } from 'textura';
2
+ import type { UIElement } from './types.js';
3
+ import { type AgentActionTarget } from './agent-contracts.js';
4
+ export interface AgentGeometryBounds {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ }
10
+ export interface AgentGeometryState {
11
+ disabled?: boolean;
12
+ readOnly?: boolean;
13
+ expanded?: boolean;
14
+ selected?: boolean;
15
+ }
16
+ export interface AgentGeometryNode {
17
+ /** Stable public id for agent APIs. Prefer `semantic.id`, then `agentAction.id`, then `key`, then path. */
18
+ id: string;
19
+ kind: UIElement['kind'];
20
+ role: string;
21
+ name?: string;
22
+ key?: string;
23
+ path: number[];
24
+ bounds: AgentGeometryBounds;
25
+ hitTarget: AgentGeometryBounds;
26
+ visible: boolean;
27
+ enabled: boolean;
28
+ focusable: boolean;
29
+ interactive: boolean;
30
+ state?: AgentGeometryState;
31
+ actionId?: string;
32
+ action?: AgentActionTarget;
33
+ }
34
+ export interface AgentGeometrySnapshot {
35
+ id: string;
36
+ route?: string;
37
+ createdAt: string;
38
+ rootBounds: AgentGeometryBounds;
39
+ nodes: AgentGeometryNode[];
40
+ actions: AgentActionTarget[];
41
+ }
42
+ export interface AgentGeometrySnapshotOptions {
43
+ id?: string;
44
+ route?: string;
45
+ createdAt?: string;
46
+ }
47
+ /** Collect a flat, protocol-friendly view of the rendered UI: exact geometry plus semantics for every node. */
48
+ export declare function collectSemanticGeometry(tree: UIElement, layout: ComputedLayout): AgentGeometryNode[];
49
+ /** Create an auditable frame snapshot for agents, gateways, tests, and replay logs. */
50
+ export declare function createAgentGeometrySnapshot(tree: UIElement, layout: ComputedLayout, options?: AgentGeometrySnapshotOptions): AgentGeometrySnapshot;
51
+ //# sourceMappingURL=semantic-geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-geometry.d.ts","sourceRoot":"","sources":["../src/semantic-geometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIlF,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,2GAA2G;IAC3G,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAoJD,+GAA+G;AAC/G,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,iBAAiB,EAAE,CAMpG;AAED,uFAAuF;AACvF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,CAUvB"}