autokap 1.0.6 → 1.0.8

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 (347) hide show
  1. package/assets/chrome/ios-statusbar-comparison-reference.jpg +0 -0
  2. package/assets/chrome/ios-statusbar-dark-reference.jpg +0 -0
  3. package/assets/chrome/ios-statusbar-light-reference.jpg +0 -0
  4. package/assets/cursors/macos.svg +4 -0
  5. package/assets/cursors/windows.svg +15 -0
  6. package/assets/devices/ipad-pro-11-m4.json +52 -0
  7. package/assets/devices/iphone-16-pro.json +53 -0
  8. package/assets/devices/macbook-air-13.json +45 -0
  9. package/assets/frames/MacBook Air 13.svg +242 -0
  10. package/assets/frames/Status bar - iPhone.png +0 -0
  11. Menu bar- iPad.png +0 -0
  12. package/assets/frames/iPad Pro M4 11_.png +0 -0
  13. package/assets/frames/iPhone 16 Pro.png +0 -0
  14. package/assets/icons/Cellular Connection.svg +3 -0
  15. package/assets/icons/Union.svg +6 -0
  16. package/assets/icons/Wifi.svg +3 -0
  17. package/assets/icons/battery.svg +5 -0
  18. package/assets/icons/battery_charging.svg +8 -0
  19. package/assets/skill/OPCODE-REFERENCE.md +607 -0
  20. package/assets/skill/README.md +39 -0
  21. package/assets/skill/SKILL.md +453 -468
  22. package/assets/skill/STUDIO-SKILL.md +476 -0
  23. package/assets/skill/references/examples.md +104 -0
  24. package/assets/skill/references/interactive-demo.md +225 -0
  25. package/assets/skill/references/mock-data.md +178 -0
  26. package/dist/abort.d.ts +5 -0
  27. package/dist/abort.js +44 -0
  28. package/dist/action-verifier.d.ts +29 -0
  29. package/dist/action-verifier.js +133 -0
  30. package/dist/agent-action-recovery.d.ts +45 -0
  31. package/dist/agent-action-recovery.js +370 -0
  32. package/dist/agent-message-utils.d.ts +21 -0
  33. package/dist/agent-message-utils.js +77 -0
  34. package/dist/agent-url-utils.d.ts +30 -0
  35. package/dist/agent-url-utils.js +138 -0
  36. package/dist/agent.d.ts +226 -0
  37. package/dist/agent.js +6666 -0
  38. package/dist/ak-tree.d.ts +39 -0
  39. package/dist/ak-tree.js +368 -0
  40. package/dist/alt-text.d.ts +26 -0
  41. package/dist/alt-text.js +55 -0
  42. package/dist/auth-capture.d.ts +17 -0
  43. package/dist/auth-capture.js +164 -0
  44. package/dist/benchmark.d.ts +59 -0
  45. package/dist/benchmark.js +135 -0
  46. package/dist/billing-operation-logging.d.ts +38 -0
  47. package/dist/billing-operation-logging.js +248 -0
  48. package/dist/browser-bar.d.ts +48 -0
  49. package/dist/browser-bar.js +284 -0
  50. package/dist/browser-pool.d.ts +7 -0
  51. package/dist/browser-pool.js +15 -5
  52. package/dist/browser-utils.d.ts +31 -0
  53. package/dist/browser-utils.js +97 -0
  54. package/dist/browser.d.ts +76 -1
  55. package/dist/browser.js +1657 -39
  56. package/dist/capture-alt-text.d.ts +12 -0
  57. package/dist/capture-alt-text.js +52 -0
  58. package/dist/capture-encryption.d.ts +10 -0
  59. package/dist/capture-encryption.js +41 -0
  60. package/dist/capture-language-preflight.d.ts +41 -0
  61. package/dist/capture-language-preflight.js +300 -0
  62. package/dist/capture-llm-page-identity.d.ts +15 -0
  63. package/dist/capture-llm-page-identity.js +128 -0
  64. package/dist/capture-model-resolution.d.ts +9 -0
  65. package/dist/capture-model-resolution.js +21 -0
  66. package/dist/capture-page-identity.d.ts +7 -0
  67. package/dist/capture-page-identity.js +352 -0
  68. package/dist/capture-preset-credentials.d.ts +62 -0
  69. package/dist/capture-preset-credentials.js +184 -0
  70. package/dist/capture-request-plan.d.ts +58 -0
  71. package/dist/capture-request-plan.js +264 -0
  72. package/dist/capture-run-optimizer.d.ts +139 -0
  73. package/dist/capture-run-optimizer.js +863 -0
  74. package/dist/capture-selector-memory.d.ts +31 -0
  75. package/dist/capture-selector-memory.js +345 -0
  76. package/dist/capture-session-profile-encryption.d.ts +2 -0
  77. package/dist/capture-session-profile-encryption.js +22 -0
  78. package/dist/capture-step-timeout.d.ts +10 -0
  79. package/dist/capture-step-timeout.js +30 -0
  80. package/dist/capture-strategy.d.ts +36 -0
  81. package/dist/capture-strategy.js +95 -0
  82. package/dist/capture-studio-sync.d.ts +23 -0
  83. package/dist/capture-studio-sync.js +172 -0
  84. package/dist/capture-surface-contract.d.ts +36 -0
  85. package/dist/capture-surface-contract.js +299 -0
  86. package/dist/capture-transition-engine.d.ts +28 -0
  87. package/dist/capture-transition-engine.js +292 -0
  88. package/dist/capture-variant-state.d.ts +56 -0
  89. package/dist/capture-variant-state.js +182 -0
  90. package/dist/capture-verification.d.ts +35 -0
  91. package/dist/capture-verification.js +95 -0
  92. package/dist/capture-viewport-lock.d.ts +48 -0
  93. package/dist/capture-viewport-lock.js +74 -0
  94. package/dist/circuit-breaker.d.ts +42 -0
  95. package/dist/circuit-breaker.js +119 -0
  96. package/dist/cli-config.d.ts +8 -1
  97. package/dist/cli-config.js +62 -6
  98. package/dist/cli-contract.d.ts +15 -0
  99. package/dist/cli-contract.js +167 -0
  100. package/dist/cli-runner-local.d.ts +12 -0
  101. package/dist/cli-runner-local.js +102 -0
  102. package/dist/cli-runner.d.ts +34 -0
  103. package/dist/cli-runner.js +433 -0
  104. package/dist/cli-utils.d.ts +0 -1
  105. package/dist/cli-utils.js +2 -5
  106. package/dist/cli.js +1005 -252
  107. package/dist/clip-orchestrator.d.ts +148 -0
  108. package/dist/clip-orchestrator.js +957 -0
  109. package/dist/clip-postprocess.d.ts +42 -0
  110. package/dist/clip-postprocess.js +201 -0
  111. package/dist/cookie-dismiss.d.ts +2 -0
  112. package/dist/cookie-dismiss.js +48 -13
  113. package/dist/cost-logging.d.ts +35 -0
  114. package/dist/cost-logging.js +242 -0
  115. package/dist/cost-resolution-monitor.d.ts +16 -0
  116. package/dist/cost-resolution-monitor.js +34 -0
  117. package/dist/credential-templates.d.ts +5 -0
  118. package/dist/credential-templates.js +60 -0
  119. package/dist/cursor-overlay-script.d.ts +6 -0
  120. package/dist/cursor-overlay-script.js +169 -0
  121. package/dist/dom-css-purger.d.ts +65 -0
  122. package/dist/dom-css-purger.js +333 -0
  123. package/dist/dom-font-inliner.d.ts +45 -0
  124. package/dist/dom-font-inliner.js +148 -0
  125. package/dist/dom-patch-resolver.d.ts +52 -0
  126. package/dist/dom-patch-resolver.js +242 -0
  127. package/dist/dom-serializer.d.ts +82 -0
  128. package/dist/dom-serializer.js +378 -0
  129. package/dist/element-capture.d.ts +13 -0
  130. package/dist/element-capture.js +522 -0
  131. package/dist/env-validation.d.ts +5 -0
  132. package/dist/env-validation.js +29 -0
  133. package/dist/execution-schema.d.ts +4423 -0
  134. package/dist/execution-schema.js +507 -0
  135. package/dist/execution-types.d.ts +886 -0
  136. package/dist/execution-types.js +65 -0
  137. package/dist/fonts-loader.d.ts +14 -0
  138. package/dist/fonts-loader.js +55 -0
  139. package/dist/hybrid-navigator.d.ts +138 -0
  140. package/dist/hybrid-navigator.js +468 -0
  141. package/dist/index.d.ts +18 -0
  142. package/dist/index.js +17 -0
  143. package/dist/legacy/agent-action-recovery.d.ts +45 -0
  144. package/dist/legacy/agent-action-recovery.js +370 -0
  145. package/dist/legacy/agent-message-utils.d.ts +21 -0
  146. package/dist/legacy/agent-message-utils.js +77 -0
  147. package/dist/legacy/agent-url-utils.d.ts +30 -0
  148. package/dist/legacy/agent-url-utils.js +138 -0
  149. package/dist/legacy/agent.d.ts +226 -0
  150. package/dist/legacy/agent.js +6666 -0
  151. package/dist/legacy/clip-orchestrator.d.ts +148 -0
  152. package/dist/legacy/clip-orchestrator.js +957 -0
  153. package/dist/legacy/credential-templates.d.ts +5 -0
  154. package/dist/legacy/credential-templates.js +60 -0
  155. package/dist/legacy/hybrid-navigator.d.ts +138 -0
  156. package/dist/legacy/hybrid-navigator.js +468 -0
  157. package/dist/legacy/llm-usage.d.ts +17 -0
  158. package/dist/legacy/llm-usage.js +45 -0
  159. package/dist/legacy/prompt-cache.d.ts +10 -0
  160. package/dist/legacy/prompt-cache.js +24 -0
  161. package/dist/legacy/prompts.d.ts +175 -0
  162. package/dist/legacy/prompts.js +1038 -0
  163. package/dist/legacy/tools.d.ts +4 -0
  164. package/dist/legacy/tools.js +216 -0
  165. package/dist/legacy/video-agent.d.ts +143 -0
  166. package/dist/legacy/video-agent.js +4788 -0
  167. package/dist/legacy/video-observation.d.ts +36 -0
  168. package/dist/legacy/video-observation.js +192 -0
  169. package/dist/legacy/video-planner.d.ts +12 -0
  170. package/dist/legacy/video-planner.js +501 -0
  171. package/dist/legacy/video-prompts.d.ts +37 -0
  172. package/dist/legacy/video-prompts.js +569 -0
  173. package/dist/legacy/video-tools.d.ts +3 -0
  174. package/dist/legacy/video-tools.js +59 -0
  175. package/dist/legacy/video-variant-state.d.ts +29 -0
  176. package/dist/legacy/video-variant-state.js +80 -0
  177. package/dist/legacy/vision-model.d.ts +17 -0
  178. package/dist/legacy/vision-model.js +74 -0
  179. package/dist/llm-healer.d.ts +63 -0
  180. package/dist/llm-healer.js +166 -0
  181. package/dist/llm-provider.d.ts +29 -0
  182. package/dist/llm-provider.js +80 -0
  183. package/dist/llm-usage.d.ts +17 -0
  184. package/dist/llm-usage.js +45 -0
  185. package/dist/logger.d.ts +6 -2
  186. package/dist/logger.js +15 -1
  187. package/dist/mockup-html.d.ts +119 -0
  188. package/dist/mockup-html.js +263 -0
  189. package/dist/mockup.d.ts +187 -0
  190. package/dist/mockup.js +869 -0
  191. package/dist/mouse-animation.d.ts +46 -0
  192. package/dist/mouse-animation.js +114 -0
  193. package/dist/opcode-actions.d.ts +42 -0
  194. package/dist/opcode-actions.js +511 -0
  195. package/dist/opcode-runner.d.ts +51 -0
  196. package/dist/opcode-runner.js +770 -0
  197. package/dist/openrouter-client.d.ts +40 -0
  198. package/dist/openrouter-client.js +16 -0
  199. package/dist/overlay-engine.d.ts +24 -0
  200. package/dist/overlay-engine.js +176 -0
  201. package/dist/overlay-utils.d.ts +14 -0
  202. package/dist/overlay-utils.js +13 -0
  203. package/dist/postcondition.d.ts +16 -0
  204. package/dist/postcondition.js +269 -0
  205. package/dist/posthog.d.ts +4 -0
  206. package/dist/posthog.js +26 -0
  207. package/dist/program-patcher.d.ts +25 -0
  208. package/dist/program-patcher.js +44 -0
  209. package/dist/prompt-cache.d.ts +10 -0
  210. package/dist/prompt-cache.js +24 -0
  211. package/dist/prompts.d.ts +175 -0
  212. package/dist/prompts.js +1038 -0
  213. package/dist/provider-config.d.ts +12 -0
  214. package/dist/provider-config.js +15 -0
  215. package/dist/recovery-chain.d.ts +37 -0
  216. package/dist/recovery-chain.js +350 -0
  217. package/dist/remote-browser.d.ts +215 -0
  218. package/dist/remote-browser.js +360 -0
  219. package/dist/safari-browser-bar.d.ts +15 -0
  220. package/dist/safari-browser-bar.js +95 -0
  221. package/dist/safari-toolbar-asset.d.ts +15 -0
  222. package/dist/safari-toolbar-asset.js +12 -0
  223. package/dist/security.d.ts +21 -0
  224. package/dist/security.js +608 -0
  225. package/dist/selector-resolver.d.ts +34 -0
  226. package/dist/selector-resolver.js +181 -0
  227. package/dist/semantic-resolver.d.ts +35 -0
  228. package/dist/semantic-resolver.js +161 -0
  229. package/dist/server-capture-runtime.d.ts +125 -0
  230. package/dist/server-capture-runtime.js +585 -0
  231. package/dist/server-credit-usage.d.ts +12 -0
  232. package/dist/server-credit-usage.js +41 -0
  233. package/dist/server-posthog.d.ts +2 -0
  234. package/dist/server-posthog.js +16 -0
  235. package/dist/server-project-webhooks.d.ts +59 -0
  236. package/dist/server-project-webhooks.js +123 -0
  237. package/dist/server-screenshot-watermark.d.ts +7 -0
  238. package/dist/server-screenshot-watermark.js +60 -0
  239. package/dist/session-profile.d.ts +86 -0
  240. package/dist/session-profile.js +1536 -0
  241. package/dist/sf-pro-fonts.d.ts +4 -0
  242. package/dist/sf-pro-fonts.js +7 -0
  243. package/dist/sf-pro-symbols.d.ts +1 -0
  244. package/dist/sf-pro-symbols.js +55 -0
  245. package/dist/skill-packaging.d.ts +28 -0
  246. package/dist/skill-packaging.js +169 -0
  247. package/dist/smart-wait.d.ts +27 -0
  248. package/dist/smart-wait.js +81 -0
  249. package/dist/status-bar-l10n.d.ts +14 -0
  250. package/dist/status-bar-l10n.js +177 -0
  251. package/dist/status-bar-render.d.ts +20 -0
  252. package/dist/status-bar-render.js +410 -0
  253. package/dist/status-bar.d.ts +53 -0
  254. package/dist/status-bar.js +620 -0
  255. package/dist/svg-browser-bar.d.ts +33 -0
  256. package/dist/svg-browser-bar.js +206 -0
  257. package/dist/svg-status-bar.d.ts +36 -0
  258. package/dist/svg-status-bar.js +597 -0
  259. package/dist/svg-text.d.ts +61 -0
  260. package/dist/svg-text.js +118 -0
  261. package/dist/tools.d.ts +4 -0
  262. package/dist/tools.js +216 -0
  263. package/dist/types.d.ts +240 -5
  264. package/dist/types.js +23 -1
  265. package/dist/v2/action-verifier.d.ts +29 -0
  266. package/dist/v2/action-verifier.js +133 -0
  267. package/dist/v2/alt-text.d.ts +26 -0
  268. package/dist/v2/alt-text.js +55 -0
  269. package/dist/v2/benchmark.d.ts +59 -0
  270. package/dist/v2/benchmark.js +135 -0
  271. package/dist/v2/capture-strategy.d.ts +30 -0
  272. package/dist/v2/capture-strategy.js +67 -0
  273. package/dist/v2/capture-verification.d.ts +35 -0
  274. package/dist/v2/capture-verification.js +95 -0
  275. package/dist/v2/circuit-breaker.d.ts +42 -0
  276. package/dist/v2/circuit-breaker.js +119 -0
  277. package/dist/v2/cli-runner-local.d.ts +11 -0
  278. package/dist/v2/cli-runner-local.js +91 -0
  279. package/dist/v2/cli-runner.d.ts +34 -0
  280. package/dist/v2/cli-runner.js +300 -0
  281. package/dist/v2/compiler-prompts.d.ts +27 -0
  282. package/dist/v2/compiler-prompts.js +123 -0
  283. package/dist/v2/compiler.d.ts +37 -0
  284. package/dist/v2/compiler.js +147 -0
  285. package/dist/v2/explorer.d.ts +41 -0
  286. package/dist/v2/explorer.js +56 -0
  287. package/dist/v2/index.d.ts +37 -0
  288. package/dist/v2/index.js +31 -0
  289. package/dist/v2/llm-healer.d.ts +62 -0
  290. package/dist/v2/llm-healer.js +166 -0
  291. package/dist/v2/llm-provider.d.ts +29 -0
  292. package/dist/v2/llm-provider.js +80 -0
  293. package/dist/v2/opcode-runner.d.ts +47 -0
  294. package/dist/v2/opcode-runner.js +634 -0
  295. package/dist/v2/overlay-engine.d.ts +24 -0
  296. package/dist/v2/overlay-engine.js +150 -0
  297. package/dist/v2/postcondition.d.ts +16 -0
  298. package/dist/v2/postcondition.js +249 -0
  299. package/dist/v2/program-patcher.d.ts +25 -0
  300. package/dist/v2/program-patcher.js +44 -0
  301. package/dist/v2/recovery-chain.d.ts +30 -0
  302. package/dist/v2/recovery-chain.js +368 -0
  303. package/dist/v2/schema.d.ts +2580 -0
  304. package/dist/v2/schema.js +295 -0
  305. package/dist/v2/selector-resolver.d.ts +34 -0
  306. package/dist/v2/selector-resolver.js +181 -0
  307. package/dist/v2/semantic-resolver.d.ts +35 -0
  308. package/dist/v2/semantic-resolver.js +161 -0
  309. package/dist/v2/smart-wait.d.ts +27 -0
  310. package/dist/v2/smart-wait.js +81 -0
  311. package/dist/v2/types.d.ts +444 -0
  312. package/dist/v2/types.js +19 -0
  313. package/dist/v2/web-playwright-local.d.ts +69 -0
  314. package/dist/v2/web-playwright-local.js +392 -0
  315. package/dist/version.d.ts +1 -0
  316. package/dist/version.js +5 -0
  317. package/dist/video-agent.d.ts +143 -0
  318. package/dist/video-agent.js +4788 -0
  319. package/dist/video-observation.d.ts +36 -0
  320. package/dist/video-observation.js +192 -0
  321. package/dist/video-planner.d.ts +12 -0
  322. package/dist/video-planner.js +501 -0
  323. package/dist/video-prompts.d.ts +37 -0
  324. package/dist/video-prompts.js +554 -0
  325. package/dist/video-tools.d.ts +3 -0
  326. package/dist/video-tools.js +59 -0
  327. package/dist/video-variant-state.d.ts +29 -0
  328. package/dist/video-variant-state.js +80 -0
  329. package/dist/vision-model.d.ts +17 -0
  330. package/dist/vision-model.js +74 -0
  331. package/dist/web-playwright-local.d.ts +126 -0
  332. package/dist/web-playwright-local.js +819 -0
  333. package/dist/ws-auth.d.ts +20 -0
  334. package/dist/ws-auth.js +70 -0
  335. package/dist/ws-broadcast.d.ts +34 -0
  336. package/dist/ws-broadcast.js +85 -0
  337. package/dist/ws-connection-limits.d.ts +12 -0
  338. package/dist/ws-connection-limits.js +44 -0
  339. package/dist/ws-handler-utils.d.ts +32 -0
  340. package/dist/ws-handler-utils.js +139 -0
  341. package/dist/ws-handler.d.ts +10 -0
  342. package/dist/ws-handler.js +1793 -0
  343. package/dist/ws-metrics-server.d.ts +9 -0
  344. package/dist/ws-metrics-server.js +31 -0
  345. package/dist/ws-server.d.ts +9 -0
  346. package/dist/ws-server.js +92 -0
  347. package/package.json +142 -71
