@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":"visual-agent.js","sourceRoot":"","sources":["../src/visual-agent.ts"],"names":[],"mappings":"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"}
package/dist/wait.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Wait functionality
3
+ */
4
+ import { SentienceBrowser } from './browser';
5
+ import { WaitResult, QuerySelector } from './types';
6
+ /**
7
+ * Wait for an element matching a selector to appear on the page
8
+ *
9
+ * Polls the page at regular intervals until the element is found or timeout is reached.
10
+ * Automatically adjusts polling interval based on whether using local extension or remote API.
11
+ *
12
+ * @param browser - SentienceBrowser instance
13
+ * @param selector - Query selector (string DSL or object) to match elements
14
+ * @param timeout - Maximum time to wait in milliseconds (default: 10000ms / 10 seconds)
15
+ * @param interval - Polling interval in milliseconds. If undefined, auto-detects:
16
+ * - 250ms for local extension (fast, no network latency)
17
+ * - 1500ms for remote API (slower, network latency)
18
+ * @param useApi - Force use of server-side API if true, local extension if false.
19
+ * If undefined, uses API if apiKey is set, otherwise uses local extension.
20
+ * @returns WaitResult with found status, element (if found), duration, and timeout flag
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // Wait for a button to appear
25
+ * const result = await waitFor(browser, 'role=button', 5000);
26
+ * if (result.found) {
27
+ * console.log(`Found element ${result.element!.id} after ${result.duration_ms}ms`);
28
+ * }
29
+ *
30
+ * // Wait with custom interval
31
+ * const result2 = await waitFor(browser, 'text~Submit', 10000, 500);
32
+ * ```
33
+ */
34
+ export declare function waitFor(browser: SentienceBrowser, selector: QuerySelector, timeout?: number, interval?: number, useApi?: boolean): Promise<WaitResult>;
35
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIpD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,MAAc,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CA2CrB"}
package/dist/wait.js ADDED
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /**
3
+ * Wait functionality
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.waitFor = waitFor;
7
+ const snapshot_1 = require("./snapshot");
8
+ const query_1 = require("./query");
9
+ /**
10
+ * Wait for an element matching a selector to appear on the page
11
+ *
12
+ * Polls the page at regular intervals until the element is found or timeout is reached.
13
+ * Automatically adjusts polling interval based on whether using local extension or remote API.
14
+ *
15
+ * @param browser - SentienceBrowser instance
16
+ * @param selector - Query selector (string DSL or object) to match elements
17
+ * @param timeout - Maximum time to wait in milliseconds (default: 10000ms / 10 seconds)
18
+ * @param interval - Polling interval in milliseconds. If undefined, auto-detects:
19
+ * - 250ms for local extension (fast, no network latency)
20
+ * - 1500ms for remote API (slower, network latency)
21
+ * @param useApi - Force use of server-side API if true, local extension if false.
22
+ * If undefined, uses API if apiKey is set, otherwise uses local extension.
23
+ * @returns WaitResult with found status, element (if found), duration, and timeout flag
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Wait for a button to appear
28
+ * const result = await waitFor(browser, 'role=button', 5000);
29
+ * if (result.found) {
30
+ * console.log(`Found element ${result.element!.id} after ${result.duration_ms}ms`);
31
+ * }
32
+ *
33
+ * // Wait with custom interval
34
+ * const result2 = await waitFor(browser, 'text~Submit', 10000, 500);
35
+ * ```
36
+ */
37
+ async function waitFor(browser, selector, timeout = 10000, interval, useApi) {
38
+ // Auto-detect optimal interval based on API usage
39
+ if (interval === undefined) {
40
+ // Determine if using API
41
+ const willUseApi = useApi !== undefined ? useApi : browser.getApiKey() !== undefined;
42
+ if (willUseApi) {
43
+ interval = 1500; // Longer interval for API calls (network latency)
44
+ }
45
+ else {
46
+ interval = 250; // Shorter interval for local extension (fast)
47
+ }
48
+ }
49
+ const startTime = Date.now();
50
+ while (Date.now() - startTime < timeout) {
51
+ // Take snapshot (may be local extension or remote API)
52
+ const snap = await (0, snapshot_1.snapshot)(browser, { use_api: useApi });
53
+ // Try to find element
54
+ const element = (0, query_1.find)(snap, selector);
55
+ if (element) {
56
+ const durationMs = Date.now() - startTime;
57
+ return {
58
+ found: true,
59
+ element,
60
+ duration_ms: durationMs,
61
+ timeout: false,
62
+ };
63
+ }
64
+ // Wait before next poll
65
+ await new Promise(resolve => setTimeout(resolve, interval));
66
+ }
67
+ // Timeout
68
+ const durationMs = Date.now() - startTime;
69
+ return {
70
+ found: false,
71
+ element: undefined,
72
+ duration_ms: durationMs,
73
+ timeout: true,
74
+ };
75
+ }
76
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAmCH,0BAiDC;AAhFD,yCAAsC;AACtC,mCAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,KAAK,UAAU,OAAO,CAC3B,OAAyB,EACzB,QAAuB,EACvB,UAAkB,KAAK,EACvB,QAAiB,EACjB,MAAgB;IAEhB,kDAAkD;IAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,yBAAyB;QACzB,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,CAAC;QACrF,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC,CAAC,kDAAkD;QACrE,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,GAAG,CAAC,CAAC,8CAA8C;QAChE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;QACxC,uDAAuD;QACvD,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1D,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAA,YAAI,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO;gBACP,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU;IACV,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAC1C,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,94 @@
1
+ {
2
+ "name": "@predicatelabs/sdk",
3
+ "version": "0.99.9",
4
+ "description": "TypeScript SDK for Sentience AI Agent Browser Automation",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "test": "jest",
10
+ "lint": "eslint src --ext .ts",
11
+ "lint:fix": "eslint src --ext .ts --fix",
12
+ "type-check": "tsc --noEmit",
13
+ "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
14
+ "format-check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
15
+ "prepare": "husky",
16
+ "prepublishOnly": "npm test && npm run build",
17
+ "example:hello": "ts-node examples/hello.ts",
18
+ "example:basic": "ts-node examples/basic-agent.ts",
19
+ "example:agent-google": "ts-node examples/agent-google-search.ts",
20
+ "example:agent-amazon": "ts-node examples/agent-amazon-shopping.ts",
21
+ "example:agent-claude": "ts-node examples/agent-with-anthropic.ts",
22
+ "example:conversational-google": "ts-node examples/conversational-google-search.ts",
23
+ "example:conversational-amazon": "ts-node examples/conversational-amazon-shopping.ts",
24
+ "example:tracing": "ts-node examples/agent-with-tracing.ts",
25
+ "example:trace-replay": "ts-node examples/trace-replay-demo.ts",
26
+ "example:cloud-tracing": "ts-node examples/cloud-tracing-agent.ts",
27
+ "cli": "ts-node src/cli.ts"
28
+ },
29
+ "bin": {
30
+ "predicate": "./dist/cli.js"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "dependencies": {
36
+ "canvas": "^3.2.1",
37
+ "playwright": "^1.40.0",
38
+ "sharp": "^0.34.5",
39
+ "turndown": "^7.2.2",
40
+ "uuid": "^9.0.0",
41
+ "zod": "^3.22.0"
42
+ },
43
+ "devDependencies": {
44
+ "@eslint/js": "^9.39.2",
45
+ "@types/jest": "^29.5.14",
46
+ "@types/node": "^20.0.0",
47
+ "@types/turndown": "^5.0.3",
48
+ "@types/uuid": "^9.0.0",
49
+ "@typescript-eslint/eslint-plugin": "^8.51.0",
50
+ "@typescript-eslint/parser": "^8.51.0",
51
+ "eslint": "^9.39.2",
52
+ "eslint-config-prettier": "^10.1.8",
53
+ "eslint-plugin-prettier": "^5.5.4",
54
+ "husky": "^9.1.7",
55
+ "jest": "^29.0.0",
56
+ "lint-staged": "^16.2.7",
57
+ "prettier": "^3.7.4",
58
+ "ts-jest": "^29.0.0",
59
+ "ts-node": "^10.9.0",
60
+ "typescript": "^5.0.0",
61
+ "typescript-eslint": "^8.51.0"
62
+ },
63
+ "optionalDependencies": {
64
+ "@anthropic-ai/sdk": "^0.20.0",
65
+ "openai": "^4.0.0",
66
+ "zhipuai-sdk-nodejs-v4": "^0.1.12"
67
+ },
68
+ "files": [
69
+ "dist",
70
+ "src/extension",
71
+ "spec",
72
+ "README.md",
73
+ "LICENSE"
74
+ ],
75
+ "keywords": [
76
+ "browser-automation",
77
+ "playwright",
78
+ "ai-agent",
79
+ "web-automation",
80
+ "sentience"
81
+ ],
82
+ "repository": {
83
+ "type": "git",
84
+ "url": "https://github.com/SentienceAPI/sentience-ts.git"
85
+ },
86
+ "bugs": {
87
+ "url": "https://github.com/SentienceAPI/sentience-ts/issues"
88
+ },
89
+ "homepage": "https://github.com/SentienceAPI/sentience-ts#readme",
90
+ "license": "(MIT OR Apache-2.0)",
91
+ "engines": {
92
+ "node": ">=20.0.0"
93
+ }
94
+ }
package/spec/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # Sentience API Specification
2
+
3
+ This directory contains the **single source of truth** for the API contract between the Chrome extension and SDKs.
4
+
5
+ ## Files
6
+
7
+ - **`snapshot.schema.json`** - JSON Schema for snapshot response validation
8
+ - **`SNAPSHOT_V1.md`** - Human-readable snapshot API contract
9
+ - **`sdk-types.md`** - SDK-level type definitions (ActionResult, WaitResult, TraceStep)
10
+
11
+ ## Purpose
12
+
13
+ These specifications ensure:
14
+ 1. **Consistency**: Both Python and TypeScript SDKs implement the same contract
15
+ 2. **Validation**: SDKs can validate extension responses
16
+ 3. **Type Safety**: Strong typing in both languages
17
+ 4. **Documentation**: Clear reference for developers
18
+
19
+ ## Usage
20
+
21
+ ### For SDK Developers
22
+
23
+ 1. **Read** `SNAPSHOT_V1.md` for human-readable contract
24
+ 2. **Use** `snapshot.schema.json` for JSON Schema validation
25
+ 3. **Reference** `sdk-types.md` for SDK-level types
26
+
27
+ ### For Extension Developers
28
+
29
+ 1. **Ensure** extension output matches `snapshot.schema.json`
30
+ 2. **Update** schema when adding new fields
31
+ 3. **Version** schema for breaking changes
32
+
33
+ ## Versioning
34
+
35
+ - **v1.0.0**: Initial stable version (Day 1)
36
+ - Future versions: Increment major version for breaking changes
37
+ - SDKs should validate version and handle compatibility
38
+
39
+ ## Validation
40
+
41
+ Both SDKs should validate extension responses:
42
+
43
+ **Python**:
44
+ ```python
45
+ import jsonschema
46
+ from spec.snapshot.schema import load_schema
47
+
48
+ schema = load_schema()
49
+ jsonschema.validate(snapshot_data, schema)
50
+ ```
51
+
52
+ **TypeScript**:
53
+ ```typescript
54
+ import Ajv from 'ajv';
55
+ import schema from './spec/snapshot.schema.json';
56
+
57
+ const ajv = new Ajv();
58
+ const validate = ajv.compile(schema);
59
+ validate(snapshot_data);
60
+ ```
61
+
62
+ ## Testing
63
+
64
+ - Validate against real extension output
65
+ - Test with edge cases (empty pages, many elements, errors)
66
+ - Verify type coercion and defaults
67
+
68
+ ---
69
+
70
+ **Last Updated**: Day 1 Implementation
71
+ **Status**: ✅ Stable
72
+
@@ -0,0 +1,208 @@
1
+ # Sentience Snapshot API Contract v1
2
+
3
+ **Version**: 1.0.0
4
+ **Last Updated**: [Current Date]
5
+ **Status**: Stable
6
+
7
+ This document defines the **single source of truth** for the snapshot data structure returned by `window.sentience.snapshot()`. Both Python and TypeScript SDKs must implement this contract exactly.
8
+
9
+ ## Overview
10
+
11
+ The snapshot API returns a structured representation of the current page state, including:
12
+ - All interactive elements with semantic roles
13
+ - Element positions (bounding boxes)
14
+ - Importance scores (AI-optimized ranking)
15
+ - Visual cues (primary actions, colors, clickability)
16
+ - Optional screenshot
17
+
18
+ ## Response Structure
19
+
20
+ ### Top-Level Object
21
+
22
+ ```typescript
23
+ {
24
+ status: "success" | "error",
25
+ timestamp?: string, // ISO 8601
26
+ url: string,
27
+ viewport?: { width: number, height: number },
28
+ elements: Element[],
29
+ screenshot?: string, // Base64 data URL
30
+ screenshot_format?: "png" | "jpeg",
31
+ error?: string, // If status is "error"
32
+ requires_license?: boolean // If license required
33
+ }
34
+ ```
35
+
36
+ ### Element Object
37
+
38
+ ```typescript
39
+ {
40
+ id: number, // REQUIRED: Unique identifier (registry index)
41
+ role: string, // REQUIRED: Semantic role
42
+ text: string | null, // Text content, aria-label, or placeholder
43
+ importance: number, // REQUIRED: Importance score (-300 to ~1800)
44
+ bbox: BBox, // REQUIRED: Bounding box
45
+ visual_cues: VisualCues, // REQUIRED: Visual analysis
46
+ in_viewport: boolean, // Is element visible in viewport
47
+ is_occluded: boolean, // Is element covered by overlay
48
+ z_index: number // CSS z-index (0 if auto)
49
+ }
50
+ ```
51
+
52
+ ### BBox (Bounding Box)
53
+
54
+ ```typescript
55
+ {
56
+ x: number, // Left edge in pixels
57
+ y: number, // Top edge in pixels
58
+ width: number, // Width in pixels
59
+ height: number // Height in pixels
60
+ }
61
+ ```
62
+
63
+ ### VisualCues
64
+
65
+ ```typescript
66
+ {
67
+ is_primary: boolean, // Visually prominent primary action
68
+ background_color_name: string | null, // Named color from palette
69
+ is_clickable: boolean // Has pointer cursor or actionable role
70
+ }
71
+ ```
72
+
73
+ ## Field Details
74
+
75
+ ### `id` (required)
76
+ - **Type**: `integer`
77
+ - **Description**: Unique element identifier, corresponds to index in `window.sentience_registry`
78
+ - **Usage**: Used for actions like `click(id)`
79
+ - **Stability**: May change between page loads (not persistent)
80
+
81
+ ### `role` (required)
82
+ - **Type**: `string`
83
+ - **Values**: `"button"`, `"link"`, `"textbox"`, `"searchbox"`, `"checkbox"`, `"radio"`, `"combobox"`, `"image"`, `"generic"`
84
+ - **Description**: Semantic role inferred from HTML tag, ARIA attributes, and context
85
+ - **Usage**: Primary filter for query engine
86
+
87
+ ### `text` (optional)
88
+ - **Type**: `string | null`
89
+ - **Description**: Text content extracted from element:
90
+ - `aria-label` if present
91
+ - `value` or `placeholder` for inputs
92
+ - `alt` for images
93
+ - `innerText` for other elements (truncated to 100 chars)
94
+ - **Usage**: Text matching in query engine
95
+
96
+ ### `importance` (required)
97
+ - **Type**: `integer`
98
+ - **Range**: -300 to ~1800
99
+ - **Description**: AI-optimized importance score calculated from:
100
+ - Role priority (inputs: 1000, buttons: 500, links: 100)
101
+ - Area score (larger elements score higher, capped at 200)
102
+ - Visual prominence (+200 for primary actions)
103
+ - Viewport/occlusion penalties (-500 off-screen, -800 occluded)
104
+ - **Usage**: Ranking and filtering elements
105
+
106
+ ### `bbox` (required)
107
+ - **Type**: `BBox` object
108
+ - **Description**: Element position and size in viewport coordinates
109
+ - **Coordinates**: Relative to viewport (0,0) at top-left
110
+ - **Usage**: Spatial queries, visual grounding, click coordinates
111
+
112
+ ### `visual_cues` (required)
113
+ - **Type**: `VisualCues` object
114
+ - **Description**: Visual analysis results
115
+ - **Fields**:
116
+ - `is_primary`: True if element is visually prominent primary action
117
+ - `background_color_name`: Nearest named color (32-color palette) or null
118
+ - `is_clickable`: True if element has pointer cursor or actionable role
119
+
120
+ ### `in_viewport` (optional)
121
+ - **Type**: `boolean`
122
+ - **Description**: True if element is visible in current viewport
123
+ - **Default**: `true` (if not present, assume visible)
124
+
125
+ ### `is_occluded` (optional)
126
+ - **Type**: `boolean`
127
+ - **Description**: True if element is covered by another element
128
+ - **Default**: `false` (if not present, assume not occluded)
129
+
130
+ ### `z_index` (optional)
131
+ - **Type**: `integer`
132
+ - **Description**: CSS z-index value (0 if "auto" or not set)
133
+ - **Default**: `0`
134
+
135
+ ## Element Sorting
136
+
137
+ Elements in the `elements` array are sorted by:
138
+ 1. **Primary sort**: `importance` (descending) - most important first
139
+ 2. **Secondary sort**: `bbox.y` (ascending) - top-to-bottom reading order (if limit applied)
140
+
141
+ ## Example Response
142
+
143
+ ```json
144
+ {
145
+ "status": "success",
146
+ "timestamp": "2025-01-20T10:30:00Z",
147
+ "url": "https://example.com",
148
+ "viewport": {
149
+ "width": 1280,
150
+ "height": 800
151
+ },
152
+ "elements": [
153
+ {
154
+ "id": 42,
155
+ "role": "button",
156
+ "text": "Sign In",
157
+ "importance": 850,
158
+ "bbox": {
159
+ "x": 100,
160
+ "y": 200,
161
+ "width": 120,
162
+ "height": 40
163
+ },
164
+ "visual_cues": {
165
+ "is_primary": true,
166
+ "background_color_name": "blue",
167
+ "is_clickable": true
168
+ },
169
+ "in_viewport": true,
170
+ "is_occluded": false,
171
+ "z_index": 0
172
+ }
173
+ ]
174
+ }
175
+ ```
176
+
177
+ ## Error Response
178
+
179
+ ```json
180
+ {
181
+ "status": "error",
182
+ "error": "Headless mode requires a valid license key...",
183
+ "requires_license": true
184
+ }
185
+ ```
186
+
187
+ ## SDK Implementation Requirements
188
+
189
+ Both Python and TypeScript SDKs must:
190
+
191
+ 1. **Validate** snapshot response against this schema
192
+ 2. **Parse** all required fields correctly
193
+ 3. **Handle** optional fields gracefully (defaults)
194
+ 4. **Type-check** all fields (Pydantic for Python, TypeScript types for TS)
195
+ 5. **Preserve** field names exactly (no renaming)
196
+
197
+ ## Versioning
198
+
199
+ - **v1.0.0**: Initial stable version
200
+ - Future versions will increment major version for breaking changes
201
+ - SDKs should validate version and handle compatibility
202
+
203
+ ## Related Documents
204
+
205
+ - `snapshot.schema.json` - JSON Schema validation
206
+ - Extension implementation: `sentience-chrome/injected_api.js`
207
+ - WASM implementation: `sentience-chrome/src/lib.rs`
208
+