camofox-browser 2.1.0 → 2.4.1

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 (102) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +304 -33
  3. package/dist/src/cli/commands/content.d.ts.map +1 -1
  4. package/dist/src/cli/commands/content.js +37 -0
  5. package/dist/src/cli/commands/content.js.map +1 -1
  6. package/dist/src/cli/commands/core.d.ts.map +1 -1
  7. package/dist/src/cli/commands/core.js +21 -4
  8. package/dist/src/cli/commands/core.js.map +1 -1
  9. package/dist/src/cli/commands/interaction.d.ts.map +1 -1
  10. package/dist/src/cli/commands/interaction.js +5 -14
  11. package/dist/src/cli/commands/interaction.js.map +1 -1
  12. package/dist/src/cli/commands/navigation.d.ts.map +1 -1
  13. package/dist/src/cli/commands/navigation.js +12 -6
  14. package/dist/src/cli/commands/navigation.js.map +1 -1
  15. package/dist/src/cli/commands/server.d.ts.map +1 -1
  16. package/dist/src/cli/commands/server.js +9 -3
  17. package/dist/src/cli/commands/server.js.map +1 -1
  18. package/dist/src/cli/commands/session.d.ts.map +1 -1
  19. package/dist/src/cli/commands/session.js +23 -5
  20. package/dist/src/cli/commands/session.js.map +1 -1
  21. package/dist/src/cli/server/manager.d.ts +1 -0
  22. package/dist/src/cli/server/manager.d.ts.map +1 -1
  23. package/dist/src/cli/server/manager.js +7 -12
  24. package/dist/src/cli/server/manager.js.map +1 -1
  25. package/dist/src/middleware/lifecycle-activity.d.ts +9 -0
  26. package/dist/src/middleware/lifecycle-activity.d.ts.map +1 -0
  27. package/dist/src/middleware/lifecycle-activity.js +21 -0
  28. package/dist/src/middleware/lifecycle-activity.js.map +1 -0
  29. package/dist/src/openapi/spec.d.ts +4 -0
  30. package/dist/src/openapi/spec.d.ts.map +1 -0
  31. package/dist/src/openapi/spec.js +730 -0
  32. package/dist/src/openapi/spec.js.map +1 -0
  33. package/dist/src/routes/core.d.ts.map +1 -1
  34. package/dist/src/routes/core.js +428 -53
  35. package/dist/src/routes/core.js.map +1 -1
  36. package/dist/src/routes/docs.d.ts +3 -0
  37. package/dist/src/routes/docs.d.ts.map +1 -0
  38. package/dist/src/routes/docs.js +23 -0
  39. package/dist/src/routes/docs.js.map +1 -0
  40. package/dist/src/routes/openclaw.d.ts.map +1 -1
  41. package/dist/src/routes/openclaw.js +244 -90
  42. package/dist/src/routes/openclaw.js.map +1 -1
  43. package/dist/src/server.js +55 -4
  44. package/dist/src/server.js.map +1 -1
  45. package/dist/src/services/context-pool.d.ts +19 -3
  46. package/dist/src/services/context-pool.d.ts.map +1 -1
  47. package/dist/src/services/context-pool.js +248 -65
  48. package/dist/src/services/context-pool.js.map +1 -1
  49. package/dist/src/services/download.d.ts +2 -0
  50. package/dist/src/services/download.d.ts.map +1 -1
  51. package/dist/src/services/download.js +110 -80
  52. package/dist/src/services/download.js.map +1 -1
  53. package/dist/src/services/lifecycle-controller.d.ts +40 -0
  54. package/dist/src/services/lifecycle-controller.d.ts.map +1 -0
  55. package/dist/src/services/lifecycle-controller.js +106 -0
  56. package/dist/src/services/lifecycle-controller.js.map +1 -0
  57. package/dist/src/services/resource-extractor.d.ts +1 -0
  58. package/dist/src/services/resource-extractor.d.ts.map +1 -1
  59. package/dist/src/services/resource-extractor.js +7 -0
  60. package/dist/src/services/resource-extractor.js.map +1 -1
  61. package/dist/src/services/session.d.ts +84 -2
  62. package/dist/src/services/session.d.ts.map +1 -1
  63. package/dist/src/services/session.js +349 -47
  64. package/dist/src/services/session.js.map +1 -1
  65. package/dist/src/services/structured-extractor.d.ts +39 -0
  66. package/dist/src/services/structured-extractor.d.ts.map +1 -0
  67. package/dist/src/services/structured-extractor.js +487 -0
  68. package/dist/src/services/structured-extractor.js.map +1 -0
  69. package/dist/src/services/tab.d.ts +30 -3
  70. package/dist/src/services/tab.d.ts.map +1 -1
  71. package/dist/src/services/tab.js +877 -124
  72. package/dist/src/services/tab.js.map +1 -1
  73. package/dist/src/services/tracing.d.ts +7 -0
  74. package/dist/src/services/tracing.d.ts.map +1 -1
  75. package/dist/src/services/tracing.js +162 -19
  76. package/dist/src/services/tracing.js.map +1 -1
  77. package/dist/src/services/vnc.d.ts.map +1 -1
  78. package/dist/src/services/vnc.js +5 -3
  79. package/dist/src/services/vnc.js.map +1 -1
  80. package/dist/src/services/youtube.js +1 -1
  81. package/dist/src/services/youtube.js.map +1 -1
  82. package/dist/src/types.d.ts +71 -1
  83. package/dist/src/types.d.ts.map +1 -1
  84. package/dist/src/utils/config.d.ts +79 -3
  85. package/dist/src/utils/config.d.ts.map +1 -1
  86. package/dist/src/utils/config.js +145 -3
  87. package/dist/src/utils/config.js.map +1 -1
  88. package/dist/src/utils/presets.d.ts.map +1 -1
  89. package/dist/src/utils/presets.js +3 -1
  90. package/dist/src/utils/presets.js.map +1 -1
  91. package/dist/src/utils/proxy-profiles.d.ts +18 -0
  92. package/dist/src/utils/proxy-profiles.d.ts.map +1 -0
  93. package/dist/src/utils/proxy-profiles.js +197 -0
  94. package/dist/src/utils/proxy-profiles.js.map +1 -0
  95. package/dist/src/utils/sidecar-version.d.ts +12 -0
  96. package/dist/src/utils/sidecar-version.d.ts.map +1 -0
  97. package/dist/src/utils/sidecar-version.js +63 -0
  98. package/dist/src/utils/sidecar-version.js.map +1 -0
  99. package/dist/tsconfig.tsbuildinfo +1 -1
  100. package/openclaw.plugin.json +39 -0
  101. package/package.json +16 -4
  102. package/plugin.ts +949 -0
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StructuredExtractRuntimeError = exports.StructuredExtractSchemaError = void 0;
4
+ exports.validateStructuredExtractSchema = validateStructuredExtractSchema;
5
+ exports.buildFieldPath = buildFieldPath;
6
+ exports.createLocatorScope = createLocatorScope;
7
+ exports.extractStructuredFromScope = extractStructuredFromScope;
8
+ exports.extractStructuredData = extractStructuredData;
9
+ const cssTree = require('css-tree');
10
+ const scalarKinds = new Set(['text', 'html', 'attr', 'url', 'number']);
11
+ const joinKinds = new Set(['text', 'attr', 'url']);
12
+ const scalarSchemaKeys = new Set(['kind', 'selector', 'required', 'trim', 'join', 'coerce', 'attr']);
13
+ const objectSchemaKeys = new Set(['kind', 'selector', 'required', 'fields']);
14
+ const listSchemaKeys = new Set(['kind', 'selector', 'required', 'item']);
15
+ const legacyPseudoElementNames = new Set(['before', 'after', 'first-letter', 'first-line']);
16
+ const simplePseudoClassNames = new Set([
17
+ '-webkit-autofill',
18
+ 'active',
19
+ 'any-link',
20
+ 'autofill',
21
+ 'blank',
22
+ 'buffering',
23
+ 'checked',
24
+ 'closed',
25
+ 'default',
26
+ 'defined',
27
+ 'disabled',
28
+ 'empty',
29
+ 'enabled',
30
+ 'first-child',
31
+ 'first-of-type',
32
+ 'focus',
33
+ 'focus-visible',
34
+ 'focus-within',
35
+ 'fullscreen',
36
+ 'future',
37
+ 'hover',
38
+ 'in-range',
39
+ 'indeterminate',
40
+ 'invalid',
41
+ 'last-child',
42
+ 'last-of-type',
43
+ 'link',
44
+ 'local-link',
45
+ 'modal',
46
+ 'muted',
47
+ 'only-child',
48
+ 'open',
49
+ 'optional',
50
+ 'out-of-range',
51
+ 'past',
52
+ 'paused',
53
+ 'picture-in-picture',
54
+ 'placeholder-shown',
55
+ 'playing',
56
+ 'popover-open',
57
+ 'read-only',
58
+ 'read-write',
59
+ 'required',
60
+ 'root',
61
+ 'scope',
62
+ 'seeking',
63
+ 'stalled',
64
+ 'target',
65
+ 'target-within',
66
+ 'user-invalid',
67
+ 'user-valid',
68
+ 'valid',
69
+ 'visited',
70
+ 'volume-locked',
71
+ ]);
72
+ const functionalPseudoClassNames = new Set([
73
+ 'current',
74
+ 'dir',
75
+ 'has',
76
+ 'heading',
77
+ 'host',
78
+ 'host-context',
79
+ 'is',
80
+ 'lang',
81
+ 'not',
82
+ 'nth-col',
83
+ 'nth-last-col',
84
+ 'state',
85
+ 'where',
86
+ ]);
87
+ function isSupportedPseudoClass(node) {
88
+ const name = String(node.name || '').toLowerCase();
89
+ if (legacyPseudoElementNames.has(name))
90
+ return true;
91
+ if (node.children) {
92
+ return (functionalPseudoClassNames.has(name) ||
93
+ /^nth-(?:last-)?(?:child|of-type)$/.test(name));
94
+ }
95
+ return simplePseudoClassNames.has(name);
96
+ }
97
+ class StructuredExtractSchemaError extends Error {
98
+ statusCode = 400;
99
+ constructor(message) {
100
+ super(message);
101
+ this.name = 'StructuredExtractSchemaError';
102
+ }
103
+ }
104
+ exports.StructuredExtractSchemaError = StructuredExtractSchemaError;
105
+ class StructuredExtractRuntimeError extends Error {
106
+ statusCode = 422;
107
+ fieldPath;
108
+ reason;
109
+ constructor(fieldPath, reason) {
110
+ super(reason === 'required' ? `Missing required field at ${fieldPath}` : `Structured extraction failed at ${fieldPath}`);
111
+ this.name = 'StructuredExtractRuntimeError';
112
+ this.fieldPath = fieldPath;
113
+ this.reason = reason;
114
+ }
115
+ }
116
+ exports.StructuredExtractRuntimeError = StructuredExtractRuntimeError;
117
+ function assertRecord(path, value) {
118
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
119
+ throw new StructuredExtractSchemaError(`${path} must be an object`);
120
+ }
121
+ }
122
+ function assertCssSelector(path, selector) {
123
+ if (selector === undefined)
124
+ return;
125
+ if (typeof selector !== 'string' || selector.trim().length === 0) {
126
+ throw new StructuredExtractSchemaError(`${path}.selector must be a non-empty string`);
127
+ }
128
+ const normalizedSelector = selector.trim();
129
+ let ast;
130
+ try {
131
+ ast = cssTree.parse(normalizedSelector, { context: 'selectorList', parseCustomProperty: true });
132
+ }
133
+ catch {
134
+ throw new StructuredExtractSchemaError(`${path}.selector must be a CSS selector`);
135
+ }
136
+ const validateSelectorStructure = (node, allowLeadingCombinator = false) => {
137
+ if (!node || typeof node !== 'object') {
138
+ return;
139
+ }
140
+ if (node.type === 'SelectorList') {
141
+ node.children.forEach((childNode) => {
142
+ validateSelectorStructure(childNode, allowLeadingCombinator);
143
+ });
144
+ return;
145
+ }
146
+ if (node.type === 'Selector') {
147
+ let previousNode = null;
148
+ let hasNode = false;
149
+ node.children.forEach((childNode) => {
150
+ hasNode = true;
151
+ if (childNode.type === 'Combinator' && previousNode === null && !allowLeadingCombinator) {
152
+ throw new StructuredExtractSchemaError(`${path}.selector must be a CSS selector`);
153
+ }
154
+ if (previousNode && previousNode.type === 'Combinator' && childNode.type === 'Combinator') {
155
+ throw new StructuredExtractSchemaError(`${path}.selector must be a CSS selector`);
156
+ }
157
+ previousNode = childNode;
158
+ });
159
+ if (!hasNode || previousNode?.type === 'Combinator') {
160
+ throw new StructuredExtractSchemaError(`${path}.selector must be a CSS selector`);
161
+ }
162
+ node.children.forEach((childNode) => {
163
+ validateSelectorStructure(childNode, false);
164
+ });
165
+ return;
166
+ }
167
+ const nestedAllowsLeadingCombinator = node.type === 'PseudoClassSelector' && String(node.name || '').toLowerCase() === 'has';
168
+ if (node.children && typeof node.children.forEach === 'function') {
169
+ node.children.forEach((childNode) => {
170
+ validateSelectorStructure(childNode, nestedAllowsLeadingCombinator);
171
+ });
172
+ }
173
+ };
174
+ validateSelectorStructure(ast);
175
+ cssTree.walk(ast, (node) => {
176
+ if (node.type === 'PseudoElementSelector') {
177
+ const name = String(node.name || '').toLowerCase();
178
+ if (name.startsWith('-p-')) {
179
+ throw new StructuredExtractSchemaError(`${path}.selector must be a CSS selector`);
180
+ }
181
+ throw new StructuredExtractSchemaError(`${path}.selector must target DOM elements; pseudo-elements are not supported`);
182
+ }
183
+ if (node.type === 'PseudoClassSelector') {
184
+ const name = String(node.name || '').toLowerCase();
185
+ if (legacyPseudoElementNames.has(name)) {
186
+ throw new StructuredExtractSchemaError(`${path}.selector must target DOM elements; pseudo-elements are not supported`);
187
+ }
188
+ if (!isSupportedPseudoClass(node)) {
189
+ throw new StructuredExtractSchemaError(`${path}.selector must be a CSS selector`);
190
+ }
191
+ }
192
+ });
193
+ }
194
+ function assertNoTransform(path, schema) {
195
+ if ('transform' in schema) {
196
+ throw new StructuredExtractSchemaError(`${path}.transform is not supported`);
197
+ }
198
+ }
199
+ function assertAllowedKeys(path, schema, allowedKeys) {
200
+ for (const key of Object.keys(schema)) {
201
+ if (!allowedKeys.has(key)) {
202
+ throw new StructuredExtractSchemaError(`${path}.${key} is not supported`);
203
+ }
204
+ }
205
+ }
206
+ function assertBooleanOption(path, key, value) {
207
+ if (value !== undefined && typeof value !== 'boolean') {
208
+ throw new StructuredExtractSchemaError(`${path}.${key} must be a boolean`);
209
+ }
210
+ }
211
+ function assertStringOption(path, key, value) {
212
+ if (value !== undefined && typeof value !== 'string') {
213
+ throw new StructuredExtractSchemaError(`${path}.${key} must be a string`);
214
+ }
215
+ }
216
+ function assertNonEmptyStringOption(path, key, value) {
217
+ assertStringOption(path, key, value);
218
+ if (typeof value === 'string' && value.trim().length === 0) {
219
+ throw new StructuredExtractSchemaError(`${path}.${key} must be a non-empty string`);
220
+ }
221
+ }
222
+ function assertScalarOptionTypes(path, schema) {
223
+ assertBooleanOption(path, 'required', schema.required);
224
+ assertBooleanOption(path, 'trim', schema.trim);
225
+ assertStringOption(path, 'join', schema.join);
226
+ assertStringOption(path, 'attr', schema.attr);
227
+ if (schema.attr !== undefined && schema.kind !== 'attr' && schema.kind !== 'url') {
228
+ throw new StructuredExtractSchemaError(`${path}.attr is only supported for kind "attr" and "url"`);
229
+ }
230
+ if (schema.coerce !== undefined && schema.coerce !== 'number' && schema.coerce !== 'url') {
231
+ throw new StructuredExtractSchemaError(`${path}.coerce must be "number" or "url"`);
232
+ }
233
+ if (schema.kind === 'attr' && schema.attr !== undefined) {
234
+ assertNonEmptyStringOption(path, 'attr', schema.attr);
235
+ }
236
+ if (schema.kind === 'url' && schema.attr !== undefined) {
237
+ assertNonEmptyStringOption(path, 'attr', schema.attr);
238
+ }
239
+ }
240
+ function assertContainerOptionTypes(path, schema) {
241
+ assertBooleanOption(path, 'required', schema.required);
242
+ }
243
+ function validateScalarSchema(path, schema) {
244
+ const schemaRecord = schema;
245
+ assertCssSelector(path, schema.selector);
246
+ assertNoTransform(path, schemaRecord);
247
+ assertAllowedKeys(path, schemaRecord, scalarSchemaKeys);
248
+ assertScalarOptionTypes(path, schema);
249
+ if (!scalarKinds.has(schema.kind)) {
250
+ throw new StructuredExtractSchemaError(`${path}.kind must be one of text, html, attr, url, or number`);
251
+ }
252
+ if (schema.kind === 'attr' && !schema.attr) {
253
+ throw new StructuredExtractSchemaError(`${path}.attr is required for kind "attr"`);
254
+ }
255
+ if (schema.join !== undefined && !joinKinds.has(schema.kind)) {
256
+ throw new StructuredExtractSchemaError(`${path}.join is only supported for text, attr, and url fields`);
257
+ }
258
+ return {
259
+ kind: schema.kind,
260
+ selector: schema.selector,
261
+ required: schema.required,
262
+ trim: schema.trim,
263
+ join: schema.join,
264
+ coerce: schema.coerce,
265
+ attr: schema.kind === 'url' ? schema.attr ?? 'href' : schema.attr,
266
+ path,
267
+ };
268
+ }
269
+ function validateStructuredExtractNode(schema, path = 'schema') {
270
+ assertRecord(path, schema);
271
+ if (schema.kind === 'object') {
272
+ const schemaRecord = schema;
273
+ assertCssSelector(path, schema.selector);
274
+ assertNoTransform(path, schemaRecord);
275
+ assertAllowedKeys(path, schemaRecord, objectSchemaKeys);
276
+ assertContainerOptionTypes(path, schema);
277
+ assertRecord(`${path}.fields`, schema.fields);
278
+ const fields = Object.fromEntries(Object.entries(schema.fields).map(([key, value]) => [
279
+ key,
280
+ validateStructuredExtractNode(value, `${path}.fields.${key}`),
281
+ ]));
282
+ return {
283
+ kind: 'object',
284
+ selector: schema.selector,
285
+ required: schema.required,
286
+ fields,
287
+ path,
288
+ };
289
+ }
290
+ if (schema.kind === 'list') {
291
+ const schemaRecord = schema;
292
+ assertCssSelector(path, schema.selector);
293
+ assertNoTransform(path, schemaRecord);
294
+ assertAllowedKeys(path, schemaRecord, listSchemaKeys);
295
+ assertContainerOptionTypes(path, schema);
296
+ return {
297
+ kind: 'list',
298
+ selector: schema.selector,
299
+ required: schema.required,
300
+ item: validateStructuredExtractNode(schema.item, `${path}.item`),
301
+ path,
302
+ };
303
+ }
304
+ return validateScalarSchema(path, schema);
305
+ }
306
+ function validateStructuredExtractSchema(schema) {
307
+ assertRecord('schema', schema);
308
+ if (schema.kind !== 'object' && schema.kind !== 'list') {
309
+ throw new StructuredExtractSchemaError('schema.kind must be "object" or "list" at the root');
310
+ }
311
+ return validateStructuredExtractNode(schema, 'schema');
312
+ }
313
+ function buildFieldPath(path, key) {
314
+ if (typeof key === 'number') {
315
+ return `${path}[${key}]`;
316
+ }
317
+ return `${path}.${key}`;
318
+ }
319
+ function createLocatorScope(locator, baseUrl) {
320
+ return {
321
+ async queryAll(selector) {
322
+ const matches = locator.locator(selector);
323
+ const count = await matches.count();
324
+ const scopes = [];
325
+ for (let index = 0; index < count; index += 1) {
326
+ scopes.push(createLocatorScope(matches.nth(index), baseUrl));
327
+ }
328
+ return scopes;
329
+ },
330
+ async text() {
331
+ return locator.textContent();
332
+ },
333
+ async html() {
334
+ return locator.evaluate((node) => node.innerHTML ?? null);
335
+ },
336
+ async attr(name) {
337
+ return locator.getAttribute(name);
338
+ },
339
+ getBaseUrl() {
340
+ return baseUrl;
341
+ },
342
+ };
343
+ }
344
+ function normalizeStringValue(value, trim) {
345
+ if (value === null || value === undefined)
346
+ return null;
347
+ const normalized = trim ? value.trim() : value;
348
+ return normalized.length > 0 ? normalized : null;
349
+ }
350
+ function coerceNumberValue(value) {
351
+ if (value === null)
352
+ return null;
353
+ const normalized = value.replace(/,/g, '');
354
+ const coerced = Number(normalized);
355
+ return Number.isFinite(coerced) ? coerced : null;
356
+ }
357
+ function coerceUrlValue(value, baseUrl) {
358
+ if (value === null)
359
+ return null;
360
+ try {
361
+ return new URL(value, baseUrl).toString();
362
+ }
363
+ catch {
364
+ return null;
365
+ }
366
+ }
367
+ async function getSelectedScopes(scope, selector) {
368
+ if (!selector)
369
+ return [scope];
370
+ return scope.queryAll(selector);
371
+ }
372
+ function throwRequiredRuntimeError(fieldPath) {
373
+ throw new StructuredExtractRuntimeError(fieldPath, 'required');
374
+ }
375
+ async function extractRawScalarValue(scope, schema) {
376
+ let rawValue;
377
+ if (schema.kind === 'html') {
378
+ rawValue = normalizeStringValue(await scope.html(), schema.trim);
379
+ }
380
+ else if (schema.kind === 'attr' || schema.kind === 'url') {
381
+ rawValue = normalizeStringValue(await scope.attr(schema.attr || 'href'), schema.trim);
382
+ }
383
+ else {
384
+ rawValue = normalizeStringValue(await scope.text(), schema.trim);
385
+ }
386
+ return rawValue;
387
+ }
388
+ function coerceScalarValue(rawValue, schema, baseUrl) {
389
+ if (schema.kind === 'number' || schema.coerce === 'number') {
390
+ return coerceNumberValue(rawValue);
391
+ }
392
+ if (schema.kind === 'url' || schema.coerce === 'url') {
393
+ return coerceUrlValue(rawValue, baseUrl);
394
+ }
395
+ return rawValue;
396
+ }
397
+ async function extractScalarFromScope(scope, schema, fieldPath) {
398
+ const matches = await getSelectedScopes(scope, schema.selector);
399
+ if (matches.length === 0) {
400
+ if (schema.required) {
401
+ throwRequiredRuntimeError(fieldPath);
402
+ }
403
+ return null;
404
+ }
405
+ if (schema.join !== undefined) {
406
+ const values = [];
407
+ for (const match of matches) {
408
+ const value = await extractRawScalarValue(match, schema);
409
+ if (value !== null) {
410
+ values.push(value);
411
+ }
412
+ }
413
+ if (values.length === 0) {
414
+ if (schema.required) {
415
+ throwRequiredRuntimeError(fieldPath);
416
+ }
417
+ return null;
418
+ }
419
+ return coerceScalarValue(values.join(schema.join), schema, scope.getBaseUrl());
420
+ }
421
+ const value = coerceScalarValue(await extractRawScalarValue(matches[0], schema), schema, scope.getBaseUrl());
422
+ if (value === null && schema.required) {
423
+ throwRequiredRuntimeError(fieldPath);
424
+ }
425
+ return value;
426
+ }
427
+ async function extractCompiledFromScope(scope, schema, fieldPath) {
428
+ if (schema.kind === 'object') {
429
+ const matches = await getSelectedScopes(scope, schema.selector);
430
+ if (matches.length === 0) {
431
+ if (schema.required) {
432
+ throwRequiredRuntimeError(fieldPath);
433
+ }
434
+ return null;
435
+ }
436
+ const objectScope = matches[0];
437
+ const output = {};
438
+ for (const [key, childSchema] of Object.entries(schema.fields)) {
439
+ output[key] = await extractCompiledFromScope(objectScope, childSchema, buildFieldPath(fieldPath, key));
440
+ }
441
+ return output;
442
+ }
443
+ if (schema.kind === 'list') {
444
+ const matches = await getSelectedScopes(scope, schema.selector);
445
+ if (matches.length === 0) {
446
+ if (schema.required) {
447
+ throwRequiredRuntimeError(fieldPath);
448
+ }
449
+ return [];
450
+ }
451
+ const values = [];
452
+ for (let index = 0; index < matches.length; index += 1) {
453
+ values.push(await extractCompiledFromScope(matches[index], schema.item, buildFieldPath(fieldPath, index)));
454
+ }
455
+ return values;
456
+ }
457
+ return extractScalarFromScope(scope, schema, fieldPath);
458
+ }
459
+ async function countRootMatches(scope, schema) {
460
+ if (!schema.selector) {
461
+ return 1;
462
+ }
463
+ const matches = await scope.queryAll(schema.selector);
464
+ return matches.length;
465
+ }
466
+ async function extractCompiledRootFromScope(scope, schema, path = 'data') {
467
+ return extractCompiledFromScope(scope, schema, path);
468
+ }
469
+ async function extractStructuredFromScope(scope, schema, path = 'data') {
470
+ return extractCompiledRootFromScope(scope, validateStructuredExtractSchema(schema), path);
471
+ }
472
+ async function extractStructuredData(page, schema) {
473
+ const start = Date.now();
474
+ const compiledSchema = validateStructuredExtractSchema(schema);
475
+ const rootScope = createLocatorScope(page.locator('html'), page.url());
476
+ const matchedRoots = await countRootMatches(rootScope, compiledSchema);
477
+ const data = await extractCompiledRootFromScope(rootScope, compiledSchema, 'data');
478
+ return {
479
+ ok: true,
480
+ data,
481
+ metadata: {
482
+ extractionTimeMs: Date.now() - start,
483
+ matchedRoots,
484
+ },
485
+ };
486
+ }
487
+ //# sourceMappingURL=structured-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-extractor.js","sourceRoot":"","sources":["../../../src/services/structured-extractor.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,18 @@ export declare function safePageClose(page: (Pick<Page, 'close'> & {
15
15
  close: (...args: any[]) => Promise<unknown>;
