@nuanu-ai/agentbrowse 0.2.11 → 0.2.13

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 (50) hide show
  1. package/README.md +5 -0
  2. package/dist/agentpay-stagehand-llm.d.ts +16 -0
  3. package/dist/agentpay-stagehand-llm.d.ts.map +1 -1
  4. package/dist/agentpay-stagehand-llm.js +35 -10
  5. package/dist/commands/act.d.ts.map +1 -1
  6. package/dist/commands/act.js +16 -15
  7. package/dist/commands/action-acceptance.d.ts +1 -0
  8. package/dist/commands/action-acceptance.d.ts.map +1 -1
  9. package/dist/commands/action-acceptance.js +77 -1
  10. package/dist/commands/extract-snapshot-sanitizer.d.ts +2 -0
  11. package/dist/commands/extract-snapshot-sanitizer.d.ts.map +1 -0
  12. package/dist/commands/extract-snapshot-sanitizer.js +65 -0
  13. package/dist/commands/extract-stagehand-executor.d.ts.map +1 -1
  14. package/dist/commands/extract-stagehand-executor.js +33 -3
  15. package/dist/commands/extract.d.ts.map +1 -1
  16. package/dist/commands/extract.js +29 -0
  17. package/dist/commands/launch.js +0 -7
  18. package/dist/commands/observe-projection.d.ts +1 -3
  19. package/dist/commands/observe-projection.d.ts.map +1 -1
  20. package/dist/commands/observe-projection.js +110 -3
  21. package/dist/commands/observe.d.ts.map +1 -1
  22. package/dist/commands/observe.js +28 -11
  23. package/dist/playwright-runtime.d.ts +3 -1
  24. package/dist/playwright-runtime.d.ts.map +1 -1
  25. package/dist/playwright-runtime.js +42 -2
  26. package/dist/secrets/fill-ordering.d.ts +1 -2
  27. package/dist/secrets/fill-ordering.d.ts.map +1 -1
  28. package/dist/secrets/fill-ordering.js +0 -3
  29. package/dist/secrets/form-matcher.d.ts.map +1 -1
  30. package/dist/secrets/form-matcher.js +0 -9
  31. package/dist/secrets/types.d.ts +0 -9
  32. package/dist/secrets/types.d.ts.map +1 -1
  33. package/dist/solver/browser-launcher.d.ts.map +1 -1
  34. package/dist/solver/browser-launcher.js +492 -55
  35. package/dist/solver/captcha-detector.d.ts.map +1 -1
  36. package/dist/solver/captcha-detector.js +187 -12
  37. package/dist/solver/captcha-runtime.d.ts.map +1 -1
  38. package/dist/solver/captcha-runtime.js +8 -0
  39. package/dist/solver/captcha-solver.d.ts +11 -1
  40. package/dist/solver/captcha-solver.d.ts.map +1 -1
  41. package/dist/solver/captcha-solver.js +11 -4
  42. package/dist/solver/turnstile-challenge.d.ts +3 -0
  43. package/dist/solver/turnstile-challenge.d.ts.map +1 -0
  44. package/dist/solver/turnstile-challenge.js +173 -0
  45. package/dist/solver/types.d.ts +10 -8
  46. package/dist/solver/types.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/secrets/request-guidance.d.ts +0 -24
  49. package/dist/secrets/request-guidance.d.ts.map +0 -1
  50. package/dist/secrets/request-guidance.js +0 -142
@@ -1,5 +1,98 @@
1
1
  import { observedTargetKey } from './observe-semantics.js';
2
2
  import { summarizeContext } from './observe-surfaces.js';
