@visual-layer/core 1.0.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 (61) hide show
  1. package/dist/artifact-store/index.d.ts +70 -0
  2. package/dist/artifact-store/index.d.ts.map +1 -0
  3. package/dist/artifact-store/index.js +289 -0
  4. package/dist/artifact-store/index.js.map +1 -0
  5. package/dist/browser-adapter.d.ts +1362 -0
  6. package/dist/browser-adapter.d.ts.map +1 -0
  7. package/dist/browser-adapter.js +264 -0
  8. package/dist/browser-adapter.js.map +1 -0
  9. package/dist/confidence.d.ts +8 -0
  10. package/dist/confidence.d.ts.map +1 -0
  11. package/dist/confidence.js +28 -0
  12. package/dist/confidence.js.map +1 -0
  13. package/dist/errors.d.ts +41 -0
  14. package/dist/errors.d.ts.map +1 -0
  15. package/dist/errors.js +33 -0
  16. package/dist/errors.js.map +1 -0
  17. package/dist/geometry/bbox.d.ts +30 -0
  18. package/dist/geometry/bbox.d.ts.map +1 -0
  19. package/dist/geometry/bbox.js +77 -0
  20. package/dist/geometry/bbox.js.map +1 -0
  21. package/dist/geometry/coordinates.d.ts +26 -0
  22. package/dist/geometry/coordinates.d.ts.map +1 -0
  23. package/dist/geometry/coordinates.js +25 -0
  24. package/dist/geometry/coordinates.js.map +1 -0
  25. package/dist/geometry/index.d.ts +3 -0
  26. package/dist/geometry/index.d.ts.map +1 -0
  27. package/dist/geometry/index.js +3 -0
  28. package/dist/geometry/index.js.map +1 -0
  29. package/dist/ids.d.ts +7 -0
  30. package/dist/ids.d.ts.map +1 -0
  31. package/dist/ids.js +21 -0
  32. package/dist/ids.js.map +1 -0
  33. package/dist/index.d.ts +17 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +17 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/provenance.d.ts +7 -0
  38. package/dist/provenance.d.ts.map +1 -0
  39. package/dist/provenance.js +9 -0
  40. package/dist/provenance.js.map +1 -0
  41. package/dist/redaction/index.d.ts +28 -0
  42. package/dist/redaction/index.d.ts.map +1 -0
  43. package/dist/redaction/index.js +97 -0
  44. package/dist/redaction/index.js.map +1 -0
  45. package/dist/schema/index.d.ts +383 -0
  46. package/dist/schema/index.d.ts.map +1 -0
  47. package/dist/schema/index.js +96 -0
  48. package/dist/schema/index.js.map +1 -0
  49. package/dist/text/index.d.ts +18 -0
  50. package/dist/text/index.d.ts.map +1 -0
  51. package/dist/text/index.js +60 -0
  52. package/dist/text/index.js.map +1 -0
  53. package/dist/trace/index.d.ts +64 -0
  54. package/dist/trace/index.d.ts.map +1 -0
  55. package/dist/trace/index.js +63 -0
  56. package/dist/trace/index.js.map +1 -0
  57. package/dist/warnings.d.ts +7 -0
  58. package/dist/warnings.d.ts.map +1 -0
  59. package/dist/warnings.js +10 -0
  60. package/dist/warnings.js.map +1 -0
  61. package/package.json +33 -0