16
16
  isClosed?: () => boolean;
17
17
  } | null | undefined): Promise<void>;
18
- export declare function validateUrl(url: string): string | null;
18
+ export interface ValidateUrlOptions {
19
+ allowPrivateNetworkTargets?: boolean;
20
+ }
21
+ export declare function throwBlockedNavigationErrorIfPresent(page: Page): void;
22
+ export declare function flushBlockedNavigationError(page: Page): Promise<void>;
23
+ export declare function withBlockedNavigationTracking<T>(page: Page, action: () => Promise<T>): Promise<T>;
24
+ export declare function validateUrl(url: string, options?: ValidateUrlOptions): string | null;
25
+ export declare function validateNavigationUrl(url: string, options?: ValidateUrlOptions): Promise<string | null>;
26
+ export declare function navigateWithSafetyGuard(page: Pick<Page, 'goto' | 'route' | 'unroute' | 'mainFrame'>, targetUrl: string, options?: ValidateUrlOptions & {
27
+ waitUntil?: 'load' | 'domcontentloaded' | 'networkidle';
28
+ timeout?: number;
29
+ }): Promise<void>;
19
30
  export declare function annotateAriaYamlWithRefs(ariaYaml: string | null, refs: Map<string, RefInfo>): string;
20
31
  export declare function waitForPageReady(page: Page, options?: WaitForPageReadyOptions): Promise<boolean>;