@@ -0,0 +1,226 @@
1
+ import { Browser } from './browser.js';
2
+ import type { BrowserObservation, BrowserVerificationBundle } from './browser.js';
3
+ import type { AgentConfig, AgentResult, ActionExpectedEffect, ExecutedAction, ActionType, InteractiveElement, OverlayScopeSummary, PageState, VariantCaptureManifest, VerificationResult } from './types.js';
4
+ export declare function buildPromptFingerprint(params: {
5
+ prompt: string;
6
+ url: string;
7
+ pageIdentitySummary?: string | null;
8
+ }): string;
9
+ export declare function inferVariantIdentityFailure(params: {
10
+ pageId?: string | null;
11
+ prompt: string;
12
+ currentUrl: string;
13
+ visibleText: string;
14
+ dialogCount: number;
15
+ pageIdentity?: VariantCaptureManifest["currentPageIdentity"];
16
+ }): string | null;
17
+ /** Build the reasoning body fragment for OpenRouter requests. */
18
+ export declare function resolveProviderReasoningEffort(effort?: AgentConfig['reasoningEffort']): 'xhigh' | 'high' | 'medium' | 'low' | 'none' | null;
19
+ type ProviderBudgetError = {
20
+ status?: number;
21
+ message?: string;
22
+ };
23
+ export declare function extractAffordableMaxTokens(message: string): number | null;
24
+ export declare function isInsufficientCreditsError(error: ProviderBudgetError | null | undefined): boolean;
25
+ export declare function deriveRetryMaxTokensFromBudgetError(error: ProviderBudgetError | null | undefined, requestedMaxTokens: number): number | null;
26
+ export declare function inferDeterministicReadyDecision(params: {
27
+ observation: BrowserObservation;
28
+ assessment: string;
29
+ targetUrl: string;
30
+ skipDialogCheck?: boolean;
31
+ allowSuccess?: boolean;
32
+ }): {
33
+ verified: boolean;
34
+ reason?: string;
35
+ } | null;
36
+ export declare function inferManifestReadyDecision(params: {
37
+ observation: BrowserObservation;
38
+ assessment: string;
39
+ config: AgentConfig;
40
+ bundle: BrowserVerificationBundle;
41
+ }): {
42
+ verified: boolean;
43
+ reason?: string;
44
+ } | null;
45
+ /**
46
+ * Page-signal deterministic verification: accepts when ALL of the following hold:
47
+ * 1. Assessment text parses as positive (caller already believes ready)
48
+ * 2. inferVariantIdentityFailure finds no identity mismatch
49
+ * 3. No loading indicators, readyState === 'complete'
50
+ * 4. No hard variant (lang/theme) mismatch
51
+ * 5. No unexpected dialog blocking the page (unless dialog is the target)
52
+ *
53
+ * Returns { verified: true } when confident, null when inconclusive (→ LLM).
54
+ * NEVER returns { verified: false } — absence of evidence is not evidence of absence.
55
+ */
56
+ export declare function inferPageSignalReadyDecision(params: {
57
+ observation: BrowserObservation;
58
+ assessment: string;
59
+ config: AgentConfig;
60
+ bundle: BrowserVerificationBundle;
61
+ identityFailure: string | null;
62
+ }): {
63
+ verified: boolean;
64
+ } | null;
65
+ /**
66
+ * Fast-path optimization: extract a PASS/FAIL verdict from LLM text output
67
+ * using keyword matching, avoiding a separate LLM call when the signal is clear.
68
+ *
69
+ * Returns null when uncertain — the caller MUST fall back to an LLM vision call.
70
+ * Do not add more patterns here; expand LLM fallback coverage instead.
71
+ */
72
+ export declare function parseVerificationDecisionText(content: string): {
73
+ verified: boolean;
74
+ reason?: string;
75
+ } | null;
76
+ export declare function inferActionFromAssistantText(content: string, options?: {
77
+ allowHeuristicWait?: boolean;
78
+ }): {
79
+ name: ActionType;
80
+ args: Record<string, unknown>;
81
+ } | null;
82
+ export declare function executeAction(browser: Browser, action: ActionType, args: Record<string, unknown>, options?: {
83
+ beforeObservation?: BrowserObservation | null;
84
+ fast?: boolean;
85
+ }): Promise<{
86
+ success: boolean;
87
+ error?: string;
88
+ outcome?: string;
89
+ stateChanged?: boolean;
90
+ expectedEffect?: ActionExpectedEffect;
91
+ observedEffects?: string[];
92
+ effectConfirmed?: boolean;
93
+ noEffectReason?: string | null;
94
+ afterObservation?: BrowserObservation | null;
95
+ }>;
96
+ export declare function verifyCaptureReadiness(browser: Browser, config: AgentConfig, apiKey: string, options?: {
97
+ assessment?: string;
98
+ stepNumber?: number;
99
+ }): Promise<VerificationResult>;
100
+ export declare function buildFreshNodeCaptureVerification(params: {
101
+ browser: Browser;
102
+ config: AgentConfig;
103
+ nodeId: string;
104
+ }): Promise<VerificationResult | undefined>;
105
+ export declare function urlsStrictlyMatch(expectedUrl: string | undefined, currentUrl: string | undefined): boolean;
106
+ export declare function getLivePreviewScreenshot(pageState: Pick<PageState, 'cleanScreenshot' | 'screenshot'>): Buffer;
107
+ export declare function analyzeReplayCandidate(recordedActions: ExecutedAction[], params?: {
108
+ currentUrl?: string;
109
+ targetUrl?: string;
110
+ currentViewport?: {
111
+ width: number;
112
+ height: number;
113
+ } | null;
114
+ isAuthenticated?: boolean;
115
+ currentDialogCount?: number | null;
116
+ pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null;
117
+ ignoreRecordedViewport?: boolean;
118
+ }): {
119
+ replayableActions: ExecutedAction[];
120
+ skipReason: string | null;
121
+ trimmedActionCount: number;
122
+ };
123
+ export declare function findReplayResumeIndex(replayableActions: ExecutedAction[], currentUrl: string | undefined, startIndex?: number, observation?: BrowserObservation | null, pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null): number | null;
124
+ export declare function sanitizeSemanticContextHint(value: string | null | undefined): string | null;
125
+ export declare function deriveOverlayScope(params: {
126
+ pageState: Pick<PageState, 'akTree'>;
127
+ pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null;
128
+ prompt?: string;
129
+ currentSubgoal?: string | null;
130
+ }): OverlayScopeSummary | null;
131
+ export declare function guardTapTargetSelection(params: {
132
+ pageState: Pick<PageState, 'akTree'>;
133
+ action: ActionType;
134
+ args: Record<string, unknown>;
135
+ pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null;
136
+ currentSubgoal?: string | null;
137
+ overlayScope?: OverlayScopeSummary | null;
138
+ }): {
139
+ blocked: boolean;
140
+ reason?: string;
141
+ betterCandidate?: {
142
+ nodeId: string;
143
+ label: string;
144
+ };
145
+ };
146
+ export declare function shouldBlockFocusTool(params: {
147
+ pageState: Pick<PageState, 'akTree'>;
148
+ pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null;
149
+ currentSubgoal?: string | null;
150
+ overlayScope?: OverlayScopeSummary | null;
151
+ }): string | null;
152
+ export declare function shouldBlockAnalyzeTool(params: {
153
+ overlayScope?: OverlayScopeSummary | null;
154
+ overlayChangedRecently: boolean;
155
+ fingerprint: string;
156
+ lastAnalyzeFingerprint?: string | null;
157
+ lastAnalyzeIteration?: number;
158
+ iteration: number;
159
+ lastExecutionFailed: boolean;
160
+ }): string | null;
161
+ export declare function buildCompactAKTreeSummary(params: {
162
+ pageState: Pick<PageState, 'akTree'>;
163
+ pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null;
164
+ currentSubgoal?: string | null;
165
+ overlayScope?: OverlayScopeSummary | null;
166
+ lastVerificationFailure?: string;
167
+ }): string;
168
+ export declare function matchRecordedActionToElement(action: Pick<ExecutedAction, 'params'>, interactiveElements: InteractiveElement[]): InteractiveElement | null;
169
+ export declare function resolveReplayActionArgs(action: ExecutedAction, interactiveElements: InteractiveElement[]): {
170
+ args: Record<string, unknown> | null;
171
+ reason: string | null;
172
+ };
173
+ export declare function compactReplayActions(recordedActions: ExecutedAction[], params?: {
174
+ currentUrl?: string;
175
+ targetUrl?: string;
176
+ currentViewport?: {
177
+ width: number;
178
+ height: number;
179
+ } | null;
180
+ /** When true, filter out login/auth actions (session already active). */
181
+ isAuthenticated?: boolean;
182
+ /** When true, drop recorded resize actions and let the orchestrator own the viewport. */
183
+ ignoreRecordedViewport?: boolean;
184
+ }): ExecutedAction[];
185
+ export declare function countRecentNoEffectActions(actionHistory: ExecutedAction[]): number;
186
+ export declare function shouldTriggerRecovery(actionHistory: ExecutedAction[]): boolean;
187
+ export declare function inferPrematureGiveUpCorrection(params: {
188
+ reason: string;
189
+ actionHistory: ExecutedAction[];
190
+ lastVerificationFailure?: string;
191
+ iteration: number;
192
+ maxIterations: number;
193
+ }): string | null;
194
+ export declare function inferSearchScrollLoopGuard(params: {
195
+ actionHistory: ExecutedAction[];
196
+ action: ActionType;
197
+ args: Record<string, unknown>;
198
+ }): string | null;
199
+ export declare function inferRepeatedActionGuard(params: {
200
+ actionHistory: ExecutedAction[];
201
+ action: ActionType;
202
+ args: Record<string, unknown>;
203
+ currentUrl?: string;
204
+ }): string | null;
205
+ export interface WorkflowCacheEntry {
206
+ subgoalName: string;
207
+ actionSummary: string;
208
+ selectors: string[];
209
+ }
210
+ export declare function findReusableWorkflow(workflowCache: WorkflowCacheEntry[], subgoalName: string): WorkflowCacheEntry | null;
211
+ /**
212
+ * Replace base64 image content in older conversation messages with a text placeholder.
213
+ * Keeps only the most recent `keepRecentImages` user messages that contain screenshots.
214
+ * This dramatically reduces token cost on long agent runs (40-60% savings).
215
+ */
216
+ export { trimConversationHistory } from './agent-message-utils.js';
217
+ export declare function runAgent(browser: Browser, config: AgentConfig, apiKey: string): Promise<AgentResult>;
218
+ /**
219
+ * Replay a previous successful capture's recorded actions instead of running the full AI agent.
220
+ * Falls back to a full runAgent if replay fails or verification doesn't pass.
221
+ * Much cheaper than a full agent run: only 1 verification call vs. N agent iterations.
222
+ */
223
+ export declare function replayAgent(browser: Browser, config: AgentConfig, apiKey: string, recordedActions: ExecutedAction[], options?: {
224
+ allowFullAgentFallback?: boolean;
225
+ ignoreRecordedViewport?: boolean;
226
+ }): Promise<AgentResult>;