@predicatelabs/sdk 0.99.9

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 (302) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +252 -0
  3. package/dist/actions.d.ts +185 -0
  4. package/dist/actions.d.ts.map +1 -0
  5. package/dist/actions.js +1120 -0
  6. package/dist/actions.js.map +1 -0
  7. package/dist/agent-runtime.d.ts +352 -0
  8. package/dist/agent-runtime.d.ts.map +1 -0
  9. package/dist/agent-runtime.js +1170 -0
  10. package/dist/agent-runtime.js.map +1 -0
  11. package/dist/agent.d.ts +164 -0
  12. package/dist/agent.d.ts.map +1 -0
  13. package/dist/agent.js +408 -0
  14. package/dist/agent.js.map +1 -0
  15. package/dist/asserts/expect.d.ts +159 -0
  16. package/dist/asserts/expect.d.ts.map +1 -0
  17. package/dist/asserts/expect.js +547 -0
  18. package/dist/asserts/expect.js.map +1 -0
  19. package/dist/asserts/index.d.ts +58 -0
  20. package/dist/asserts/index.d.ts.map +1 -0
  21. package/dist/asserts/index.js +70 -0
  22. package/dist/asserts/index.js.map +1 -0
  23. package/dist/asserts/query.d.ts +199 -0
  24. package/dist/asserts/query.d.ts.map +1 -0
  25. package/dist/asserts/query.js +288 -0
  26. package/dist/asserts/query.js.map +1 -0
  27. package/dist/backends/actions.d.ts +119 -0
  28. package/dist/backends/actions.d.ts.map +1 -0
  29. package/dist/backends/actions.js +291 -0
  30. package/dist/backends/actions.js.map +1 -0
  31. package/dist/backends/browser-use-adapter.d.ts +131 -0
  32. package/dist/backends/browser-use-adapter.d.ts.map +1 -0
  33. package/dist/backends/browser-use-adapter.js +219 -0
  34. package/dist/backends/browser-use-adapter.js.map +1 -0
  35. package/dist/backends/cdp-backend.d.ts +66 -0
  36. package/dist/backends/cdp-backend.d.ts.map +1 -0
  37. package/dist/backends/cdp-backend.js +273 -0
  38. package/dist/backends/cdp-backend.js.map +1 -0
  39. package/dist/backends/index.d.ts +80 -0
  40. package/dist/backends/index.d.ts.map +1 -0
  41. package/dist/backends/index.js +101 -0
  42. package/dist/backends/index.js.map +1 -0
  43. package/dist/backends/protocol.d.ts +156 -0
  44. package/dist/backends/protocol.d.ts.map +1 -0
  45. package/dist/backends/protocol.js +16 -0
  46. package/dist/backends/protocol.js.map +1 -0
  47. package/dist/backends/sentience-context.d.ts +143 -0
  48. package/dist/backends/sentience-context.d.ts.map +1 -0
  49. package/dist/backends/sentience-context.js +359 -0
  50. package/dist/backends/sentience-context.js.map +1 -0
  51. package/dist/backends/snapshot.d.ts +188 -0
  52. package/dist/backends/snapshot.d.ts.map +1 -0
  53. package/dist/backends/snapshot.js +360 -0
  54. package/dist/backends/snapshot.js.map +1 -0
  55. package/dist/browser.d.ts +154 -0
  56. package/dist/browser.d.ts.map +1 -0
  57. package/dist/browser.js +920 -0
  58. package/dist/browser.js.map +1 -0
  59. package/dist/canonicalization.d.ts +126 -0
  60. package/dist/canonicalization.d.ts.map +1 -0
  61. package/dist/canonicalization.js +161 -0
  62. package/dist/canonicalization.js.map +1 -0
  63. package/dist/captcha/strategies.d.ts +12 -0
  64. package/dist/captcha/strategies.d.ts.map +1 -0
  65. package/dist/captcha/strategies.js +43 -0
  66. package/dist/captcha/strategies.js.map +1 -0
  67. package/dist/captcha/types.d.ts +45 -0
  68. package/dist/captcha/types.d.ts.map +1 -0
  69. package/dist/captcha/types.js +12 -0
  70. package/dist/captcha/types.js.map +1 -0
  71. package/dist/cli.d.ts +5 -0
  72. package/dist/cli.d.ts.map +1 -0
  73. package/dist/cli.js +422 -0
  74. package/dist/cli.js.map +1 -0
  75. package/dist/conversational-agent.d.ts +123 -0
  76. package/dist/conversational-agent.d.ts.map +1 -0
  77. package/dist/conversational-agent.js +341 -0
  78. package/dist/conversational-agent.js.map +1 -0
  79. package/dist/cursor-policy.d.ts +41 -0
  80. package/dist/cursor-policy.d.ts.map +1 -0
  81. package/dist/cursor-policy.js +81 -0
  82. package/dist/cursor-policy.js.map +1 -0
  83. package/dist/debugger.d.ts +28 -0
  84. package/dist/debugger.d.ts.map +1 -0
  85. package/dist/debugger.js +107 -0
  86. package/dist/debugger.js.map +1 -0
  87. package/dist/expect.d.ts +16 -0
  88. package/dist/expect.d.ts.map +1 -0
  89. package/dist/expect.js +67 -0
  90. package/dist/expect.js.map +1 -0
  91. package/dist/failure-artifacts.d.ts +95 -0
  92. package/dist/failure-artifacts.d.ts.map +1 -0
  93. package/dist/failure-artifacts.js +805 -0
  94. package/dist/failure-artifacts.js.map +1 -0
  95. package/dist/generator.d.ts +16 -0
  96. package/dist/generator.d.ts.map +1 -0
  97. package/dist/generator.js +205 -0
  98. package/dist/generator.js.map +1 -0
  99. package/dist/index.d.ts +37 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +160 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/inspector.d.ts +13 -0
  104. package/dist/inspector.d.ts.map +1 -0
  105. package/dist/inspector.js +153 -0
  106. package/dist/inspector.js.map +1 -0
  107. package/dist/llm-provider.d.ts +144 -0
  108. package/dist/llm-provider.d.ts.map +1 -0
  109. package/dist/llm-provider.js +460 -0
  110. package/dist/llm-provider.js.map +1 -0
  111. package/dist/ordinal.d.ts +90 -0
  112. package/dist/ordinal.d.ts.map +1 -0
  113. package/dist/ordinal.js +249 -0
  114. package/dist/ordinal.js.map +1 -0
  115. package/dist/overlay.d.ts +63 -0
  116. package/dist/overlay.d.ts.map +1 -0
  117. package/dist/overlay.js +102 -0
  118. package/dist/overlay.js.map +1 -0
  119. package/dist/protocols/browser-protocol.d.ts +79 -0
  120. package/dist/protocols/browser-protocol.d.ts.map +1 -0
  121. package/dist/protocols/browser-protocol.js +9 -0
  122. package/dist/protocols/browser-protocol.js.map +1 -0
  123. package/dist/query.d.ts +66 -0
  124. package/dist/query.d.ts.map +1 -0
  125. package/dist/query.js +482 -0
  126. package/dist/query.js.map +1 -0
  127. package/dist/read.d.ts +47 -0
  128. package/dist/read.d.ts.map +1 -0
  129. package/dist/read.js +128 -0
  130. package/dist/read.js.map +1 -0
  131. package/dist/recorder.d.ts +44 -0
  132. package/dist/recorder.d.ts.map +1 -0
  133. package/dist/recorder.js +262 -0
  134. package/dist/recorder.js.map +1 -0
  135. package/dist/runtime-agent.d.ts +72 -0
  136. package/dist/runtime-agent.d.ts.map +1 -0
  137. package/dist/runtime-agent.js +357 -0
  138. package/dist/runtime-agent.js.map +1 -0
  139. package/dist/screenshot.d.ts +17 -0
  140. package/dist/screenshot.d.ts.map +1 -0
  141. package/dist/screenshot.js +40 -0
  142. package/dist/screenshot.js.map +1 -0
  143. package/dist/snapshot-diff.d.ts +23 -0
  144. package/dist/snapshot-diff.d.ts.map +1 -0
  145. package/dist/snapshot-diff.js +119 -0
  146. package/dist/snapshot-diff.js.map +1 -0
  147. package/dist/snapshot.d.ts +47 -0
  148. package/dist/snapshot.d.ts.map +1 -0
  149. package/dist/snapshot.js +358 -0
  150. package/dist/snapshot.js.map +1 -0
  151. package/dist/textSearch.d.ts +64 -0
  152. package/dist/textSearch.d.ts.map +1 -0
  153. package/dist/textSearch.js +113 -0
  154. package/dist/textSearch.js.map +1 -0
  155. package/dist/tools/context.d.ts +18 -0
  156. package/dist/tools/context.d.ts.map +1 -0
  157. package/dist/tools/context.js +40 -0
  158. package/dist/tools/context.js.map +1 -0
  159. package/dist/tools/defaults.d.ts +5 -0
  160. package/dist/tools/defaults.d.ts.map +1 -0
  161. package/dist/tools/defaults.js +368 -0
  162. package/dist/tools/defaults.js.map +1 -0
  163. package/dist/tools/filesystem.d.ts +12 -0
  164. package/dist/tools/filesystem.d.ts.map +1 -0
  165. package/dist/tools/filesystem.js +137 -0
  166. package/dist/tools/filesystem.js.map +1 -0
  167. package/dist/tools/index.d.ts +5 -0
  168. package/dist/tools/index.d.ts.map +1 -0
  169. package/dist/tools/index.js +15 -0
  170. package/dist/tools/index.js.map +1 -0
  171. package/dist/tools/registry.d.ts +38 -0
  172. package/dist/tools/registry.d.ts.map +1 -0
  173. package/dist/tools/registry.js +100 -0
  174. package/dist/tools/registry.js.map +1 -0
  175. package/dist/tracing/cloud-sink.d.ts +189 -0
  176. package/dist/tracing/cloud-sink.d.ts.map +1 -0
  177. package/dist/tracing/cloud-sink.js +1067 -0
  178. package/dist/tracing/cloud-sink.js.map +1 -0
  179. package/dist/tracing/index-schema.d.ts +231 -0
  180. package/dist/tracing/index-schema.d.ts.map +1 -0
  181. package/dist/tracing/index-schema.js +235 -0
  182. package/dist/tracing/index-schema.js.map +1 -0
  183. package/dist/tracing/index.d.ts +12 -0
  184. package/dist/tracing/index.d.ts.map +1 -0
  185. package/dist/tracing/index.js +28 -0
  186. package/dist/tracing/index.js.map +1 -0
  187. package/dist/tracing/indexer.d.ts +20 -0
  188. package/dist/tracing/indexer.d.ts.map +1 -0
  189. package/dist/tracing/indexer.js +347 -0
  190. package/dist/tracing/indexer.js.map +1 -0
  191. package/dist/tracing/jsonl-sink.d.ts +51 -0
  192. package/dist/tracing/jsonl-sink.d.ts.map +1 -0
  193. package/dist/tracing/jsonl-sink.js +329 -0
  194. package/dist/tracing/jsonl-sink.js.map +1 -0
  195. package/dist/tracing/sink.d.ts +25 -0
  196. package/dist/tracing/sink.d.ts.map +1 -0
  197. package/dist/tracing/sink.js +15 -0
  198. package/dist/tracing/sink.js.map +1 -0
  199. package/dist/tracing/tracer-factory.d.ts +102 -0
  200. package/dist/tracing/tracer-factory.d.ts.map +1 -0
  201. package/dist/tracing/tracer-factory.js +375 -0
  202. package/dist/tracing/tracer-factory.js.map +1 -0
  203. package/dist/tracing/tracer.d.ts +140 -0
  204. package/dist/tracing/tracer.d.ts.map +1 -0
  205. package/dist/tracing/tracer.js +336 -0
  206. package/dist/tracing/tracer.js.map +1 -0
  207. package/dist/tracing/types.d.ts +203 -0
  208. package/dist/tracing/types.d.ts.map +1 -0
  209. package/dist/tracing/types.js +8 -0
  210. package/dist/tracing/types.js.map +1 -0
  211. package/dist/types.d.ts +422 -0
  212. package/dist/types.d.ts.map +1 -0
  213. package/dist/types.js +6 -0
  214. package/dist/types.js.map +1 -0
  215. package/dist/utils/action-executor.d.ts +25 -0
  216. package/dist/utils/action-executor.d.ts.map +1 -0
  217. package/dist/utils/action-executor.js +121 -0
  218. package/dist/utils/action-executor.js.map +1 -0
  219. package/dist/utils/browser-evaluator.d.ts +76 -0
  220. package/dist/utils/browser-evaluator.d.ts.map +1 -0
  221. package/dist/utils/browser-evaluator.js +130 -0
  222. package/dist/utils/browser-evaluator.js.map +1 -0
  223. package/dist/utils/browser.d.ts +30 -0
  224. package/dist/utils/browser.d.ts.map +1 -0
  225. package/dist/utils/browser.js +75 -0
  226. package/dist/utils/browser.js.map +1 -0
  227. package/dist/utils/element-filter.d.ts +76 -0
  228. package/dist/utils/element-filter.d.ts.map +1 -0
  229. package/dist/utils/element-filter.js +195 -0
  230. package/dist/utils/element-filter.js.map +1 -0
  231. package/dist/utils/grid-utils.d.ts +37 -0
  232. package/dist/utils/grid-utils.d.ts.map +1 -0
  233. package/dist/utils/grid-utils.js +283 -0
  234. package/dist/utils/grid-utils.js.map +1 -0
  235. package/dist/utils/llm-interaction-handler.d.ts +41 -0
  236. package/dist/utils/llm-interaction-handler.d.ts.map +1 -0
  237. package/dist/utils/llm-interaction-handler.js +171 -0
  238. package/dist/utils/llm-interaction-handler.js.map +1 -0
  239. package/dist/utils/llm-response-builder.d.ts +56 -0
  240. package/dist/utils/llm-response-builder.d.ts.map +1 -0
  241. package/dist/utils/llm-response-builder.js +130 -0
  242. package/dist/utils/llm-response-builder.js.map +1 -0
  243. package/dist/utils/selector-utils.d.ts +12 -0
  244. package/dist/utils/selector-utils.d.ts.map +1 -0
  245. package/dist/utils/selector-utils.js +32 -0
  246. package/dist/utils/selector-utils.js.map +1 -0
  247. package/dist/utils/snapshot-event-builder.d.ts +28 -0
  248. package/dist/utils/snapshot-event-builder.d.ts.map +1 -0
  249. package/dist/utils/snapshot-event-builder.js +88 -0
  250. package/dist/utils/snapshot-event-builder.js.map +1 -0
  251. package/dist/utils/snapshot-processor.d.ts +27 -0
  252. package/dist/utils/snapshot-processor.d.ts.map +1 -0
  253. package/dist/utils/snapshot-processor.js +47 -0
  254. package/dist/utils/snapshot-processor.js.map +1 -0
  255. package/dist/utils/trace-event-builder.d.ts +122 -0
  256. package/dist/utils/trace-event-builder.d.ts.map +1 -0
  257. package/dist/utils/trace-event-builder.js +365 -0
  258. package/dist/utils/trace-event-builder.js.map +1 -0
  259. package/dist/utils/trace-file-manager.d.ts +70 -0
  260. package/dist/utils/trace-file-manager.d.ts.map +1 -0
  261. package/dist/utils/trace-file-manager.js +194 -0
  262. package/dist/utils/trace-file-manager.js.map +1 -0
  263. package/dist/utils/zod.d.ts +5 -0
  264. package/dist/utils/zod.d.ts.map +1 -0
  265. package/dist/utils/zod.js +80 -0
  266. package/dist/utils/zod.js.map +1 -0
  267. package/dist/utils.d.ts +8 -0
  268. package/dist/utils.d.ts.map +1 -0
  269. package/dist/utils.js +13 -0
  270. package/dist/utils.js.map +1 -0
  271. package/dist/verification.d.ts +194 -0
  272. package/dist/verification.d.ts.map +1 -0
  273. package/dist/verification.js +530 -0
  274. package/dist/verification.js.map +1 -0
  275. package/dist/vision-executor.d.ts +18 -0
  276. package/dist/vision-executor.d.ts.map +1 -0
  277. package/dist/vision-executor.js +60 -0
  278. package/dist/vision-executor.js.map +1 -0
  279. package/dist/visual-agent.d.ts +120 -0
  280. package/dist/visual-agent.d.ts.map +1 -0
  281. package/dist/visual-agent.js +796 -0
  282. package/dist/visual-agent.js.map +1 -0
  283. package/dist/wait.d.ts +35 -0
  284. package/dist/wait.d.ts.map +1 -0
  285. package/dist/wait.js +76 -0
  286. package/dist/wait.js.map +1 -0
  287. package/package.json +94 -0
  288. package/spec/README.md +72 -0
  289. package/spec/SNAPSHOT_V1.md +208 -0
  290. package/spec/sdk-types.md +259 -0
  291. package/spec/snapshot.schema.json +148 -0
  292. package/src/extension/background.js +104 -0
  293. package/src/extension/content.js +162 -0
  294. package/src/extension/injected_api.js +1399 -0
  295. package/src/extension/manifest.json +36 -0
  296. package/src/extension/pkg/README.md +1340 -0
  297. package/src/extension/pkg/package.json +15 -0
  298. package/src/extension/pkg/sentience_core.d.ts +51 -0
  299. package/src/extension/pkg/sentience_core.js +371 -0
  300. package/src/extension/pkg/sentience_core_bg.wasm +0 -0
  301. package/src/extension/pkg/sentience_core_bg.wasm.d.ts +10 -0
  302. package/src/extension/release.json +116 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Sentience Agent: High-level automation agent using LLM + SDK