21
32
  export declare function dismissConsentDialogs(page: Page): Promise<void>;
@@ -24,11 +35,12 @@ export declare function buildRefsFromAriaSnapshot(ariaYaml: string | null): Map<
24
35
  export declare function getAriaSnapshot(page: Page): Promise<string | null>;
25
36
  export declare function isElementRef(target: string): boolean;
26
37
  export declare function refToLocator(page: Page, ref: string, refs: Map<string, RefInfo>): Promise<Locator | null>;
27
- export declare function createTabState(page: Page): TabState;
38
+ export declare function createTabState(page: Page): Promise<TabState>;
28
39
  export declare function navigateTab(tabId: string, tabState: TabState, params: {
29
40
  url?: string;
30
41
  macro?: string;
31
42
  query?: string;
43
+ allowPrivateNetworkTargets?: boolean;
32
44
  }): Promise<{
33
45
  ok: true;
34
46
  url: string;
@@ -38,6 +50,21 @@ export declare function snapshotTab(tabState: TabState): Promise<{
38
50
  snapshot: string;
39
51
  refsCount: number;
40
52
  }>;
53
+ export interface SnapshotPayload {
54
+ url: string;
55
+ snapshot: string;
56
+ refsCount: number;
57
+ offset: number;
58
+ truncated: boolean;
59
+ totalChars: number;
60
+ hasMore: boolean;
61
+ nextOffset: number | null;
62
+ }
63
+ export declare function buildSnapshotPayload(raw: {
64
+ url: string;
65
+ snapshot: string;
66
+ refsCount: number;
67
+ }, offset?: number): SnapshotPayload;
41
68
  export declare function clickTab(tabId: string, tabState: TabState, params: {
42
69
  ref?: string;
43
70
  selector?: string;
@@ -61,7 +88,7 @@ export declare function pressTab(tabId: string, tabState: TabState, key: string)
61
88
  ok: true;
62
89
  }>;
63
90
  export declare function scrollTab(tabState: TabState, params: {
64
- direction?: 'up' | 'down';
91
+ direction?: 'up' | 'down' | 'left' | 'right';
65
92
  amount?: number;
66
93
  }): Promise<{
67
94
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../src/services/tab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAEX,cAAc,EAEd,OAAO,EACP,cAAc,EACd,QAAQ,EACR,uBAAuB,EACvB,MAAM,UAAU,CAAC;AA+ClB,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAW1C,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAkB5G;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAoB3F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3D;AAGD,wBAAsB,aAAa,CAClC,IAAI,EACD,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,CAAC,GACpD;IAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,GACzE,IAAI,GACJ,SAAS,GACV,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUtD;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAsCpG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,CAuD1G;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CrE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAazE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BvF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpD;AAMD,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAa/G;AA6DD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAYnD;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBjK;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CASnH;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAsEjJ;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEzF;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAsBjJ;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAKpG;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAMjI;AAED,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACvH,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAE,CAAC,CAmFvD;AAED,wBAAsB,WAAW,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,cAAc,CAAC,CAKzB;AAkED,wBAAsB,mBAAmB,CACxC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAMnG;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAMtG;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAMtG;AAED,wBAAsB,QAAQ,CAC7B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnG,OAAO,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,CAoD1I;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAG1F;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAG7I"}
1
+ {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../src/services/tab.ts"],"names":[],"mappings":"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"}