autokap 1.0.7 → 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 (278) hide show
  1. package/assets/cursors/macos.svg +4 -0
  2. package/assets/cursors/windows.svg +15 -0
  3. package/assets/skill/OPCODE-REFERENCE.md +607 -0
  4. package/assets/skill/README.md +39 -0
  5. package/assets/skill/SKILL.md +453 -468
  6. package/assets/skill/STUDIO-SKILL.md +476 -0
  7. package/assets/skill/references/examples.md +104 -0
  8. package/assets/skill/references/interactive-demo.md +225 -0
  9. package/assets/skill/references/mock-data.md +178 -0
  10. package/dist/action-verifier.d.ts +29 -0
  11. package/dist/action-verifier.js +133 -0
  12. package/dist/agent-action-recovery.d.ts +45 -0
  13. package/dist/agent-action-recovery.js +370 -0
  14. package/dist/agent-message-utils.d.ts +21 -0
  15. package/dist/agent-message-utils.js +77 -0
  16. package/dist/agent-url-utils.d.ts +30 -0
  17. package/dist/agent-url-utils.js +138 -0
  18. package/dist/agent.d.ts +92 -8
  19. package/dist/agent.js +2936 -781
  20. package/dist/ak-tree.d.ts +39 -0
  21. package/dist/ak-tree.js +368 -0
  22. package/dist/alt-text.d.ts +26 -0
  23. package/dist/alt-text.js +55 -0
  24. package/dist/auth-capture.d.ts +17 -0
  25. package/dist/auth-capture.js +164 -0
  26. package/dist/benchmark.d.ts +59 -0
  27. package/dist/benchmark.js +135 -0
  28. package/dist/browser-bar.d.ts +14 -6
  29. package/dist/browser-bar.js +145 -8
  30. package/dist/browser-pool.d.ts +7 -0
  31. package/dist/browser-pool.js +15 -5
  32. package/dist/browser-utils.d.ts +31 -0
  33. package/dist/browser-utils.js +97 -0
  34. package/dist/browser.d.ts +51 -1
  35. package/dist/browser.js +1481 -31
  36. package/dist/capture-alt-text.js +2 -1
  37. package/dist/capture-language-preflight.js +14 -0
  38. package/dist/capture-llm-page-identity.js +22 -10
  39. package/dist/capture-page-identity.d.ts +5 -7
  40. package/dist/capture-page-identity.js +211 -78
  41. package/dist/capture-preset-credentials.d.ts +50 -0
  42. package/dist/capture-preset-credentials.js +127 -0
  43. package/dist/capture-request-plan.d.ts +2 -2
  44. package/dist/capture-request-plan.js +64 -16
  45. package/dist/capture-run-optimizer.js +48 -33
  46. package/dist/capture-selector-memory.d.ts +5 -0
  47. package/dist/capture-selector-memory.js +18 -0
  48. package/dist/capture-strategy.d.ts +36 -0
  49. package/dist/capture-strategy.js +95 -0
  50. package/dist/capture-studio-sync.d.ts +1 -0
  51. package/dist/capture-studio-sync.js +9 -3
  52. package/dist/capture-surface-contract.d.ts +36 -0
  53. package/dist/capture-surface-contract.js +299 -0
  54. package/dist/capture-transition-engine.d.ts +28 -0
  55. package/dist/capture-transition-engine.js +292 -0
  56. package/dist/capture-variant-state.d.ts +2 -0
  57. package/dist/capture-variant-state.js +26 -0
  58. package/dist/capture-verification.d.ts +35 -0
  59. package/dist/capture-verification.js +95 -0
  60. package/dist/capture-viewport-lock.d.ts +48 -0
  61. package/dist/capture-viewport-lock.js +74 -0
  62. package/dist/circuit-breaker.d.ts +42 -0
  63. package/dist/circuit-breaker.js +119 -0
  64. package/dist/cli-config.d.ts +8 -1
  65. package/dist/cli-config.js +62 -6
  66. package/dist/cli-contract.d.ts +15 -0
  67. package/dist/cli-contract.js +167 -0
  68. package/dist/cli-runner-local.d.ts +12 -0
  69. package/dist/cli-runner-local.js +102 -0
  70. package/dist/cli-runner.d.ts +34 -0
  71. package/dist/cli-runner.js +433 -0
  72. package/dist/cli-utils.d.ts +0 -1
  73. package/dist/cli-utils.js +2 -5
  74. package/dist/cli.js +1005 -267
  75. package/dist/clip-orchestrator.js +9 -2
  76. package/dist/clip-postprocess.js +25 -16
  77. package/dist/cookie-dismiss.d.ts +2 -0
  78. package/dist/cookie-dismiss.js +48 -13
  79. package/dist/cost-logging.d.ts +8 -0
  80. package/dist/cost-logging.js +160 -46
  81. package/dist/cost-resolution-monitor.d.ts +16 -0
  82. package/dist/cost-resolution-monitor.js +34 -0
  83. package/dist/credential-templates.js +2 -2
  84. package/dist/cursor-overlay-script.d.ts +6 -0
  85. package/dist/cursor-overlay-script.js +169 -0
  86. package/dist/dom-css-purger.d.ts +65 -0
  87. package/dist/dom-css-purger.js +333 -0
  88. package/dist/dom-font-inliner.d.ts +45 -0
  89. package/dist/dom-font-inliner.js +148 -0
  90. package/dist/dom-patch-resolver.d.ts +52 -0
  91. package/dist/dom-patch-resolver.js +242 -0
  92. package/dist/dom-serializer.d.ts +82 -0
  93. package/dist/dom-serializer.js +378 -0
  94. package/dist/element-capture.d.ts +1 -41
  95. package/dist/element-capture.js +202 -446
  96. package/dist/env-validation.d.ts +5 -0
  97. package/dist/env-validation.js +29 -0
  98. package/dist/execution-schema.d.ts +4423 -0
  99. package/dist/execution-schema.js +507 -0
  100. package/dist/execution-types.d.ts +886 -0
  101. package/dist/execution-types.js +65 -0
  102. package/dist/fonts-loader.d.ts +14 -0
  103. package/dist/fonts-loader.js +55 -0
  104. package/dist/hybrid-navigator.js +12 -12
  105. package/dist/index.d.ts +9 -6
  106. package/dist/index.js +10 -4
  107. package/dist/legacy/agent-action-recovery.d.ts +45 -0
  108. package/dist/legacy/agent-action-recovery.js +370 -0
  109. package/dist/legacy/agent-message-utils.d.ts +21 -0
  110. package/dist/legacy/agent-message-utils.js +77 -0
  111. package/dist/legacy/agent-url-utils.d.ts +30 -0
  112. package/dist/legacy/agent-url-utils.js +138 -0
  113. package/dist/legacy/agent.d.ts +226 -0
  114. package/dist/legacy/agent.js +6666 -0
  115. package/dist/legacy/clip-orchestrator.d.ts +148 -0
  116. package/dist/legacy/clip-orchestrator.js +957 -0
  117. package/dist/legacy/credential-templates.d.ts +5 -0
  118. package/dist/legacy/credential-templates.js +60 -0
  119. package/dist/legacy/hybrid-navigator.d.ts +138 -0
  120. package/dist/legacy/hybrid-navigator.js +468 -0
  121. package/dist/legacy/llm-usage.d.ts +17 -0
  122. package/dist/legacy/llm-usage.js +45 -0
  123. package/dist/legacy/prompt-cache.d.ts +10 -0
  124. package/dist/legacy/prompt-cache.js +24 -0
  125. package/dist/legacy/prompts.d.ts +175 -0
  126. package/dist/legacy/prompts.js +1038 -0
  127. package/dist/legacy/tools.d.ts +4 -0
  128. package/dist/legacy/tools.js +216 -0
  129. package/dist/legacy/video-agent.d.ts +143 -0
  130. package/dist/legacy/video-agent.js +4788 -0
  131. package/dist/legacy/video-observation.d.ts +36 -0
  132. package/dist/legacy/video-observation.js +192 -0
  133. package/dist/legacy/video-planner.d.ts +12 -0
  134. package/dist/legacy/video-planner.js +501 -0
  135. package/dist/legacy/video-prompts.d.ts +37 -0
  136. package/dist/legacy/video-prompts.js +569 -0
  137. package/dist/legacy/video-tools.d.ts +3 -0
  138. package/dist/legacy/video-tools.js +59 -0
  139. package/dist/legacy/video-variant-state.d.ts +29 -0
  140. package/dist/legacy/video-variant-state.js +80 -0
  141. package/dist/legacy/vision-model.d.ts +17 -0
  142. package/dist/legacy/vision-model.js +74 -0
  143. package/dist/llm-healer.d.ts +63 -0
  144. package/dist/llm-healer.js +166 -0
  145. package/dist/llm-provider.d.ts +29 -0
  146. package/dist/llm-provider.js +80 -0
  147. package/dist/logger.d.ts +6 -2
  148. package/dist/logger.js +15 -1
  149. package/dist/mockup-html.js +35 -25
  150. package/dist/mockup.d.ts +95 -2
  151. package/dist/mockup.js +427 -166
  152. package/dist/mouse-animation.d.ts +2 -2
  153. package/dist/mouse-animation.js +34 -20
  154. package/dist/opcode-actions.d.ts +42 -0
  155. package/dist/opcode-actions.js +511 -0
  156. package/dist/opcode-runner.d.ts +51 -0
  157. package/dist/opcode-runner.js +770 -0
  158. package/dist/openrouter-client.d.ts +40 -0
  159. package/dist/openrouter-client.js +16 -0
  160. package/dist/overlay-engine.d.ts +24 -0
  161. package/dist/overlay-engine.js +176 -0
  162. package/dist/postcondition.d.ts +16 -0
  163. package/dist/postcondition.js +269 -0
  164. package/dist/program-patcher.d.ts +25 -0
  165. package/dist/program-patcher.js +44 -0
  166. package/dist/prompts.d.ts +13 -5
  167. package/dist/prompts.js +224 -351
  168. package/dist/provider-config.d.ts +12 -0
  169. package/dist/provider-config.js +15 -0
  170. package/dist/recovery-chain.d.ts +37 -0
  171. package/dist/recovery-chain.js +350 -0
  172. package/dist/remote-browser.d.ts +28 -4
  173. package/dist/remote-browser.js +60 -5
  174. package/dist/safari-browser-bar.d.ts +15 -0
  175. package/dist/safari-browser-bar.js +95 -0
  176. package/dist/safari-toolbar-asset.d.ts +15 -0
  177. package/dist/safari-toolbar-asset.js +12 -0
  178. package/dist/security.d.ts +2 -1
  179. package/dist/security.js +49 -10
  180. package/dist/selector-resolver.d.ts +34 -0
  181. package/dist/selector-resolver.js +181 -0
  182. package/dist/semantic-resolver.d.ts +35 -0
  183. package/dist/semantic-resolver.js +161 -0
  184. package/dist/server-capture-runtime.d.ts +5 -3
  185. package/dist/server-capture-runtime.js +42 -95
  186. package/dist/server-credit-usage.d.ts +2 -2
  187. package/dist/server-project-webhooks.d.ts +15 -1
  188. package/dist/server-project-webhooks.js +34 -8
  189. package/dist/server-screenshot-watermark.js +27 -5
  190. package/dist/session-profile.js +164 -1
  191. package/dist/sf-pro-symbols.d.ts +1 -0
  192. package/dist/sf-pro-symbols.js +55 -0
  193. package/dist/skill-packaging.d.ts +28 -0
  194. package/dist/skill-packaging.js +169 -0
  195. package/dist/smart-wait.d.ts +27 -0
  196. package/dist/smart-wait.js +81 -0
  197. package/dist/status-bar-render.d.ts +20 -0
  198. package/dist/status-bar-render.js +410 -0
  199. package/dist/status-bar.d.ts +9 -0
  200. package/dist/status-bar.js +298 -14
  201. package/dist/svg-browser-bar.d.ts +33 -0
  202. package/dist/svg-browser-bar.js +206 -0
  203. package/dist/svg-status-bar.d.ts +36 -0
  204. package/dist/svg-status-bar.js +597 -0
  205. package/dist/svg-text.d.ts +61 -0
  206. package/dist/svg-text.js +118 -0
  207. package/dist/tools.js +89 -451
  208. package/dist/types.d.ts +240 -5
  209. package/dist/types.js +23 -1
  210. package/dist/v2/action-verifier.d.ts +29 -0
  211. package/dist/v2/action-verifier.js +133 -0
  212. package/dist/v2/alt-text.d.ts +26 -0
  213. package/dist/v2/alt-text.js +55 -0
  214. package/dist/v2/benchmark.d.ts +59 -0
  215. package/dist/v2/benchmark.js +135 -0
  216. package/dist/v2/capture-strategy.d.ts +30 -0
  217. package/dist/v2/capture-strategy.js +67 -0
  218. package/dist/v2/capture-verification.d.ts +35 -0
  219. package/dist/v2/capture-verification.js +95 -0
  220. package/dist/v2/circuit-breaker.d.ts +42 -0
  221. package/dist/v2/circuit-breaker.js +119 -0
  222. package/dist/v2/cli-runner-local.d.ts +11 -0
  223. package/dist/v2/cli-runner-local.js +91 -0
  224. package/dist/v2/cli-runner.d.ts +34 -0
  225. package/dist/v2/cli-runner.js +300 -0
  226. package/dist/v2/compiler-prompts.d.ts +27 -0
  227. package/dist/v2/compiler-prompts.js +123 -0
  228. package/dist/v2/compiler.d.ts +37 -0
  229. package/dist/v2/compiler.js +147 -0
  230. package/dist/v2/explorer.d.ts +41 -0
  231. package/dist/v2/explorer.js +56 -0
  232. package/dist/v2/index.d.ts +37 -0
  233. package/dist/v2/index.js +31 -0
  234. package/dist/v2/llm-healer.d.ts +62 -0
  235. package/dist/v2/llm-healer.js +166 -0
  236. package/dist/v2/llm-provider.d.ts +29 -0
  237. package/dist/v2/llm-provider.js +80 -0
  238. package/dist/v2/opcode-runner.d.ts +47 -0
  239. package/dist/v2/opcode-runner.js +634 -0
  240. package/dist/v2/overlay-engine.d.ts +24 -0
  241. package/dist/v2/overlay-engine.js +150 -0
  242. package/dist/v2/postcondition.d.ts +16 -0
  243. package/dist/v2/postcondition.js +249 -0
  244. package/dist/v2/program-patcher.d.ts +25 -0
  245. package/dist/v2/program-patcher.js +44 -0
  246. package/dist/v2/recovery-chain.d.ts +30 -0
  247. package/dist/v2/recovery-chain.js +368 -0
  248. package/dist/v2/schema.d.ts +2580 -0
  249. package/dist/v2/schema.js +295 -0
  250. package/dist/v2/selector-resolver.d.ts +34 -0
  251. package/dist/v2/selector-resolver.js +181 -0
  252. package/dist/v2/semantic-resolver.d.ts +35 -0
  253. package/dist/v2/semantic-resolver.js +161 -0
  254. package/dist/v2/smart-wait.d.ts +27 -0
  255. package/dist/v2/smart-wait.js +81 -0
  256. package/dist/v2/types.d.ts +444 -0
  257. package/dist/v2/types.js +19 -0
  258. package/dist/v2/web-playwright-local.d.ts +69 -0
  259. package/dist/v2/web-playwright-local.js +392 -0
  260. package/dist/version.d.ts +1 -0
  261. package/dist/version.js +5 -0
  262. package/dist/video-agent.js +18 -13
  263. package/dist/video-planner.js +2 -1
  264. package/dist/video-prompts.js +3 -3
  265. package/dist/web-playwright-local.d.ts +126 -0
  266. package/dist/web-playwright-local.js +819 -0
  267. package/dist/ws-auth.js +4 -1
  268. package/dist/ws-broadcast.d.ts +34 -0
  269. package/dist/ws-broadcast.js +85 -0
  270. package/dist/ws-connection-limits.d.ts +12 -0
  271. package/dist/ws-connection-limits.js +44 -0
  272. package/dist/ws-handler-utils.d.ts +32 -0
  273. package/dist/ws-handler-utils.js +139 -0
  274. package/dist/ws-handler.js +294 -164
  275. package/dist/ws-metrics-server.d.ts +9 -0
  276. package/dist/ws-metrics-server.js +31 -0
  277. package/dist/ws-server.js +41 -1
  278. package/package.json +51 -34
