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
@@ -0,0 +1,17 @@
1
+ import type { ChatCompletion } from 'openai/resources/chat/completions';
2
+ import type { StepUsage } from '../types.js';
3
+ export type LlmUsageSnapshot = Pick<StepUsage, 'generationId' | 'modelUsed' | 'promptTokens' | 'completionTokens' | 'totalTokens' | 'cacheReadTokens' | 'cacheWriteTokens' | 'reasoningTokens'>;
4
+ export declare function extractLlmUsageSnapshot(response: ChatCompletion): LlmUsageSnapshot;
5
+ export declare function buildStepUsageFromSnapshot(snapshot: LlmUsageSnapshot, params: {
6
+ stepNumber: number;
7
+ stepType: StepUsage['stepType'];
8
+ modelRequested: string;
9
+ imagesInPrompt: number;
10
+ }): StepUsage;
11
+ export declare function normalizeLlmUsageSnapshot(snapshot: Partial<LlmUsageSnapshot>): LlmUsageSnapshot;
12
+ export declare function extractStepUsage(response: ChatCompletion, params: {
13
+ stepNumber: number;
14
+ stepType: StepUsage['stepType'];
15
+ modelRequested: string;
16
+ imagesInPrompt: number;
17
+ }): StepUsage;
@@ -0,0 +1,45 @@
1
+ export function extractLlmUsageSnapshot(response) {
2
+ const usageDetails = response.usage;
3
+ const promptDetails = usageDetails?.prompt_tokens_details;
4
+ const completionDetails = usageDetails?.completion_tokens_details;
5
+ return {
6
+ generationId: response.id ?? null,
7
+ modelUsed: response.model ?? null,
8
+ promptTokens: response.usage?.prompt_tokens ?? null,
9
+ completionTokens: response.usage?.completion_tokens ?? null,
10
+ totalTokens: response.usage?.total_tokens ?? null,
11
+ cacheReadTokens: promptDetails?.cached_tokens
12
+ ?? usageDetails?.cache_read_input_tokens
13
+ ?? null,
14
+ cacheWriteTokens: promptDetails?.cache_creation_input_tokens
15
+ ?? usageDetails?.cache_write_input_tokens
16
+ ?? null,
17
+ reasoningTokens: completionDetails?.reasoning_tokens
18
+ ?? null,
19
+ };
20
+ }
21
+ export function buildStepUsageFromSnapshot(snapshot, params) {
22
+ return {
23
+ stepNumber: params.stepNumber,
24
+ stepType: params.stepType,
25
+ modelRequested: params.modelRequested,
26
+ imagesInPrompt: params.imagesInPrompt,
27
+ ...snapshot,
28
+ };
29
+ }
30
+ export function normalizeLlmUsageSnapshot(snapshot) {
31
+ return {
32
+ generationId: snapshot.generationId ?? null,
33
+ modelUsed: snapshot.modelUsed ?? null,
34
+ promptTokens: snapshot.promptTokens ?? null,
35
+ completionTokens: snapshot.completionTokens ?? null,
36
+ totalTokens: snapshot.totalTokens ?? null,
37
+ cacheReadTokens: snapshot.cacheReadTokens ?? null,
38
+ cacheWriteTokens: snapshot.cacheWriteTokens ?? null,
39
+ reasoningTokens: snapshot.reasoningTokens ?? null,
40
+ };
41
+ }
42
+ export function extractStepUsage(response, params) {
43
+ return buildStepUsageFromSnapshot(extractLlmUsageSnapshot(response), params);
44
+ }
45
+ //# sourceMappingURL=llm-usage.js.map
@@ -0,0 +1,10 @@
1
+ export type PromptCacheStrategy = 'implicit_only' | 'explicit_breakpoints' | 'disabled';
2
+ export interface ProviderRoutingPreference {
3
+ order?: string[];
4
+ require?: string[];
5
+ disallow?: string[];
6
+ }
7
+ export declare function resolvePromptCacheStrategy(model: string, options?: {
8
+ enableGeminiExplicitBreakpoints?: boolean;
9
+ }): PromptCacheStrategy;
10
+ export declare function hasManualMultiProviderOrder(prefs?: ProviderRoutingPreference | null): boolean;
@@ -0,0 +1,24 @@
1
+ export function resolvePromptCacheStrategy(model, options = {}) {
2
+ const normalized = model.trim().toLowerCase();
3
+ if (!normalized)
4
+ return 'disabled';
5
+ if (normalized.startsWith('anthropic/'))
6
+ return 'explicit_breakpoints';
7
+ if (normalized.startsWith('google/') || normalized.includes('gemini')) {
8
+ return options.enableGeminiExplicitBreakpoints ? 'explicit_breakpoints' : 'implicit_only';
9
+ }
10
+ if (normalized.startsWith('x-ai/')
11
+ || normalized.includes('grok')
12
+ || normalized.startsWith('openai/')
13
+ || normalized.startsWith('deepseek/')
14
+ || normalized.startsWith('moonshot/')
15
+ || normalized.startsWith('moonshotai/')) {
16
+ return 'implicit_only';
17
+ }
18
+ return 'disabled';
19
+ }
20
+ export function hasManualMultiProviderOrder(prefs) {
21
+ const providers = prefs?.order?.map((provider) => provider.trim()).filter(Boolean) ?? [];
22
+ return providers.length > 1;
23
+ }
24
+ //# sourceMappingURL=prompt-cache.js.map
@@ -0,0 +1,175 @@
1
+ import type { ChatCompletionContentPart } from 'openai/resources/chat/completions';
2
+ import type { AgentConfig, AgentRunHint, CaptureCursor, CaptureObjective, CaptureHandoffContext, ExecutedAction, InteractiveElement, LoginCredentials, OverlayScopeSummary, RepairTicket, VariantCaptureManifest, ValidatedSessionProfile, WorkflowScreenshot } from '../types.js';
3
+ interface SystemPromptOptions {
4
+ reasoningLocale?: string;
5
+ }
6
+ export declare function buildSystemPrompt(opts?: SystemPromptOptions): string;
7
+ interface IterationPromptMetrics {
8
+ elementsChars: number;
9
+ sessionSummaryChars: number;
10
+ selectorMemoryChars: number;
11
+ agentContextChars: number;
12
+ }
13
+ export interface StableAnchorUserMessageParams {
14
+ userPrompt: string;
15
+ credentials?: LoginCredentials;
16
+ currentLang?: string;
17
+ currentTheme?: 'light' | 'dark';
18
+ langInstructions?: string;
19
+ themeInstructions?: string;
20
+ viewports?: Array<{
21
+ width: number;
22
+ height: number;
23
+ }>;
24
+ runHints?: AgentRunHint[];
25
+ selectorMemory?: Record<string, string[]>;
26
+ sessionProfile?: ValidatedSessionProfile;
27
+ handoffContext?: CaptureHandoffContext;
28
+ variantManifest?: VariantCaptureManifest;
29
+ }
30
+ export interface IterationUserMessageParams {
31
+ userPrompt: string;
32
+ serializedAKTree: string;
33
+ cleanScreenshotUrl?: string;
34
+ screenshotUrl: string;
35
+ /** In dual-model mode, the vision model's text observation replaces images. */
36
+ visionObservation?: string;
37
+ /** Simplified DOM structure — primary page context in DOM-first mode. */
38
+ simplifiedDOM?: string;
39
+ /** When true, the DOM has not changed since the previous iteration (fingerprint match).
40
+ * The prompt emits a compact placeholder instead of the full DOM. */
41
+ domUnchanged?: boolean;
42
+ accessibilityTree: string;
43
+ interactiveElements: InteractiveElement[];
44
+ actionHistory?: ExecutedAction[];
45
+ screenshotsTaken: WorkflowScreenshot[];
46
+ iteration: number;
47
+ maxIterations: number;
48
+ credentials?: LoginCredentials;
49
+ currentLang?: string;
50
+ currentTheme?: 'light' | 'dark';
51
+ langInstructions?: string;
52
+ themeInstructions?: string;
53
+ viewports?: Array<{
54
+ width: number;
55
+ height: number;
56
+ }>;
57
+ runHints?: AgentRunHint[];
58
+ selectorMemory?: Record<string, string[]>;
59
+ sessionProfile?: ValidatedSessionProfile;
60
+ hasCredentials?: boolean;
61
+ salienceCompressionEnabled?: boolean;
62
+ viewport?: {
63
+ width: number;
64
+ height: number;
65
+ };
66
+ currentUrl?: string;
67
+ stuckLoopWarning?: string;
68
+ lastVerificationFailure?: string;
69
+ userGuidance?: string[];
70
+ scrollInfo?: {
71
+ scrollY: number;
72
+ scrollHeight: number;
73
+ viewportHeight: number;
74
+ };
75
+ expansionLevel?: number;
76
+ /** When true, includes the full task context (prompt, session, memory, instructions).
77
+ * When false (subsequent iterations), sends only the compact page observation. */
78
+ isFirstIteration?: boolean;
79
+ /** Pre-generated action plan from the planning call. Included in first iteration and on stuck loops. */
80
+ taskPlan?: string;
81
+ /** Persistent notes stored by the agent via the `note` tool. Re-injected every iteration. */
82
+ agentNotes?: string[];
83
+ /** Current active subgoal name (set by `begin_subgoal` tool). */
84
+ currentSubgoal?: string;
85
+ /** Completed subgoals with compressed summaries (HiAgent hierarchical memory). */
86
+ completedSubgoals?: Array<{
87
+ name: string;
88
+ summary: string;
89
+ }>;
90
+ /** Compact deterministic log of all actions taken so far (survives conversation trimming). */
91
+ trajectoryLog?: string;
92
+ /** Live browser state handed off from the previous capture in the same run. */
93
+ handoffContext?: CaptureHandoffContext;
94
+ /** Explicit multi-page manifest for the current variant/page. */
95
+ variantManifest?: VariantCaptureManifest;
96
+ currentObjective?: CaptureObjective;
97
+ captureCursor?: CaptureCursor;
98
+ activeRepairTicket?: RepairTicket | null;
99
+ remainingCaptureQueue?: string[];
100
+ cacheLayoutV2?: boolean;
101
+ /** Reference from variant 1 — what state was achieved for this page in the first variant. */
102
+ variantReference?: {
103
+ finalUrl: string;
104
+ assessment: string;
105
+ pageTitle: string;
106
+ /** Full action sequence from variant 1 — helps the LLM retrace the path. */
107
+ actions?: ExecutedAction[];
108
+ };
109
+ /** Compact summary of recent failed actions — prevents the agent from repeating dead-end strategies. */
110
+ failedAttemptsSummary?: string;
111
+ /** When true, the browser is already on the target URL — the agent should check and capture, not navigate. */
112
+ alreadyOnTarget?: boolean;
113
+ promptFingerprint?: string;
114
+ overlayScope?: OverlayScopeSummary | null;
115
+ }
116
+ export declare function buildStableAnchorUserMessage(params: StableAnchorUserMessageParams): {
117
+ content: ChatCompletionContentPart[];
118
+ metrics: IterationPromptMetrics;
119
+ };
120
+ export declare function buildIterationUserMessage(params: IterationUserMessageParams): {
121
+ content: ChatCompletionContentPart[];
122
+ metrics: IterationPromptMetrics;
123
+ };
124
+ export declare function buildVerificationMessage(params: {
125
+ userPrompt: string;
126
+ screenshotUrl: string;
127
+ previousAssessment: string;
128
+ runMode?: AgentConfig['runMode'];
129
+ currentLang?: string;
130
+ currentTheme?: 'light' | 'dark';
131
+ pageContext?: {
132
+ currentUrl?: string;
133
+ pageTitle?: string;
134
+ };
135
+ runHints?: AgentRunHint[];
136
+ variantManifest?: VariantCaptureManifest;
137
+ verificationDiagnostics?: {
138
+ lang?: string;
139
+ theme?: string;
140
+ };
141
+ identityHints?: string[];
142
+ }): ChatCompletionContentPart[];
143
+ export declare function buildVisionObserverPrompt(params: {
144
+ screenshotUrl: string;
145
+ currentUrl: string;
146
+ interactiveElements: InteractiveElement[];
147
+ userGoal: string;
148
+ question?: string;
149
+ currentLang?: string;
150
+ currentTheme?: 'light' | 'dark';
151
+ currentPageId?: string;
152
+ pageIdentitySummary?: string;
153
+ currentObjective?: string;
154
+ }): ChatCompletionContentPart[];
155
+ export declare function buildElementSystemPrompt(description: string): string;
156
+ export declare function buildElementIterationMessage(params: {
157
+ elementName: string;
158
+ elementDescription: string;
159
+ serializedAKTree: string;
160
+ currentUrl: string;
161
+ iteration: number;
162
+ maxIterations: number;
163
+ actionHistory?: string[];
164
+ viewport?: {
165
+ width: number;
166
+ height: number;
167
+ };
168
+ scrollInfo?: {
169
+ scrollY: number;
170
+ scrollHeight: number;
171
+ viewportHeight: number;
172
+ };
173
+ screenshotUrl?: string;
174
+ }): ChatCompletionContentPart[];
175
+ export {};