3
+ * Implements observe-think-act loop for natural language commands
4
+ */
5
+ import { SentienceBrowser } from './browser';
6
+ import { SnapshotOptions } from './snapshot';
7
+ import { StepHookContext } from './types';
8
+ import { LLMProvider } from './llm-provider';
9
+ import { Tracer } from './tracing/tracer';
10
+ /**
11
+ * Execution result from agent.act()
12
+ */
13
+ export interface AgentActResult {
14
+ success: boolean;
15
+ action?: string;
16
+ elementId?: number;
17
+ text?: string;
18
+ key?: string;
19
+ outcome?: string;
20
+ urlChanged?: boolean;
21
+ durationMs: number;
22
+ attempt: number;
23
+ goal: string;
24
+ error?: string;
25
+ message?: string;
26
+ /** Optional action metadata (e.g., human-like cursor movement path) */
27
+ cursor?: Record<string, any>;
28
+ }
29
+ /**
30
+ * History entry for executed action
31
+ */
32
+ export interface HistoryEntry {
33
+ goal: string;
34
+ action: string;
35
+ result: AgentActResult;
36
+ success: boolean;
37
+ attempt: number;
38
+ durationMs: number;
39
+ }
40
+ /**
41
+ * Token usage statistics
42
+ */
43
+ export interface TokenStats {
44
+ totalPromptTokens: number;
45
+ totalCompletionTokens: number;
46
+ totalTokens: number;
47
+ byAction: Array<{
48
+ goal: string;
49
+ promptTokens?: number;
50
+ completionTokens?: number;
51
+ totalTokens?: number;
52
+ model?: string;
53
+ }>;
54
+ }
55
+ /**
56
+ * High-level agent that combines Sentience SDK with any LLM provider.
57
+ *
58
+ * Uses observe-think-act loop to execute natural language commands:
59
+ * 1. OBSERVE: Get snapshot of current page state
60
+ * 2. THINK: Query LLM to decide next action
61
+ * 3. ACT: Execute action using SDK
62
+ *
63
+ * Example:
64
+ * ```typescript
65
+ * import { SentienceBrowser, SentienceAgent, OpenAIProvider } from 'sentience-ts';
66
+ *
67
+ * const browser = await SentienceBrowser.create({ apiKey: 'sentience_key' });
68
+ * const llm = new OpenAIProvider('openai_key', 'gpt-4o');
69
+ * const agent = new SentienceAgent(browser, llm);
70
+ *
71
+ * await browser.getPage().goto('https://google.com');
72
+ * await agent.act('Click the search box');
73
+ * await agent.act("Type 'magic mouse' into the search field");
74
+ * await agent.act('Press Enter key');
75
+ * ```
76
+ */
77
+ export declare class SentienceAgent {
78
+ private browser;
79
+ private llm;
80
+ private snapshotLimit;
81
+ private verbose;
82
+ private tracer?;
83
+ private stepCount;
84
+ private history;
85
+ private tokenUsage;
86
+ private showOverlay;
87
+ private previousSnapshot?;
88
+ private llmHandler;
89
+ private actionExecutor;
90
+ /**
91
+ * Initialize Sentience Agent
92
+ * @param browser - SentienceBrowser instance
93
+ * @param llm - LLM provider (OpenAIProvider, AnthropicProvider, etc.)
94
+ * @param snapshotLimit - Maximum elements to include in context (default: 50)
95
+ * @param verbose - Print execution logs (default: true)
96
+ * @param tracer - Optional tracer for recording execution (default: undefined)
97
+ * @param showOverlay - Show green bbox overlay in browser (default: false)
98
+ */
99
+ constructor(browser: SentienceBrowser, llm: LLMProvider, snapshotLimit?: number, verbose?: boolean, tracer?: Tracer, showOverlay?: boolean);
100
+ /**
101
+ * Get bounding box for an element from snapshot
102
+ */
103
+ private getElementBbox;
104
+ /**
105
+ * @deprecated Use LLMInteractionHandler.buildContext() instead
106
+ */
107
+ private buildContext;
108
+ /**
109
+ * @deprecated Use LLMInteractionHandler.queryLLM() instead
110
+ */
111
+ private queryLLM;
112
+ /**
113
+ * @deprecated Use ActionExecutor.executeAction() instead
114
+ */
115
+ private executeAction;
116
+ /**
117
+ * Execute a high-level goal using observe → think → act loop
118
+ * @param goal - Natural language instruction (e.g., "Click the Sign In button")
119
+ * @param maxRetries - Number of retries on failure (default: 2)
120
+ * @param snapshotOptions - Optional snapshot parameters (limit, filter, etc.)
121
+ * @returns Result dict with status, action_taken, reasoning, and execution data
122
+ *
123
+ * Example:
124
+ * ```typescript
125
+ * const result = await agent.act('Click the search box');
126
+ * console.log(result);
127
+ * // { success: true, action: 'click', elementId: 42, ... }
128
+ * ```
129
+ */
130
+ act(goal: string, maxRetries?: number, snapshotOptions?: SnapshotOptions, onStepStart?: (ctx: StepHookContext) => void | Promise<void>, onStepEnd?: (ctx: StepHookContext) => void | Promise<void>): Promise<AgentActResult>;
131
+ /**
132
+ * Track token usage for analytics
133
+ */
134
+ private trackTokens;
135
+ /**
136
+ * Get token usage statistics
137
+ * @returns Dictionary with token usage breakdown
138
+ */
139
+ getTokenStats(): TokenStats;
140
+ /**
141
+ * Get execution history
142
+ * @returns List of all actions taken with results
143
+ */
144
+ getHistory(): HistoryEntry[];
145
+ /**
146
+ * Clear execution history and reset token counters
147
+ */
148
+ clearHistory(): void;
149
+ /**
150
+ * Close the tracer and flush events to disk
151
+ */
152
+ closeTracer(): Promise<void>;
153
+ /**
154
+ * Get the tracer instance (if any)
155
+ */
156
+ getTracer(): Tracer | undefined;
157
+ private runHook;
158
+ }
159
+ /**
160
+ * Predicate rebrand alias for SentienceAgent.
161
+ * Kept as a runtime alias to avoid breaking existing integrations.
162
+ */
163
+ export declare const PredicateAgent: typeof SentienceAgent;
164
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js ADDED
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ /**
3
+ * Sentience Agent: High-level automation agent using LLM + SDK
4
+ * Implements observe-think-act loop for natural language commands
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.PredicateAgent = exports.SentienceAgent = void 0;
8
+ const snapshot_1 = require("./snapshot");
9
+ const crypto_1 = require("crypto");
10
+ const trace_event_builder_1 = require("./utils/trace-event-builder");
11
+ const llm_interaction_handler_1 = require("./utils/llm-interaction-handler");
12
+ const action_executor_1 = require("./utils/action-executor");
13
+ const snapshot_event_builder_1 = require("./utils/snapshot-event-builder");
14
+ const snapshot_processor_1 = require("./utils/snapshot-processor");
15
+ /**
16
+ * High-level agent that combines Sentience SDK with any LLM provider.
17
+ *
18
+ * Uses observe-think-act loop to execute natural language commands:
19
+ * 1. OBSERVE: Get snapshot of current page state
20
+ * 2. THINK: Query LLM to decide next action
21
+ * 3. ACT: Execute action using SDK
22
+ *
23
+ * Example:
24
+ * ```typescript
25
+ * import { SentienceBrowser, SentienceAgent, OpenAIProvider } from 'sentience-ts';
26
+ *
27
+ * const browser = await SentienceBrowser.create({ apiKey: 'sentience_key' });
28
+ * const llm = new OpenAIProvider('openai_key', 'gpt-4o');
29
+ * const agent = new SentienceAgent(browser, llm);
30
+ *
31
+ * await browser.getPage().goto('https://google.com');
32
+ * await agent.act('Click the search box');
33
+ * await agent.act("Type 'magic mouse' into the search field");
34
+ * await agent.act('Press Enter key');
35
+ * ```
36
+ */
37
+ class SentienceAgent {
38
+ /**
39
+ * Initialize Sentience Agent
40
+ * @param browser - SentienceBrowser instance
41
+ * @param llm - LLM provider (OpenAIProvider, AnthropicProvider, etc.)
42
+ * @param snapshotLimit - Maximum elements to include in context (default: 50)
43
+ * @param verbose - Print execution logs (default: true)
44
+ * @param tracer - Optional tracer for recording execution (default: undefined)
45
+ * @param showOverlay - Show green bbox overlay in browser (default: false)
46
+ */
47
+ constructor(browser, llm, snapshotLimit = 50, verbose = true, tracer, showOverlay = false) {
48
+ this.browser = browser;
49
+ this.llm = llm;
50
+ this.snapshotLimit = snapshotLimit;
51
+ this.verbose = verbose;
52
+ this.tracer = tracer;
53
+ this.showOverlay = showOverlay;
54
+ this.stepCount = 0;
55
+ this.history = [];
56
+ this.tokenUsage = {
57
+ totalPromptTokens: 0,
58
+ totalCompletionTokens: 0,
59
+ totalTokens: 0,
60
+ byAction: [],
61
+ };
62
+ // Initialize handlers
63
+ this.llmHandler = new llm_interaction_handler_1.LLMInteractionHandler(this.llm, this.verbose);
64
+ this.actionExecutor = new action_executor_1.ActionExecutor(this.browser, this.verbose);
65
+ }
66
+ /**
67
+ * Get bounding box for an element from snapshot
68
+ */
69
+ getElementBbox(elementId, snap) {
70
+ if (elementId === undefined)
71
+ return undefined;
72
+ const el = snap.elements.find(e => e.id === elementId);
73
+ if (!el)
74
+ return undefined;
75
+ return {
76
+ x: el.bbox.x,
77
+ y: el.bbox.y,
78
+ width: el.bbox.width,
79
+ height: el.bbox.height,
80
+ };
81
+ }
82
+ /**
83
+ * @deprecated Use LLMInteractionHandler.buildContext() instead
84
+ */
85
+ buildContext(snap, goal) {
86
+ return this.llmHandler.buildContext(snap, goal);
87
+ }
88
+ /**
89
+ * @deprecated Use LLMInteractionHandler.queryLLM() instead
90
+ */
91
+ async queryLLM(domContext, goal) {
92
+ return this.llmHandler.queryLLM(domContext, goal);
93
+ }
94
+ /**
95
+ * @deprecated Use ActionExecutor.executeAction() instead
96
+ */
97
+ async executeAction(actionStr, snap) {
98
+ return this.actionExecutor.executeAction(actionStr, snap);
99
+ }
100
+ /**
101
+ * Execute a high-level goal using observe → think → act loop
102
+ * @param goal - Natural language instruction (e.g., "Click the Sign In button")
103
+ * @param maxRetries - Number of retries on failure (default: 2)
104
+ * @param snapshotOptions - Optional snapshot parameters (limit, filter, etc.)
105
+ * @returns Result dict with status, action_taken, reasoning, and execution data
106
+ *
107
+ * Example:
108
+ * ```typescript
109
+ * const result = await agent.act('Click the search box');
110
+ * console.log(result);
111
+ * // { success: true, action: 'click', elementId: 42, ... }
112
+ * ```
113
+ */
114
+ async act(goal, maxRetries = 2, snapshotOptions, onStepStart, onStepEnd) {
115
+ if (this.verbose) {
116
+ console.log('\n' + '='.repeat(70));
117
+ console.log(`🤖 Agent Goal: ${goal}`);
118
+ console.log('='.repeat(70));
119
+ }
120
+ // Increment step counter and generate step ID
121
+ this.stepCount += 1;
122
+ const stepId = (0, crypto_1.randomUUID)();
123
+ // Emit step_start event
124
+ const pageRef = this.browser.getPage();
125
+ const currentUrl = typeof pageRef?.url === 'function' ? pageRef.url() : 'unknown';
126
+ if (this.tracer) {
127
+ this.tracer.emitStepStart(stepId, this.stepCount, goal, 0, currentUrl);
128
+ }
129
+ await this.runHook(onStepStart, {
130
+ stepId,
131
+ stepIndex: this.stepCount,
132
+ goal,
133
+ attempt: 0,
134
+ url: currentUrl,
135
+ });
136
+ // Track data collected during step execution for step_end emission on failure
137
+ let stepSnapWithDiff = null;
138
+ let stepPreUrl = null;
139
+ let stepLlmResponse = null;
140
+ let stepStartTime = Date.now();
141
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
142
+ try {
143
+ // 1. OBSERVE: Get refined semantic snapshot
144
+ const startTime = Date.now();
145
+ stepStartTime = startTime;
146
+ const snapOpts = {
147
+ ...snapshotOptions,
148
+ goal: snapshotOptions?.goal ?? goal,
149
+ limit: snapshotOptions?.limit || this.snapshotLimit,
150
+ };
151
+ // Apply showOverlay from agent config if not explicitly set in snapshotOptions
152
+ if (snapshotOptions?.show_overlay === undefined) {
153
+ snapOpts.show_overlay = this.showOverlay;
154
+ }
155
+ const snap = await (0, snapshot_1.snapshot)(this.browser, snapOpts);
156
+ if (snap.status !== 'success') {
157
+ throw new Error(`Snapshot failed: ${snap.error}`);
158
+ }
159
+ // Process snapshot: compute diff status and filter elements
160
+ const processed = snapshot_processor_1.SnapshotProcessor.process(snap, this.previousSnapshot, goal, this.snapshotLimit);
161
+ // Update previous snapshot for next comparison
162
+ this.previousSnapshot = snap;
163
+ const snapWithDiff = processed.withDiff;
164
+ const filteredSnap = processed.filtered;
165
+ // Track for step_end emission on failure
166
+ stepSnapWithDiff = snapWithDiff;
167
+ stepPreUrl = snap.url;
168
+ // Emit snapshot event
169
+ if (this.tracer) {
170
+ const snapshotData = snapshot_event_builder_1.SnapshotEventBuilder.buildSnapshotEventData(snapWithDiff, stepId);
171
+ this.tracer.emit('snapshot', snapshotData, stepId);
172
+ }
173
+ // 2. GROUND: Format elements for LLM context (filteredSnap already created above)
174
+ const context = this.llmHandler.buildContext(filteredSnap, goal);
175
+ // 3. THINK: Query LLM for next action
176
+ const llmResponse = await this.llmHandler.queryLLM(context, goal);
177
+ // Track for step_end emission on failure
178
+ stepLlmResponse = llmResponse;
179
+ if (this.verbose) {
180
+ console.log(`🧠 LLM Decision: ${llmResponse.content}`);
181
+ }
182
+ // Emit LLM response event
183
+ if (this.tracer) {
184
+ this.tracer.emit('llm_response', {
185
+ model: llmResponse.modelName,
186
+ prompt_tokens: llmResponse.promptTokens,
187
+ completion_tokens: llmResponse.completionTokens,
188
+ response_text: llmResponse.content.substring(0, 500),
189
+ }, stepId);
190
+ }
191
+ // Track token usage
192
+ this.trackTokens(goal, llmResponse);
193
+ // Parse action from LLM response
194
+ const actionStr = this.llmHandler.extractAction(llmResponse);
195
+ // 4. EXECUTE: Parse and run action
196
+ const result = await this.actionExecutor.executeAction(actionStr, filteredSnap);
197
+ const durationMs = Date.now() - startTime;
198
+ result.durationMs = durationMs;
199
+ result.attempt = attempt;
200
+ result.goal = goal;
201
+ // Emit action event
202
+ if (this.tracer) {
203
+ this.tracer.emit('action', {
204
+ action_type: result.action,
205
+ element_id: result.elementId,
206
+ text: result.text,
207
+ key: result.key,
208
+ success: result.success,
209
+ cursor: result.cursor,
210
+ }, stepId);
211
+ }
212
+ // 5. RECORD: Track history
213
+ this.history.push({
214
+ goal,
215
+ action: actionStr,
216
+ result,
217
+ success: result.success,
218
+ attempt,
219
+ durationMs,
220
+ });
221
+ if (this.verbose) {
222
+ const status = result.success ? '✅' : '❌';
223
+ console.log(`${status} Completed in ${durationMs}ms`);
224
+ }
225
+ // Emit step_end event if tracer is enabled
226
+ const postPage = this.browser.getPage();
227
+ const postUrl = typeof postPage?.url === 'function' ? postPage.url() : null;
228
+ if (this.tracer) {
229
+ const preUrl = snap.url;
230
+ let postSnapshotDigest;
231
+ try {
232
+ const postSnap = await (0, snapshot_1.snapshot)(this.browser, {
233
+ goal: `${goal} (post)`,
234
+ limit: Math.min(this.snapshotLimit, 10),
235
+ show_overlay: this.showOverlay,
236
+ });
237
+ if (postSnap.status === 'success') {
238
+ postSnapshotDigest = trace_event_builder_1.TraceEventBuilder.buildSnapshotDigest(postSnap);
239
+ }
240
+ }
241
+ catch {
242
+ postSnapshotDigest = undefined;
243
+ }
244
+ // Build step_end event using TraceEventBuilder
245
+ // Use snapWithDiff to include elements with diff_status in pre field
246
+ const stepEndData = trace_event_builder_1.TraceEventBuilder.buildStepEndData({
247
+ stepId,
248
+ stepIndex: this.stepCount,
249
+ goal,
250
+ attempt,
251
+ preUrl,
252
+ postUrl,
253
+ postSnapshotDigest,
254
+ snapshot: snapWithDiff,
255
+ llmResponse,
256
+ result,
257
+ });
258
+ this.tracer.emit('step_end', stepEndData, stepId);
259
+ }
260
+ await this.runHook(onStepEnd, {
261
+ stepId,
262
+ stepIndex: this.stepCount,
263
+ goal,
264
+ attempt,
265
+ url: postUrl,
266
+ success: result.success,
267
+ outcome: result.outcome,
268
+ error: result.error,
269
+ });
270
+ return result;
271
+ }
272
+ catch (error) {
273
+ // Emit error event
274
+ if (this.tracer) {
275
+ this.tracer.emitError(stepId, error.message, attempt);
276
+ }
277
+ if (attempt < maxRetries) {
278
+ if (this.verbose) {
279
+ console.log(`⚠️ Retry ${attempt + 1}/${maxRetries}: ${error.message}`);
280
+ }
281
+ await new Promise(resolve => setTimeout(resolve, 1000));
282
+ continue;
283
+ }
284
+ else {
285
+ // Emit step_end with whatever data we collected before failure
286
+ // This ensures diff_status and other fields are preserved in traces
287
+ if (this.tracer && stepSnapWithDiff) {
288
+ const postPage = this.browser.getPage();
289
+ const postUrl = typeof postPage?.url === 'function' ? postPage.url() : null;
290
+ const durationMs = Date.now() - stepStartTime;
291
+ const stepEndData = trace_event_builder_1.TraceEventBuilder.buildPartialStepEndData({
292
+ stepId,
293
+ stepIndex: this.stepCount,
294
+ goal,
295
+ attempt,
296
+ preUrl: stepPreUrl,
297
+ postUrl,
298
+ snapshot: stepSnapWithDiff,
299
+ llmResponse: stepLlmResponse,
300
+ error: error.message,
301
+ durationMs,
302
+ });
303
+ this.tracer.emit('step_end', stepEndData, stepId);
304
+ }
305
+ const errorResult = {
306
+ success: false,
307
+ goal,
308
+ error: error.message,
309
+ attempt,
310
+ durationMs: 0,
311
+ };
312
+ this.history.push(errorResult);
313
+ await this.runHook(onStepEnd, {
314
+ stepId,
315
+ stepIndex: this.stepCount,
316
+ goal,
317
+ attempt,
318
+ url: stepPreUrl,
319
+ success: false,
320
+ outcome: 'exception',
321
+ error: error.message,
322
+ });
323
+ throw new Error(`Failed after ${maxRetries} retries: ${error.message}`);
324
+ }
325
+ }
326
+ }
327
+ throw new Error('Unexpected: loop should have returned or thrown');
328
+ }
329
+ /**
330
+ * Track token usage for analytics
331
+ */
332
+ trackTokens(goal, llmResponse) {
333
+ if (llmResponse.promptTokens) {
334
+ this.tokenUsage.totalPromptTokens += llmResponse.promptTokens;
335
+ }
336
+ if (llmResponse.completionTokens) {
337
+ this.tokenUsage.totalCompletionTokens += llmResponse.completionTokens;
338
+ }
339
+ if (llmResponse.totalTokens) {
340
+ this.tokenUsage.totalTokens += llmResponse.totalTokens;
341
+ }
342
+ this.tokenUsage.byAction.push({
343
+ goal,
344
+ promptTokens: llmResponse.promptTokens,
345
+ completionTokens: llmResponse.completionTokens,
346
+ totalTokens: llmResponse.totalTokens,
347
+ model: llmResponse.modelName,
348
+ });
349
+ }
350
+ /**
351
+ * Get token usage statistics
352
+ * @returns Dictionary with token usage breakdown
353
+ */
354
+ getTokenStats() {
355
+ return { ...this.tokenUsage };
356
+ }
357
+ /**
358
+ * Get execution history
359
+ * @returns List of all actions taken with results
360
+ */
361
+ getHistory() {
362
+ return [...this.history];
363
+ }
364
+ /**
365
+ * Clear execution history and reset token counters
366
+ */
367
+ clearHistory() {
368
+ this.history = [];
369
+ this.stepCount = 0;
370
+ this.tokenUsage = {
371
+ totalPromptTokens: 0,
372
+ totalCompletionTokens: 0,
373
+ totalTokens: 0,
374
+ byAction: [],
375
+ };
376
+ }
377
+ /**
378
+ * Close the tracer and flush events to disk
379
+ */
380
+ async closeTracer() {
381
+ if (this.tracer) {
382
+ await this.tracer.close();
383
+ }
384
+ }
385
+ /**
386
+ * Get the tracer instance (if any)
387
+ */
388
+ getTracer() {
389
+ return this.tracer;
390
+ }
391
+ async runHook(hook, ctx) {
392
+ if (!hook)
393
+ return;
394
+ try {
395
+ await Promise.resolve(hook(ctx));
396
+ }
397
+ catch {
398
+ // best-effort hook; ignore errors
399
+ }
400
+ }
401
+ }
402
+ exports.SentienceAgent = SentienceAgent;
403
+ /**
404
+ * Predicate rebrand alias for SentienceAgent.
405
+ * Kept as a runtime alias to avoid breaking existing integrations.
406
+ */
407
+ exports.PredicateAgent = SentienceAgent;
408
+ //# sourceMappingURL=agent.js.map