package/dist/agent.d.ts CHANGED
@@ -1,7 +1,11 @@
1
- import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';
2
1
  import { Browser } from './browser.js';
3
2
  import type { BrowserObservation, BrowserVerificationBundle } from './browser.js';
4
- import type { AgentConfig, AgentResult, ExecutedAction, ActionType, InteractiveElement, PageState, VariantCaptureManifest, VerificationResult } from './types.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;
5
9
  export declare function inferVariantIdentityFailure(params: {
6
10
  pageId?: string | null;
7
11
  prompt: string;
@@ -10,6 +14,15 @@ export declare function inferVariantIdentityFailure(params: {
10
14
  dialogCount: number;
11
15
  pageIdentity?: VariantCaptureManifest["currentPageIdentity"];
12
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;
13
26
  export declare function inferDeterministicReadyDecision(params: {
14
27
  observation: BrowserObservation;
15
28
  assessment: string;
@@ -60,20 +73,36 @@ export declare function parseVerificationDecisionText(content: string): {
60
73
  verified: boolean;
61
74
  reason?: string;
62
75
  } | null;
63
- export declare function inferActionFromAssistantText(content: string): {
76
+ export declare function inferActionFromAssistantText(content: string, options?: {
77
+ allowHeuristicWait?: boolean;
78
+ }): {
64
79
  name: ActionType;
65
80
  args: Record<string, unknown>;
66
81
  } | null;
67
- export declare function executeAction(browser: Browser, action: ActionType, args: Record<string, unknown>): Promise<{
82
+ export declare function executeAction(browser: Browser, action: ActionType, args: Record<string, unknown>, options?: {
83
+ beforeObservation?: BrowserObservation | null;
84
+ fast?: boolean;
85
+ }): Promise<{
68
86
  success: boolean;
69
87
  error?: string;
70
88
  outcome?: string;
71
89
  stateChanged?: boolean;
90
+ expectedEffect?: ActionExpectedEffect;
91
+ observedEffects?: string[];
92
+ effectConfirmed?: boolean;
93
+ noEffectReason?: string | null;
94
+ afterObservation?: BrowserObservation | null;
72
95
  }>;
73
96
  export declare function verifyCaptureReadiness(browser: Browser, config: AgentConfig, apiKey: string, options?: {
74
97
  assessment?: string;
75
98
  stepNumber?: number;
76
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;
77
106
  export declare function getLivePreviewScreenshot(pageState: Pick<PageState, 'cleanScreenshot' | 'screenshot'>): Buffer;
78
107
  export declare function analyzeReplayCandidate(recordedActions: ExecutedAction[], params?: {
79
108
  currentUrl?: string;
@@ -85,10 +114,57 @@ export declare function analyzeReplayCandidate(recordedActions: ExecutedAction[]
85
114
  isAuthenticated?: boolean;
86
115
  currentDialogCount?: number | null;
87
116
  pageIdentity?: VariantCaptureManifest['currentPageIdentity'] | null;
117
+ ignoreRecordedViewport?: boolean;
88
118
  }): {
89
119
  replayableActions: ExecutedAction[];
90
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
+ };
91
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;
92
168
  export declare function matchRecordedActionToElement(action: Pick<ExecutedAction, 'params'>, interactiveElements: InteractiveElement[]): InteractiveElement | null;
93
169
  export declare function resolveReplayActionArgs(action: ExecutedAction, interactiveElements: InteractiveElement[]): {
94
170
  args: Record<string, unknown> | null;
@@ -103,6 +179,8 @@ export declare function compactReplayActions(recordedActions: ExecutedAction[],
103
179
  } | null;
104
180
  /** When true, filter out login/auth actions (session already active). */
105
181
  isAuthenticated?: boolean;
182
+ /** When true, drop recorded resize actions and let the orchestrator own the viewport. */
183
+ ignoreRecordedViewport?: boolean;
106
184
  }): ExecutedAction[];
107
185
  export declare function countRecentNoEffectActions(actionHistory: ExecutedAction[]): number;
108
186
  export declare function shouldTriggerRecovery(actionHistory: ExecutedAction[]): boolean;
@@ -113,6 +191,11 @@ export declare function inferPrematureGiveUpCorrection(params: {
113
191
  iteration: number;
114
192
  maxIterations: number;
115
193
  }): string | null;
194
+ export declare function inferSearchScrollLoopGuard(params: {
195
+ actionHistory: ExecutedAction[];
196
+ action: ActionType;
197
+ args: Record<string, unknown>;
198
+ }): string | null;
116
199
  export declare function inferRepeatedActionGuard(params: {
117
200
  actionHistory: ExecutedAction[];
118
201
  action: ActionType;
@@ -126,11 +209,11 @@ export interface WorkflowCacheEntry {
126
209
  }
127
210
  export declare function findReusableWorkflow(workflowCache: WorkflowCacheEntry[], subgoalName: string): WorkflowCacheEntry | null;
128
211
  /**
129
- * Trim the conversation thread to avoid context window overflow.
130
- * Always preserves the first `preservedPrefixMessages` entries, then the last maxMessages messages.
131
- * Also compresses old screenshots and DOM blocks to save tokens.
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).
132
215
  */
133
- export declare function trimConversationHistory(messages: ChatCompletionMessageParam[], maxMessages?: number, preservedPrefixMessages?: number): void;
216
+ export { trimConversationHistory } from './agent-message-utils.js';
134
217
  export declare function runAgent(browser: Browser, config: AgentConfig, apiKey: string): Promise<AgentResult>;
135
218
  /**
136
219
  * Replay a previous successful capture's recorded actions instead of running the full AI agent.
@@ -139,4 +222,5 @@ export declare function runAgent(browser: Browser, config: AgentConfig, apiKey:
139
222
  */
140
223
  export declare function replayAgent(browser: Browser, config: AgentConfig, apiKey: string, recordedActions: ExecutedAction[], options?: {
141
224
  allowFullAgentFallback?: boolean;
225
+ ignoreRecordedViewport?: boolean;
142
226
  }): Promise<AgentResult>;