@mercuryo-ai/agentbrowse 0.2.57 → 0.2.61

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 (100) hide show
  1. package/README.md +76 -57
  2. package/dist/browser-session-state.d.ts +39 -0
  3. package/dist/browser-session-state.d.ts.map +1 -1
  4. package/dist/browser-session-state.js +63 -1
  5. package/dist/command-name.js +1 -1
  6. package/dist/commands/act.d.ts.map +1 -1
  7. package/dist/commands/act.js +540 -528
  8. package/dist/commands/action-executor-helpers.d.ts.map +1 -1
  9. package/dist/commands/action-executor-helpers.js +10 -8
  10. package/dist/commands/attach.d.ts.map +1 -1
  11. package/dist/commands/attach.js +5 -10
  12. package/dist/commands/browser-connection-failure.d.ts +9 -0
  13. package/dist/commands/browser-connection-failure.d.ts.map +1 -0
  14. package/dist/commands/browser-connection-failure.js +15 -0
  15. package/dist/commands/browser-status.d.ts.map +1 -1
  16. package/dist/commands/browser-status.js +26 -30
  17. package/dist/commands/click-activation-policy.d.ts.map +1 -1
  18. package/dist/commands/click-activation-policy.js +6 -2
  19. package/dist/commands/close.d.ts.map +1 -1
  20. package/dist/commands/close.js +5 -0
  21. package/dist/commands/extract.d.ts.map +1 -1
  22. package/dist/commands/extract.js +147 -144
  23. package/dist/commands/launch.d.ts +0 -1
  24. package/dist/commands/launch.d.ts.map +1 -1
  25. package/dist/commands/launch.js +13 -16
  26. package/dist/commands/navigate.d.ts.map +1 -1
  27. package/dist/commands/navigate.js +79 -73
  28. package/dist/commands/observe-inventory.d.ts +6 -1
  29. package/dist/commands/observe-inventory.d.ts.map +1 -1
  30. package/dist/commands/observe-inventory.js +331 -8
  31. package/dist/commands/observe-persistence.d.ts.map +1 -1
  32. package/dist/commands/observe-persistence.js +2 -0
  33. package/dist/commands/observe-projection.d.ts +3 -2
  34. package/dist/commands/observe-projection.d.ts.map +1 -1
  35. package/dist/commands/observe-projection.js +1 -0
  36. package/dist/commands/observe-protected.d.ts +3 -1
  37. package/dist/commands/observe-protected.d.ts.map +1 -1
  38. package/dist/commands/observe-protected.js +23 -1
  39. package/dist/commands/observe-semantics.d.ts.map +1 -1
  40. package/dist/commands/observe-semantics.js +70 -0
  41. package/dist/commands/observe.d.ts +1 -0
  42. package/dist/commands/observe.d.ts.map +1 -1
  43. package/dist/commands/observe.js +260 -270
  44. package/dist/commands/screenshot.d.ts.map +1 -1
  45. package/dist/commands/screenshot.js +50 -64
  46. package/dist/control-semantics.d.ts.map +1 -1
  47. package/dist/control-semantics.js +5 -0
  48. package/dist/date-value-normalization.d.ts +16 -0
  49. package/dist/date-value-normalization.d.ts.map +1 -0
  50. package/dist/date-value-normalization.js +117 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -24
  53. package/dist/library.d.ts +5 -1
  54. package/dist/library.d.ts.map +1 -1
  55. package/dist/library.js +4 -1
  56. package/dist/protected-fill.d.ts +3 -2
  57. package/dist/protected-fill.d.ts.map +1 -1
  58. package/dist/protected-fill.js +46 -7
  59. package/dist/runtime-protected-state.d.ts.map +1 -1
  60. package/dist/runtime-protected-state.js +8 -1
  61. package/dist/runtime-state.d.ts +11 -0
  62. package/dist/runtime-state.d.ts.map +1 -1
  63. package/dist/secrets/form-matcher.d.ts +1 -2
  64. package/dist/secrets/form-matcher.d.ts.map +1 -1
  65. package/dist/secrets/form-matcher.js +125 -119
  66. package/dist/secrets/matching-helpers.d.ts +13 -0
  67. package/dist/secrets/matching-helpers.d.ts.map +1 -0
  68. package/dist/secrets/matching-helpers.js +147 -0
  69. package/dist/secrets/observed-field-resolution.d.ts +43 -0
  70. package/dist/secrets/observed-field-resolution.d.ts.map +1 -0
  71. package/dist/secrets/observed-field-resolution.js +223 -0
  72. package/dist/secrets/protected-field-semantics.d.ts.map +1 -1
  73. package/dist/secrets/protected-field-semantics.js +3 -2
  74. package/dist/secrets/protected-fill.d.ts +3 -1
  75. package/dist/secrets/protected-fill.d.ts.map +1 -1
  76. package/dist/secrets/protected-fill.js +31 -0
  77. package/dist/secrets/protected-value-adapters.d.ts.map +1 -1
  78. package/dist/secrets/protected-value-adapters.js +14 -22
  79. package/dist/secrets/types.d.ts +3 -0
  80. package/dist/secrets/types.d.ts.map +1 -1
  81. package/dist/sticky-owner-host-entry.d.ts +2 -0
  82. package/dist/sticky-owner-host-entry.d.ts.map +1 -0
  83. package/dist/sticky-owner-host-entry.js +97 -0
  84. package/dist/sticky-owner.d.ts +15 -0
  85. package/dist/sticky-owner.d.ts.map +1 -0
  86. package/dist/sticky-owner.js +431 -0
  87. package/docs/README.md +15 -2
  88. package/docs/api-reference.md +13 -3
  89. package/docs/assistive-runtime.md +63 -7
  90. package/docs/configuration.md +48 -8
  91. package/docs/getting-started.md +42 -9
  92. package/docs/integration-checklist.md +8 -7
  93. package/docs/protected-fill.md +40 -7
  94. package/docs/testing.md +4 -3
  95. package/docs/troubleshooting.md +126 -36
  96. package/examples/README.md +9 -2
  97. package/package.json +8 -3
  98. package/dist/protected-fill-browser.d.ts +0 -22
  99. package/dist/protected-fill-browser.d.ts.map +0 -1
  100. package/dist/protected-fill-browser.js +0 -52