3
+ function normalizeClusterText(value) {
4
+ const normalized = value?.replace(/\s+/g, ' ').trim().toLowerCase();
5
+ return normalized ? normalized : undefined;
6
+ }
7
+ function isActionLikeGoalTarget(target) {
8
+ const actions = target.allowedActions ?? [];
9
+ const kind = (target.kind ?? '').trim().toLowerCase();
10
+ const role = (target.role ?? '').trim().toLowerCase();
11
+ const isValueControl = actions.includes('fill') || actions.includes('type') || actions.includes('select');
12
+ if (isValueControl) {
13
+ return false;
14
+ }
15
+ return (actions.includes('click') ||
16
+ actions.includes('press') ||
17
+ kind === 'button' ||
18
+ role === 'button' ||
19
+ kind === 'link' ||
20
+ role === 'link');
21
+ }
22
+ function goalActionClusterKey(target) {
23
+ const itemKey = normalizeClusterText(target.context?.item?.label ?? target.context?.item?.text);
24
+ const groupKey = normalizeClusterText(target.context?.group?.label ?? target.context?.group?.text);
25
+ const containerKey = normalizeClusterText(target.context?.container?.label ?? target.context?.container?.text);
26
+ const parts = [
27
+ target.surfaceRef ? `surface:${target.surfaceRef}` : undefined,
28
+ itemKey ? `item:${itemKey}` : undefined,
29
+ groupKey ? `group:${groupKey}` : undefined,
30
+ containerKey ? `container:${containerKey}` : undefined,
31
+ ].filter((value) => Boolean(value));
32
+ return parts.length > 0 ? parts.join('|') : undefined;
33
+ }
34
+ function escapeRegExp(value) {
35
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
36
+ }
37
+ function stripSiblingLabels(value, siblingLabels) {
38
+ if (!value) {
39
+ return value;
40
+ }
41
+ let sanitized = value;
42
+ for (const label of siblingLabels) {
43
+ if (!label) {
44
+ continue;
45
+ }
46
+ sanitized = sanitized.replace(new RegExp(escapeRegExp(label), 'gi'), ' ');
47
+ }
48
+ const collapsed = sanitized.replace(/\s+[—-]\s+/g, ' ').replace(/\s+/g, ' ').trim();
49
+ return collapsed || undefined;
50
+ }
51
+ function sanitizeGoalTargetContext(target, siblingLabelsByCluster) {
52
+ if (!isActionLikeGoalTarget(target)) {
53
+ return target;
54
+ }
55
+ const clusterKey = goalActionClusterKey(target);
56
+ if (!clusterKey) {
57
+ return target;
58
+ }
59
+ const ownLabel = normalizeClusterText(target.label);
60
+ const siblingLabels = (siblingLabelsByCluster.get(clusterKey) ?? []).filter((label) => label !== ownLabel);
61
+ if (siblingLabels.length === 0 || !target.context) {
62
+ return target;
63
+ }
64
+ return {
65
+ ...target,
66
+ context: {
67
+ ...target.context,
68
+ item: target.context.item
69
+ ? {
70
+ ...target.context.item,
71
+ text: stripSiblingLabels(target.context.item.text, siblingLabels),
72
+ }
73
+ : target.context.item,
74
+ group: target.context.group
75
+ ? {
76
+ ...target.context.group,
77
+ text: stripSiblingLabels(target.context.group.text, siblingLabels),
78
+ }
79
+ : target.context.group,
80
+ container: target.context.container
81
+ ? {
82
+ ...target.context.container,
83
+ text: stripSiblingLabels(target.context.container.text, siblingLabels),
84
+ }
85
+ : target.context.container,
86
+ landmark: target.context.landmark
87
+ ? {
88
+ ...target.context.landmark,
89
+ text: stripSiblingLabels(target.context.landmark.text, siblingLabels),
90
+ }
91
+ : target.context.landmark,
92
+ hintText: stripSiblingLabels(target.context.hintText, siblingLabels),
93
+ },
94
+ };
95
+ }
3
96
  export function compactTargets(targets) {
4
97
  return targets.map((target) => ({
5
98
  ref: target.ref,
@@ -36,8 +129,6 @@ export function compactFillableForms(forms) {
36
129
  fillRef: form.fillRef,
37
130
  scopeRef: form.scopeRef,
38
131
  purpose: form.purpose,
39
- recommendedTiming: form.recommendedTiming,
40
- guidance: form.guidance,
41
132
  fields: form.fields.map((field) => ({
42
133
  fieldKey: field.fieldKey,
43
134
  targetRef: field.targetRef,
@@ -64,8 +155,24 @@ export function compactSignals(signals) {
64
155
  }));
65
156
  }
66
157
  export function buildGoalObserveInventoryCandidates(targets, surfaces) {
158
+ const siblingLabelsByCluster = new Map();
159
+ for (const target of targets) {
160
+ if (!isActionLikeGoalTarget(target)) {
161
+ continue;
162
+ }
163
+ const clusterKey = goalActionClusterKey(target);
164
+ const normalizedLabel = normalizeClusterText(target.label);
165
+ if (!clusterKey || !normalizedLabel) {
166
+ continue;
167
+ }
168
+ const labels = siblingLabelsByCluster.get(clusterKey) ?? [];
169
+ if (!labels.includes(normalizedLabel)) {
170
+ labels.push(normalizedLabel);
171
+ siblingLabelsByCluster.set(clusterKey, labels);
172
+ }
173
+ }
67
174
  const targetCandidates = targets.map((target) => ({
68
- ...target,
175
+ ...sanitizeGoalTargetContext(target, siblingLabelsByCluster),
69
176
  goalInventoryType: 'target',
70
177
  goalTargetKey: observedTargetKey(target),
71
178
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/commands/observe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgDnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,eAAO,MAAM,yBAAyB;;;;iBA6OguF,CAAC;gBAAwB,CAAC;;;;;iBAAq7vE,CAAC;gBAAwB,CAAC;;;CA7O1q1E,CAAC;AACtE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGrC,CAAC;AAEF,wBAAsB,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsOzF"}
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/commands/observe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgDnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,eAAO,MAAM,yBAAyB;;;;iBAgQizE,CAAC;gBAAwB,CAAC;;;;;iBAAq7vE,CAAC;gBAAwB,CAAC;;;CAhQ3v0E,CAAC;AACtE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGrC,CAAC;AAEF,wBAAsB,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyPzF"}
@@ -83,18 +83,18 @@ export async function observe(session, instruction) {
83
83
  const rerankedCandidates = await rerankDomTargetsForGoal(instruction, buildGoalObserveInventoryCandidates(domTargets, surfaceInputs));
84
84
  const { targets: goalMatchedTargets, selectedSurfaceIds } = selectTargetsForGoalMatches(domTargets, rerankedCandidates);
85
85
  const selectedTargets = prioritizeGoalActionTargets(instruction, expandRerankedFormTargets(domTargets, goalMatchedTargets));
86
+ const persisted = persistObservedSurfacesForPage(session, pageRef, domTargets, {
87
+ allSurfaceInputs: surfaceInputs,
88
+ explicitSurfaceIds: selectedSurfaceIds,
89
+ });
90
+ observedScopes = persisted.observedScopes;
91
+ const surfaceRefMap = persisted.surfaceRefMap;
92
+ const targets = replaceTargetsForPage(session, pageRef, domTargets.map((target) => toDomDescriptor(pageRef, target, surfaceRefMap)));
93
+ reconcileObservedTargetsForPage(session, pageRef, targets);
94
+ attachObservedTargetOwners(domTargets, targets);
95
+ const fillableForms = await persistProtectedFillableFormsForPage(session, pageRef, url, targets, new Date().toISOString());
86
96
  if (selectedTargets.length > 0 || selectedSurfaceIds.size > 0) {
87
- const persisted = persistObservedSurfacesForPage(session, pageRef, domTargets, {
88
- allSurfaceInputs: surfaceInputs,
89
- explicitSurfaceIds: selectedSurfaceIds,
90
- });
91
- observedScopes = persisted.observedScopes;
92
- const surfaceRefMap = persisted.surfaceRefMap;
93
- const targets = replaceTargetsForPage(session, pageRef, domTargets.map((target) => toDomDescriptor(pageRef, target, surfaceRefMap)));
94
- reconcileObservedTargetsForPage(session, pageRef, targets);
95
97
  const explicitScopeRefs = buildExplicitScopeRefs(selectedSurfaceIds, surfaceRefMap);
96
- attachObservedTargetOwners(domTargets, targets);
97
- const fillableForms = await persistProtectedFillableFormsForPage(session, pageRef, url, targets, new Date().toISOString());
98
98
  const projectedTargets = projectPersistedTargetsForGoal(domTargets, targets, selectedTargets);
99
99
  saveSession(session);
100
100
  disconnectPlaywright(browser);
@@ -114,7 +114,24 @@ export async function observe(session, instruction) {
114
114
  });
115
115
  return;
116
116
  }
117
- stagehandFallbackReason = 'dom-rerank-empty';
117
+ saveSession(session);
118
+ disconnectPlaywright(browser);
119
+ browser = null;
120
+ outputJSON({
121
+ success: true,
122
+ pageRef,
123
+ resolvedBy: 'dom-rerank',
124
+ ...domRuntimeResolution(),
125
+ scopes: [],
126
+ targets: [],
127
+ signals,
128
+ fillableForms: compactFillableForms(fillableForms),
129
+ metrics: session.runtime?.metrics,
130
+ message: 'No targets matched the requested goal.',
131
+ url,
132
+ title,
133
+ });
134
+ return;
118
135
  }
119
136
  else {
120
137
  stagehandFallbackReason = 'deterministic-observe-empty';
@@ -26,7 +26,9 @@ export declare function syncLaunchPage(session: BrowseSession, browser: Browser,
26
26
  targetId?: string;
27
27
  }>;
28
28
  export declare function resolvePageByRef(browser: Browser, session: BrowseSession, pageRef: string): Promise<Page>;
29
- export declare function syncSessionPage(session: BrowseSession, pageRef: string, page: Page): Promise<{
29
+ export declare function syncSessionPage(session: BrowseSession, pageRef: string, page: Page, options?: {
30
+ settleTimeoutMs?: number;
31
+ }): Promise<{
30
32
  url: string;
31
33
  title: string;
32
34
  targetId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-runtime.d.ts","sourceRoot":"","sources":["../src/playwright-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO3D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAElD;AAmCD,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAmFF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,kBAAkB,CAAC,CAgD7B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC5D;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,GACT,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW5D"}
1
+ {"version":3,"file":"playwright-runtime.d.ts","sourceRoot":"","sources":["../src/playwright-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO3D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAElD;AAmCD,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAkJF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,kBAAkB,CAAC,CAgD7B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC5D;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,GACL,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5D"}
@@ -42,6 +42,15 @@ function isMeaningfulUrl(value) {
42
42
  function isMeaningfulTitle(value) {
43
43
  return Boolean(value?.trim());
44
44
  }
45
+ function preferMeaningfulValue(value, fallback, predicate) {
46
+ if (predicate(value)) {
47
+ return value ?? '';
48
+ }
49
+ if (predicate(fallback)) {
50
+ return fallback ?? '';
51
+ }
52
+ return value ?? fallback ?? '';
53
+ }
45
54
  function scoreLaunchPageMetadata(metadata, options) {
46
55
  const normalizedUrl = normalizeComparableUrl(metadata.url);
47
56
  const requestedUrl = normalizeComparableUrl(options.requestedUrl);
@@ -100,6 +109,37 @@ async function readSessionPageMetadata(session, pageRef, page) {
100
109
  targetId,
101
110
  };
102
111
  }
112
+ async function readSettledSessionPageMetadata(session, pageRef, page, options = {}) {
113
+ const existing = session.runtime?.pages[pageRef];
114
+ const deadline = Date.now() + (options.settleTimeoutMs ?? 0);
115
+ let best = null;
116
+ while (Date.now() <= deadline) {
117
+ const metadata = await readSessionPageMetadata(session, pageRef, page);
118
+ const score = (isMeaningfulUrl(metadata.url) ? 100 : 0) +
119
+ (isMeaningfulTitle(metadata.title) ? 20 : 0) +
120
+ (metadata.targetId ? 5 : 0);
121
+ if (!best ||
122
+ score > best.score ||
123
+ (score === best.score && metadata.title.trim().length > best.title.trim().length)) {
124
+ best = { ...metadata, score };
125
+ }
126
+ if (best &&
127
+ isMeaningfulUrl(best.url) &&
128
+ (isMeaningfulTitle(best.title) || best.targetId || Date.now() >= deadline)) {
129
+ break;
130
+ }
131
+ if (Date.now() >= deadline) {
132
+ break;
133
+ }
134
+ await sleep(100);
135
+ }
136
+ const metadata = best ?? (await readSessionPageMetadata(session, pageRef, page));
137
+ return {
138
+ url: preferMeaningfulValue(metadata.url, existing?.url, isMeaningfulUrl),
139
+ title: preferMeaningfulValue(metadata.title, existing?.title, isMeaningfulTitle),
140
+ targetId: metadata.targetId ?? existing?.targetId,
141
+ };
142
+ }
103
143
  export async function readLaunchPageMetadata(browser, options = {}) {
104
144
  const deadline = Date.now() + (options.timeoutMs ?? 2_500);
105
145
  let best = null;
@@ -211,9 +251,9 @@ export async function resolvePageByRef(browser, session, pageRef) {
211
251
  }
212
252
  throw buildPageResolutionError('stale', pageRef);
213
253
  }
214
- export async function syncSessionPage(session, pageRef, page) {
254
+ export async function syncSessionPage(session, pageRef, page, options = {}) {
215
255
  ensureRuntimeState(session);
216
- const { url, title, targetId } = await readSessionPageMetadata(session, pageRef, page);
256
+ const { url, title, targetId } = await readSettledSessionPageMetadata(session, pageRef, page, options);
217
257
  if (session.runtime?.pages[pageRef]) {
218
258
  updatePage(session, pageRef, { url, title, targetId });
219
259
  }
@@ -1,6 +1,5 @@
1
- import type { FillableFormRecommendedTiming, StoredSecretFieldKey } from './types.js';
1
+ import type { StoredSecretFieldKey } from './types.js';
2
2
  declare function fieldPriority(purpose: string, fieldKey: StoredSecretFieldKey): number;
3
- export declare function recommendedTimingForProtectedForm(_purpose: string): FillableFormRecommendedTiming;
4
3
  export declare function sortProtectedBindingsForExecution<T extends {
5
4
  fieldKeys: StoredSecretFieldKey[];
6
5
  }>(purpose: string, bindings: ReadonlyArray<T>): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"fill-ordering.d.ts","sourceRoot":"","sources":["../../src/secrets/fill-ordering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AA2BpB,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAE9E;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,MAAM,GACf,6BAA6B,CAE/B;AAED,wBAAgB,iCAAiC,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,oBAAoB,EAAE,CAAA;CAAE,EAC/F,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,CAAC,EAAE,CAYL;AAED,eAAO,MAAM,kBAAkB;;CAE9B,CAAC"}
1
+ {"version":3,"file":"fill-ordering.d.ts","sourceRoot":"","sources":["../../src/secrets/fill-ordering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA2BvD,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAE9E;AAED,wBAAgB,iCAAiC,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,oBAAoB,EAAE,CAAA;CAAE,EAC/F,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,CAAC,EAAE,CAYL;AAED,eAAO,MAAM,kBAAkB;;CAE9B,CAAC"}
@@ -24,9 +24,6 @@ const FIELD_PRIORITY_BY_PURPOSE = {
24
24
  function fieldPriority(purpose, fieldKey) {
25
25
  return FIELD_PRIORITY_BY_PURPOSE[purpose]?.[fieldKey] ?? DEFAULT_PRIORITY;
26
26
  }
27
- export function recommendedTimingForProtectedForm(_purpose) {
28
- return 'late';
29
- }
30
27
  export function sortProtectedBindingsForExecution(purpose, bindings) {
31
28
  return bindings
32
29
  .map((binding, index) => ({
@@ -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;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EACV,wBAAwB,EAExB,qBAAqB,EACrB,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAUpB,KAAK,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAEhE,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC9C;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAsBD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AAsCH,iBAAS,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAS3D;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAsC1D;AA6OD,iBAAS,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAgBxD;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAkBvF;AAoFD,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;AA6KD,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,CA0D9B;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;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EACV,wBAAwB,EAExB,qBAAqB,EACrB,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAQpB,KAAK,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAEhE,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC9C;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAsBD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AAsCH,iBAAS,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAS3D;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAsC1D;AA6OD,iBAAS,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAgBxD;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAkBvF;AAoFD,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;AA6KD,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,CAmD9B;AAED,eAAO,MAAM,iBAAiB;;;;;;;CAO7B,CAAC"}
@@ -2,9 +2,7 @@ import { z } from 'zod';
2
2
  import { AgentpayStagehandLlmClient } from '../agentpay-stagehand-llm.js';
3
3
  import { tryResolveAgentpayGatewayConfig } from '../agentpay-gateway.js';
4
4
  import { IDENTITY_FIELD_KEYS, LOGIN_FIELD_KEYS, PAYMENT_CARD_FIELD_KEYS } from './types.js';
5
- import { recommendedTimingForProtectedForm } from './fill-ordering.js';
6
5
  import { normalizeProtectedBindingValueHint, protectedBindingKey, protectedBindingValueHintSchema, } from './protected-bindings.js';
7
- import { buildFillableFormGuidance } from './request-guidance.js';
8
6
  const PROMPT_VALUE_MAX_CHARS = 180;
9
7
  const PROMPT_SIGNAL_MAX_CHARS = 220;
10
8
  const PROMPT_SIGNAL_MAX_VALUES = 8;
@@ -583,13 +581,6 @@ export async function matchStoredSecretsToObservedTargets(pageRef, targets, cata
583
581
  pageRef,
584
582
  scopeRef: formScopeRef(planned.fields, targetByRef),
585
583
  purpose: kind,
586
- recommendedTiming: recommendedTimingForProtectedForm(kind),
587
- guidance: buildFillableFormGuidance({
588
- purpose: kind,
589
- recommendedTiming: recommendedTimingForProtectedForm(kind),
590
- fields: planned.fields,
591
- targetByRef,
592
- }),
593
584
  fields: planned.fields,
594
585
  storedSecretCandidates,
595
586
  observedAt: nextObservedAt,
@@ -45,12 +45,6 @@ export interface FillableFormFieldBinding {
45
45
  required?: boolean;
46
46
  valueHint?: ProtectedBindingValueHint;
47
47
  }
48
- export interface FillableFormGuidanceHint {
49
- hint: string;
50
- why: string;
51
- recheckWhen?: string;
52
- evidence: string[];
53
- }
54
48
  export interface FillableFormStoredSecretCandidate {
55
49
  storedSecretRef: string;
56
50
  kind: StoredSecretKind;
@@ -61,14 +55,11 @@ export interface FillableFormStoredSecretCandidate {
61
55
  fieldKeys?: StoredSecretFieldKey[];
62
56
  fieldPolicies?: StoredSecretFieldPolicies;
63
57
  }
64
- export type FillableFormRecommendedTiming = 'late';
65
58
  export interface PersistedFillableForm {
66
59
  fillRef: string;
67
60
  pageRef: string;
68
61
  scopeRef?: string;
69
62
  purpose: string;
70
- recommendedTiming?: FillableFormRecommendedTiming;
71
- guidance?: FillableFormGuidanceHint;
72
63
  fields: FillableFormFieldBinding[];
73
64
  storedSecretCandidates: FillableFormStoredSecretCandidate[];
74
65
  observedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/secrets/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/secrets/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/solver/browser-launcher.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAsB,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWjF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAgBF,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,CA0ExB"}
1
+ {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/solver/browser-launcher.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAsB,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAajF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAiBF,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,CAiExB"}