browserclaw-agent 0.6.2 → 0.7.1

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 (55) hide show
  1. package/dist/agent-loop.d.ts +2 -0
  2. package/dist/agent-loop.d.ts.map +1 -1
  3. package/dist/agent-loop.js +257 -39
  4. package/dist/agent-loop.js.map +1 -1
  5. package/dist/api-types.d.ts +81 -0
  6. package/dist/api-types.d.ts.map +1 -0
  7. package/dist/api-types.js +6 -0
  8. package/dist/api-types.js.map +1 -0
  9. package/dist/config.d.ts +3 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +4 -10
  12. package/dist/config.js.map +1 -1
  13. package/dist/idempotency.d.ts +48 -0
  14. package/dist/idempotency.d.ts.map +1 -0
  15. package/dist/idempotency.js +99 -0
  16. package/dist/idempotency.js.map +1 -0
  17. package/dist/llm.d.ts +7 -10
  18. package/dist/llm.d.ts.map +1 -1
  19. package/dist/llm.js +104 -272
  20. package/dist/llm.js.map +1 -1
  21. package/dist/parse-json-response.d.ts +4 -0
  22. package/dist/parse-json-response.d.ts.map +1 -1
  23. package/dist/parse-json-response.js +21 -3
  24. package/dist/parse-json-response.js.map +1 -1
  25. package/dist/prompt-log.d.ts +9 -1
  26. package/dist/prompt-log.d.ts.map +1 -1
  27. package/dist/prompt-log.js.map +1 -1
  28. package/dist/proxy.d.ts +9 -0
  29. package/dist/proxy.d.ts.map +1 -0
  30. package/dist/proxy.js +85 -0
  31. package/dist/proxy.js.map +1 -0
  32. package/dist/routes.d.ts.map +1 -1
  33. package/dist/routes.js +116 -30
  34. package/dist/routes.js.map +1 -1
  35. package/dist/server.js +2 -0
  36. package/dist/server.js.map +1 -1
  37. package/dist/session-manager.d.ts +2 -8
  38. package/dist/session-manager.d.ts.map +1 -1
  39. package/dist/session-manager.js +196 -51
  40. package/dist/session-manager.js.map +1 -1
  41. package/dist/skills/press-and-hold.d.ts.map +1 -1
  42. package/dist/skills/press-and-hold.js +20 -14
  43. package/dist/skills/press-and-hold.js.map +1 -1
  44. package/dist/sse-stamp.d.ts +2 -0
  45. package/dist/sse-stamp.d.ts.map +1 -0
  46. package/dist/sse-stamp.js +9 -0
  47. package/dist/sse-stamp.js.map +1 -0
  48. package/dist/trajectory-store.d.ts +1 -0
  49. package/dist/trajectory-store.d.ts.map +1 -1
  50. package/dist/trajectory-store.js +1 -0
  51. package/dist/trajectory-store.js.map +1 -1
  52. package/dist/types.d.ts +9 -15
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js.map +1 -1
  55. package/package.json +7 -3