@@ -11,6 +11,52 @@ export function normalizeSemanticDuplicateLabel(target) {
11
11
  .trim()
12
12
  .toLowerCase();
13
13
  }
14
+ function normalizeSelectionText(value) {
15
+ const normalized = (value ?? '').replace(/\s+/g, ' ').trim();
16
+ return normalized || undefined;
17
+ }
18
+ function compactRemoveItemLabelOf(target) {
19
+ const contextItemLabel = normalizeSelectionText(target.context?.item?.label);
20
+ if (contextItemLabel) {
21
+ return contextItemLabel;
22
+ }
23
+ const contextItemText = normalizeSelectionText(target.context?.item?.text);
24
+ if (contextItemText) {
25
+ return contextItemText;
26
+ }
27
+ const label = normalizeSelectionText(target.label);
28
+ if (!label) {
29
+ return undefined;
30
+ }
31
+ const removeFromMatch = label.match(/^remove\s+(.+?)\s+from\s+.+$/i);
32
+ return removeFromMatch?.[1]?.trim() || undefined;
33
+ }
34
+ function isCompactRemoveActionTarget(target) {
35
+ const normalizedLabel = normalizeSemanticDuplicateLabel(target);
36
+ if (!normalizedLabel) {
37
+ return false;
38
+ }
39
+ return (target.allowedActions?.includes('click') === true &&
40
+ /(?:^|\b)(remove|clear|close|delete|dismiss|cancel|убрать|удалить|очистить|закрыть)\b/i.test(normalizedLabel));
41
+ }
42
+ function isSelectionOwnerTarget(target) {
43
+ if (target.controlFamily === 'select') {
44
+ return true;
45
+ }
46
+ return Boolean(target.allowedActions?.includes('fill') ||
47
+ target.allowedActions?.includes('type') ||
48
+ target.allowedActions?.includes('select'));
49
+ }
50
+ function shareWorkflowContainer(left, right) {
51
+ const leftContainer = left.context?.container?.selector?.trim();
52
+ const rightContainer = right.context?.container?.selector?.trim();
53
+ if (leftContainer && rightContainer) {
54
+ return leftContainer === rightContainer;
55
+ }
56
+ const leftSurface = left.surfaceRef?.trim();
57
+ const rightSurface = right.surfaceRef?.trim();
58
+ return Boolean(leftSurface && rightSurface && leftSurface === rightSurface);
59
+ }
14
60
  export function isPrimaryFormControlTarget(target) {
15
61
  const kind = (target.kind ?? '').trim().toLowerCase();
16
62
  const role = (target.role ?? '').trim().toLowerCase();
@@ -417,6 +463,30 @@ export function annotateDomTargets(targets) {
417
463
  };
418
464
  }));
419
465
  return annotated.map((target, index, current) => {
466
+ const compactRemoveItemLabel = compactRemoveItemLabelOf(target);
467
+ const compactRemoveOwnerIndex = isCompactRemoveActionTarget(target) && compactRemoveItemLabel
468
+ ? current.findIndex((candidate, candidateIndex) => {
469
+ if (candidateIndex === index)
470
+ return false;
471
+ if (!isSelectionOwnerTarget(candidate))
472
+ return false;
473
+ if (!shareWorkflowContainer(target, candidate))
474
+ return false;
475
+ return true;
476
+ })
477
+ : -1;
478
+ if (compactRemoveOwnerIndex >= 0 && compactRemoveItemLabel) {
479
+ const owner = current[compactRemoveOwnerIndex];
480
+ const ownerLabel = normalizeSelectionText(owner?.label);
481
+ const relabeledTarget = ownerLabel && compactRemoveItemLabel
482
+ ? `Remove ${compactRemoveItemLabel} from ${ownerLabel}`
483
+ : target.label;
484
+ return {
485
+ ...target,
486
+ label: relabeledTarget,
487
+ ownerIndex: compactRemoveOwnerIndex,
488
+ };
489
+ }
420
490
  if (!target.surfaceRef ||
421
491
  !target.acceptancePolicy ||
422
492
  !(target.acceptancePolicy === 'selection' || target.acceptancePolicy === 'date-selection')) {
@@ -64,6 +64,7 @@ export declare const __testDomTargetCollection: {
64
64
  }, options?: import("./observe-inventory.js").DomTargetCollectionOptions & {
65
65
  framePath?: string[];
66
66
  frameUrl?: string;
67
+ pageFormSelector?: string;
67
68
  }) => Promise<import("./observe-inventory.js").DomObservedTarget[]>;
68
69
  inferStructuredCellVariantFromEvidence: typeof import("./observe-inventory.js").inferStructuredCellVariantFromEvidence;
69
70
  inferDirectionalControlFallbackFromEvidence: typeof import("./observe-inventory.js").inferDirectionalControlFallbackFromEvidence;
@@ -1 +1 @@
1
- {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/commands/observe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/commands/observe.ts"],"names":[],"mappings":"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"}