@@ -0,0 +1,1362 @@
1
+ /**
2
+ * Browser snapshot adapter — the SOLE coupling point with the external browser
3
+ * engine (chrome-devtools-mcp). `snapshotToScreenGraph` normalizes a Chromium
4
+ * AX/DOM snapshot into a `ScreenGraph` with `source: "browser"`.
5
+ *
6
+ * Boundary rules (§18.12): never fork/import/vendor the engine. Coupling is
7
+ * the JSON shape of the snapshot, isolated here and protected by golden tests.
8
+ */
9
+ import { z } from 'zod';
10
+ import { type ScreenGraph, type Warning, type Viewport, type Screenshot } from './index.js';
11
+ export declare const SnapshotNodeInput: z.ZodObject<{
12
+ role: z.ZodOptional<z.ZodString>;
13
+ name: z.ZodOptional<z.ZodString>;
14
+ text: z.ZodOptional<z.ZodString>;
15
+ value: z.ZodOptional<z.ZodUnknown>;
16
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
17
+ x: z.ZodNumber;
18
+ y: z.ZodNumber;
19
+ width: z.ZodNumber;
20
+ height: z.ZodNumber;
21
+ }, "strip", z.ZodTypeAny, {
22
+ x: number;
23
+ y: number;
24
+ width: number;
25
+ height: number;
26
+ }, {
27
+ x: number;
28
+ y: number;
29
+ width: number;
30
+ height: number;
31
+ }>]>>;
32
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
33
+ x: z.ZodNumber;
34
+ y: z.ZodNumber;
35
+ width: z.ZodNumber;
36
+ height: z.ZodNumber;
37
+ }, "strip", z.ZodTypeAny, {
38
+ x: number;
39
+ y: number;
40
+ width: number;
41
+ height: number;
42
+ }, {
43
+ x: number;
44
+ y: number;
45
+ width: number;
46
+ height: number;
47
+ }>]>>;
48
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
49
+ x: z.ZodNumber;
50
+ y: z.ZodNumber;
51
+ width: z.ZodNumber;
52
+ height: z.ZodNumber;
53
+ }, "strip", z.ZodTypeAny, {
54
+ x: number;
55
+ y: number;
56
+ width: number;
57
+ height: number;
58
+ }, {
59
+ x: number;
60
+ y: number;
61
+ width: number;
62
+ height: number;
63
+ }>]>>;
64
+ ref: z.ZodOptional<z.ZodString>;
65
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
66
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
67
+ domPath: z.ZodOptional<z.ZodString>;
68
+ xpath: z.ZodOptional<z.ZodString>;
69
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
70
+ visible: z.ZodOptional<z.ZodBoolean>;
71
+ hidden: z.ZodOptional<z.ZodBoolean>;
72
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
73
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
74
+ role: z.ZodOptional<z.ZodString>;
75
+ name: z.ZodOptional<z.ZodString>;
76
+ text: z.ZodOptional<z.ZodString>;
77
+ value: z.ZodOptional<z.ZodUnknown>;
78
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
79
+ x: z.ZodNumber;
80
+ y: z.ZodNumber;
81
+ width: z.ZodNumber;
82
+ height: z.ZodNumber;
83
+ }, "strip", z.ZodTypeAny, {
84
+ x: number;
85
+ y: number;
86
+ width: number;
87
+ height: number;
88
+ }, {
89
+ x: number;
90
+ y: number;
91
+ width: number;
92
+ height: number;
93
+ }>]>>;
94
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
95
+ x: z.ZodNumber;
96
+ y: z.ZodNumber;
97
+ width: z.ZodNumber;
98
+ height: z.ZodNumber;
99
+ }, "strip", z.ZodTypeAny, {
100
+ x: number;
101
+ y: number;
102
+ width: number;
103
+ height: number;
104
+ }, {
105
+ x: number;
106
+ y: number;
107
+ width: number;
108
+ height: number;
109
+ }>]>>;
110
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
111
+ x: z.ZodNumber;
112
+ y: z.ZodNumber;
113
+ width: z.ZodNumber;
114
+ height: z.ZodNumber;
115
+ }, "strip", z.ZodTypeAny, {
116
+ x: number;
117
+ y: number;
118
+ width: number;
119
+ height: number;
120
+ }, {
121
+ x: number;
122
+ y: number;
123
+ width: number;
124
+ height: number;
125
+ }>]>>;
126
+ ref: z.ZodOptional<z.ZodString>;
127
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
128
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
129
+ domPath: z.ZodOptional<z.ZodString>;
130
+ xpath: z.ZodOptional<z.ZodString>;
131
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
132
+ visible: z.ZodOptional<z.ZodBoolean>;
133
+ hidden: z.ZodOptional<z.ZodBoolean>;
134
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
135
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
136
+ role: z.ZodOptional<z.ZodString>;
137
+ name: z.ZodOptional<z.ZodString>;
138
+ text: z.ZodOptional<z.ZodString>;
139
+ value: z.ZodOptional<z.ZodUnknown>;
140
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
141
+ x: z.ZodNumber;
142
+ y: z.ZodNumber;
143
+ width: z.ZodNumber;
144
+ height: z.ZodNumber;
145
+ }, "strip", z.ZodTypeAny, {
146
+ x: number;
147
+ y: number;
148
+ width: number;
149
+ height: number;
150
+ }, {
151
+ x: number;
152
+ y: number;
153
+ width: number;
154
+ height: number;
155
+ }>]>>;
156
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
157
+ x: z.ZodNumber;
158
+ y: z.ZodNumber;
159
+ width: z.ZodNumber;
160
+ height: z.ZodNumber;
161
+ }, "strip", z.ZodTypeAny, {
162
+ x: number;
163
+ y: number;
164
+ width: number;
165
+ height: number;
166
+ }, {
167
+ x: number;
168
+ y: number;
169
+ width: number;
170
+ height: number;
171
+ }>]>>;
172
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
173
+ x: z.ZodNumber;
174
+ y: z.ZodNumber;
175
+ width: z.ZodNumber;
176
+ height: z.ZodNumber;
177
+ }, "strip", z.ZodTypeAny, {
178
+ x: number;
179
+ y: number;
180
+ width: number;
181
+ height: number;
182
+ }, {
183
+ x: number;
184
+ y: number;
185
+ width: number;
186
+ height: number;
187
+ }>]>>;
188
+ ref: z.ZodOptional<z.ZodString>;
189
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
190
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
191
+ domPath: z.ZodOptional<z.ZodString>;
192
+ xpath: z.ZodOptional<z.ZodString>;
193
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
194
+ visible: z.ZodOptional<z.ZodBoolean>;
195
+ hidden: z.ZodOptional<z.ZodBoolean>;
196
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
197
+ }, z.ZodTypeAny, "passthrough">>;
198
+ export type SnapshotNode = z.infer<typeof SnapshotNodeInput>;
199
+ export declare const BrowserSnapshotInput: z.ZodObject<{
200
+ /** Flat node list (preferred by some engines). */
201
+ nodes: z.ZodOptional<z.ZodArray<z.ZodObject<{
202
+ role: z.ZodOptional<z.ZodString>;
203
+ name: z.ZodOptional<z.ZodString>;
204
+ text: z.ZodOptional<z.ZodString>;
205
+ value: z.ZodOptional<z.ZodUnknown>;
206
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
207
+ x: z.ZodNumber;
208
+ y: z.ZodNumber;
209
+ width: z.ZodNumber;
210
+ height: z.ZodNumber;
211
+ }, "strip", z.ZodTypeAny, {
212
+ x: number;
213
+ y: number;
214
+ width: number;
215
+ height: number;
216
+ }, {
217
+ x: number;
218
+ y: number;
219
+ width: number;
220
+ height: number;
221
+ }>]>>;
222
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
223
+ x: z.ZodNumber;
224
+ y: z.ZodNumber;
225
+ width: z.ZodNumber;
226
+ height: z.ZodNumber;
227
+ }, "strip", z.ZodTypeAny, {
228
+ x: number;
229
+ y: number;
230
+ width: number;
231
+ height: number;
232
+ }, {
233
+ x: number;
234
+ y: number;
235
+ width: number;
236
+ height: number;
237
+ }>]>>;
238
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
239
+ x: z.ZodNumber;
240
+ y: z.ZodNumber;
241
+ width: z.ZodNumber;
242
+ height: z.ZodNumber;
243
+ }, "strip", z.ZodTypeAny, {
244
+ x: number;
245
+ y: number;
246
+ width: number;
247
+ height: number;
248
+ }, {
249
+ x: number;
250
+ y: number;
251
+ width: number;
252
+ height: number;
253
+ }>]>>;
254
+ ref: z.ZodOptional<z.ZodString>;
255
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
256
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
257
+ domPath: z.ZodOptional<z.ZodString>;
258
+ xpath: z.ZodOptional<z.ZodString>;
259
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
260
+ visible: z.ZodOptional<z.ZodBoolean>;
261
+ hidden: z.ZodOptional<z.ZodBoolean>;
262
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
263
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
264
+ role: z.ZodOptional<z.ZodString>;
265
+ name: z.ZodOptional<z.ZodString>;
266
+ text: z.ZodOptional<z.ZodString>;
267
+ value: z.ZodOptional<z.ZodUnknown>;
268
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
269
+ x: z.ZodNumber;
270
+ y: z.ZodNumber;
271
+ width: z.ZodNumber;
272
+ height: z.ZodNumber;
273
+ }, "strip", z.ZodTypeAny, {
274
+ x: number;
275
+ y: number;
276
+ width: number;
277
+ height: number;
278
+ }, {
279
+ x: number;
280
+ y: number;
281
+ width: number;
282
+ height: number;
283
+ }>]>>;
284
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
285
+ x: z.ZodNumber;
286
+ y: z.ZodNumber;
287
+ width: z.ZodNumber;
288
+ height: z.ZodNumber;
289
+ }, "strip", z.ZodTypeAny, {
290
+ x: number;
291
+ y: number;
292
+ width: number;
293
+ height: number;
294
+ }, {
295
+ x: number;
296
+ y: number;
297
+ width: number;
298
+ height: number;
299
+ }>]>>;
300
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
301
+ x: z.ZodNumber;
302
+ y: z.ZodNumber;
303
+ width: z.ZodNumber;
304
+ height: z.ZodNumber;
305
+ }, "strip", z.ZodTypeAny, {
306
+ x: number;
307
+ y: number;
308
+ width: number;
309
+ height: number;
310
+ }, {
311
+ x: number;
312
+ y: number;
313
+ width: number;
314
+ height: number;
315
+ }>]>>;
316
+ ref: z.ZodOptional<z.ZodString>;
317
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
318
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
319
+ domPath: z.ZodOptional<z.ZodString>;
320
+ xpath: z.ZodOptional<z.ZodString>;
321
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
322
+ visible: z.ZodOptional<z.ZodBoolean>;
323
+ hidden: z.ZodOptional<z.ZodBoolean>;
324
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
325
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
326
+ role: z.ZodOptional<z.ZodString>;
327
+ name: z.ZodOptional<z.ZodString>;
328
+ text: z.ZodOptional<z.ZodString>;
329
+ value: z.ZodOptional<z.ZodUnknown>;
330
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
331
+ x: z.ZodNumber;
332
+ y: z.ZodNumber;
333
+ width: z.ZodNumber;
334
+ height: z.ZodNumber;
335
+ }, "strip", z.ZodTypeAny, {
336
+ x: number;
337
+ y: number;
338
+ width: number;
339
+ height: number;
340
+ }, {
341
+ x: number;
342
+ y: number;
343
+ width: number;
344
+ height: number;
345
+ }>]>>;
346
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
347
+ x: z.ZodNumber;
348
+ y: z.ZodNumber;
349
+ width: z.ZodNumber;
350
+ height: z.ZodNumber;
351
+ }, "strip", z.ZodTypeAny, {
352
+ x: number;
353
+ y: number;
354
+ width: number;
355
+ height: number;
356
+ }, {
357
+ x: number;
358
+ y: number;
359
+ width: number;
360
+ height: number;
361
+ }>]>>;
362
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
363
+ x: z.ZodNumber;
364
+ y: z.ZodNumber;
365
+ width: z.ZodNumber;
366
+ height: z.ZodNumber;
367
+ }, "strip", z.ZodTypeAny, {
368
+ x: number;
369
+ y: number;
370
+ width: number;
371
+ height: number;
372
+ }, {
373
+ x: number;
374
+ y: number;
375
+ width: number;
376
+ height: number;
377
+ }>]>>;
378
+ ref: z.ZodOptional<z.ZodString>;
379
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
380
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
381
+ domPath: z.ZodOptional<z.ZodString>;
382
+ xpath: z.ZodOptional<z.ZodString>;
383
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
384
+ visible: z.ZodOptional<z.ZodBoolean>;
385
+ hidden: z.ZodOptional<z.ZodBoolean>;
386
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
387
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
388
+ /** Tree root (preferred by others). */
389
+ root: z.ZodOptional<z.ZodObject<{
390
+ role: z.ZodOptional<z.ZodString>;
391
+ name: z.ZodOptional<z.ZodString>;
392
+ text: z.ZodOptional<z.ZodString>;
393
+ value: z.ZodOptional<z.ZodUnknown>;
394
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
395
+ x: z.ZodNumber;
396
+ y: z.ZodNumber;
397
+ width: z.ZodNumber;
398
+ height: z.ZodNumber;
399
+ }, "strip", z.ZodTypeAny, {
400
+ x: number;
401
+ y: number;
402
+ width: number;
403
+ height: number;
404
+ }, {
405
+ x: number;
406
+ y: number;
407
+ width: number;
408
+ height: number;
409
+ }>]>>;
410
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
411
+ x: z.ZodNumber;
412
+ y: z.ZodNumber;
413
+ width: z.ZodNumber;
414
+ height: z.ZodNumber;
415
+ }, "strip", z.ZodTypeAny, {
416
+ x: number;
417
+ y: number;
418
+ width: number;
419
+ height: number;
420
+ }, {
421
+ x: number;
422
+ y: number;
423
+ width: number;
424
+ height: number;
425
+ }>]>>;
426
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
427
+ x: z.ZodNumber;
428
+ y: z.ZodNumber;
429
+ width: z.ZodNumber;
430
+ height: z.ZodNumber;
431
+ }, "strip", z.ZodTypeAny, {
432
+ x: number;
433
+ y: number;
434
+ width: number;
435
+ height: number;
436
+ }, {
437
+ x: number;
438
+ y: number;
439
+ width: number;
440
+ height: number;
441
+ }>]>>;
442
+ ref: z.ZodOptional<z.ZodString>;
443
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
444
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
445
+ domPath: z.ZodOptional<z.ZodString>;
446
+ xpath: z.ZodOptional<z.ZodString>;
447
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
448
+ visible: z.ZodOptional<z.ZodBoolean>;
449
+ hidden: z.ZodOptional<z.ZodBoolean>;
450
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
451
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
452
+ role: z.ZodOptional<z.ZodString>;
453
+ name: z.ZodOptional<z.ZodString>;
454
+ text: z.ZodOptional<z.ZodString>;
455
+ value: z.ZodOptional<z.ZodUnknown>;
456
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
457
+ x: z.ZodNumber;
458
+ y: z.ZodNumber;
459
+ width: z.ZodNumber;
460
+ height: z.ZodNumber;
461
+ }, "strip", z.ZodTypeAny, {
462
+ x: number;
463
+ y: number;
464
+ width: number;
465
+ height: number;
466
+ }, {
467
+ x: number;
468
+ y: number;
469
+ width: number;
470
+ height: number;
471
+ }>]>>;
472
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
473
+ x: z.ZodNumber;
474
+ y: z.ZodNumber;
475
+ width: z.ZodNumber;
476
+ height: z.ZodNumber;
477
+ }, "strip", z.ZodTypeAny, {
478
+ x: number;
479
+ y: number;
480
+ width: number;
481
+ height: number;
482
+ }, {
483
+ x: number;
484
+ y: number;
485
+ width: number;
486
+ height: number;
487
+ }>]>>;
488
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
489
+ x: z.ZodNumber;
490
+ y: z.ZodNumber;
491
+ width: z.ZodNumber;
492
+ height: z.ZodNumber;
493
+ }, "strip", z.ZodTypeAny, {
494
+ x: number;
495
+ y: number;
496
+ width: number;
497
+ height: number;
498
+ }, {
499
+ x: number;
500
+ y: number;
501
+ width: number;
502
+ height: number;
503
+ }>]>>;
504
+ ref: z.ZodOptional<z.ZodString>;
505
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
506
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
507
+ domPath: z.ZodOptional<z.ZodString>;
508
+ xpath: z.ZodOptional<z.ZodString>;
509
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
510
+ visible: z.ZodOptional<z.ZodBoolean>;
511
+ hidden: z.ZodOptional<z.ZodBoolean>;
512
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
513
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
514
+ role: z.ZodOptional<z.ZodString>;
515
+ name: z.ZodOptional<z.ZodString>;
516
+ text: z.ZodOptional<z.ZodString>;
517
+ value: z.ZodOptional<z.ZodUnknown>;
518
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
519
+ x: z.ZodNumber;
520
+ y: z.ZodNumber;
521
+ width: z.ZodNumber;
522
+ height: z.ZodNumber;
523
+ }, "strip", z.ZodTypeAny, {
524
+ x: number;
525
+ y: number;
526
+ width: number;
527
+ height: number;
528
+ }, {
529
+ x: number;
530
+ y: number;
531
+ width: number;
532
+ height: number;
533
+ }>]>>;
534
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
535
+ x: z.ZodNumber;
536
+ y: z.ZodNumber;
537
+ width: z.ZodNumber;
538
+ height: z.ZodNumber;
539
+ }, "strip", z.ZodTypeAny, {
540
+ x: number;
541
+ y: number;
542
+ width: number;
543
+ height: number;
544
+ }, {
545
+ x: number;
546
+ y: number;
547
+ width: number;
548
+ height: number;
549
+ }>]>>;
550
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
551
+ x: z.ZodNumber;
552
+ y: z.ZodNumber;
553
+ width: z.ZodNumber;
554
+ height: z.ZodNumber;
555
+ }, "strip", z.ZodTypeAny, {
556
+ x: number;
557
+ y: number;
558
+ width: number;
559
+ height: number;
560
+ }, {
561
+ x: number;
562
+ y: number;
563
+ width: number;
564
+ height: number;
565
+ }>]>>;
566
+ ref: z.ZodOptional<z.ZodString>;
567
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
568
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
569
+ domPath: z.ZodOptional<z.ZodString>;
570
+ xpath: z.ZodOptional<z.ZodString>;
571
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
572
+ visible: z.ZodOptional<z.ZodBoolean>;
573
+ hidden: z.ZodOptional<z.ZodBoolean>;
574
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
575
+ }, z.ZodTypeAny, "passthrough">>>;
576
+ /** Raw text/markdown content, kept for context. */
577
+ content: z.ZodOptional<z.ZodString>;
578
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
579
+ /** Flat node list (preferred by some engines). */
580
+ nodes: z.ZodOptional<z.ZodArray<z.ZodObject<{
581
+ role: z.ZodOptional<z.ZodString>;
582
+ name: z.ZodOptional<z.ZodString>;
583
+ text: z.ZodOptional<z.ZodString>;
584
+ value: z.ZodOptional<z.ZodUnknown>;
585
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
586
+ x: z.ZodNumber;
587
+ y: z.ZodNumber;
588
+ width: z.ZodNumber;
589
+ height: z.ZodNumber;
590
+ }, "strip", z.ZodTypeAny, {
591
+ x: number;
592
+ y: number;
593
+ width: number;
594
+ height: number;
595
+ }, {
596
+ x: number;
597
+ y: number;
598
+ width: number;
599
+ height: number;
600
+ }>]>>;
601
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
602
+ x: z.ZodNumber;
603
+ y: z.ZodNumber;
604
+ width: z.ZodNumber;
605
+ height: z.ZodNumber;
606
+ }, "strip", z.ZodTypeAny, {
607
+ x: number;
608
+ y: number;
609
+ width: number;
610
+ height: number;
611
+ }, {
612
+ x: number;
613
+ y: number;
614
+ width: number;
615
+ height: number;
616
+ }>]>>;
617
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
618
+ x: z.ZodNumber;
619
+ y: z.ZodNumber;
620
+ width: z.ZodNumber;
621
+ height: z.ZodNumber;
622
+ }, "strip", z.ZodTypeAny, {
623
+ x: number;
624
+ y: number;
625
+ width: number;
626
+ height: number;
627
+ }, {
628
+ x: number;
629
+ y: number;
630
+ width: number;
631
+ height: number;
632
+ }>]>>;
633
+ ref: z.ZodOptional<z.ZodString>;
634
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
635
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
636
+ domPath: z.ZodOptional<z.ZodString>;
637
+ xpath: z.ZodOptional<z.ZodString>;
638
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
639
+ visible: z.ZodOptional<z.ZodBoolean>;
640
+ hidden: z.ZodOptional<z.ZodBoolean>;
641
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
642
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
643
+ role: z.ZodOptional<z.ZodString>;
644
+ name: z.ZodOptional<z.ZodString>;
645
+ text: z.ZodOptional<z.ZodString>;
646
+ value: z.ZodOptional<z.ZodUnknown>;
647
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
648
+ x: z.ZodNumber;
649
+ y: z.ZodNumber;
650
+ width: z.ZodNumber;
651
+ height: z.ZodNumber;
652
+ }, "strip", z.ZodTypeAny, {
653
+ x: number;
654
+ y: number;
655
+ width: number;
656
+ height: number;
657
+ }, {
658
+ x: number;
659
+ y: number;
660
+ width: number;
661
+ height: number;
662
+ }>]>>;
663
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
664
+ x: z.ZodNumber;
665
+ y: z.ZodNumber;
666
+ width: z.ZodNumber;
667
+ height: z.ZodNumber;
668
+ }, "strip", z.ZodTypeAny, {
669
+ x: number;
670
+ y: number;
671
+ width: number;
672
+ height: number;
673
+ }, {
674
+ x: number;
675
+ y: number;
676
+ width: number;
677
+ height: number;
678
+ }>]>>;
679
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
680
+ x: z.ZodNumber;
681
+ y: z.ZodNumber;
682
+ width: z.ZodNumber;
683
+ height: z.ZodNumber;
684
+ }, "strip", z.ZodTypeAny, {
685
+ x: number;
686
+ y: number;
687
+ width: number;
688
+ height: number;
689
+ }, {
690
+ x: number;
691
+ y: number;
692
+ width: number;
693
+ height: number;
694
+ }>]>>;
695
+ ref: z.ZodOptional<z.ZodString>;
696
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
697
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
698
+ domPath: z.ZodOptional<z.ZodString>;
699
+ xpath: z.ZodOptional<z.ZodString>;
700
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
701
+ visible: z.ZodOptional<z.ZodBoolean>;
702
+ hidden: z.ZodOptional<z.ZodBoolean>;
703
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
704
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
705
+ role: z.ZodOptional<z.ZodString>;
706
+ name: z.ZodOptional<z.ZodString>;
707
+ text: z.ZodOptional<z.ZodString>;
708
+ value: z.ZodOptional<z.ZodUnknown>;
709
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
710
+ x: z.ZodNumber;
711
+ y: z.ZodNumber;
712
+ width: z.ZodNumber;
713
+ height: z.ZodNumber;
714
+ }, "strip", z.ZodTypeAny, {
715
+ x: number;
716
+ y: number;
717
+ width: number;
718
+ height: number;
719
+ }, {
720
+ x: number;
721
+ y: number;
722
+ width: number;
723
+ height: number;
724
+ }>]>>;
725
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
726
+ x: z.ZodNumber;
727
+ y: z.ZodNumber;
728
+ width: z.ZodNumber;
729
+ height: z.ZodNumber;
730
+ }, "strip", z.ZodTypeAny, {
731
+ x: number;
732
+ y: number;
733
+ width: number;
734
+ height: number;
735
+ }, {
736
+ x: number;
737
+ y: number;
738
+ width: number;
739
+ height: number;
740
+ }>]>>;
741
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
742
+ x: z.ZodNumber;
743
+ y: z.ZodNumber;
744
+ width: z.ZodNumber;
745
+ height: z.ZodNumber;
746
+ }, "strip", z.ZodTypeAny, {
747
+ x: number;
748
+ y: number;
749
+ width: number;
750
+ height: number;
751
+ }, {
752
+ x: number;
753
+ y: number;
754
+ width: number;
755
+ height: number;
756
+ }>]>>;
757
+ ref: z.ZodOptional<z.ZodString>;
758
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
759
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
760
+ domPath: z.ZodOptional<z.ZodString>;
761
+ xpath: z.ZodOptional<z.ZodString>;
762
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
763
+ visible: z.ZodOptional<z.ZodBoolean>;
764
+ hidden: z.ZodOptional<z.ZodBoolean>;
765
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
766
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
767
+ /** Tree root (preferred by others). */
768
+ root: z.ZodOptional<z.ZodObject<{
769
+ role: z.ZodOptional<z.ZodString>;
770
+ name: z.ZodOptional<z.ZodString>;
771
+ text: z.ZodOptional<z.ZodString>;
772
+ value: z.ZodOptional<z.ZodUnknown>;
773
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
774
+ x: z.ZodNumber;
775
+ y: z.ZodNumber;
776
+ width: z.ZodNumber;
777
+ height: z.ZodNumber;
778
+ }, "strip", z.ZodTypeAny, {
779
+ x: number;
780
+ y: number;
781
+ width: number;
782
+ height: number;
783
+ }, {
784
+ x: number;
785
+ y: number;
786
+ width: number;
787
+ height: number;
788
+ }>]>>;
789
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
790
+ x: z.ZodNumber;
791
+ y: z.ZodNumber;
792
+ width: z.ZodNumber;
793
+ height: z.ZodNumber;
794
+ }, "strip", z.ZodTypeAny, {
795
+ x: number;
796
+ y: number;
797
+ width: number;
798
+ height: number;
799
+ }, {
800
+ x: number;
801
+ y: number;
802
+ width: number;
803
+ height: number;
804
+ }>]>>;
805
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
806
+ x: z.ZodNumber;
807
+ y: z.ZodNumber;
808
+ width: z.ZodNumber;
809
+ height: z.ZodNumber;
810
+ }, "strip", z.ZodTypeAny, {
811
+ x: number;
812
+ y: number;
813
+ width: number;
814
+ height: number;
815
+ }, {
816
+ x: number;
817
+ y: number;
818
+ width: number;
819
+ height: number;
820
+ }>]>>;
821
+ ref: z.ZodOptional<z.ZodString>;
822
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
823
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
824
+ domPath: z.ZodOptional<z.ZodString>;
825
+ xpath: z.ZodOptional<z.ZodString>;
826
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
827
+ visible: z.ZodOptional<z.ZodBoolean>;
828
+ hidden: z.ZodOptional<z.ZodBoolean>;
829
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
830
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
831
+ role: z.ZodOptional<z.ZodString>;
832
+ name: z.ZodOptional<z.ZodString>;
833
+ text: z.ZodOptional<z.ZodString>;
834
+ value: z.ZodOptional<z.ZodUnknown>;
835
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
836
+ x: z.ZodNumber;
837
+ y: z.ZodNumber;
838
+ width: z.ZodNumber;
839
+ height: z.ZodNumber;
840
+ }, "strip", z.ZodTypeAny, {
841
+ x: number;
842
+ y: number;
843
+ width: number;
844
+ height: number;
845
+ }, {
846
+ x: number;
847
+ y: number;
848
+ width: number;
849
+ height: number;
850
+ }>]>>;
851
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
852
+ x: z.ZodNumber;
853
+ y: z.ZodNumber;
854
+ width: z.ZodNumber;
855
+ height: z.ZodNumber;
856
+ }, "strip", z.ZodTypeAny, {
857
+ x: number;
858
+ y: number;
859
+ width: number;
860
+ height: number;
861
+ }, {
862
+ x: number;
863
+ y: number;
864
+ width: number;
865
+ height: number;
866
+ }>]>>;
867
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
868
+ x: z.ZodNumber;
869
+ y: z.ZodNumber;
870
+ width: z.ZodNumber;
871
+ height: z.ZodNumber;
872
+ }, "strip", z.ZodTypeAny, {
873
+ x: number;
874
+ y: number;
875
+ width: number;
876
+ height: number;
877
+ }, {
878
+ x: number;
879
+ y: number;
880
+ width: number;
881
+ height: number;
882
+ }>]>>;
883
+ ref: z.ZodOptional<z.ZodString>;
884
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
885
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
886
+ domPath: z.ZodOptional<z.ZodString>;
887
+ xpath: z.ZodOptional<z.ZodString>;
888
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
889
+ visible: z.ZodOptional<z.ZodBoolean>;
890
+ hidden: z.ZodOptional<z.ZodBoolean>;
891
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
892
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
893
+ role: z.ZodOptional<z.ZodString>;
894
+ name: z.ZodOptional<z.ZodString>;
895
+ text: z.ZodOptional<z.ZodString>;
896
+ value: z.ZodOptional<z.ZodUnknown>;
897
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
898
+ x: z.ZodNumber;
899
+ y: z.ZodNumber;
900
+ width: z.ZodNumber;
901
+ height: z.ZodNumber;
902
+ }, "strip", z.ZodTypeAny, {
903
+ x: number;
904
+ y: number;
905
+ width: number;
906
+ height: number;
907
+ }, {
908
+ x: number;
909
+ y: number;
910
+ width: number;
911
+ height: number;
912
+ }>]>>;
913
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
914
+ x: z.ZodNumber;
915
+ y: z.ZodNumber;
916
+ width: z.ZodNumber;
917
+ height: z.ZodNumber;
918
+ }, "strip", z.ZodTypeAny, {
919
+ x: number;
920
+ y: number;
921
+ width: number;
922
+ height: number;
923
+ }, {
924
+ x: number;
925
+ y: number;
926
+ width: number;
927
+ height: number;
928
+ }>]>>;
929
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
930
+ x: z.ZodNumber;
931
+ y: z.ZodNumber;
932
+ width: z.ZodNumber;
933
+ height: z.ZodNumber;
934
+ }, "strip", z.ZodTypeAny, {
935
+ x: number;
936
+ y: number;
937
+ width: number;
938
+ height: number;
939
+ }, {
940
+ x: number;
941
+ y: number;
942
+ width: number;
943
+ height: number;
944
+ }>]>>;
945
+ ref: z.ZodOptional<z.ZodString>;
946
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
947
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
948
+ domPath: z.ZodOptional<z.ZodString>;
949
+ xpath: z.ZodOptional<z.ZodString>;
950
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
951
+ visible: z.ZodOptional<z.ZodBoolean>;
952
+ hidden: z.ZodOptional<z.ZodBoolean>;
953
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
954
+ }, z.ZodTypeAny, "passthrough">>>;
955
+ /** Raw text/markdown content, kept for context. */
956
+ content: z.ZodOptional<z.ZodString>;
957
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
958
+ /** Flat node list (preferred by some engines). */
959
+ nodes: z.ZodOptional<z.ZodArray<z.ZodObject<{
960
+ role: z.ZodOptional<z.ZodString>;
961
+ name: z.ZodOptional<z.ZodString>;
962
+ text: z.ZodOptional<z.ZodString>;
963
+ value: z.ZodOptional<z.ZodUnknown>;
964
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
965
+ x: z.ZodNumber;
966
+ y: z.ZodNumber;
967
+ width: z.ZodNumber;
968
+ height: z.ZodNumber;
969
+ }, "strip", z.ZodTypeAny, {
970
+ x: number;
971
+ y: number;
972
+ width: number;
973
+ height: number;
974
+ }, {
975
+ x: number;
976
+ y: number;
977
+ width: number;
978
+ height: number;
979
+ }>]>>;
980
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
981
+ x: z.ZodNumber;
982
+ y: z.ZodNumber;
983
+ width: z.ZodNumber;
984
+ height: z.ZodNumber;
985
+ }, "strip", z.ZodTypeAny, {
986
+ x: number;
987
+ y: number;
988
+ width: number;
989
+ height: number;
990
+ }, {
991
+ x: number;
992
+ y: number;
993
+ width: number;
994
+ height: number;
995
+ }>]>>;
996
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
997
+ x: z.ZodNumber;
998
+ y: z.ZodNumber;
999
+ width: z.ZodNumber;
1000
+ height: z.ZodNumber;
1001
+ }, "strip", z.ZodTypeAny, {
1002
+ x: number;
1003
+ y: number;
1004
+ width: number;
1005
+ height: number;
1006
+ }, {
1007
+ x: number;
1008
+ y: number;
1009
+ width: number;
1010
+ height: number;
1011
+ }>]>>;
1012
+ ref: z.ZodOptional<z.ZodString>;
1013
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1014
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1015
+ domPath: z.ZodOptional<z.ZodString>;
1016
+ xpath: z.ZodOptional<z.ZodString>;
1017
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
1018
+ visible: z.ZodOptional<z.ZodBoolean>;
1019
+ hidden: z.ZodOptional<z.ZodBoolean>;
1020
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1021
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1022
+ role: z.ZodOptional<z.ZodString>;
1023
+ name: z.ZodOptional<z.ZodString>;
1024
+ text: z.ZodOptional<z.ZodString>;
1025
+ value: z.ZodOptional<z.ZodUnknown>;
1026
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1027
+ x: z.ZodNumber;
1028
+ y: z.ZodNumber;
1029
+ width: z.ZodNumber;
1030
+ height: z.ZodNumber;
1031
+ }, "strip", z.ZodTypeAny, {
1032
+ x: number;
1033
+ y: number;
1034
+ width: number;
1035
+ height: number;
1036
+ }, {
1037
+ x: number;
1038
+ y: number;
1039
+ width: number;
1040
+ height: number;
1041
+ }>]>>;
1042
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1043
+ x: z.ZodNumber;
1044
+ y: z.ZodNumber;
1045
+ width: z.ZodNumber;
1046
+ height: z.ZodNumber;
1047
+ }, "strip", z.ZodTypeAny, {
1048
+ x: number;
1049
+ y: number;
1050
+ width: number;
1051
+ height: number;
1052
+ }, {
1053
+ x: number;
1054
+ y: number;
1055
+ width: number;
1056
+ height: number;
1057
+ }>]>>;
1058
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1059
+ x: z.ZodNumber;
1060
+ y: z.ZodNumber;
1061
+ width: z.ZodNumber;
1062
+ height: z.ZodNumber;
1063
+ }, "strip", z.ZodTypeAny, {
1064
+ x: number;
1065
+ y: number;
1066
+ width: number;
1067
+ height: number;
1068
+ }, {
1069
+ x: number;
1070
+ y: number;
1071
+ width: number;
1072
+ height: number;
1073
+ }>]>>;
1074
+ ref: z.ZodOptional<z.ZodString>;
1075
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1076
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1077
+ domPath: z.ZodOptional<z.ZodString>;
1078
+ xpath: z.ZodOptional<z.ZodString>;
1079
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
1080
+ visible: z.ZodOptional<z.ZodBoolean>;
1081
+ hidden: z.ZodOptional<z.ZodBoolean>;
1082
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1083
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1084
+ role: z.ZodOptional<z.ZodString>;
1085
+ name: z.ZodOptional<z.ZodString>;
1086
+ text: z.ZodOptional<z.ZodString>;
1087
+ value: z.ZodOptional<z.ZodUnknown>;
1088
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1089
+ x: z.ZodNumber;
1090
+ y: z.ZodNumber;
1091
+ width: z.ZodNumber;
1092
+ height: z.ZodNumber;
1093
+ }, "strip", z.ZodTypeAny, {
1094
+ x: number;
1095
+ y: number;
1096
+ width: number;
1097
+ height: number;
1098
+ }, {
1099
+ x: number;
1100
+ y: number;
1101
+ width: number;
1102
+ height: number;
1103
+ }>]>>;
1104
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1105
+ x: z.ZodNumber;
1106
+ y: z.ZodNumber;
1107
+ width: z.ZodNumber;
1108
+ height: z.ZodNumber;
1109
+ }, "strip", z.ZodTypeAny, {
1110
+ x: number;
1111
+ y: number;
1112
+ width: number;
1113
+ height: number;
1114
+ }, {
1115
+ x: number;
1116
+ y: number;
1117
+ width: number;
1118
+ height: number;
1119
+ }>]>>;
1120
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1121
+ x: z.ZodNumber;
1122
+ y: z.ZodNumber;
1123
+ width: z.ZodNumber;
1124
+ height: z.ZodNumber;
1125
+ }, "strip", z.ZodTypeAny, {
1126
+ x: number;
1127
+ y: number;
1128
+ width: number;
1129
+ height: number;
1130
+ }, {
1131
+ x: number;
1132
+ y: number;
1133
+ width: number;
1134
+ height: number;
1135
+ }>]>>;
1136
+ ref: z.ZodOptional<z.ZodString>;
1137
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1138
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1139
+ domPath: z.ZodOptional<z.ZodString>;
1140
+ xpath: z.ZodOptional<z.ZodString>;
1141
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
1142
+ visible: z.ZodOptional<z.ZodBoolean>;
1143
+ hidden: z.ZodOptional<z.ZodBoolean>;
1144
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1145
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1146
+ /** Tree root (preferred by others). */
1147
+ root: z.ZodOptional<z.ZodObject<{
1148
+ role: z.ZodOptional<z.ZodString>;
1149
+ name: z.ZodOptional<z.ZodString>;
1150
+ text: z.ZodOptional<z.ZodString>;
1151
+ value: z.ZodOptional<z.ZodUnknown>;
1152
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1153
+ x: z.ZodNumber;
1154
+ y: z.ZodNumber;
1155
+ width: z.ZodNumber;
1156
+ height: z.ZodNumber;
1157
+ }, "strip", z.ZodTypeAny, {
1158
+ x: number;
1159
+ y: number;
1160
+ width: number;
1161
+ height: number;
1162
+ }, {
1163
+ x: number;
1164
+ y: number;
1165
+ width: number;
1166
+ height: number;
1167
+ }>]>>;
1168
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1169
+ x: z.ZodNumber;
1170
+ y: z.ZodNumber;
1171
+ width: z.ZodNumber;
1172
+ height: z.ZodNumber;
1173
+ }, "strip", z.ZodTypeAny, {
1174
+ x: number;
1175
+ y: number;
1176
+ width: number;
1177
+ height: number;
1178
+ }, {
1179
+ x: number;
1180
+ y: number;
1181
+ width: number;
1182
+ height: number;
1183
+ }>]>>;
1184
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1185
+ x: z.ZodNumber;
1186
+ y: z.ZodNumber;
1187
+ width: z.ZodNumber;
1188
+ height: z.ZodNumber;
1189
+ }, "strip", z.ZodTypeAny, {
1190
+ x: number;
1191
+ y: number;
1192
+ width: number;
1193
+ height: number;
1194
+ }, {
1195
+ x: number;
1196
+ y: number;
1197
+ width: number;
1198
+ height: number;
1199
+ }>]>>;
1200
+ ref: z.ZodOptional<z.ZodString>;
1201
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1202
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1203
+ domPath: z.ZodOptional<z.ZodString>;
1204
+ xpath: z.ZodOptional<z.ZodString>;
1205
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
1206
+ visible: z.ZodOptional<z.ZodBoolean>;
1207
+ hidden: z.ZodOptional<z.ZodBoolean>;
1208
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1209
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1210
+ role: z.ZodOptional<z.ZodString>;
1211
+ name: z.ZodOptional<z.ZodString>;
1212
+ text: z.ZodOptional<z.ZodString>;
1213
+ value: z.ZodOptional<z.ZodUnknown>;
1214
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1215
+ x: z.ZodNumber;
1216
+ y: z.ZodNumber;
1217
+ width: z.ZodNumber;
1218
+ height: z.ZodNumber;
1219
+ }, "strip", z.ZodTypeAny, {
1220
+ x: number;
1221
+ y: number;
1222
+ width: number;
1223
+ height: number;
1224
+ }, {
1225
+ x: number;
1226
+ y: number;
1227
+ width: number;
1228
+ height: number;
1229
+ }>]>>;
1230
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1231
+ x: z.ZodNumber;
1232
+ y: z.ZodNumber;
1233
+ width: z.ZodNumber;
1234
+ height: z.ZodNumber;
1235
+ }, "strip", z.ZodTypeAny, {
1236
+ x: number;
1237
+ y: number;
1238
+ width: number;
1239
+ height: number;
1240
+ }, {
1241
+ x: number;
1242
+ y: number;
1243
+ width: number;
1244
+ height: number;
1245
+ }>]>>;
1246
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1247
+ x: z.ZodNumber;
1248
+ y: z.ZodNumber;
1249
+ width: z.ZodNumber;
1250
+ height: z.ZodNumber;
1251
+ }, "strip", z.ZodTypeAny, {
1252
+ x: number;
1253
+ y: number;
1254
+ width: number;
1255
+ height: number;
1256
+ }, {
1257
+ x: number;
1258
+ y: number;
1259
+ width: number;
1260
+ height: number;
1261
+ }>]>>;
1262
+ ref: z.ZodOptional<z.ZodString>;
1263
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1264
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1265
+ domPath: z.ZodOptional<z.ZodString>;
1266
+ xpath: z.ZodOptional<z.ZodString>;
1267
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
1268
+ visible: z.ZodOptional<z.ZodBoolean>;
1269
+ hidden: z.ZodOptional<z.ZodBoolean>;
1270
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1271
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1272
+ role: z.ZodOptional<z.ZodString>;
1273
+ name: z.ZodOptional<z.ZodString>;
1274
+ text: z.ZodOptional<z.ZodString>;
1275
+ value: z.ZodOptional<z.ZodUnknown>;
1276
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1277
+ x: z.ZodNumber;
1278
+ y: z.ZodNumber;
1279
+ width: z.ZodNumber;
1280
+ height: z.ZodNumber;
1281
+ }, "strip", z.ZodTypeAny, {
1282
+ x: number;
1283
+ y: number;
1284
+ width: number;
1285
+ height: number;
1286
+ }, {
1287
+ x: number;
1288
+ y: number;
1289
+ width: number;
1290
+ height: number;
1291
+ }>]>>;
1292
+ boundingBox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1293
+ x: z.ZodNumber;
1294
+ y: z.ZodNumber;
1295
+ width: z.ZodNumber;
1296
+ height: z.ZodNumber;
1297
+ }, "strip", z.ZodTypeAny, {
1298
+ x: number;
1299
+ y: number;
1300
+ width: number;
1301
+ height: number;
1302
+ }, {
1303
+ x: number;
1304
+ y: number;
1305
+ width: number;
1306
+ height: number;
1307
+ }>]>>;
1308
+ boundingbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1309
+ x: z.ZodNumber;
1310
+ y: z.ZodNumber;
1311
+ width: z.ZodNumber;
1312
+ height: z.ZodNumber;
1313
+ }, "strip", z.ZodTypeAny, {
1314
+ x: number;
1315
+ y: number;
1316
+ width: number;
1317
+ height: number;
1318
+ }, {
1319
+ x: number;
1320
+ y: number;
1321
+ width: number;
1322
+ height: number;
1323
+ }>]>>;
1324
+ ref: z.ZodOptional<z.ZodString>;
1325
+ nodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1326
+ backendDOMNodeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
1327
+ domPath: z.ZodOptional<z.ZodString>;
1328
+ xpath: z.ZodOptional<z.ZodString>;
1329
+ children: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">>;
1330
+ visible: z.ZodOptional<z.ZodBoolean>;
1331
+ hidden: z.ZodOptional<z.ZodBoolean>;
1332
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1333
+ }, z.ZodTypeAny, "passthrough">>>;
1334
+ /** Raw text/markdown content, kept for context. */
1335
+ content: z.ZodOptional<z.ZodString>;
1336
+ }, z.ZodTypeAny, "passthrough">>;
1337
+ export type BrowserSnapshot = z.infer<typeof BrowserSnapshotInput>;
1338
+ export interface PayloadGuardOptions {
1339
+ /** Max serialized bytes. Default 8 MiB. */
1340
+ maxBytes?: number;
1341
+ /** Max tree depth. Default 500. */
1342
+ maxDepth?: number;
1343
+ }
1344
+ export declare function assertSnapshotPayload(snapshot: unknown, opts?: PayloadGuardOptions): void;
1345
+ export interface AdapterOptions {
1346
+ viewport?: Viewport;
1347
+ screenshot?: Screenshot;
1348
+ /** Explicit graph id; generated otherwise. */
1349
+ id?: string;
1350
+ /** Confidence floor for extracted nodes (default 0.9 — high because AX-derived). */
1351
+ baseConfidence?: number;
1352
+ }
1353
+ export interface AdapterResult {
1354
+ graph: ScreenGraph;
1355
+ warnings: Warning[];
1356
+ }
1357
+ /**
1358
+ * Normalize a Chromium-style snapshot into a ScreenGraph.
1359
+ * Throws structured errors for malformed/oversized/missing-field input.
1360
+ */
1361
+ export declare function snapshotToScreenGraph(rawSnapshot: unknown, opts?: AdapterOptions): AdapterResult;
1362
+ //# sourceMappingURL=browser-adapter.d.ts.map