@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.
- package/README.md +76 -57
- package/dist/browser-session-state.d.ts +39 -0
- package/dist/browser-session-state.d.ts.map +1 -1
- package/dist/browser-session-state.js +63 -1
- package/dist/command-name.js +1 -1
- package/dist/commands/act.d.ts.map +1 -1
- package/dist/commands/act.js +540 -528
- package/dist/commands/action-executor-helpers.d.ts.map +1 -1
- package/dist/commands/action-executor-helpers.js +10 -8
- package/dist/commands/attach.d.ts.map +1 -1
- package/dist/commands/attach.js +5 -10
- package/dist/commands/browser-connection-failure.d.ts +9 -0
- package/dist/commands/browser-connection-failure.d.ts.map +1 -0
- package/dist/commands/browser-connection-failure.js +15 -0
- package/dist/commands/browser-status.d.ts.map +1 -1
- package/dist/commands/browser-status.js +26 -30
- package/dist/commands/click-activation-policy.d.ts.map +1 -1
- package/dist/commands/click-activation-policy.js +6 -2
- package/dist/commands/close.d.ts.map +1 -1
- package/dist/commands/close.js +5 -0
- package/dist/commands/extract.d.ts.map +1 -1
- package/dist/commands/extract.js +147 -144
- package/dist/commands/launch.d.ts +0 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +13 -16
- package/dist/commands/navigate.d.ts.map +1 -1
- package/dist/commands/navigate.js +79 -73
- package/dist/commands/observe-inventory.d.ts +6 -1
- package/dist/commands/observe-inventory.d.ts.map +1 -1
- package/dist/commands/observe-inventory.js +331 -8
- package/dist/commands/observe-persistence.d.ts.map +1 -1
- package/dist/commands/observe-persistence.js +2 -0
- package/dist/commands/observe-projection.d.ts +3 -2
- package/dist/commands/observe-projection.d.ts.map +1 -1
- package/dist/commands/observe-projection.js +1 -0
- package/dist/commands/observe-protected.d.ts +3 -1
- package/dist/commands/observe-protected.d.ts.map +1 -1
- package/dist/commands/observe-protected.js +23 -1
- package/dist/commands/observe-semantics.d.ts.map +1 -1
- package/dist/commands/observe-semantics.js +70 -0
- package/dist/commands/observe.d.ts +1 -0
- package/dist/commands/observe.d.ts.map +1 -1
- package/dist/commands/observe.js +260 -270
- package/dist/commands/screenshot.d.ts.map +1 -1
- package/dist/commands/screenshot.js +50 -64
- package/dist/control-semantics.d.ts.map +1 -1
- package/dist/control-semantics.js +5 -0
- package/dist/date-value-normalization.d.ts +16 -0
- package/dist/date-value-normalization.d.ts.map +1 -0
- package/dist/date-value-normalization.js +117 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -24
- package/dist/library.d.ts +5 -1
- package/dist/library.d.ts.map +1 -1
- package/dist/library.js +4 -1
- package/dist/protected-fill.d.ts +3 -2
- package/dist/protected-fill.d.ts.map +1 -1
- package/dist/protected-fill.js +46 -7
- package/dist/runtime-protected-state.d.ts.map +1 -1
- package/dist/runtime-protected-state.js +8 -1
- package/dist/runtime-state.d.ts +11 -0
- package/dist/runtime-state.d.ts.map +1 -1
- package/dist/secrets/form-matcher.d.ts +1 -2
- package/dist/secrets/form-matcher.d.ts.map +1 -1
- package/dist/secrets/form-matcher.js +125 -119
- package/dist/secrets/matching-helpers.d.ts +13 -0
- package/dist/secrets/matching-helpers.d.ts.map +1 -0
- package/dist/secrets/matching-helpers.js +147 -0
- package/dist/secrets/observed-field-resolution.d.ts +43 -0
- package/dist/secrets/observed-field-resolution.d.ts.map +1 -0
- package/dist/secrets/observed-field-resolution.js +223 -0
- package/dist/secrets/protected-field-semantics.d.ts.map +1 -1
- package/dist/secrets/protected-field-semantics.js +3 -2
- package/dist/secrets/protected-fill.d.ts +3 -1
- package/dist/secrets/protected-fill.d.ts.map +1 -1
- package/dist/secrets/protected-fill.js +31 -0
- package/dist/secrets/protected-value-adapters.d.ts.map +1 -1
- package/dist/secrets/protected-value-adapters.js +14 -22
- package/dist/secrets/types.d.ts +3 -0
- package/dist/secrets/types.d.ts.map +1 -1
- package/dist/sticky-owner-host-entry.d.ts +2 -0
- package/dist/sticky-owner-host-entry.d.ts.map +1 -0
- package/dist/sticky-owner-host-entry.js +97 -0
- package/dist/sticky-owner.d.ts +15 -0
- package/dist/sticky-owner.d.ts.map +1 -0
- package/dist/sticky-owner.js +431 -0
- package/docs/README.md +15 -2
- package/docs/api-reference.md +13 -3
- package/docs/assistive-runtime.md +63 -7
- package/docs/configuration.md +48 -8
- package/docs/getting-started.md +42 -9
- package/docs/integration-checklist.md +8 -7
- package/docs/protected-fill.md +40 -7
- package/docs/testing.md +4 -3
- package/docs/troubleshooting.md +126 -36
- package/examples/README.md +9 -2
- package/package.json +8 -3
- package/dist/protected-fill-browser.d.ts +0 -22
- package/dist/protected-fill-browser.d.ts.map +0 -1
- 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":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/commands/observe.ts"],"names":[],"mappings":"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"}
|