@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":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Shared canonicalization utilities for snapshot comparison and indexing.
3
+ *
4
+ * This module provides consistent normalization functions used by both:
5
+ * - tracing/indexer.ts (for computing stable digests)
6
+ * - snapshot-diff.ts (for computing diff_status labels)
7
+ *
8
+ * By sharing these helpers, we ensure consistent behavior:
9
+ * - Same text normalization (whitespace, case, length)
10
+ * - Same bbox rounding (2px precision)
11
+ * - Same change detection thresholds
12
+ */
13
+ export interface BBox {
14
+ x: number;
15
+ y: number;
16
+ width: number;
17
+ height: number;
18
+ }
19
+ export interface VisualCues {
20
+ is_primary?: boolean;
21
+ is_clickable?: boolean;
22
+ }
23
+ export interface ElementData {
24
+ id?: number;
25
+ role?: string;
26
+ text?: string | null;
27
+ bbox?: BBox;
28
+ visual_cues?: VisualCues;
29
+ is_primary?: boolean;
30
+ is_clickable?: boolean;
31
+ }
32
+ export interface CanonicalElement {
33
+ id: number | undefined;
34
+ role: string;
35
+ text_norm: string;
36
+ bbox: BBox;
37
+ is_primary: boolean;
38
+ is_clickable: boolean;
39
+ }
40
+ /**
41
+ * Normalize text for canonical comparison.
42
+ *
43
+ * Transforms:
44
+ * - Trims leading/trailing whitespace
45
+ * - Collapses internal whitespace to single spaces
46
+ * - Lowercases
47
+ * - Caps length
48
+ *
49
+ * @param text - Input text (may be undefined/null)
50
+ * @param maxLen - Maximum length to retain (default: 80)
51
+ * @returns Normalized text string (empty string if input is falsy)
52
+ *
53
+ * @example
54
+ * normalizeText(" Hello World ") // "hello world"
55
+ * normalizeText(undefined) // ""
56
+ */
57
+ export declare function normalizeText(text: string | undefined | null, maxLen?: number): string;
58
+ /**
59
+ * Round bbox coordinates to reduce noise.
60
+ *
61
+ * Snaps coordinates to grid of `precision` pixels to ignore
62
+ * sub-pixel rendering differences.
63
+ *
64
+ * @param bbox - Bounding box with x, y, width, height
65
+ * @param precision - Grid size in pixels (default: 2)
66
+ * @returns Rounded bbox with integer coordinates
67
+ *
68
+ * @example
69
+ * roundBBox({x: 101, y: 203, width: 50, height: 25})
70
+ * // {x: 100, y: 202, width: 50, height: 24}
71
+ */
72
+ export declare function roundBBox(bbox: Partial<BBox>, precision?: number): BBox;
73
+ /**
74
+ * Check if two bboxes are equal within a threshold.
75
+ *
76
+ * @param bbox1 - First bounding box
77
+ * @param bbox2 - Second bounding box
78
+ * @param threshold - Maximum allowed difference in pixels (default: 5.0)
79
+ * @returns True if all bbox properties differ by less than threshold
80
+ */
81
+ export declare function bboxEqual(bbox1: Partial<BBox>, bbox2: Partial<BBox>, threshold?: number): boolean;
82
+ /**
83
+ * Check if two bboxes differ beyond the threshold.
84
+ *
85
+ * This is the inverse of bboxEqual, provided for semantic clarity
86
+ * in diff detection code.
87
+ *
88
+ * @param bbox1 - First bounding box
89
+ * @param bbox2 - Second bounding box
90
+ * @param threshold - Maximum allowed difference in pixels (default: 5.0)
91
+ * @returns True if any bbox property differs by more than threshold
92
+ */
93
+ export declare function bboxChanged(bbox1: Partial<BBox>, bbox2: Partial<BBox>, threshold?: number): boolean;
94
+ /**
95
+ * Create canonical representation of an element for comparison/hashing.
96
+ *
97
+ * Extracts and normalizes the fields that matter for identity:
98
+ * - id, role, normalized text, rounded bbox
99
+ * - is_primary, is_clickable from visual_cues
100
+ *
101
+ * @param elem - Raw element object
102
+ * @returns Canonical element object with normalized fields
103
+ */
104
+ export declare function canonicalizeElement(elem: ElementData): CanonicalElement;
105
+ /**
106
+ * Check if two elements have equal content (ignoring position).
107
+ *
108
+ * Compares normalized text, role, and visual cues.
109
+ *
110
+ * @param elem1 - First element (raw or canonical)
111
+ * @param elem2 - Second element (raw or canonical)
112
+ * @returns True if content is equal after normalization
113
+ */
114
+ export declare function contentEqual(elem1: ElementData, elem2: ElementData): boolean;
115
+ /**
116
+ * Check if two elements have different content (ignoring position).
117
+ *
118
+ * This is the inverse of contentEqual, provided for semantic clarity
119
+ * in diff detection code.
120
+ *
121
+ * @param elem1 - First element
122
+ * @param elem2 - Second element
123
+ * @returns True if content differs after normalization
124
+ */
125
+ export declare function contentChanged(elem1: ElementData, elem2: ElementData): boolean;
126
+ //# sourceMappingURL=canonicalization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalization.d.ts","sourceRoot":"","sources":["../src/canonicalization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAe1F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI,CAO1E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EACpB,SAAS,GAAE,MAAY,GACtB,OAAO,CAOT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EACpB,SAAS,GAAE,MAAY,GACtB,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAoBvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAW5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAE9E"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ /**
3
+ * Shared canonicalization utilities for snapshot comparison and indexing.
4
+ *
5
+ * This module provides consistent normalization functions used by both:
6
+ * - tracing/indexer.ts (for computing stable digests)
7
+ * - snapshot-diff.ts (for computing diff_status labels)
8
+ *
9
+ * By sharing these helpers, we ensure consistent behavior:
10
+ * - Same text normalization (whitespace, case, length)
11
+ * - Same bbox rounding (2px precision)
12
+ * - Same change detection thresholds
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.normalizeText = normalizeText;
16
+ exports.roundBBox = roundBBox;
17
+ exports.bboxEqual = bboxEqual;
18
+ exports.bboxChanged = bboxChanged;
19
+ exports.canonicalizeElement = canonicalizeElement;
20
+ exports.contentEqual = contentEqual;
21
+ exports.contentChanged = contentChanged;
22
+ /**
23
+ * Normalize text for canonical comparison.
24
+ *
25
+ * Transforms:
26
+ * - Trims leading/trailing whitespace
27
+ * - Collapses internal whitespace to single spaces
28
+ * - Lowercases
29
+ * - Caps length
30
+ *
31
+ * @param text - Input text (may be undefined/null)
32
+ * @param maxLen - Maximum length to retain (default: 80)
33
+ * @returns Normalized text string (empty string if input is falsy)
34
+ *
35
+ * @example
36
+ * normalizeText(" Hello World ") // "hello world"
37
+ * normalizeText(undefined) // ""
38
+ */
39
+ function normalizeText(text, maxLen = 80) {
40
+ if (!text)
41
+ return '';
42
+ // Trim and collapse whitespace
43
+ let normalized = text.split(/\s+/).join(' ').trim();
44
+ // Lowercase
45
+ normalized = normalized.toLowerCase();
46
+ // Cap length
47
+ if (normalized.length > maxLen) {
48
+ normalized = normalized.substring(0, maxLen);
49
+ }
50
+ return normalized;
51
+ }
52
+ /**
53
+ * Round bbox coordinates to reduce noise.
54
+ *
55
+ * Snaps coordinates to grid of `precision` pixels to ignore
56
+ * sub-pixel rendering differences.
57
+ *
58
+ * @param bbox - Bounding box with x, y, width, height
59
+ * @param precision - Grid size in pixels (default: 2)
60
+ * @returns Rounded bbox with integer coordinates
61
+ *
62
+ * @example
63
+ * roundBBox({x: 101, y: 203, width: 50, height: 25})
64
+ * // {x: 100, y: 202, width: 50, height: 24}
65
+ */
66
+ function roundBBox(bbox, precision = 2) {
67
+ return {
68
+ x: Math.round((bbox.x || 0) / precision) * precision,
69
+ y: Math.round((bbox.y || 0) / precision) * precision,
70
+ width: Math.round((bbox.width || 0) / precision) * precision,
71
+ height: Math.round((bbox.height || 0) / precision) * precision,
72
+ };
73
+ }
74
+ /**
75
+ * Check if two bboxes are equal within a threshold.
76
+ *
77
+ * @param bbox1 - First bounding box
78
+ * @param bbox2 - Second bounding box
79
+ * @param threshold - Maximum allowed difference in pixels (default: 5.0)
80
+ * @returns True if all bbox properties differ by less than threshold
81
+ */
82
+ function bboxEqual(bbox1, bbox2, threshold = 5.0) {
83
+ return (Math.abs((bbox1.x || 0) - (bbox2.x || 0)) <= threshold &&
84
+ Math.abs((bbox1.y || 0) - (bbox2.y || 0)) <= threshold &&
85
+ Math.abs((bbox1.width || 0) - (bbox2.width || 0)) <= threshold &&
86
+ Math.abs((bbox1.height || 0) - (bbox2.height || 0)) <= threshold);
87
+ }
88
+ /**
89
+ * Check if two bboxes differ beyond the threshold.
90
+ *
91
+ * This is the inverse of bboxEqual, provided for semantic clarity
92
+ * in diff detection code.
93
+ *
94
+ * @param bbox1 - First bounding box
95
+ * @param bbox2 - Second bounding box
96
+ * @param threshold - Maximum allowed difference in pixels (default: 5.0)
97
+ * @returns True if any bbox property differs by more than threshold
98
+ */
99
+ function bboxChanged(bbox1, bbox2, threshold = 5.0) {
100
+ return !bboxEqual(bbox1, bbox2, threshold);
101
+ }
102
+ /**
103
+ * Create canonical representation of an element for comparison/hashing.
104
+ *
105
+ * Extracts and normalizes the fields that matter for identity:
106
+ * - id, role, normalized text, rounded bbox
107
+ * - is_primary, is_clickable from visual_cues
108
+ *
109
+ * @param elem - Raw element object
110
+ * @returns Canonical element object with normalized fields
111
+ */
112
+ function canonicalizeElement(elem) {
113
+ // Extract is_primary and is_clickable from visual_cues if present
114
+ const visualCues = elem.visual_cues || {};
115
+ const isPrimary = typeof visualCues === 'object' && visualCues !== null
116
+ ? visualCues.is_primary || false
117
+ : elem.is_primary || false;
118
+ const isClickable = typeof visualCues === 'object' && visualCues !== null
119
+ ? visualCues.is_clickable || false
120
+ : elem.is_clickable || false;
121
+ return {
122
+ id: elem.id,
123
+ role: elem.role || '',
124
+ text_norm: normalizeText(elem.text),
125
+ bbox: roundBBox(elem.bbox || { x: 0, y: 0, width: 0, height: 0 }),
126
+ is_primary: isPrimary,
127
+ is_clickable: isClickable,
128
+ };
129
+ }
130
+ /**
131
+ * Check if two elements have equal content (ignoring position).
132
+ *
133
+ * Compares normalized text, role, and visual cues.
134
+ *
135
+ * @param elem1 - First element (raw or canonical)
136
+ * @param elem2 - Second element (raw or canonical)
137
+ * @returns True if content is equal after normalization
138
+ */
139
+ function contentEqual(elem1, elem2) {
140
+ // Normalize both elements
141
+ const c1 = canonicalizeElement(elem1);
142
+ const c2 = canonicalizeElement(elem2);
143
+ return (c1.role === c2.role &&
144
+ c1.text_norm === c2.text_norm &&
145
+ c1.is_primary === c2.is_primary &&
146
+ c1.is_clickable === c2.is_clickable);
147
+ }
148
+ /**
149
+ * Check if two elements have different content (ignoring position).
150
+ *
151
+ * This is the inverse of contentEqual, provided for semantic clarity
152
+ * in diff detection code.
153
+ *
154
+ * @param elem1 - First element
155
+ * @param elem2 - Second element
156
+ * @returns True if content differs after normalization
157
+ */
158
+ function contentChanged(elem1, elem2) {
159
+ return !contentEqual(elem1, elem2);
160
+ }
161
+ //# sourceMappingURL=canonicalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalization.js","sourceRoot":"","sources":["../src/canonicalization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { CaptchaHandler } from './types';
2
+ type StrategyOptions = {
3
+ message?: string;
4
+ handledBy?: 'human' | 'customer_system' | 'unknown';
5
+ timeoutMs?: number;
6
+ pollMs?: number;
7
+ };
8
+ export declare function HumanHandoffSolver(options?: StrategyOptions): CaptchaHandler;
9
+ export declare function VisionSolver(options?: StrategyOptions): CaptchaHandler;
10
+ export declare function ExternalSolver(resolver: (ctx: any) => Promise<void>, options?: StrategyOptions): CaptchaHandler;
11
+ export {};
12
+ //# sourceMappingURL=strategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/captcha/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,SAAS,CAAC;AAE5D,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAWhF;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAW1E;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EACrC,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAYhB"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HumanHandoffSolver = HumanHandoffSolver;
4
+ exports.VisionSolver = VisionSolver;
5
+ exports.ExternalSolver = ExternalSolver;
6
+ function HumanHandoffSolver(options = {}) {
7
+ return () => {
8
+ const resolution = {
9
+ action: 'wait_until_cleared',
10
+ message: options.message ?? 'Solve CAPTCHA in the live session, then resume.',
11
+ handledBy: options.handledBy ?? 'human',
12
+ timeoutMs: options.timeoutMs,
13
+ pollMs: options.pollMs,
14
+ };
15
+ return Promise.resolve(resolution);
16
+ };
17
+ }
18
+ function VisionSolver(options = {}) {
19
+ return () => {
20
+ const resolution = {
21
+ action: 'wait_until_cleared',
22
+ message: options.message ?? 'Waiting for CAPTCHA to clear (vision verification).',
23
+ handledBy: options.handledBy ?? 'customer_system',
24
+ timeoutMs: options.timeoutMs,
25
+ pollMs: options.pollMs,
26
+ };
27
+ return Promise.resolve(resolution);
28
+ };
29
+ }
30
+ function ExternalSolver(resolver, options = {}) {
31
+ return async (ctx) => {
32
+ await resolver(ctx);
33
+ const resolution = {
34
+ action: 'wait_until_cleared',
35
+ message: options.message ?? 'External solver invoked; waiting for clearance.',
36
+ handledBy: options.handledBy ?? 'customer_system',
37
+ timeoutMs: options.timeoutMs,
38
+ pollMs: options.pollMs,
39
+ };
40
+ return resolution;
41
+ };
42
+ }
43
+ //# sourceMappingURL=strategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/captcha/strategies.ts"],"names":[],"mappings":";;AASA,gDAWC;AAED,oCAWC;AAED,wCAeC;AAzCD,SAAgB,kBAAkB,CAAC,UAA2B,EAAE;IAC9D,OAAO,GAAG,EAAE;QACV,MAAM,UAAU,GAAsB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,iDAAiD;YAC7E,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO;YACvC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,UAA2B,EAAE;IACxD,OAAO,GAAG,EAAE;QACV,MAAM,UAAU,GAAsB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,qDAAqD;YACjF,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB;YACjD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,QAAqC,EACrC,UAA2B,EAAE;IAE7B,OAAO,KAAK,EAAC,GAAG,EAAC,EAAE;QACjB,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,UAAU,GAAsB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,iDAAiD;YAC7E,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB;YACjD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { CaptchaDiagnostics } from '../types';
2
+ export type CaptchaPolicy = 'abort' | 'callback';
3
+ export type CaptchaAction = 'abort' | 'retry_new_session' | 'wait_until_cleared';
4
+ export type CaptchaSource = 'extension' | 'gateway' | 'runtime';
5
+ export interface CaptchaContext {
6
+ runId: string;
7
+ stepIndex: number;
8
+ url: string;
9
+ source: CaptchaSource;
10
+ captcha: CaptchaDiagnostics | null;
11
+ screenshotPath?: string;
12
+ framesDir?: string;
13
+ snapshotPath?: string;
14
+ liveSessionUrl?: string;
15
+ meta?: Record<string, string>;
16
+ evaluateJs?: (code: string) => Promise<any>;
17
+ pageControl?: PageControlHook;
18
+ }
19
+ export interface CaptchaResolution {
20
+ action: CaptchaAction;
21
+ message?: string;
22
+ handledBy?: 'human' | 'customer_system' | 'unknown';
23
+ timeoutMs?: number;
24
+ pollMs?: number;
25
+ }
26
+ export interface PageControlHook {
27
+ evaluateJs: (code: string) => Promise<any>;
28
+ getUrl?: () => Promise<string>;
29
+ }
30
+ export type CaptchaHandler = (ctx: CaptchaContext) => CaptchaResolution | Promise<CaptchaResolution>;
31
+ export interface CaptchaOptions {
32
+ policy?: CaptchaPolicy;
33
+ minConfidence?: number;
34
+ timeoutMs?: number;
35
+ pollMs?: number;
36
+ maxRetriesNewSession?: number;
37
+ handler?: CaptchaHandler;
38
+ resetSession?: () => Promise<void>;
39
+ }
40
+ export declare class CaptchaHandlingError extends Error {
41
+ reasonCode: string;
42
+ details?: Record<string, any>;
43
+ constructor(reasonCode: string, message: string, details?: Record<string, any>);
44
+ }
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/captcha/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,cAAc,KAChB,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAElB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAK/E"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CaptchaHandlingError = void 0;
4
+ class CaptchaHandlingError extends Error {
5
+ constructor(reasonCode, message, details) {
6
+ super(message);
7
+ this.reasonCode = reasonCode;
8
+ this.details = details;
9
+ }
10
+ }
11
+ exports.CaptchaHandlingError = CaptchaHandlingError;
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/captcha/types.ts"],"names":[],"mappings":";;;AAiDA,MAAa,oBAAqB,SAAQ,KAAK;IAI7C,YAAY,UAAkB,EAAE,OAAe,EAAE,OAA6B;QAC5E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AATD,oDASC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CLI commands for Sentience SDK
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG"}