@@ -11,7 +11,9 @@ import { getLLMCallCount, resetLLMCallCount, runWithLlmConfig, sanitizeErrorText
11
11
  import { extractDomain, getSkillForDomain, getSkillsForDomains, saveSkill } from './skill-store.js';
12
12
  import { saveLesson, extractDomainLessons, getLesson } from './lesson-store.js';
13
13
  import { saveTrajectory, TRAJECTORY_STATUS } from './trajectory-store.js';
14
+ import { stampSSEPayload } from './sse-stamp.js';
14
15
  import { logger } from './logger.js';
16
+ import { shouldProxyUrl, shouldUseResidentialProxy, startSessionProxy } from './proxy.js';
15
17
  const MAX_SESSIONS = requireEnvInt('MAX_SESSIONS');
16
18
  const SESSION_IDLE_TIMEOUT_MS = requireEnvInt('SESSION_IDLE_TIMEOUT_MS');
17
19
  const BASE_CDP_PORT = 9222;
@@ -22,15 +24,93 @@ const NON_ACTION_TYPES = new Set(['done', 'wait', 'fail', 'ask_user']);
22
24
  const sessions = new Map();
23
25
  let cleanupInterval = null;
24
26
  const CDP_PORT_SEARCH_LIMIT = 100;
27
+ async function launchBrowserWithCdpRetry(launchOpts) {
28
+ try {
29
+ return await BrowserClaw.launch(launchOpts);
30
+ }
31
+ catch (err) {
32
+ const message = err instanceof Error ? err.message : '';
33
+ if (!message.includes('Failed to start Chrome CDP'))
34
+ throw err;
35
+ logger.warn({ cdpPort: launchOpts?.cdpPort }, 'BrowserClaw.launch hit CDP-ready race — retrying after 2s');
36
+ await new Promise((r) => setTimeout(r, 2000));
37
+ return await BrowserClaw.launch(launchOpts);
38
+ }
39
+ }
40
+ async function swapToProxiedBrowser(managed, holder) {
41
+ if (managed.proxy !== null)
42
+ return;
43
+ const sessionToken = crypto.randomUUID().replace(/-/g, '').slice(0, 8);
44
+ const proxy = await startSessionProxy(sessionToken);
45
+ let newCdpPort;
46
+ try {
47
+ newCdpPort = await nextAvailableCdpPort();
48
+ }
49
+ catch (err) {
50
+ await proxy.close();
51
+ throw err;
52
+ }
53
+ const launchOpts = {
54
+ headless: managed.headless,
55
+ noSandbox: process.platform === 'linux',
56
+ cdpPort: newCdpPort,
57
+ stealth: true,
58
+ isolated: true,
59
+ ssrfPolicy: { dangerouslyAllowPrivateNetwork: process.env.SSRF_ALLOW_PRIVATE === 'true' },
60
+ chromeArgs: [...(managed.headless === true ? [] : ['--start-maximized']), `--proxy-server=${proxy.url}`],
61
+ };
62
+ let newBrowser;
63
+ try {
64
+ newBrowser = await launchBrowserWithCdpRetry(launchOpts);
65
+ }
66
+ catch (err) {
67
+ await proxy.close();
68
+ throw err;
69
+ }
70
+ let newPage;
71
+ try {
72
+ newPage = await newBrowser.currentPage();
73
+ }
74
+ catch (err) {
75
+ await newBrowser.stop().catch((stopErr) => {
76
+ logger.warn({ sessionId: managed.id, err: stopErr }, 'Failed to stop orphaned proxied browser');
77
+ });
78
+ await proxy.close();
79
+ throw err;
80
+ }
81
+ if (managed.abortController.signal.aborted || !sessions.has(managed.id)) {
82
+ logger.info({ sessionId: managed.id }, 'Session closed mid-swap — disposing new browser and proxy');
83
+ await newBrowser.stop().catch((stopErr) => {
84
+ logger.warn({ sessionId: managed.id, err: stopErr }, 'Failed to stop orphaned proxied browser');
85
+ });
86
+ await proxy.close();
87
+ return;
88
+ }
89
+ const oldBrowser = managed.browser;
90
+ managed.browser = newBrowser;
91
+ managed.page = newPage;
92
+ managed.cdpPort = newCdpPort;
93
+ managed.proxy = proxy;
94
+ managed.proxySwapCount += 1;
95
+ holder.page = newPage;
96
+ holder.browser = newBrowser;
97
+ logger.info({ sessionId: managed.id, newCdpPort }, 'Swapped to proxied browser');
98
+ oldBrowser.stop().catch((err) => {
99
+ logger.warn({ sessionId: managed.id, err }, 'Failed to stop old browser after proxy swap');
100
+ });
101
+ }
25
102
  async function nextAvailableCdpPort() {
26
103
  for (let port = BASE_CDP_PORT; port < BASE_CDP_PORT + CDP_PORT_SEARCH_LIMIT; port++) {
27
104
  if (await isPortFree(port)) {
28
105
  // Purge any stale session entries claiming this port — their Chrome died silently.
106
+ const stale = [];
29
107
  for (const [id, s] of sessions) {
30
- if (s.cdpPort === port) {
31
- logger.warn({ sessionId: id, port }, 'Evicting stale session — CDP port is actually free');
32
- sessions.delete(id);
33
- }
108
+ if (s.cdpPort === port)
109
+ stale.push(id);
110
+ }
111
+ for (const id of stale) {
112
+ logger.warn({ sessionId: id, port }, 'Evicting stale session — CDP port is actually free');
113
+ await closeSession(id);
34
114
  }
35
115
  return port;
36
116
  }
@@ -47,7 +127,8 @@ export function emitSSE(sessionId, event, data) {
47
127
  const managed = sessions.get(sessionId);
48
128
  if (!managed)
49
129
  return;
50
- const payload = `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;
130
+ const stamped = stampSSEPayload(event, data);
131
+ const payload = `event: ${event}\ndata: ${JSON.stringify(stamped)}\n\n`;
51
132
  for (const client of managed.sseClients) {
52
133
  client.write(payload);
53
134
  }
@@ -100,12 +181,17 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
100
181
  await closeSession(existing.id);
101
182
  }
102
183
  if (skipModeration !== true) {
103
- const aiCheck = await moderatePrompt(prompt);
184
+ const aiCheck = await runWithLlmConfig(llmConfig, () => moderatePrompt(prompt));
104
185
  if (!aiCheck.allowed) {
105
186
  throw new HttpError(422, aiCheck.reason ?? 'Prompt blocked by content policy.');
106
187
  }
107
188
  }
108
189
  const cdpPort = await nextAvailableCdpPort();
190
+ let proxy = null;
191
+ if (shouldUseResidentialProxy(prompt, url)) {
192
+ const sessionToken = crypto.randomUUID().replace(/-/g, '').slice(0, 8);
193
+ proxy = await startSessionProxy(sessionToken);
194
+ }
109
195
  const launchOpts = {
110
196
  headless,
111
197
  noSandbox: process.platform === 'linux',
@@ -114,28 +200,20 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
114
200
  ssrfPolicy: {
115
201
  dangerouslyAllowPrivateNetwork: process.env.SSRF_ALLOW_PRIVATE === 'true',
116
202
  },
117
- chromeArgs: [...(headless === true ? [] : ['--start-maximized'])],
203
+ chromeArgs: [
204
+ ...(headless === true ? [] : ['--start-maximized']),
205
+ ...(proxy !== null ? [`--proxy-server=${proxy.url}`] : []),
206
+ ],
118
207
  };
119
208
  let browser;
120
209
  try {
121
- browser = await BrowserClaw.launch(launchOpts);
210
+ browser = await launchBrowserWithCdpRetry(launchOpts);
122
211
  }
123
212
  catch (err) {
124
- const message = err instanceof Error ? err.message : '';
125
- const isCdpReadyRace = message.includes('Failed to start Chrome CDP');
126
- if (!isCdpReadyRace) {
127
- logger.error({ cdpPort, err }, 'BrowserClaw.launch failed');
128
- throw err;
129
- }
130
- logger.warn({ cdpPort }, 'BrowserClaw.launch hit CDP-ready race — retrying after 2s');
131
- await new Promise((r) => setTimeout(r, 2000));
132
- try {
133
- browser = await BrowserClaw.launch(launchOpts);
134
- }
135
- catch (retryErr) {
136
- logger.error({ cdpPort, retryErr }, 'BrowserClaw.launch failed after retry');
137
- throw retryErr;
138
- }
213
+ logger.error({ cdpPort, err }, 'BrowserClaw.launch failed');
214
+ if (proxy !== null)
215
+ await proxy.close();
216
+ throw err;
139
217
  }
140
218
  let page;
141
219
  try {
@@ -148,6 +226,8 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
148
226
  await browser.stop().catch((stopErr) => {
149
227
  logger.error({ url, err: stopErr }, 'Failed to stop orphaned Chrome');
150
228
  });
229
+ if (proxy !== null)
230
+ await proxy.close();
151
231
  throw err;
152
232
  }
153
233
  const now = new Date();
@@ -176,9 +256,13 @@ export async function createSession(prompt, url, headless, ip, skipModeration, l
176
256
  interjectionNonce: crypto.randomUUID().replace(/-/g, ''),
177
257
  interjectionsReceived: 0,
178
258
  lastInterjectionAt: null,
259
+ proxy,
260
+ skipModeration: skipModeration === true,
261
+ headless,
262
+ proxySwapCount: proxy === null ? 0 : 1,
179
263
  };
180
264
  sessions.set(id, managed);
181
- logger.info({ sessionId: id, cdpPort }, 'Created session');
265
+ logger.info({ sessionId: id, cdpPort, proxied: proxy !== null }, 'Created session');
182
266
  void logPrompt({
183
267
  timestamp: now.toISOString(),
184
268
  session_id: id,
@@ -238,7 +322,22 @@ async function startAgentLoop(sessionId) {
238
322
  const runAllLlmWork = async () => {
239
323
  resetLLMCallCount();
240
324
  const waitForUser = USER_INTERJECTION_ENABLED ? () => waitForUserResponse(sessionId) : undefined;
241
- const pageHolder = { page: managed.page };
325
+ const pageHolder = {
326
+ page: managed.page,
327
+ browser: managed.browser,
328
+ ensureProxyForUrl: async (url) => {
329
+ if (!shouldProxyUrl(url))
330
+ return;
331
+ if (managed.proxy !== null)
332
+ return;
333
+ try {
334
+ await swapToProxiedBrowser(managed, pageHolder);
335
+ }
336
+ catch (err) {
337
+ logger.warn({ sessionId, url, err }, 'Proxy swap failed — continuing direct');
338
+ }
339
+ },
340
+ };
242
341
  const userChatHooks = USER_INTERJECTION_ENABLED
243
342
  ? { drainMessages: () => drainUserMessages(sessionId), nonce: managed.interjectionNonce }
244
343
  : undefined;
@@ -264,7 +363,11 @@ async function startAgentLoop(sessionId) {
264
363
  // Sync back the page reference in case the agent switched tabs
265
364
  managed.page = pageHolder.page;
266
365
  managed.result = result;
267
- managed.status = result.success ? 'completed' : 'failed';
366
+ managed.status = result.success
367
+ ? 'completed'
368
+ : result.status === 'canceled-timeout'
369
+ ? 'canceled-timeout'
370
+ : 'failed';
268
371
  // Capture domain from first navigate action if not set
269
372
  if (managed.domain === null) {
270
373
  const nav = result.steps.find((s) => s.action.action === 'navigate' && s.action.url !== undefined && s.action.url !== '');
@@ -278,7 +381,11 @@ async function startAgentLoop(sessionId) {
278
381
  await saveTrajectory({
279
382
  session_id: sessionId,
280
383
  prompt: managed.prompt,
281
- status: result.success ? TRAJECTORY_STATUS.completed : TRAJECTORY_STATUS.failed,
384
+ status: result.success
385
+ ? TRAJECTORY_STATUS.completed
386
+ : result.status === 'canceled-timeout'
387
+ ? TRAJECTORY_STATUS.canceledTimeout
388
+ : TRAJECTORY_STATUS.failed,
282
389
  steps: result.steps,
283
390
  answer: result.answer,
284
391
  error: result.error,
@@ -320,6 +427,7 @@ async function startAgentLoop(sessionId) {
320
427
  step: result.steps.length,
321
428
  error: result.error,
322
429
  llm_calls: llmCalls,
430
+ terminal_status: managed.status,
323
431
  });
324
432
  }
325
433
  void logPrompt({
@@ -328,13 +436,18 @@ async function startAgentLoop(sessionId) {
328
436
  ip: managed.ip,
329
437
  prompt: managed.prompt,
330
438
  url: result.final_url ?? '',
331
- status: result.success ? 'completed' : 'failed',
439
+ status: managed.status,
332
440
  steps: result.steps.length,
333
441
  duration_ms: result.duration_ms,
334
442
  error: result.error,
335
443
  domain: managed.domain ?? undefined,
336
444
  skills_loaded: skillsLoadedCount,
337
445
  skill_outcome: skillOutcome,
446
+ walls_hit: result.walls_hit,
447
+ sites_visited: result.sites_visited,
448
+ records_extracted: result.records_extracted,
449
+ proxy_swap_count: managed.proxySwapCount,
450
+ crashed: false,
338
451
  });
339
452
  };
340
453
  if (managed.llmConfig) {
@@ -351,6 +464,18 @@ async function startAgentLoop(sessionId) {
351
464
  const stack = err instanceof Error && err.stack !== undefined ? sanitizeErrorText(err.stack) : undefined;
352
465
  logger.error({ sessionId, crashed: true, message, stack }, 'Agent loop crashed');
353
466
  emitter('failed', { step: 0, error: message });
467
+ void logPrompt({
468
+ timestamp: new Date().toISOString(),
469
+ session_id: sessionId,
470
+ ip: managed.ip,
471
+ prompt: managed.prompt,
472
+ status: 'failed',
473
+ duration_ms: Date.now() - managed.createdAt.getTime(),
474
+ error: message,
475
+ domain: managed.domain ?? undefined,
476
+ proxy_swap_count: managed.proxySwapCount,
477
+ crashed: true,
478
+ });
354
479
  }
355
480
  setTimeout(() => {
356
481
  closeSession(sessionId).catch((err) => {
@@ -579,14 +704,33 @@ export function waitForUserResponse(sessionId) {
579
704
  * ask_user, additionally resolves the waiting promise so existing callers keep
580
705
  * working unchanged.
581
706
  */
582
- export function enqueueUserMessage(sessionId, text) {
707
+ export async function enqueueUserMessage(sessionId, text) {
583
708
  const managed = getManagedSession(sessionId);
584
- if (!USER_INTERJECTION_ENABLED) {
585
- if (managed.pendingUserResponse === null) {
586
- throw new HttpError(409, 'Session is not waiting for user input');
709
+ const preview = text.length > 200 ? `${text.slice(0, 200)}…` : text;
710
+ if (!USER_INTERJECTION_ENABLED && managed.pendingUserResponse === null) {
711
+ logger.warn({ sessionId, chars: text.length, preview }, 'User message rejected — interjections disabled and agent not awaiting reply');
712
+ throw new HttpError(409, 'Session is not waiting for user input');
713
+ }
714
+ if (USER_INTERJECTION_ENABLED && managed.pendingUserResponse === null) {
715
+ if (managed.interjectionsReceived >= MAX_INTERJECTIONS_PER_RUN) {
716
+ logger.warn({ sessionId, cap: MAX_INTERJECTIONS_PER_RUN, preview }, 'User message rejected — interjection cap reached');
717
+ throw new HttpError(429, `Too many messages (cap: ${String(MAX_INTERJECTIONS_PER_RUN)} per run)`);
718
+ }
719
+ if (managed.lastInterjectionAt !== null) {
720
+ const elapsed = Date.now() - managed.lastInterjectionAt.getTime();
721
+ if (elapsed < INTERJECTION_MIN_INTERVAL_MS) {
722
+ const waitSec = Math.ceil((INTERJECTION_MIN_INTERVAL_MS - elapsed) / 1000);
723
+ logger.warn({ sessionId, waitSec, preview }, 'User message rejected — rate limit');
724
+ throw new HttpError(429, `Rate limit — wait ${String(waitSec)}s before sending again`);
725
+ }
726
+ }
727
+ }
728
+ if (!managed.skipModeration && managed.llmConfig !== undefined) {
729
+ const aiCheck = await runWithLlmConfig(managed.llmConfig, () => moderatePrompt(text));
730
+ if (!aiCheck.allowed) {
731
+ logger.warn({ sessionId, preview, reason: aiCheck.reason }, 'User message blocked by content policy');
732
+ throw new HttpError(422, aiCheck.reason ?? 'Message blocked by content policy.');
587
733
  }
588
- managed.pendingUserResponse.resolve(text);
589
- return;
590
734
  }
591
735
  // Direct reply to an ask_user: unblock the agent loop via the existing
592
736
  // `user_response` history path. Skip the interjection queue — otherwise the
@@ -594,23 +738,22 @@ export function enqueueUserMessage(sessionId, text) {
594
738
  // again as a "USER INTERJECTION" injected into the next step's prompt).
595
739
  if (managed.pendingUserResponse !== null) {
596
740
  managed.lastActivityAt = new Date();
741
+ logger.info({ sessionId, chars: text.length, preview }, 'User message → ask_user reply');
597
742
  managed.pendingUserResponse.resolve(text);
598
743
  return;
599
744
  }
600
- if (managed.interjectionsReceived >= MAX_INTERJECTIONS_PER_RUN) {
601
- throw new HttpError(429, `Too many messages (cap: ${String(MAX_INTERJECTIONS_PER_RUN)} per run)`);
602
- }
603
- if (managed.lastInterjectionAt !== null) {
604
- const elapsed = Date.now() - managed.lastInterjectionAt.getTime();
605
- if (elapsed < INTERJECTION_MIN_INTERVAL_MS) {
606
- throw new HttpError(429, `Rate limit — wait ${String(Math.ceil((INTERJECTION_MIN_INTERVAL_MS - elapsed) / 1000))}s before sending again`);
607
- }
608
- }
609
745
  const now = new Date();
610
746
  managed.userMessageQueue.push({ text, receivedAt: now });
611
747
  managed.interjectionsReceived += 1;
612
748
  managed.lastInterjectionAt = now;
613
749
  managed.lastActivityAt = now;
750
+ logger.info({
751
+ sessionId,
752
+ chars: text.length,
753
+ preview,
754
+ queueDepth: managed.userMessageQueue.length,
755
+ received: managed.interjectionsReceived,
756
+ }, 'User message queued for next step');
614
757
  }
615
758
  /**
616
759
  * Drain and return all pending user messages. Called by the agent loop at the
@@ -620,19 +763,18 @@ export function drainUserMessages(sessionId) {
620
763
  const managed = getManagedSession(sessionId);
621
764
  const drained = managed.userMessageQueue;
622
765
  managed.userMessageQueue = [];
766
+ if (drained.length > 0) {
767
+ logger.info({
768
+ sessionId,
769
+ count: drained.length,
770
+ previews: drained.map((m) => (m.text.length > 80 ? `${m.text.slice(0, 80)}…` : m.text)),
771
+ }, 'Draining user messages into next agent step');
772
+ }
623
773
  return drained;
624
774
  }
625
775
  export function getInterjectionNonce(sessionId) {
626
776
  return getManagedSession(sessionId).interjectionNonce;
627
777
  }
628
- /**
629
- * Legacy export — preserved so existing route handlers that imported it keep
630
- * compiling while we migrate them. Prefer `enqueueUserMessage`.
631
- * @deprecated use enqueueUserMessage
632
- */
633
- export function resolveUserResponse(sessionId, text) {
634
- enqueueUserMessage(sessionId, text);
635
- }
636
778
  export async function closeSession(sessionId) {
637
779
  const session = sessions.get(sessionId);
638
780
  if (!session)
@@ -651,6 +793,9 @@ export async function closeSession(sessionId) {
651
793
  catch (err) {
652
794
  logger.error({ sessionId, err }, 'Failed to stop browser');
653
795
  }
796
+ if (session.proxy !== null) {
797
+ await session.proxy.close();
798
+ }
654
799
  logger.info({ sessionId }, 'Closed session');
655
800
  }
656
801
  export async function closeAllSessions() {
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"press-and-hold.d.ts","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,IAAI,CAAC;AAoH1E,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAelE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAkB1D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAc3F;AAyDD,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAYhG"}
1
+ {"version":3,"file":"press-and-hold.d.ts","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,IAAI,CAAC;AAoH1E,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAkB1D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAc3F;AAyDD,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAYhG"}
@@ -92,20 +92,26 @@ async function findButtonCoordinates(page) {
92
92
  return { x: parsed.best.x, y: parsed.best.y };
93
93
  }
94
94
  export async function getPageText(page) {
95
- return (await page.evaluate(`
96
- (function() {
97
- var text = document.body.innerText || '';
98
- var iframes = document.querySelectorAll('iframe');
99
- for (var i = 0; i < iframes.length; i++) {
100
- try {
101
- if (iframes[i].contentDocument && iframes[i].contentDocument.body) {
102
- text += ' ' + iframes[i].contentDocument.body.innerText;
103
- }
104
- } catch(e) {}
105
- }
106
- return text;
107
- })()
108
- `));
95
+ try {
96
+ return (await page.evaluate(`
97
+ (function() {
98
+ var text = (document.body && document.body.innerText) || '';
99
+ var iframes = document.querySelectorAll('iframe');
100
+ for (var i = 0; i < iframes.length; i++) {
101
+ try {
102
+ if (iframes[i].contentDocument && iframes[i].contentDocument.body) {
103
+ text += ' ' + iframes[i].contentDocument.body.innerText;
104
+ }
105
+ } catch(e) {}
106
+ }
107
+ return text;
108
+ })()
109
+ `));
110
+ }
111
+ catch (err) {
112
+ logger.warn({ err }, 'getPageText: evaluation failed — returning empty');
113
+ return '';
114
+ }
109
115
  }
110
116
  export async function isStillBlocked(page, type) {
111
117
  if (type === null)
@@ -1 +1 @@
1
- {"version":3,"file":"press-and-hold.js","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"press-and-hold.js","sourceRoot":"","sources":["../../src/skills/press-and-hold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function stampSSEPayload(event: string, data: unknown): Record<string, unknown>;
2
+ //# sourceMappingURL=sse-stamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-stamp.d.ts","sourceRoot":"","sources":["../src/sse-stamp.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKrF"}
@@ -0,0 +1,9 @@
1
+ import { API_VERSION } from './api-types.js';
2
+ // Spread payload first so the canonical `type` and `apiVersion` always win.
3
+ export function stampSSEPayload(event, data) {
4
+ if (data !== null && typeof data === 'object') {
5
+ return { ...data, apiVersion: API_VERSION, type: event };
6
+ }
7
+ return { value: data, apiVersion: API_VERSION, type: event };
8
+ }
9
+ //# sourceMappingURL=sse-stamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-stamp.js","sourceRoot":"","sources":["../src/sse-stamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,IAAa;IAC1D,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,GAAI,IAAgC,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxF,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC"}
@@ -2,6 +2,7 @@ import type { AgentStep } from './types.js';
2
2
  export declare const TRAJECTORY_STATUS: {
3
3
  readonly completed: "completed";
4
4
  readonly failed: "failed";
5
+ readonly canceledTimeout: "canceled-timeout";
5
6
  };
6
7
  export type TrajectoryStatus = (typeof TRAJECTORY_STATUS)[keyof typeof TRAJECTORY_STATUS];
7
8
  export interface TrajectoryRecord {
@@ -1 +1 @@
1
- {"version":3,"file":"trajectory-store.d.ts","sourceRoot":"","sources":["../src/trajectory-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AAYD,wBAAsB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWxF"}
1
+ {"version":3,"file":"trajectory-store.d.ts","sourceRoot":"","sources":["../src/trajectory-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AAYD,wBAAsB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWxF"}