@mercuryo-ai/agentbrowse 0.2.61 → 0.2.63

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 (82) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +102 -9
  3. package/dist/browser-session-state.d.ts +2 -11
  4. package/dist/browser-session-state.d.ts.map +1 -1
  5. package/dist/browser-session-state.js +0 -4
  6. package/dist/commands/act.d.ts.map +1 -1
  7. package/dist/commands/act.js +14 -5
  8. package/dist/commands/attach.d.ts +1 -3
  9. package/dist/commands/attach.d.ts.map +1 -1
  10. package/dist/commands/attach.js +0 -2
  11. package/dist/commands/browser-status.d.ts +0 -2
  12. package/dist/commands/browser-status.d.ts.map +1 -1
  13. package/dist/commands/browser-status.js +1 -7
  14. package/dist/commands/interaction-kernel.d.ts +1 -1
  15. package/dist/commands/interaction-kernel.d.ts.map +1 -1
  16. package/dist/commands/interaction-kernel.js +1 -1
  17. package/dist/commands/launch.d.ts +0 -1
  18. package/dist/commands/launch.d.ts.map +1 -1
  19. package/dist/commands/launch.js +0 -4
  20. package/dist/commands/observe-accessibility.d.ts.map +1 -1
  21. package/dist/commands/observe-accessibility.js +36 -2
  22. package/dist/commands/observe-inventory.d.ts +49 -7
  23. package/dist/commands/observe-inventory.d.ts.map +1 -1
  24. package/dist/commands/observe-inventory.js +807 -96
  25. package/dist/commands/observe-persistence.d.ts.map +1 -1
  26. package/dist/commands/observe-persistence.js +49 -6
  27. package/dist/commands/observe-projection.d.ts +6 -2
  28. package/dist/commands/observe-projection.d.ts.map +1 -1
  29. package/dist/commands/observe-projection.js +251 -27
  30. package/dist/commands/observe-semantics.d.ts +1 -0
  31. package/dist/commands/observe-semantics.d.ts.map +1 -1
  32. package/dist/commands/observe-semantics.js +541 -135
  33. package/dist/commands/observe-signals.d.ts +4 -4
  34. package/dist/commands/observe-signals.d.ts.map +1 -1
  35. package/dist/commands/observe-signals.js +2 -2
  36. package/dist/commands/observe-surfaces.d.ts +2 -1
  37. package/dist/commands/observe-surfaces.d.ts.map +1 -1
  38. package/dist/commands/observe-surfaces.js +143 -45
  39. package/dist/commands/observe.d.ts +5 -1
  40. package/dist/commands/observe.d.ts.map +1 -1
  41. package/dist/commands/observe.js +15 -11
  42. package/dist/commands/semantic-observe.d.ts.map +1 -1
  43. package/dist/commands/semantic-observe.js +43 -0
  44. package/dist/library.d.ts +2 -1
  45. package/dist/library.d.ts.map +1 -1
  46. package/dist/library.js +2 -1
  47. package/dist/match-resolve-fill.d.ts +196 -0
  48. package/dist/match-resolve-fill.d.ts.map +1 -0
  49. package/dist/match-resolve-fill.js +700 -0
  50. package/dist/match-resolve-fill.test-support.d.ts +34 -0
  51. package/dist/match-resolve-fill.test-support.d.ts.map +1 -0
  52. package/dist/match-resolve-fill.test-support.js +81 -0
  53. package/dist/runtime-protected-state.d.ts.map +1 -1
  54. package/dist/runtime-protected-state.js +12 -0
  55. package/dist/runtime-state.d.ts +6 -0
  56. package/dist/runtime-state.d.ts.map +1 -1
  57. package/dist/runtime-state.js +6 -0
  58. package/dist/secrets/form-matcher.d.ts.map +1 -1
  59. package/dist/secrets/form-matcher.js +76 -27
  60. package/dist/secrets/protected-exact-value-redaction.d.ts.map +1 -1
  61. package/dist/secrets/protected-exact-value-redaction.js +6 -0
  62. package/dist/secrets/protected-fill.js +3 -3
  63. package/dist/session.d.ts +3 -3
  64. package/dist/session.d.ts.map +1 -1
  65. package/dist/session.js +2 -2
  66. package/dist/solver/browser-launcher.d.ts.map +1 -1
  67. package/dist/solver/browser-launcher.js +2 -1
  68. package/dist/testing.d.ts +1 -0
  69. package/dist/testing.d.ts.map +1 -1
  70. package/dist/testing.js +1 -0
  71. package/docs/README.md +28 -11
  72. package/docs/api-reference.md +311 -19
  73. package/docs/assistive-runtime.md +41 -16
  74. package/docs/getting-started.md +45 -1
  75. package/docs/integration-checklist.md +32 -3
  76. package/docs/match-resolve-fill.md +699 -0
  77. package/docs/protected-fill.md +373 -91
  78. package/docs/testing.md +147 -15
  79. package/docs/troubleshooting.md +5 -0
  80. package/examples/README.md +7 -0
  81. package/examples/match-resolve-fill.ts +107 -0
  82. package/package.json +4 -2
