@tangle-network/browser-agent-driver 0.7.0 → 0.8.7
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 +5 -13
- package/dist/brain/index.d.ts +25 -8
- package/dist/brain/index.d.ts.map +1 -1
- package/dist/brain/index.js +244 -96
- package/dist/brain/index.js.map +1 -1
- package/dist/captcha.d.ts +55 -0
- package/dist/captcha.d.ts.map +1 -0
- package/dist/captcha.js +403 -0
- package/dist/captcha.js.map +1 -0
- package/dist/cli-design-audit.d.ts +59 -0
- package/dist/cli-design-audit.d.ts.map +1 -0
- package/dist/cli-design-audit.js +1245 -0
- package/dist/cli-design-audit.js.map +1 -0
- package/dist/cli-ui.d.ts +49 -0
- package/dist/cli-ui.d.ts.map +1 -0
- package/dist/cli-ui.js +383 -0
- package/dist/cli-ui.js.map +1 -0
- package/dist/cli.js +76 -169
- package/dist/cli.js.map +1 -1
- package/dist/drivers/cdp-snapshot.d.ts.map +1 -1
- package/dist/drivers/cdp-snapshot.js +2 -1
- package/dist/drivers/cdp-snapshot.js.map +1 -1
- package/dist/drivers/playwright.d.ts +6 -0
- package/dist/drivers/playwright.d.ts.map +1 -1
- package/dist/drivers/playwright.js +34 -9
- package/dist/drivers/playwright.js.map +1 -1
- package/dist/drivers/snapshot.d.ts +1 -0
- package/dist/drivers/snapshot.d.ts.map +1 -1
- package/dist/drivers/snapshot.js +12 -5
- package/dist/drivers/snapshot.js.map +1 -1
- package/dist/drivers/types.d.ts +2 -0
- package/dist/drivers/types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +16 -35
- package/dist/recovery.js.map +1 -1
- package/dist/runner/runner.d.ts +1 -0
- package/dist/runner/runner.d.ts.map +1 -1
- package/dist/runner/runner.js +133 -98
- package/dist/runner/runner.js.map +1 -1
- package/dist/types.d.ts +124 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/recovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recovery.js","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
|
package/dist/runner/runner.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare class AgentRunner {
|
|
|
34
34
|
private projectStore?;
|
|
35
35
|
private knowledge?;
|
|
36
36
|
private selectorCache?;
|
|
37
|
+
private cachedPostState;
|
|
37
38
|
constructor(options: RunnerOptions);
|
|
38
39
|
run(scenario: Scenario): Promise<AgentResult>;
|
|
39
40
|
private selectFollowUpActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAuC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAuC,MAAM,aAAa,CAAC;AAKjH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA6C/D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACnG,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAqF;IAC3G,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAwB;gBAEnC,OAAO,EAAE,aAAa;IAU5B,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IA0oCnD,OAAO,CAAC,qBAAqB;IA2B7B,mDAAmD;IACnD,OAAO,CAAC,UAAU;IAWlB;;;;;;;;;;;;OAYG;YACW,YAAY;YA2EZ,+BAA+B;YAgE/B,mCAAmC;YAwCnC,6BAA6B;YA4C7B,qCAAqC;YAqBrC,4BAA4B;YA4B5B,4BAA4B;YAkC5B,wBAAwB;CASvC;AAED,2BAA2B;AAC3B,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GACtC,OAAO,CAAC,WAAW,CAAC,CAGtB"}
|
package/dist/runner/runner.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { Brain } from '../brain/index.js';
|
|
13
13
|
import { analyzeRecovery, detectPersistentTerminalBlocker, detectTerminalBlocker } from '../recovery.js';
|
|
14
|
+
import { solveCaptcha, canAttemptSolve } from '../captcha.js';
|
|
14
15
|
import { StaleRefError, AriaSnapshotHelper } from '../drivers/snapshot.js';
|
|
15
16
|
import { verifyPreview } from '../preview.js';
|
|
16
17
|
import { AppKnowledge } from '../memory/knowledge.js';
|
|
@@ -60,6 +61,7 @@ export class AgentRunner {
|
|
|
60
61
|
projectStore;
|
|
61
62
|
knowledge;
|
|
62
63
|
selectorCache;
|
|
64
|
+
cachedPostState;
|
|
63
65
|
constructor(options) {
|
|
64
66
|
this.driver = options.driver;
|
|
65
67
|
this.config = options.config || {};
|
|
@@ -84,15 +86,19 @@ export class AgentRunner {
|
|
|
84
86
|
});
|
|
85
87
|
// Reset brain history for fresh scenario
|
|
86
88
|
this.brain.reset();
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
// Navigate to start URL if provided
|
|
89
|
+
this.cachedPostState = undefined;
|
|
90
|
+
// Start navigation and load memory in parallel. Navigation is async (network
|
|
91
|
+
// I/O) while memory init is sync (readFileSync), so memory completes while
|
|
92
|
+
// the network request is in flight — saving the serial cost of disk reads.
|
|
93
93
|
if (scenario.startUrl) {
|
|
94
94
|
const navigateStartedAt = Date.now();
|
|
95
|
-
|
|
95
|
+
const navPromise = withRetry(() => this.driver.execute({ action: 'navigate', url: scenario.startUrl }), retries, retryDelayMs, undefined, scenario.signal);
|
|
96
|
+
// Load domain-scoped memory while navigation is in progress
|
|
97
|
+
if (this.projectStore) {
|
|
98
|
+
this.knowledge = new AppKnowledge(this.projectStore.getKnowledgePath(scenario.startUrl), scenario.startUrl);
|
|
99
|
+
this.selectorCache = new SelectorCache(this.projectStore.getSelectorCachePath(scenario.startUrl));
|
|
100
|
+
}
|
|
101
|
+
await navPromise;
|
|
96
102
|
phaseTimings.initialNavigateMs = Date.now() - navigateStartedAt;
|
|
97
103
|
this.onPhaseTiming?.('navigate', phaseTimings.initialNavigateMs);
|
|
98
104
|
}
|
|
@@ -174,12 +180,15 @@ export class AgentRunner {
|
|
|
174
180
|
}
|
|
175
181
|
}
|
|
176
182
|
// -- 2. Observe (with retry) --
|
|
183
|
+
// Reuse the snapshot from verifyEffect if available (no page mutations between them)
|
|
177
184
|
const observeStartedAt = Date.now();
|
|
178
|
-
const state = await withRetry(() => this.driver.observe(),
|
|
185
|
+
const state = this.cachedPostState ?? await withRetry(() => this.driver.observe(), 1, // Observe failures are DOM access issues, not transient — retrying 3x wastes 3s
|
|
186
|
+
retryDelayMs, (attempt, err) => {
|
|
179
187
|
if (this.config.debug) {
|
|
180
188
|
console.log(`[Runner] Observe retry ${attempt}: ${err.message}`);
|
|
181
189
|
}
|
|
182
190
|
}, scenario.signal);
|
|
191
|
+
this.cachedPostState = undefined;
|
|
183
192
|
if (phaseTimings.firstObserveMs === undefined) {
|
|
184
193
|
phaseTimings.firstObserveMs = Date.now() - observeStartedAt;
|
|
185
194
|
this.onPhaseTiming?.('observe', phaseTimings.firstObserveMs);
|
|
@@ -194,7 +203,29 @@ export class AgentRunner {
|
|
|
194
203
|
const reState = await withRetry(() => this.driver.observe(), retries, retryDelayMs, undefined, scenario.signal);
|
|
195
204
|
Object.assign(state, reState);
|
|
196
205
|
}
|
|
197
|
-
|
|
206
|
+
let terminalBlocker = detectTerminalBlocker(state);
|
|
207
|
+
// Attempt CAPTCHA solving only if: bot-challenge, enabled, and evidence suggests a solvable CAPTCHA
|
|
208
|
+
if (terminalBlocker?.kind === 'bot-challenge'
|
|
209
|
+
&& this.config.captcha?.enabled !== false
|
|
210
|
+
&& canAttemptSolve(terminalBlocker.evidence)) {
|
|
211
|
+
const page = this.driver.getPage?.();
|
|
212
|
+
if (page) {
|
|
213
|
+
try {
|
|
214
|
+
const model = await this.brain.getLanguageModel();
|
|
215
|
+
const captchaResult = await solveCaptcha(page, model, {
|
|
216
|
+
maxAttempts: this.config.captcha?.maxAttempts ?? 5,
|
|
217
|
+
});
|
|
218
|
+
if (captchaResult.success) {
|
|
219
|
+
await page.waitForLoadState('domcontentloaded', { timeout: 10_000 }).catch(() => { });
|
|
220
|
+
const postCaptchaState = await this.driver.observe();
|
|
221
|
+
Object.assign(state, postCaptchaState);
|
|
222
|
+
this.brain.injectFeedback(`CAPTCHA solved: ${captchaResult.type} in ${captchaResult.attempts} attempt(s), ${captchaResult.durationMs}ms. Continuing.`);
|
|
223
|
+
terminalBlocker = detectTerminalBlocker(state);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
catch { /* CAPTCHA solve failed, fall through to abort */ }
|
|
227
|
+
}
|
|
228
|
+
}
|
|
198
229
|
if (terminalBlocker) {
|
|
199
230
|
const reason = `${terminalBlocker.reason} (signals: ${terminalBlocker.evidence.join(', ')})`;
|
|
200
231
|
const blockerTurn = {
|
|
@@ -247,42 +278,23 @@ export class AgentRunner {
|
|
|
247
278
|
(prevTurn?.action?.action === 'click' &&
|
|
248
279
|
/reject|accept|allow|deny|dismiss|consent|cookie/i.test(prevTurn?.action?.selector || prevTurn?.rawLLMResponse || ''));
|
|
249
280
|
if (modalWasDismissed && prevPrevTurn && state.url === prevPrevTurn.state.url) {
|
|
250
|
-
ctxBudget.add('blocker-recovery', '\
|
|
251
|
-
'since before the dialog appeared. Any form submission, search, or navigation that was attempted ' +
|
|
252
|
-
'before the dialog may have been intercepted and voided. ' +
|
|
253
|
-
'Re-check the page state and re-submit your prior action if needed.\n', 90);
|
|
281
|
+
ctxBudget.add('blocker-recovery', '\nDialog dismissed but URL unchanged — prior action may have been voided. Re-submit if needed.\n', 90);
|
|
254
282
|
}
|
|
255
283
|
}
|
|
256
284
|
const turnsLeft = maxTurns - i + 1;
|
|
257
285
|
if (turnsLeft <= 3) {
|
|
258
|
-
|
|
259
|
-
'
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
turnBudgetText +=
|
|
263
|
-
'FINAL TURN REQUIREMENT: return a terminal action now (`complete` if enough evidence exists, otherwise `abort` with explicit blocker reason).\n';
|
|
264
|
-
}
|
|
265
|
-
ctxBudget.add('turn-budget', turnBudgetText, 100);
|
|
286
|
+
const finalTurnSuffix = turnsLeft === 1
|
|
287
|
+
? ' FINAL TURN: return complete or abort now.'
|
|
288
|
+
: '';
|
|
289
|
+
ctxBudget.add('turn-budget', `\nBUDGET: ${turnsLeft} turn(s) left. Extract data and finish.${finalTurnSuffix}\n`, 100);
|
|
266
290
|
}
|
|
267
291
|
else if (i >= Math.floor(maxTurns * 0.5) && runState.goalVerificationEvidence.length === 0) {
|
|
268
|
-
|
|
269
|
-
ctxBudget.add('extraction-reminder', '\nEXTRACTION REMINDER: You have used over half your turn budget without extracting data. ' +
|
|
270
|
-
'STOP navigating between individual pages. Use runScript NOW to extract ALL data from the CURRENT page: ' +
|
|
271
|
-
'document.querySelectorAll("[class*=card], [class*=result], [class*=listing], li, tr").forEach(el => ...) ' +
|
|
272
|
-
'to get names, prices, phone numbers, addresses, ratings. ' +
|
|
273
|
-
'If you are on a listing/directory/search results page, extract everything visible and complete. ' +
|
|
274
|
-
'Do NOT click into more individual items — extract from the list.\n', 85);
|
|
292
|
+
ctxBudget.add('extraction-reminder', '\nHALF BUDGET USED, no data extracted. Use runScript NOW to extract from current page and complete.\n', 85);
|
|
275
293
|
}
|
|
276
|
-
// Early filter strategy nudge: if goal mentions filtering and agent hasn't
|
|
277
|
-
// extracted evidence by turn 8, remind to use filter controls efficiently
|
|
278
294
|
if (i >= 8 && i < Math.floor(maxTurns * 0.5) && runState.goalVerificationEvidence.length === 0) {
|
|
279
|
-
const
|
|
280
|
-
const isFilterTask = /filter|under \$|over \$|\d+\+ (star|rating)|sort by|price range|less than/i.test(goalLower);
|
|
295
|
+
const isFilterTask = /filter|under \$|over \$|\d+\+ (star|rating)|sort by|price range|less than/i.test(scenario.goal);
|
|
281
296
|
if (isFilterTask) {
|
|
282
|
-
ctxBudget.add('filter-strategy', '\nFILTER
|
|
283
|
-
'use runScript to find filter controls: document.querySelectorAll(\'input[type="range"], select, [class*="filter"], [class*="price"], [class*="slider"]\'). ' +
|
|
284
|
-
'Apply the filter, wait 2s, then extract results via runScript. ' +
|
|
285
|
-
'Do NOT keep browsing — apply the filter and extract data NOW.\n', 80);
|
|
297
|
+
ctxBudget.add('filter-strategy', '\nFILTER GOAL: use runScript to find filter controls, apply filter, extract results.\n', 80);
|
|
286
298
|
}
|
|
287
299
|
}
|
|
288
300
|
const searchResultsGuidance = buildSearchResultsGuidance(state, scenario.goal, scenario.allowedDomains);
|
|
@@ -294,11 +306,27 @@ export class AgentRunner {
|
|
|
294
306
|
if (visibleLinkRecommendation) {
|
|
295
307
|
ctxBudget.add('visible-link', `\n${visibleLinkRecommendation}\n`, 60);
|
|
296
308
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
309
|
+
// Gate scout calls: skip on early turns unless the agent appears
|
|
310
|
+
// stuck (same URL for 2+ consecutive turns). On early turns the agent
|
|
311
|
+
// is just navigating and doesn't need link recommendations.
|
|
312
|
+
const stuckOnSameUrl = turns.length >= 2 &&
|
|
313
|
+
turns[turns.length - 1].state.url === turns[turns.length - 2].state.url;
|
|
314
|
+
const shouldScout = i >= 5 || stuckOnSameUrl;
|
|
315
|
+
let scoutLinkRecommendation;
|
|
316
|
+
let branchLinkRecommendation;
|
|
317
|
+
let searchScoutFeedback;
|
|
318
|
+
if (shouldScout) {
|
|
319
|
+
[scoutLinkRecommendation, branchLinkRecommendation, searchScoutFeedback] = await Promise.all([
|
|
320
|
+
this.buildVisibleLinkScoutRecommendation(state, scenario.goal, scenario.allowedDomains),
|
|
321
|
+
this.buildBranchLinkRecommendation(state, scenario.goal, scenario.allowedDomains),
|
|
322
|
+
this.buildSearchResultsScoutFeedback(state, scenario.goal, scenario.allowedDomains, runState.searchScoutUrls),
|
|
323
|
+
]);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
scoutLinkRecommendation = undefined;
|
|
327
|
+
branchLinkRecommendation = undefined;
|
|
328
|
+
searchScoutFeedback = '';
|
|
329
|
+
}
|
|
302
330
|
if (scoutLinkRecommendation) {
|
|
303
331
|
ctxBudget.add('scout-link', `\n${buildScoutLinkRecommendationText(scoutLinkRecommendation)}\n`, 55);
|
|
304
332
|
}
|
|
@@ -458,12 +486,12 @@ export class AgentRunner {
|
|
|
458
486
|
// Check if last turn had a verification failure
|
|
459
487
|
const lastTurn = turns[turns.length - 1];
|
|
460
488
|
if (lastTurn?.verificationFailure) {
|
|
461
|
-
ctxBudget.add('verification-failure', `\nVERIFICATION FAILED: ${lastTurn.verificationFailure}
|
|
489
|
+
ctxBudget.add('verification-failure', `\nVERIFICATION FAILED: ${lastTurn.verificationFailure}. Try different approach.\n`, 85);
|
|
462
490
|
}
|
|
463
491
|
// Extraction guard: if the agent just ran a script that returned data,
|
|
464
492
|
// remind it to consider completing before navigating away.
|
|
465
493
|
if (lastTurn?.action.action === 'runScript' && !lastTurn.error) {
|
|
466
|
-
ctxBudget.add('extraction-guard', '\
|
|
494
|
+
ctxBudget.add('extraction-guard', '\nData extracted. If it answers the goal, complete now.\n', 80);
|
|
467
495
|
}
|
|
468
496
|
const extraContext = ctxBudget.build();
|
|
469
497
|
const forceVision = shouldEscalateVision({
|
|
@@ -616,7 +644,30 @@ export class AgentRunner {
|
|
|
616
644
|
...persistentSearchEvidence,
|
|
617
645
|
];
|
|
618
646
|
if (shouldVerifyGoal) {
|
|
619
|
-
|
|
647
|
+
// Fast-path: skip LLM verification when agent provides strong
|
|
648
|
+
// evidence and had no recent errors. The detailed result text
|
|
649
|
+
// (>50 chars) combined with script-extracted evidence means the
|
|
650
|
+
// verifier almost always agrees — save the round-trip.
|
|
651
|
+
const agentResult = action.result || '';
|
|
652
|
+
const recentErrors = turns.slice(-2).filter(t => t.error).length;
|
|
653
|
+
const hasScriptEvidence = verificationEvidence.some(e => e.startsWith('SCRIPT RESULT:'));
|
|
654
|
+
const fastPathEligible = agentResult.length > 50 &&
|
|
655
|
+
recentErrors === 0 &&
|
|
656
|
+
hasScriptEvidence;
|
|
657
|
+
if (fastPathEligible) {
|
|
658
|
+
goalResult = {
|
|
659
|
+
achieved: true,
|
|
660
|
+
confidence: 0.9,
|
|
661
|
+
evidence: ['Fast-path: agent provided detailed result with script-backed evidence and no recent errors.'],
|
|
662
|
+
missing: [],
|
|
663
|
+
};
|
|
664
|
+
if (this.config.debug) {
|
|
665
|
+
console.log('[Runner] Goal verification fast-path: skipped LLM call (strong evidence + no errors)');
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
else {
|
|
669
|
+
goalResult = await this.brain.verifyGoalCompletion(state, scenario.goal, buildGoalVerificationClaim(agentResult, verificationEvidence));
|
|
670
|
+
}
|
|
620
671
|
if (this.config.debug) {
|
|
621
672
|
console.log(`[Runner] Goal verification: achieved=${goalResult.achieved}, confidence=${goalResult.confidence}`);
|
|
622
673
|
}
|
|
@@ -699,25 +750,10 @@ export class AgentRunner {
|
|
|
699
750
|
turn.verificationFailure = goalResult.missing.join('; ') || 'Goal verification failed';
|
|
700
751
|
runState.firstSufficientEvidenceTurn ??= i;
|
|
701
752
|
// Goal not met — reject completion and feed back what's missing
|
|
702
|
-
const escalation = runState.verificationRejectionCount >=
|
|
703
|
-
? '
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
'Include the extracted data verbatim in your completion result. ' +
|
|
707
|
-
'The verification system trusts runScript evidence — use it.'
|
|
708
|
-
: runState.verificationRejectionCount >= 2
|
|
709
|
-
? '\nYou have been rejected multiple times. CHANGE YOUR STRATEGY: ' +
|
|
710
|
-
'Use runScript to extract the exact data needed: e.g., document.querySelector(".title").textContent. ' +
|
|
711
|
-
'Include ALL extracted data in your completion result. ' +
|
|
712
|
-
'If you need to prove a search was done, complete FROM the search results page. ' +
|
|
713
|
-
'The verifier trusts SCRIPT RESULT evidence — extract data programmatically.'
|
|
714
|
-
: '\nBefore trying again, ensure ALL required evidence is visible or extracted. ' +
|
|
715
|
-
'Use runScript to extract structured data if the a11y tree is incomplete. ' +
|
|
716
|
-
'Complete only when every requirement in the goal can be verified from the page state or extracted via script.';
|
|
717
|
-
this.brain.injectFeedback(`COMPLETION REJECTED — goal verification failed (confidence: ${goalResult.confidence.toFixed(2)}).\n` +
|
|
718
|
-
`Missing: ${goalResult.missing.join('; ')}\n` +
|
|
719
|
-
`Evidence reviewed: ${goalResult.evidence.join('; ')}\n` +
|
|
720
|
-
`The goal has NOT been achieved yet. Continue working.${escalation}`);
|
|
753
|
+
const escalation = runState.verificationRejectionCount >= 2
|
|
754
|
+
? ' Use runScript to extract exact data and include in completion.'
|
|
755
|
+
: '';
|
|
756
|
+
this.brain.injectFeedback(`REJECTED (${goalResult.confidence.toFixed(2)}). Missing: ${goalResult.missing.join('; ')}.${escalation}`);
|
|
721
757
|
turn.durationMs = Date.now() - turnStart;
|
|
722
758
|
turns.push(turn);
|
|
723
759
|
this.onTurn?.(turn);
|
|
@@ -820,18 +856,16 @@ export class AgentRunner {
|
|
|
820
856
|
}
|
|
821
857
|
catch (err) {
|
|
822
858
|
if (err instanceof StaleRefError) {
|
|
823
|
-
// Stale ref — re-observe and
|
|
824
|
-
//
|
|
825
|
-
//
|
|
859
|
+
// Stale ref — re-observe and cache for next turn (avoid double observe).
|
|
860
|
+
// Only inject available refs, not the full snapshot — next turn's observe
|
|
861
|
+
// provides the complete snapshot, so duplicating it here wastes 3-8k tokens.
|
|
826
862
|
if (this.config.debug) {
|
|
827
863
|
console.log(`[Runner] Stale ref @${err.staleRef} — re-observing for immediate retry`);
|
|
828
864
|
}
|
|
829
|
-
|
|
830
|
-
this.brain.injectFeedback(`Your selector @${err.staleRef} was not found
|
|
865
|
+
this.cachedPostState = await this.driver.observe();
|
|
866
|
+
this.brain.injectFeedback(`Your selector @${err.staleRef} was not found. ` +
|
|
831
867
|
`Available refs: ${err.availableRefs.slice(0, 20).join(', ')}. ` +
|
|
832
|
-
`
|
|
833
|
-
`URL: ${freshState.url}\nELEMENTS:\n${freshState.snapshot}`);
|
|
834
|
-
// Let the loop continue — Brain sees feedback and next observe() has fresh refs.
|
|
868
|
+
`Pick a valid ref from the next observation.`);
|
|
835
869
|
runState.recordError();
|
|
836
870
|
turn.error = `Stale ref @${err.staleRef} — auto-retrying`;
|
|
837
871
|
turn.durationMs = Date.now() - turnStart;
|
|
@@ -882,7 +916,8 @@ export class AgentRunner {
|
|
|
882
916
|
if (turn.error)
|
|
883
917
|
break;
|
|
884
918
|
try {
|
|
885
|
-
const followResult = await withRetry(() => this.driver.execute(followUpAction),
|
|
919
|
+
const followResult = await withRetry(() => this.driver.execute(followUpAction), 1, // Follow-ups are speculative micro-actions — fail fast, don't retry 3x
|
|
920
|
+
retryDelayMs, (attempt, err) => {
|
|
886
921
|
if (this.config.debug) {
|
|
887
922
|
console.log(`[Runner] Follow-up retry ${attempt}: ${err.message}`);
|
|
888
923
|
}
|
|
@@ -901,6 +936,7 @@ export class AgentRunner {
|
|
|
901
936
|
}
|
|
902
937
|
const domainBoundaryViolation = await this.enforceAllowedDomainBoundary(state, scenario);
|
|
903
938
|
if (domainBoundaryViolation) {
|
|
939
|
+
this.cachedPostState = undefined; // boundary navigated back — invalidate cache
|
|
904
940
|
this.brain.injectFeedback(domainBoundaryViolation);
|
|
905
941
|
turn.error = domainBoundaryViolation;
|
|
906
942
|
turn.durationMs = Date.now() - turnStart;
|
|
@@ -1040,36 +1076,36 @@ export class AgentRunner {
|
|
|
1040
1076
|
* - Generic text match -> check if text appears in snapshot
|
|
1041
1077
|
*/
|
|
1042
1078
|
async verifyEffect(expectedEffect, preActionState) {
|
|
1043
|
-
//
|
|
1044
|
-
await new Promise(r => setTimeout(r, 500));
|
|
1045
|
-
// Re-observe — this resets the refMap but that's OK since the next
|
|
1046
|
-
// turn's observe() will rebuild it fresh before the brain decides.
|
|
1047
|
-
const postState = await this.driver.observe().catch(() => preActionState);
|
|
1048
|
-
// URL-based verification
|
|
1079
|
+
// URL-based verification — no sleep needed, URL commits synchronously with navigation
|
|
1049
1080
|
if (/url\s+should/i.test(expectedEffect)) {
|
|
1081
|
+
const currentUrl = this.driver.getUrl?.() ?? (await this.driver.observe().catch(() => preActionState)).url;
|
|
1050
1082
|
// Extract target: prefer quoted value (handles complex phrases like
|
|
1051
1083
|
// "URL should change to include '/chat/'"), fall back to word after verb
|
|
1052
1084
|
const quotedVal = expectedEffect.match(/['"]([^'"]+)['"]/);
|
|
1053
1085
|
const verbVal = expectedEffect.match(/url\s+should\s+(?:contain|include|have)\s+(\S+)/i);
|
|
1054
1086
|
const expected = quotedVal?.[1] ?? verbVal?.[1];
|
|
1055
1087
|
if (expected) {
|
|
1056
|
-
if (
|
|
1088
|
+
if (currentUrl.includes(expected)) {
|
|
1057
1089
|
return { verified: true };
|
|
1058
1090
|
}
|
|
1059
1091
|
return {
|
|
1060
1092
|
verified: false,
|
|
1061
|
-
reason: `Expected URL to contain "${expected}" but got "${
|
|
1093
|
+
reason: `Expected URL to contain "${expected}" but got "${currentUrl}"`,
|
|
1062
1094
|
};
|
|
1063
1095
|
}
|
|
1064
1096
|
// "URL should change" without a specific target — just check if URL changed
|
|
1065
|
-
if (
|
|
1097
|
+
if (currentUrl !== preActionState.url) {
|
|
1066
1098
|
return { verified: true };
|
|
1067
1099
|
}
|
|
1068
1100
|
return {
|
|
1069
1101
|
verified: false,
|
|
1070
|
-
reason: `Expected URL to change but it stayed at "${
|
|
1102
|
+
reason: `Expected URL to change but it stayed at "${currentUrl}"`,
|
|
1071
1103
|
};
|
|
1072
1104
|
}
|
|
1105
|
+
// Non-URL effects: brief wait for DOM to settle, then observe
|
|
1106
|
+
await new Promise(r => setTimeout(r, 100));
|
|
1107
|
+
const postState = await this.driver.observe().catch(() => preActionState);
|
|
1108
|
+
this.cachedPostState = postState;
|
|
1073
1109
|
const effect = expectedEffect.toLowerCase();
|
|
1074
1110
|
// Snapshot content verification (look for mentioned text/elements)
|
|
1075
1111
|
// Extract quoted text from the expected effect
|
|
@@ -1209,16 +1245,16 @@ export class AgentRunner {
|
|
|
1209
1245
|
const page = this.driver.getPage();
|
|
1210
1246
|
if (!page)
|
|
1211
1247
|
return undefined;
|
|
1212
|
-
const
|
|
1213
|
-
for (const candidate of candidates) {
|
|
1248
|
+
const settled = await Promise.all(candidates.map(async (candidate) => {
|
|
1214
1249
|
const href = await this.driver.inspectSelectorHref(candidate.ref).catch(() => undefined);
|
|
1215
1250
|
if (!href)
|
|
1216
|
-
|
|
1251
|
+
return undefined;
|
|
1217
1252
|
const preview = await inspectBranchPreview(page, href, 8000);
|
|
1218
1253
|
if (!preview)
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
}
|
|
1254
|
+
return undefined;
|
|
1255
|
+
return { ref: candidate.ref, text: candidate.text, href, score: scoreBranchPreview(goal, preview, allowedDomains), preview };
|
|
1256
|
+
}));
|
|
1257
|
+
const previews = settled.filter((r) => r !== undefined);
|
|
1222
1258
|
if (previews.length < 2)
|
|
1223
1259
|
return undefined;
|
|
1224
1260
|
previews.sort((a, b) => b.score - a.score);
|
|
@@ -1239,15 +1275,14 @@ export class AgentRunner {
|
|
|
1239
1275
|
return candidates;
|
|
1240
1276
|
}
|
|
1241
1277
|
const allowedHosts = new Set(allowedDomains.map((domain) => domain.toLowerCase()));
|
|
1242
|
-
const
|
|
1243
|
-
for (const candidate of candidates) {
|
|
1278
|
+
const resolved = await Promise.all(candidates.map(async (candidate) => {
|
|
1244
1279
|
const href = await this.driver.inspectSelectorHref(candidate.ref).catch(() => undefined);
|
|
1245
1280
|
const host = href ? safeHostname(href) : undefined;
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1281
|
+
return { candidate, host };
|
|
1282
|
+
}));
|
|
1283
|
+
return resolved
|
|
1284
|
+
.filter(({ host }) => !host || allowedHosts.has(host))
|
|
1285
|
+
.map(({ candidate }) => candidate);
|
|
1251
1286
|
}
|
|
1252
1287
|
async inspectDisallowedSearchClick(state, scenario, action) {
|
|
1253
1288
|
if (action.action !== 'click')
|
|
@@ -1280,8 +1315,8 @@ export class AgentRunner {
|
|
|
1280
1315
|
async enforceAllowedDomainBoundary(preActionState, scenario) {
|
|
1281
1316
|
if (!scenario.allowedDomains || scenario.allowedDomains.length === 0)
|
|
1282
1317
|
return undefined;
|
|
1283
|
-
const
|
|
1284
|
-
const currentHost = safeHostname(
|
|
1318
|
+
const currentUrl = this.driver.getUrl?.() ?? preActionState.url;
|
|
1319
|
+
const currentHost = safeHostname(currentUrl);
|
|
1285
1320
|
if (!currentHost)
|
|
1286
1321
|
return undefined;
|
|
1287
1322
|
const allowedHosts = scenario.allowedDomains.map((domain) => domain.toLowerCase());
|
|
@@ -1303,7 +1338,7 @@ export class AgentRunner {
|
|
|
1303
1338
|
await this.driver.execute({ action: 'navigate', url: scenario.startUrl }).catch(() => { });
|
|
1304
1339
|
}
|
|
1305
1340
|
return [
|
|
1306
|
-
`Boundary violation: landed on ${
|
|
1341
|
+
`Boundary violation: landed on ${currentUrl}, but the allowed host set is ${allowedHosts.join(', ')}.`,
|
|
1307
1342
|
'Return to an allowed host and continue from there; do not rely on disallowed subdomains even if their snippet looks relevant.',
|
|
1308
1343
|
].join(' ');
|
|
1309
1344
|
}
|