@@ -0,0 +1,34 @@
1
+ import type { ObservedFieldValueType } from './secrets/observed-field-resolution.js';
2
+ import type { AgentbrowseGroupMatchCandidate, AgentbrowseGroupMatchStore, AgentbrowseGroupResolutionPlan, AgentbrowseMatchCandidate, AgentbrowseMatchResolver, AgentbrowseMatchStore, AgentbrowseMatchValue, AgentbrowseResolutionPlan, AgentbrowseResolvedArtifactResource, AgentbrowseResolvedResource, AgentbrowseResolvedValueResource } from './match-resolve-fill.js';
3
+ export interface FixtureMatchStoreEntry {
4
+ candidateRef: string;
5
+ fieldKey: string;
6
+ value: AgentbrowseMatchValue;
7
+ type?: ObservedFieldValueType;
8
+ label?: string;
9
+ semanticTags?: string[];
10
+ applicability?: AgentbrowseMatchCandidate['applicability'];
11
+ }
12
+ export interface FixtureGroupStoreEntry {
13
+ candidateRef: string;
14
+ fieldKeys: ReadonlyArray<string>;
15
+ artifact: unknown;
16
+ itemRef?: string;
17
+ label?: string;
18
+ confidence?: 'high' | 'medium';
19
+ applicability?: AgentbrowseGroupMatchCandidate['applicability'];
20
+ }
21
+ type FixturePlan = AgentbrowseResolutionPlan | AgentbrowseGroupResolutionPlan;
22
+ export declare function fixtureResolvedValue(value: AgentbrowseMatchValue): AgentbrowseResolvedValueResource;
23
+ export declare function fixtureResolvedArtifact(artifact: unknown, options?: Omit<AgentbrowseResolvedArtifactResource, 'kind' | 'artifact'>): AgentbrowseResolvedArtifactResource;
24
+ export declare function createFixtureMatchStore(entries: ReadonlyArray<FixtureMatchStoreEntry>): AgentbrowseMatchStore;
25
+ export declare function createFixtureGroupStore(entries: ReadonlyArray<FixtureGroupStoreEntry>): AgentbrowseGroupMatchStore;
26
+ export declare function createFixtureResolver(resourcesByCandidateRef: Readonly<Record<string, AgentbrowseResolvedResource>> | ReadonlyMap<string, AgentbrowseResolvedResource>, options?: {
27
+ enableBatch?: boolean;
28
+ }): {
29
+ adapter: AgentbrowseMatchResolver;
30
+ resolveCalls: FixturePlan[];
31
+ resolveBatchCalls: FixturePlan[][];
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=match-resolve-fill.test-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-resolve-fill.test-support.d.ts","sourceRoot":"","sources":["../src/match-resolve-fill.test-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,mCAAmC,EACnC,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B,aAAa,CAAC,EAAE,8BAA8B,CAAC,eAAe,CAAC,CAAC;CACjE;AAED,KAAK,WAAW,GAAG,yBAAyB,GAAG,8BAA8B,CAAC;AAE9E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,qBAAqB,GAC3B,gCAAgC,CAKlC;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,IAAI,CAAC,mCAAmC,EAAE,MAAM,GAAG,UAAU,CAAM,GAC3E,mCAAmC,CAMrC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAC7C,qBAAqB,CAkBvB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAC7C,0BAA0B,CAkB5B;AAED,wBAAgB,qBAAqB,CACnC,uBAAuB,EACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,GACrD,WAAW,CAAC,MAAM,EAAE,2BAA2B,CAAC,EACpD,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,OAAO,CAAC;CAClB,GACL;IACD,OAAO,EAAE,wBAAwB,CAAC;IAClC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC;CACpC,CAmCA"}
@@ -0,0 +1,81 @@
1
+ export function fixtureResolvedValue(value) {
2
+ return {
3
+ kind: 'value',
4
+ value,
5
+ };
6
+ }
7
+ export function fixtureResolvedArtifact(artifact, options = {}) {
8
+ return {
9
+ kind: 'artifact',
10
+ artifact,
11
+ ...options,
12
+ };
13
+ }
14
+ export function createFixtureMatchStore(entries) {
15
+ const metaByRef = new Map(entries.map((entry) => [entry.candidateRef, entry]));
16
+ return {
17
+ entries() {
18
+ return entries.map((entry) => ({
19
+ candidateRef: entry.candidateRef,
20
+ fieldKey: entry.fieldKey,
21
+ ...(entry.type ? { type: entry.type } : {}),
22
+ ...(entry.label ? { label: entry.label } : {}),
23
+ ...(entry.semanticTags ? { semanticTags: [...entry.semanticTags] } : {}),
24
+ ...(entry.applicability ? { applicability: { ...entry.applicability } } : {}),
25
+ }));
26
+ },
27
+ read(candidateRef) {
28
+ return metaByRef.get(candidateRef)?.value;
29
+ },
30
+ };
31
+ }
32
+ export function createFixtureGroupStore(entries) {
33
+ const metaByRef = new Map(entries.map((entry) => [entry.candidateRef, entry]));
34
+ return {
35
+ entries() {
36
+ return entries.map((entry) => ({
37
+ candidateRef: entry.candidateRef,
38
+ ...(entry.itemRef ? { itemRef: entry.itemRef } : {}),
39
+ ...(entry.label ? { label: entry.label } : {}),
40
+ fieldKeys: [...entry.fieldKeys],
41
+ ...(entry.confidence ? { confidence: entry.confidence } : {}),
42
+ ...(entry.applicability ? { applicability: { ...entry.applicability } } : {}),
43
+ }));
44
+ },
45
+ readArtifact(candidateRef) {
46
+ return metaByRef.get(candidateRef)?.artifact;
47
+ },
48
+ };
49
+ }
50
+ export function createFixtureResolver(resourcesByCandidateRef, options = {}) {
51
+ const resourceMap = resourcesByCandidateRef instanceof Map
52
+ ? new Map(resourcesByCandidateRef)
53
+ : new Map(Object.entries(resourcesByCandidateRef));
54
+ const resolveCalls = [];
55
+ const resolveBatchCalls = [];
56
+ function readResource(plan) {
57
+ const resolved = resourceMap.get(plan.candidateRef);
58
+ if (!resolved) {
59
+ throw new Error(`Missing fixture resource for candidate ${plan.candidateRef}.`);
60
+ }
61
+ return resolved;
62
+ }
63
+ return {
64
+ adapter: {
65
+ async resolve(plan) {
66
+ resolveCalls.push(plan);
67
+ return readResource(plan);
68
+ },
69
+ ...(options.enableBatch
70
+ ? {
71
+ async resolveBatch(plans) {
72
+ resolveBatchCalls.push([...plans]);
73
+ return plans.map((plan) => readResource(plan));
74
+ },
75
+ }
76
+ : {}),
77
+ },
78
+ resolveCalls,
79
+ resolveBatchCalls,
80
+ };
81
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-protected-state.d.ts","sourceRoot":"","sources":["../src/runtime-protected-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAmD5B,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC1C,qBAAqB,EAAE,CAYzB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,EAC5D,OAAO,GAAE;IACP,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,qBAAqB,EAAE,CAgDzB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAuBzB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAmBzB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,qBAAqB,GAAG,IAAI,CAI9B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,sBAAsB,GAC/B,sBAAsB,CAKxB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,sBAAsB,GAAG,IAAI,CAG/B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAS3F"}
1
+ {"version":3,"file":"runtime-protected-state.d.ts","sourceRoot":"","sources":["../src/runtime-protected-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAmD5B,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC1C,qBAAqB,EAAE,CAYzB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,EAC5D,OAAO,GAAE;IACP,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,qBAAqB,EAAE,CAgDzB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAuBzB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAmBzB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,qBAAqB,GAAG,IAAI,CAI9B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,sBAAsB,GAC/B,sBAAsB,CAKxB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GACd,sBAAsB,GAAG,IAAI,CAG/B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAyB3F"}
@@ -146,10 +146,22 @@ export function getProtectedExposure(session, pageRef) {
146
146
  }
147
147
  export function clearProtectedExposure(session, pageRef) {
148
148
  const runtime = ensureRuntimeState(session);
149
+ const retainedProfiles = runtime.protectedRedactionProfiles ?? (runtime.protectedRedactionProfiles = {});
150
+ const retainProfile = (exposure) => {
151
+ if (!exposure?.exactValueProfile) {
152
+ return;
153
+ }
154
+ retainedProfiles[`${exposure.pageRef}:${exposure.fillRef}:${exposure.requestId}`] =
155
+ exposure.exactValueProfile;
156
+ };
149
157
  if (!pageRef) {
158
+ for (const exposure of Object.values(runtime.protectedExposureByPage ?? {})) {
159
+ retainProfile(exposure);
160
+ }
150
161
  runtime.protectedExposureByPage = {};
151
162
  return;
152
163
  }
153
164
  const exposures = runtime.protectedExposureByPage ?? (runtime.protectedExposureByPage = {});
165
+ retainProfile(exposures[pageRef]);
154
166
  delete exposures[pageRef];
155
167
  }
@@ -7,6 +7,7 @@ export interface LocatorCandidate {
7
7
  name?: string;
8
8
  attribute?: 'data-testid' | 'data-test-id';
9
9
  scope?: 'root' | 'surface';
10
+ activationOwner?: boolean;
10
11
  }
11
12
  export declare function locatorCandidateKey(candidate: Pick<LocatorCandidate, 'strategy' | 'value' | 'name' | 'attribute' | 'scope'>): string;
12
13
  export interface TargetSemantics {
@@ -39,6 +40,10 @@ export interface TargetVisualContext {
39
40
  export interface TargetStructure {
40
41
  family?: 'structured-grid';
41
42
  variant?: 'date-cell' | 'seat-cell' | 'grid-cell';
43
+ dateIso?: string;
44
+ dateYear?: number;
45
+ dateMonth?: number;
46
+ dateDay?: number;
42
47
  row?: string;
43
48
  column?: string;
44
49
  zone?: string;
@@ -216,6 +221,7 @@ export interface BrowseRuntimeState {
216
221
  secretCatalogByHost: Record<string, SecretCatalogSnapshot>;
217
222
  fillableForms: Record<string, PersistedFillableForm>;
218
223
  protectedExposureByPage?: Record<string, ProtectedExposureState>;
224
+ protectedRedactionProfiles?: Record<string, ProtectedExactValueProfile>;
219
225
  counters: {
220
226
  nextPage: number;
221
227
  nextSurface: number;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"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"}
@@ -119,6 +119,10 @@ function targetIdentity(descriptor, options = {}) {
119
119
  ? [
120
120
  descriptor.structure.family ?? '',
121
121
  descriptor.structure.variant ?? '',
122
+ descriptor.structure.dateIso ?? '',
123
+ descriptor.structure.dateYear ?? '',
124
+ descriptor.structure.dateMonth ?? '',
125
+ descriptor.structure.dateDay ?? '',
122
126
  descriptor.structure.row ?? '',
123
127
  descriptor.structure.column ?? '',
124
128
  descriptor.structure.zone ?? '',
@@ -248,6 +252,7 @@ export function createRuntimeState(initialPage = {}) {
248
252
  secretCatalogByHost: {},
249
253
  fillableForms: {},
250
254
  protectedExposureByPage: {},
255
+ protectedRedactionProfiles: {},
251
256
  counters: {
252
257
  nextPage: pageRef === 'p0' ? 1 : 0,
253
258
  nextSurface: 1,
@@ -285,6 +290,7 @@ export function ensureRuntimeState(session) {
285
290
  session.runtime.secretCatalogByHost ??= {};
286
291
  session.runtime.fillableForms ??= {};
287
292
  session.runtime.protectedExposureByPage ??= {};
293
+ session.runtime.protectedRedactionProfiles ??= {};
288
294
  session.runtime.counters.nextPage ??= 1;
289
295
  session.runtime.counters.nextSurface ??= 1;
290
296
  session.runtime.counters.nextTarget ??= 1;
@@ -1 +1 @@
1
- {"version":3,"file":"form-matcher.d.ts","sourceRoot":"","sources":["../../src/secrets/form-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EACV,wBAAwB,EAGxB,qBAAqB,EACrB,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAQpB,OAAO,EAKL,uBAAuB,EACvB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,KAAK,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAEhE,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAmCD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AAgtBH,iBAAS,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAiCxD;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAkBvF;AAyFD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAalF;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GACnF,wBAAwB,EAAE,CA6C5B;AAsQD,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,qBAAqB,GAAG,IAAI,EACrC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwD9B;AAED,eAAO,MAAM,iBAAiB;;;;;;;CAO7B,CAAC"}
1
+ {"version":3,"file":"form-matcher.d.ts","sourceRoot":"","sources":["../../src/secrets/form-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EACV,wBAAwB,EAGxB,qBAAqB,EACrB,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAQpB,OAAO,EAKL,uBAAuB,EACvB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,KAAK,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAEhE,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAmCD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AAovBH,iBAAS,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAgBxD;AAoCD,iBAAS,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAEvF;AA6FD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAalF;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GACnF,wBAAwB,EAAE,CA6C5B;AAuQD,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,qBAAqB,GAAG,IAAI,EACrC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAkF9B;AAED,eAAO,MAAM,iBAAiB;;;;;;;CAO7B,CAAC"}
@@ -545,7 +545,7 @@ function plannerGroupForKind(kind, group) {
545
545
  return group;
546
546
  }
547
547
  }
548
- function formGroupKeyOf(target) {
548
+ function explicitFormBoundaryKeyOf(target) {
549
549
  for (const node of [target.context?.group, target.context?.container, target.context?.item]) {
550
550
  if (normalizeText(node?.kind) !== 'form') {
551
551
  continue;
@@ -554,32 +554,56 @@ function formGroupKeyOf(target) {
554
554
  if (label) {
555
555
  return `form:${label}`;
556
556
  }
557
+ const selector = normalizeText(node?.selector);
558
+ if (selector) {
559
+ return `form-selector:${selector}`;
560
+ }
557
561
  }
558
562
  if (normalizeText(target.context?.landmark?.kind) === 'form') {
559
563
  const landmarkLabel = normalizeText(target.context?.landmark?.label);
560
564
  if (landmarkLabel) {
561
565
  return `form:${landmarkLabel}`;
562
566
  }
567
+ const landmarkSelector = normalizeText(target.context?.landmark?.selector);
568
+ if (landmarkSelector) {
569
+ return `form-selector:${landmarkSelector}`;
570
+ }
571
+ }
572
+ if (target.pageFormSelector) {
573
+ return `page-form:${target.pageFormSelector}`;
574
+ }
575
+ return null;
576
+ }
577
+ function formGroupKeyOf(target) {
578
+ const explicitBoundaryKey = explicitFormBoundaryKeyOf(target);
579
+ if (explicitBoundaryKey) {
580
+ return explicitBoundaryKey;
563
581
  }
564
582
  const selectorRoot = selectorRootOf(target);
565
583
  if (selectorRoot) {
566
584
  return `selector-root:${selectorRoot}`;
567
585
  }
568
- if (target.pageFormSelector) {
569
- return `page-form:${target.pageFormSelector}`;
570
- }
571
586
  if (target.surfaceRef) {
572
587
  return `surface:${target.surfaceRef}`;
573
588
  }
574
589
  return `page:${target.pageRef}`;
575
590
  }
576
- function groupTargetsByForm(targets) {
591
+ function paymentCardGroupKeyOf(target) {
592
+ // Payment widgets are often split across visual shells and nested surfaces.
593
+ // Only explicit form/page boundaries should split payment-card matching.
594
+ const explicitBoundaryKey = explicitFormBoundaryKeyOf(target);
595
+ if (explicitBoundaryKey) {
596
+ return explicitBoundaryKey;
597
+ }
598
+ return `page:${target.pageRef}`;
599
+ }
600
+ function groupTargets(targets, groupKeyOf) {
577
601
  const groups = new Map();
578
602
  for (const target of targets) {
579
603
  if (!isTargetEligibleForProtectedFill(target)) {
580
604
  continue;
581
605
  }
582
- const groupKey = formGroupKeyOf(target);
606
+ const groupKey = groupKeyOf(target);
583
607
  const group = groups.get(groupKey) ?? [];
584
608
  group.push(target);
585
609
  groups.set(groupKey, group);
@@ -589,6 +613,12 @@ function groupTargetsByForm(targets) {
589
613
  targets: groupTargets,
590
614
  }));
591
615
  }
616
+ function groupTargetsByForm(targets) {
617
+ return groupTargets(targets, formGroupKeyOf);
618
+ }
619
+ function groupTargetsForPaymentCard(targets) {
620
+ return groupTargets(targets, paymentCardGroupKeyOf);
621
+ }
592
622
  function canonicalFieldOrder(kind) {
593
623
  switch (kind) {
594
624
  case 'login':
@@ -886,9 +916,9 @@ async function planBindingsForGroup(getClient, kind, plannerGroup, fullGroup, ca
886
916
  : sanitizeBindings(kind, plannerGroup, result.data.bindings),
887
917
  };
888
918
  }
889
- function plannerGroupsForGroup(group, catalog) {
919
+ function plannerGroupsForGroup(group, catalog, kinds = purposesByPriority(catalog)) {
890
920
  const candidates = [];
891
- for (const kind of purposesByPriority(catalog)) {
921
+ for (const kind of kinds) {
892
922
  const plannerGroup = plannerGroupForKind(kind, group);
893
923
  if (!plannerGroup || plannerGroup.targets.length === 0) {
894
924
  continue;
@@ -913,31 +943,50 @@ export async function matchStoredSecretsToObservedTargets(pageRef, targets, cata
913
943
  };
914
944
  const targetByRef = new Map(targets.map((target) => [target.ref, target]));
915
945
  const groups = groupTargetsByForm(targets);
946
+ const paymentCardGroups = groupTargetsForPaymentCard(targets);
916
947
  const nextObservedAt = options.observedAt ?? new Date().toISOString();
917
948
  const forms = [];
949
+ const availableKinds = purposesByPriority(catalog);
950
+ const nonPaymentKinds = availableKinds.filter((kind) => kind !== 'payment_card');
951
+ const paymentCardEnabled = availableKinds.includes('payment_card');
952
+ const appendPlannedForm = async (kind, plannerGroup, fullGroup) => {
953
+ const planned = await planBindingsForGroup(catalog || kind === 'payment_card' ? getClient : null, kind, plannerGroup, fullGroup, catalog).catch(() => null);
954
+ if (!planned || planned.confidence === 'low') {
955
+ return;
956
+ }
957
+ if (!isCredibleKindMatch(kind, planned.fields, planned.loginStep)) {
958
+ return;
959
+ }
960
+ const matchedFieldKeys = new Set(planned.fields.map((field) => field.fieldKey));
961
+ const storedSecretCandidates = catalog
962
+ ? buildStoredSecretCandidates(catalog, kind, planned.confidence, matchedFieldKeys)
963
+ : [];
964
+ forms.push({
965
+ pageRef,
966
+ scopeRef: formScopeRef(planned.fields, targetByRef),
967
+ pageFormSelector: formPageFormSelector(planned.fields, targetByRef),
968
+ purpose: kind,
969
+ ...(kind === 'login' ? { loginStep: planned.loginStep ?? 'full' } : {}),
970
+ fields: planned.fields,
971
+ storedSecretCandidates,
972
+ observedAt: nextObservedAt,
973
+ });
974
+ };
918
975
  for (const group of groups) {
919
- for (const { kind, plannerGroup } of plannerGroupsForGroup(group, catalog)) {
920
- const planned = await planBindingsForGroup(catalog || kind === 'payment_card' ? getClient : null, kind, plannerGroup, group, catalog).catch(() => null);
921
- if (!planned || planned.confidence === 'low') {
976
+ for (const { kind, plannerGroup } of plannerGroupsForGroup(group, catalog, nonPaymentKinds)) {
977
+ await appendPlannedForm(kind, plannerGroup, group);
978
+ }
979
+ }
980
+ if (paymentCardEnabled) {
981
+ for (const group of paymentCardGroups) {
982
+ const plannerGroup = plannerGroupForKind('payment_card', group);
983
+ if (!plannerGroup || plannerGroup.targets.length === 0) {
922
984
  continue;
923
985
  }
924
- if (!isCredibleKindMatch(kind, planned.fields, planned.loginStep)) {
925
- continue;
986
+ await appendPlannedForm('payment_card', plannerGroup, group);
987
+ if (forms.some((form) => form.purpose === 'payment_card')) {
988
+ break;
926
989
  }
927
- const matchedFieldKeys = new Set(planned.fields.map((field) => field.fieldKey));
928
- const storedSecretCandidates = catalog
929
- ? buildStoredSecretCandidates(catalog, kind, planned.confidence, matchedFieldKeys)
930
- : [];
931
- forms.push({
932
- pageRef,
933
- scopeRef: formScopeRef(planned.fields, targetByRef),
934
- pageFormSelector: formPageFormSelector(planned.fields, targetByRef),
935
- purpose: kind,
936
- ...(kind === 'login' ? { loginStep: planned.loginStep ?? 'full' } : {}),
937
- fields: planned.fields,
938
- storedSecretCandidates,
939
- observedAt: nextObservedAt,
940
- });
941
990
  }
942
991
  }
943
992
  return forms;
@@ -1 +1 @@
1
- {"version":3,"file":"protected-exact-value-redaction.d.ts","sourceRoot":"","sources":["../../src/secrets/protected-exact-value-redaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAA2B,MAAM,qBAAqB,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAsDvD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9E;AA+GD,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,GAC7D,0BAA0B,CA8B5B;AAuND,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAOxF;AAED,eAAO,MAAM,kCAAkC;;CAE9C,CAAC"}
1
+ {"version":3,"file":"protected-exact-value-redaction.d.ts","sourceRoot":"","sources":["../../src/secrets/protected-exact-value-redaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAA2B,MAAM,qBAAqB,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAsDvD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9E;AA+GD,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,GAC7D,0BAA0B,CA8B5B;AA6ND,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAOxF;AAED,eAAO,MAAM,kCAAkC;;CAE9C,CAAC"}
@@ -327,6 +327,12 @@ function activeExactValueRules(session) {
327
327
  rules.set(key, rule);
328
328
  }
329
329
  }
330
+ for (const profile of Object.values(session.runtime?.protectedRedactionProfiles ?? {})) {
331
+ for (const rule of profile.rules ?? []) {
332
+ const key = JSON.stringify([rule.matcher, rule.digest, rule.normalizedLength]);
333
+ rules.set(key, rule);
334
+ }
335
+ }
330
336
  return [...rules.values()];
331
337
  }
332
338
  function scrubOutputValue(value, rules) {
@@ -210,17 +210,17 @@ async function prepareBindings(session, page, fillableForm) {
210
210
  prepareOptions: {
211
211
  allowReadonlyFallback: action === 'fill' && target.controlFamily === 'datepicker',
212
212
  },
213
- onPreparedLocator: async (preparedLocator, strategy) => {
213
+ onPreparedLocator: async (preparedLocator, candidate) => {
214
214
  if (target.domSignature) {
215
215
  const liveSignature = await readLocatorDomSignature(preparedLocator).catch(() => null);
216
216
  if (liveSignature && liveSignature !== target.domSignature) {
217
217
  sawDomSignatureMismatch = true;
218
- attempts.push(`domSignature.mismatch:${strategy}`);
218
+ attempts.push(`domSignature.mismatch:${candidate.strategy}`);
219
219
  return false;
220
220
  }
221
221
  }
222
222
  resolvedLocator = preparedLocator;
223
- attempts.push(`resolve:${strategy}`);
223
+ attempts.push(`resolve:${candidate.strategy}`);
224
224
  return true;
225
225
  },
226
226
  });
package/dist/session.d.ts CHANGED
@@ -5,12 +5,12 @@
5
5
  * keeps this adapter only for direct `@mercuryo-ai/agentbrowse` usage outside the
6
6
  * product shells.
7
7
  */
8
- import { buildAttachedSession, buildOwnedSession, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, resolveBrowserSessionId, serializeBrowserSession, supportsCaptchaSolve, type BrowserSessionState, type BrowserSessionCapabilities, type BrowseSessionIdentity, type BrowseSessionTransport } from './browser-session-state.js';
8
+ import { buildAttachedSession, buildOwnedSession, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, resolveBrowserSessionId, serializeBrowserSession, type BrowserSessionState, type BrowseSessionIdentity, type BrowseSessionTransport } from './browser-session-state.js';
9
9
  import { buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, deleteCachedTransientSecret, getCachedTransientSecret, type BrowseWorkflowContext, type CachedTransientSecretEntry } from './workflow-session-state.js';
10
10
  export interface BrowseSession extends BrowserSessionState, BrowseWorkflowContext {
11
11
  }
12
- export { buildAttachedSession, buildOwnedSession, buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, deleteCachedTransientSecret, getCachedTransientSecret, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, resolveBrowserSessionId, serializeBrowserSession, supportsCaptchaSolve, };
13
- export type { BrowserSessionCapabilities, BrowserSessionState, BrowseSessionIdentity, BrowseSessionTransport, BrowseWorkflowContext, CachedTransientSecretEntry, };
12
+ export { buildAttachedSession, buildOwnedSession, buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, deleteCachedTransientSecret, getCachedTransientSecret, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, resolveBrowserSessionId, serializeBrowserSession, };
13
+ export type { BrowserSessionState, BrowseSessionIdentity, BrowseSessionTransport, BrowseWorkflowContext, CachedTransientSecretEntry, };
14
14
  export declare function deleteWorkflowContext(): void;
15
15
  export declare function serializeSession(session: BrowseSession): string;
16
16
  export declare function saveSession(session: BrowseSession): void;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EAEjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EAEd,uBAAuB,EAEvB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AASrC,MAAM,WAAW,aAAc,SAAQ,mBAAmB,EAAE,qBAAqB;CAAG;AAEpF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,CAAC;AACF,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,GAC3B,CAAC;AAuEF,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE/D;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAUxD;AAED,wBAAgB,WAAW,IAAI,aAAa,GAAG,IAAI,CA0BlD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EAEjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EAEd,uBAAuB,EAEvB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AASrC,MAAM,WAAW,aAAc,SAAQ,mBAAmB,EAAE,qBAAqB;CAAG;AAEpF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,uBAAuB,GACxB,CAAC;AACF,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,GAC3B,CAAC;AAuEF,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAE/D;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAUxD;AAED,wBAAgB,WAAW,IAAI,aAAa,GAAG,IAAI,CA0BlD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
package/dist/session.js CHANGED
@@ -8,7 +8,7 @@
8
8
  import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, unlinkSync, writeFileSync, } from 'node:fs';
9
9
  import { homedir } from 'node:os';
10
10
  import { join } from 'node:path';
11
- import { buildAttachedSession, buildOwnedSession, deleteBrowserSession, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, loadBrowserSession, resolveBrowserSessionId, saveBrowserSession, serializeBrowserSession, supportsCaptchaSolve, } from './browser-session-state.js';
11
+ import { buildAttachedSession, buildOwnedSession, deleteBrowserSession, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, loadBrowserSession, resolveBrowserSessionId, saveBrowserSession, serializeBrowserSession, } from './browser-session-state.js';
12
12
  import { buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, deleteCachedTransientSecret, getCachedTransientSecret, } from './workflow-session-state.js';
13
13
  function getSessionDir() {
14
14
  return join(homedir(), '.agentbrowse');
@@ -16,7 +16,7 @@ function getSessionDir() {
16
16
  function getWorkflowContextPath() {
17
17
  return join(getSessionDir(), 'browse-workflow.json');
18
18
  }
19
- export { buildAttachedSession, buildOwnedSession, buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, deleteCachedTransientSecret, getCachedTransientSecret, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, resolveBrowserSessionId, serializeBrowserSession, supportsCaptchaSolve, };
19
+ export { buildAttachedSession, buildOwnedSession, buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, deleteCachedTransientSecret, getCachedTransientSecret, getSessionPort, isAttachedSession, isOwnedSession, isSessionAlive, resolveBrowserSessionId, serializeBrowserSession, };
20
20
  function ensureDir() {
21
21
  const sessionDir = getSessionDir();
22
22
  if (!existsSync(sessionDir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/solver/browser-launcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+B,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjF,OAAO,KAAK,EAAsB,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkBjF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAyBF,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,CAyDxB;AAkXD,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CAOV"}
1
+ {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/solver/browser-launcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+B,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjF,OAAO,KAAK,EAAsB,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkBjF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAyBF,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,CAyDxB;AAmXD,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CAOV"}
@@ -316,7 +316,8 @@ async function navigateConfiguredPage(browser, page, fp, url) {
316
316
  }
317
317
  function isDetachedFrameError(err) {
318
318
  const message = err instanceof Error ? err.message : String(err);
319
- return message.toLowerCase().includes('detached frame');
319
+ const normalized = message.toLowerCase();
320
+ return normalized.includes('detached frame') || normalized.includes('frame was detached');
320
321
  }
321
322
  function resolveChromeExecutable(explicitPath) {
322
323
  if (explicitPath) {
package/dist/testing.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Stable testing helpers for packages that wrap AgentBrowse.
3
3
  */
4
+ export { createFixtureGroupStore, createFixtureMatchStore, createFixtureResolver, fixtureResolvedArtifact, fixtureResolvedValue, } from './match-resolve-fill.test-support.js';
4
5
  export { installFetchBackedTestAssistiveRuntime, uninstallTestAssistiveRuntime, } from './assistive-runtime.test-support.js';
5
6
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,sCAAsC,EACtC,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,sCAAsC,EACtC,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC"}
package/dist/testing.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Stable testing helpers for packages that wrap AgentBrowse.
3
3
  */
4
+ export { createFixtureGroupStore, createFixtureMatchStore, createFixtureResolver, fixtureResolvedArtifact, fixtureResolvedValue, } from './match-resolve-fill.test-support.js';
4
5
  export { installFetchBackedTestAssistiveRuntime, uninstallTestAssistiveRuntime, } from './assistive-runtime.test-support.js';
package/docs/README.md CHANGED
@@ -9,30 +9,47 @@ Public guides for `@mercuryo-ai/agentbrowse`.
9
9
  turns the Quick Start into a working model for every main API.
10
10
  3. [api-reference.md](./api-reference.md) — lookup for types, result
11
11
  shapes, and error codes (keep open while coding).
12
- 4. Only-when-needed: [configuration.md](./configuration.md),
12
+ 4. [match-resolve-fill.md](./match-resolve-fill.md) when your runtime
13
+ needs to decide which caller-supplied value belongs in which
14
+ observed field.
15
+ 5. Only-when-needed: [configuration.md](./configuration.md),
13
16
  [assistive-runtime.md](./assistive-runtime.md),
14
17
  [protected-fill.md](./protected-fill.md).
15
- 5. Before shipping: [integration-checklist.md](./integration-checklist.md)
18
+ 6. Before shipping: [integration-checklist.md](./integration-checklist.md)
16
19
  and [troubleshooting.md](./troubleshooting.md).
17
20
 
18
21
  Full list:
19
22
 
20
23
  - [getting-started.md](./getting-started.md)
21
24
  The first guide to read after the package README. It explains the normal
22
- session flow and what each main API is for.
25
+ session flow and what each main API is for, including the
26
+ `match` / `resolve` / `fill` primitives.
23
27
  - [api-reference.md](./api-reference.md)
24
- Compact reference for the public API, result shapes, observe payloads, and
25
- extraction schema input.
28
+ Compact reference for the public API, result shapes, observe payloads,
29
+ match/resolve/fill types, and extraction schema input.
30
+
31
+ ## Match / resolve / fill
32
+
33
+ - [match-resolve-fill.md](./match-resolve-fill.md)
34
+ How the three primitives decide which value fits which observed field,
35
+ how to wire a resolver adapter, and the design rules (no raw values in
36
+ public results, stable resolved refs, adapter boundary).
37
+ - [protected-fill.md](./protected-fill.md)
38
+ How the low-level `fillProtectedForm(...)` path works and when to
39
+ prefer it over the `fill(session, form, plan, { resolver })` route.
40
+ - [testing.md](./testing.md)
41
+ Stable fixture builders for match/resolve/fill unit tests, plus the
42
+ fetch-backed assistive runtime helper for packages that wrap
43
+ AgentBrowse.
44
+
45
+ ## Runtime and integration
46
+
26
47
  - [configuration.md](./configuration.md)
27
48
  Persistence, proxy, diagnostics, and client configuration.
28
49
  - [assistive-runtime.md](./assistive-runtime.md)
29
- How to connect an OpenAI-compatible LLM backend for extraction and better
30
- goal-based page understanding.
31
- - [protected-fill.md](./protected-fill.md)
32
- How protected fill works and when to use it instead of a normal fill action.
50
+ How to connect an OpenAI-compatible LLM backend for extraction and
51
+ better goal-based page understanding.
33
52
  - [integration-checklist.md](./integration-checklist.md)
34
53
  Checklist for packages and services that integrate AgentBrowse.
35
- - [testing.md](./testing.md)
36
- Stable testing helpers for packages that wrap AgentBrowse.
37
54
  - [troubleshooting.md](./troubleshooting.md)
38
55
  Common launch, observe, extract, and anti-bot issues.