@sudobility/testomniac_runner_service 0.1.24

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 (323) hide show
  1. package/CLAUDE.md +338 -0
  2. package/README.md +15 -0
  3. package/dist/adapter.d.ts +56 -0
  4. package/dist/adapter.d.ts.map +1 -0
  5. package/dist/adapter.js +1 -0
  6. package/dist/adapter.js.map +1 -0
  7. package/dist/ai/analyzer.d.ts +16 -0
  8. package/dist/ai/analyzer.d.ts.map +1 -0
  9. package/dist/ai/analyzer.js +55 -0
  10. package/dist/ai/analyzer.js.map +1 -0
  11. package/dist/ai/input-generator.d.ts +9 -0
  12. package/dist/ai/input-generator.d.ts.map +1 -0
  13. package/dist/ai/input-generator.js +20 -0
  14. package/dist/ai/input-generator.js.map +1 -0
  15. package/dist/ai/persona-generator.d.ts +7 -0
  16. package/dist/ai/persona-generator.d.ts.map +1 -0
  17. package/dist/ai/persona-generator.js +23 -0
  18. package/dist/ai/persona-generator.js.map +1 -0
  19. package/dist/ai/use-case-generator.d.ts +7 -0
  20. package/dist/ai/use-case-generator.d.ts.map +1 -0
  21. package/dist/ai/use-case-generator.js +23 -0
  22. package/dist/ai/use-case-generator.js.map +1 -0
  23. package/dist/api/client.d.ts +69 -0
  24. package/dist/api/client.d.ts.map +1 -0
  25. package/dist/api/client.js +327 -0
  26. package/dist/api/client.js.map +1 -0
  27. package/dist/browser/dom-snapshot.d.ts +4 -0
  28. package/dist/browser/dom-snapshot.d.ts.map +1 -0
  29. package/dist/browser/dom-snapshot.js +382 -0
  30. package/dist/browser/dom-snapshot.js.map +1 -0
  31. package/dist/browser/page-utils.d.ts +9 -0
  32. package/dist/browser/page-utils.d.ts.map +1 -0
  33. package/dist/browser/page-utils.js +63 -0
  34. package/dist/browser/page-utils.js.map +1 -0
  35. package/dist/config/constants.d.ts +28 -0
  36. package/dist/config/constants.d.ts.map +1 -0
  37. package/dist/config/constants.js +99 -0
  38. package/dist/config/constants.js.map +1 -0
  39. package/dist/detectors/action-description.d.ts +4 -0
  40. package/dist/detectors/action-description.d.ts.map +1 -0
  41. package/dist/detectors/action-description.js +25 -0
  42. package/dist/detectors/action-description.js.map +1 -0
  43. package/dist/detectors/bug-detector.d.ts +23 -0
  44. package/dist/detectors/bug-detector.d.ts.map +1 -0
  45. package/dist/detectors/bug-detector.js +214 -0
  46. package/dist/detectors/bug-detector.js.map +1 -0
  47. package/dist/detectors/content-checker.d.ts +10 -0
  48. package/dist/detectors/content-checker.d.ts.map +1 -0
  49. package/dist/detectors/content-checker.js +76 -0
  50. package/dist/detectors/content-checker.js.map +1 -0
  51. package/dist/detectors/detection-rule.d.ts +28 -0
  52. package/dist/detectors/detection-rule.d.ts.map +1 -0
  53. package/dist/detectors/detection-rule.js +1 -0
  54. package/dist/detectors/detection-rule.js.map +1 -0
  55. package/dist/detectors/functional-checker.d.ts +22 -0
  56. package/dist/detectors/functional-checker.d.ts.map +1 -0
  57. package/dist/detectors/functional-checker.js +88 -0
  58. package/dist/detectors/functional-checker.js.map +1 -0
  59. package/dist/detectors/index.d.ts +10 -0
  60. package/dist/detectors/index.d.ts.map +1 -0
  61. package/dist/detectors/index.js +9 -0
  62. package/dist/detectors/index.js.map +1 -0
  63. package/dist/detectors/link-checker.d.ts +24 -0
  64. package/dist/detectors/link-checker.d.ts.map +1 -0
  65. package/dist/detectors/link-checker.js +85 -0
  66. package/dist/detectors/link-checker.js.map +1 -0
  67. package/dist/detectors/modal-handler.d.ts +7 -0
  68. package/dist/detectors/modal-handler.d.ts.map +1 -0
  69. package/dist/detectors/modal-handler.js +60 -0
  70. package/dist/detectors/modal-handler.js.map +1 -0
  71. package/dist/detectors/rules/blank-page-rule.d.ts +3 -0
  72. package/dist/detectors/rules/blank-page-rule.d.ts.map +1 -0
  73. package/dist/detectors/rules/blank-page-rule.js +21 -0
  74. package/dist/detectors/rules/blank-page-rule.js.map +1 -0
  75. package/dist/detectors/rules/broken-image-rule.d.ts +3 -0
  76. package/dist/detectors/rules/broken-image-rule.d.ts.map +1 -0
  77. package/dist/detectors/rules/broken-image-rule.js +34 -0
  78. package/dist/detectors/rules/broken-image-rule.js.map +1 -0
  79. package/dist/detectors/rules/broken-link-rule.d.ts +3 -0
  80. package/dist/detectors/rules/broken-link-rule.d.ts.map +1 -0
  81. package/dist/detectors/rules/broken-link-rule.js +55 -0
  82. package/dist/detectors/rules/broken-link-rule.js.map +1 -0
  83. package/dist/detectors/rules/broken-media-rule.d.ts +3 -0
  84. package/dist/detectors/rules/broken-media-rule.d.ts.map +1 -0
  85. package/dist/detectors/rules/broken-media-rule.js +46 -0
  86. package/dist/detectors/rules/broken-media-rule.js.map +1 -0
  87. package/dist/detectors/rules/console-error-rule.d.ts +3 -0
  88. package/dist/detectors/rules/console-error-rule.d.ts.map +1 -0
  89. package/dist/detectors/rules/console-error-rule.js +9 -0
  90. package/dist/detectors/rules/console-error-rule.js.map +1 -0
  91. package/dist/detectors/rules/dead-click-rule.d.ts +3 -0
  92. package/dist/detectors/rules/dead-click-rule.d.ts.map +1 -0
  93. package/dist/detectors/rules/dead-click-rule.js +9 -0
  94. package/dist/detectors/rules/dead-click-rule.js.map +1 -0
  95. package/dist/detectors/rules/duplicate-heading-rule.d.ts +3 -0
  96. package/dist/detectors/rules/duplicate-heading-rule.d.ts.map +1 -0
  97. package/dist/detectors/rules/duplicate-heading-rule.js +35 -0
  98. package/dist/detectors/rules/duplicate-heading-rule.js.map +1 -0
  99. package/dist/detectors/rules/duplicate-id-rule.d.ts +3 -0
  100. package/dist/detectors/rules/duplicate-id-rule.d.ts.map +1 -0
  101. package/dist/detectors/rules/duplicate-id-rule.js +33 -0
  102. package/dist/detectors/rules/duplicate-id-rule.js.map +1 -0
  103. package/dist/detectors/rules/empty-link-rule.d.ts +3 -0
  104. package/dist/detectors/rules/empty-link-rule.d.ts.map +1 -0
  105. package/dist/detectors/rules/empty-link-rule.js +35 -0
  106. package/dist/detectors/rules/empty-link-rule.js.map +1 -0
  107. package/dist/detectors/rules/error-page-rule.d.ts +3 -0
  108. package/dist/detectors/rules/error-page-rule.d.ts.map +1 -0
  109. package/dist/detectors/rules/error-page-rule.js +40 -0
  110. package/dist/detectors/rules/error-page-rule.js.map +1 -0
  111. package/dist/detectors/rules/index.d.ts +16 -0
  112. package/dist/detectors/rules/index.d.ts.map +1 -0
  113. package/dist/detectors/rules/index.js +32 -0
  114. package/dist/detectors/rules/index.js.map +1 -0
  115. package/dist/detectors/rules/network-error-rule.d.ts +3 -0
  116. package/dist/detectors/rules/network-error-rule.d.ts.map +1 -0
  117. package/dist/detectors/rules/network-error-rule.js +9 -0
  118. package/dist/detectors/rules/network-error-rule.js.map +1 -0
  119. package/dist/detectors/rules/placeholder-text-rule.d.ts +3 -0
  120. package/dist/detectors/rules/placeholder-text-rule.d.ts.map +1 -0
  121. package/dist/detectors/rules/placeholder-text-rule.js +34 -0
  122. package/dist/detectors/rules/placeholder-text-rule.js.map +1 -0
  123. package/dist/detectors/visual-checker.d.ts +11 -0
  124. package/dist/detectors/visual-checker.d.ts.map +1 -0
  125. package/dist/detectors/visual-checker.js +78 -0
  126. package/dist/detectors/visual-checker.js.map +1 -0
  127. package/dist/domain/types.d.ts +3 -0
  128. package/dist/domain/types.d.ts.map +1 -0
  129. package/dist/domain/types.js +3 -0
  130. package/dist/domain/types.js.map +1 -0
  131. package/dist/domain/url-ownership.d.ts +7 -0
  132. package/dist/domain/url-ownership.d.ts.map +1 -0
  133. package/dist/domain/url-ownership.js +49 -0
  134. package/dist/domain/url-ownership.js.map +1 -0
  135. package/dist/extractors/buttons.d.ts +3 -0
  136. package/dist/extractors/buttons.d.ts.map +1 -0
  137. package/dist/extractors/buttons.js +30 -0
  138. package/dist/extractors/buttons.js.map +1 -0
  139. package/dist/extractors/clickables.d.ts +3 -0
  140. package/dist/extractors/clickables.d.ts.map +1 -0
  141. package/dist/extractors/clickables.js +35 -0
  142. package/dist/extractors/clickables.js.map +1 -0
  143. package/dist/extractors/form-extractor.d.ts +4 -0
  144. package/dist/extractors/form-extractor.d.ts.map +1 -0
  145. package/dist/extractors/form-extractor.js +47 -0
  146. package/dist/extractors/form-extractor.js.map +1 -0
  147. package/dist/extractors/helpers.d.ts +7 -0
  148. package/dist/extractors/helpers.d.ts.map +1 -0
  149. package/dist/extractors/helpers.js +43 -0
  150. package/dist/extractors/helpers.js.map +1 -0
  151. package/dist/extractors/index.d.ts +5 -0
  152. package/dist/extractors/index.d.ts.map +1 -0
  153. package/dist/extractors/index.js +25 -0
  154. package/dist/extractors/index.js.map +1 -0
  155. package/dist/extractors/product-actions.d.ts +3 -0
  156. package/dist/extractors/product-actions.d.ts.map +1 -0
  157. package/dist/extractors/product-actions.js +23 -0
  158. package/dist/extractors/product-actions.js.map +1 -0
  159. package/dist/extractors/selectors.d.ts +3 -0
  160. package/dist/extractors/selectors.d.ts.map +1 -0
  161. package/dist/extractors/selectors.js +42 -0
  162. package/dist/extractors/selectors.js.map +1 -0
  163. package/dist/extractors/selects.d.ts +3 -0
  164. package/dist/extractors/selects.d.ts.map +1 -0
  165. package/dist/extractors/selects.js +13 -0
  166. package/dist/extractors/selects.js.map +1 -0
  167. package/dist/extractors/text-inputs.d.ts +3 -0
  168. package/dist/extractors/text-inputs.d.ts.map +1 -0
  169. package/dist/extractors/text-inputs.js +35 -0
  170. package/dist/extractors/text-inputs.js.map +1 -0
  171. package/dist/extractors/toggles.d.ts +3 -0
  172. package/dist/extractors/toggles.d.ts.map +1 -0
  173. package/dist/extractors/toggles.js +14 -0
  174. package/dist/extractors/toggles.js.map +1 -0
  175. package/dist/extractors/types.d.ts +36 -0
  176. package/dist/extractors/types.d.ts.map +1 -0
  177. package/dist/extractors/types.js +1 -0
  178. package/dist/extractors/types.js.map +1 -0
  179. package/dist/generation/e2e.d.ts +15 -0
  180. package/dist/generation/e2e.d.ts.map +1 -0
  181. package/dist/generation/e2e.js +59 -0
  182. package/dist/generation/e2e.js.map +1 -0
  183. package/dist/generation/form-negative.d.ts +14 -0
  184. package/dist/generation/form-negative.d.ts.map +1 -0
  185. package/dist/generation/form-negative.js +36 -0
  186. package/dist/generation/form-negative.js.map +1 -0
  187. package/dist/generation/form.d.ts +23 -0
  188. package/dist/generation/form.d.ts.map +1 -0
  189. package/dist/generation/form.js +48 -0
  190. package/dist/generation/form.js.map +1 -0
  191. package/dist/generation/generator.d.ts +13 -0
  192. package/dist/generation/generator.d.ts.map +1 -0
  193. package/dist/generation/generator.js +38 -0
  194. package/dist/generation/generator.js.map +1 -0
  195. package/dist/generation/interaction.d.ts +14 -0
  196. package/dist/generation/interaction.d.ts.map +1 -0
  197. package/dist/generation/interaction.js +26 -0
  198. package/dist/generation/interaction.js.map +1 -0
  199. package/dist/generation/navigation.d.ts +14 -0
  200. package/dist/generation/navigation.d.ts.map +1 -0
  201. package/dist/generation/navigation.js +21 -0
  202. package/dist/generation/navigation.js.map +1 -0
  203. package/dist/generation/password.d.ts +20 -0
  204. package/dist/generation/password.d.ts.map +1 -0
  205. package/dist/generation/password.js +45 -0
  206. package/dist/generation/password.js.map +1 -0
  207. package/dist/generation/playwright-export.d.ts +3 -0
  208. package/dist/generation/playwright-export.d.ts.map +1 -0
  209. package/dist/generation/playwright-export.js +22 -0
  210. package/dist/generation/playwright-export.js.map +1 -0
  211. package/dist/generation/render.d.ts +29 -0
  212. package/dist/generation/render.d.ts.map +1 -0
  213. package/dist/generation/render.js +94 -0
  214. package/dist/generation/render.js.map +1 -0
  215. package/dist/generation/suite-tagger.d.ts +4 -0
  216. package/dist/generation/suite-tagger.d.ts.map +1 -0
  217. package/dist/generation/suite-tagger.js +20 -0
  218. package/dist/generation/suite-tagger.js.map +1 -0
  219. package/dist/identity/element-matcher.d.ts +23 -0
  220. package/dist/identity/element-matcher.d.ts.map +1 -0
  221. package/dist/identity/element-matcher.js +60 -0
  222. package/dist/identity/element-matcher.js.map +1 -0
  223. package/dist/identity/identity-cache.d.ts +12 -0
  224. package/dist/identity/identity-cache.d.ts.map +1 -0
  225. package/dist/identity/identity-cache.js +25 -0
  226. package/dist/identity/identity-cache.js.map +1 -0
  227. package/dist/identity/playwright-locator.d.ts +4 -0
  228. package/dist/identity/playwright-locator.d.ts.map +1 -0
  229. package/dist/identity/playwright-locator.js +67 -0
  230. package/dist/identity/playwright-locator.js.map +1 -0
  231. package/dist/index.d.ts +47 -0
  232. package/dist/index.d.ts.map +1 -0
  233. package/dist/index.js +56 -0
  234. package/dist/index.js.map +1 -0
  235. package/dist/orchestrator/decomposition.d.ts +6 -0
  236. package/dist/orchestrator/decomposition.d.ts.map +1 -0
  237. package/dist/orchestrator/decomposition.js +55 -0
  238. package/dist/orchestrator/decomposition.js.map +1 -0
  239. package/dist/orchestrator/orchestrator.d.ts +5 -0
  240. package/dist/orchestrator/orchestrator.d.ts.map +1 -0
  241. package/dist/orchestrator/orchestrator.js +122 -0
  242. package/dist/orchestrator/orchestrator.js.map +1 -0
  243. package/dist/orchestrator/test-execution.d.ts +5 -0
  244. package/dist/orchestrator/test-execution.d.ts.map +1 -0
  245. package/dist/orchestrator/test-execution.js +205 -0
  246. package/dist/orchestrator/test-execution.js.map +1 -0
  247. package/dist/orchestrator/types.d.ts +69 -0
  248. package/dist/orchestrator/types.d.ts.map +1 -0
  249. package/dist/orchestrator/types.js +1 -0
  250. package/dist/orchestrator/types.js.map +1 -0
  251. package/dist/planners/fill-value-planner.d.ts +9 -0
  252. package/dist/planners/fill-value-planner.d.ts.map +1 -0
  253. package/dist/planners/fill-value-planner.js +166 -0
  254. package/dist/planners/fill-value-planner.js.map +1 -0
  255. package/dist/plugins/registry.d.ts +6 -0
  256. package/dist/plugins/registry.d.ts.map +1 -0
  257. package/dist/plugins/registry.js +16 -0
  258. package/dist/plugins/registry.js.map +1 -0
  259. package/dist/plugins/types.d.ts +42 -0
  260. package/dist/plugins/types.d.ts.map +1 -0
  261. package/dist/plugins/types.js +1 -0
  262. package/dist/plugins/types.js.map +1 -0
  263. package/dist/scanner/action-classifier.d.ts +7 -0
  264. package/dist/scanner/action-classifier.d.ts.map +1 -0
  265. package/dist/scanner/action-classifier.js +64 -0
  266. package/dist/scanner/action-classifier.js.map +1 -0
  267. package/dist/scanner/action-queue.d.ts +18 -0
  268. package/dist/scanner/action-queue.d.ts.map +1 -0
  269. package/dist/scanner/action-queue.js +20 -0
  270. package/dist/scanner/action-queue.js.map +1 -0
  271. package/dist/scanner/component-detector.d.ts +43 -0
  272. package/dist/scanner/component-detector.d.ts.map +1 -0
  273. package/dist/scanner/component-detector.js +231 -0
  274. package/dist/scanner/component-detector.js.map +1 -0
  275. package/dist/scanner/email-detector.d.ts +3 -0
  276. package/dist/scanner/email-detector.d.ts.map +1 -0
  277. package/dist/scanner/email-detector.js +12 -0
  278. package/dist/scanner/email-detector.js.map +1 -0
  279. package/dist/scanner/html-decomposer.d.ts +19 -0
  280. package/dist/scanner/html-decomposer.d.ts.map +1 -0
  281. package/dist/scanner/html-decomposer.js +41 -0
  282. package/dist/scanner/html-decomposer.js.map +1 -0
  283. package/dist/scanner/issue-detector.d.ts +8 -0
  284. package/dist/scanner/issue-detector.d.ts.map +1 -0
  285. package/dist/scanner/issue-detector.js +71 -0
  286. package/dist/scanner/issue-detector.js.map +1 -0
  287. package/dist/scanner/loop-guard.d.ts +18 -0
  288. package/dist/scanner/loop-guard.d.ts.map +1 -0
  289. package/dist/scanner/loop-guard.js +33 -0
  290. package/dist/scanner/loop-guard.js.map +1 -0
  291. package/dist/scanner/navigator.d.ts +25 -0
  292. package/dist/scanner/navigator.d.ts.map +1 -0
  293. package/dist/scanner/navigator.js +56 -0
  294. package/dist/scanner/navigator.js.map +1 -0
  295. package/dist/scanner/page-cache.d.ts +22 -0
  296. package/dist/scanner/page-cache.d.ts.map +1 -0
  297. package/dist/scanner/page-cache.js +42 -0
  298. package/dist/scanner/page-cache.js.map +1 -0
  299. package/dist/scanner/pairwise.d.ts +7 -0
  300. package/dist/scanner/pairwise.d.ts.map +1 -0
  301. package/dist/scanner/pairwise.js +64 -0
  302. package/dist/scanner/pairwise.js.map +1 -0
  303. package/dist/scanner/pattern-detector.d.ts +22 -0
  304. package/dist/scanner/pattern-detector.d.ts.map +1 -0
  305. package/dist/scanner/pattern-detector.js +108 -0
  306. package/dist/scanner/pattern-detector.js.map +1 -0
  307. package/dist/scanner/phase-timer.d.ts +9 -0
  308. package/dist/scanner/phase-timer.d.ts.map +1 -0
  309. package/dist/scanner/phase-timer.js +27 -0
  310. package/dist/scanner/phase-timer.js.map +1 -0
  311. package/dist/scanner/reusable-element-cache.d.ts +13 -0
  312. package/dist/scanner/reusable-element-cache.d.ts.map +1 -0
  313. package/dist/scanner/reusable-element-cache.js +37 -0
  314. package/dist/scanner/reusable-element-cache.js.map +1 -0
  315. package/dist/scanner/scroll-scanner.d.ts +3 -0
  316. package/dist/scanner/scroll-scanner.d.ts.map +1 -0
  317. package/dist/scanner/scroll-scanner.js +19 -0
  318. package/dist/scanner/scroll-scanner.js.map +1 -0
  319. package/dist/scanner/state-manager.d.ts +11 -0
  320. package/dist/scanner/state-manager.d.ts.map +1 -0
  321. package/dist/scanner/state-manager.js +24 -0
  322. package/dist/scanner/state-manager.js.map +1 -0
  323. package/package.json +77 -0
@@ -0,0 +1,69 @@
1
+ import type { PendingRunResponse, UpdateRunStatsRequest, AppResponse, PageResponse, CreatePageStateRequest, PageStateResponse, ActionableItemResponse, PersonaResponse, UseCaseResponse, InputValueResponse, FormResponse, TestCaseResponse, CreateTestRunRequest, TestRunResponse, CompleteTestRunRequest, CreateReportEmailRequest, HtmlElementResponse, ReusableHtmlElementResponse, FindOrCreateReusableHtmlElementRequest, PageHashes, DecomposedPageHashes, ActionableItem, TestCase, LegacyTestCase, FormInfo, CreateElementIdentityRequest, UpdateElementIdentityRequest, ElementIdentityResponse, PageStatePatternResponse, UiPattern, DecompositionJobResponse, TestSuiteSuiteLinkResponse, TestSuiteCaseLinkResponse, CreateTestActionRequest, TestActionResponse, CreateTestRunFindingRequest, TestRunFindingResponse, ExpertiseResponse, CreateExpertiseRequest, ExpertiseRuleResponse, CreateExpertiseRuleRequest, TestSuite, TestSuiteResponse } from "@sudobility/testomniac_types";
2
+ export declare class ApiClient {
3
+ private baseUrl;
4
+ private apiKey;
5
+ constructor(baseUrl: string, apiKey: string);
6
+ private request;
7
+ private get;
8
+ private post;
9
+ private patch;
10
+ getPendingRun(): Promise<PendingRunResponse | null>;
11
+ getRun(runId: number): Promise<PendingRunResponse | null>;
12
+ updateRunPhase(runId: number, phase: string): Promise<void>;
13
+ updateRunStats(runId: number, stats: UpdateRunStatsRequest): Promise<void>;
14
+ updatePhaseDuration(runId: number, field: string, durationMs: number): Promise<void>;
15
+ completeRun(runId: number, aiSummary?: string, totalDurationMs?: number, status?: "completed" | "failed"): Promise<void>;
16
+ getApp(id: number): Promise<AppResponse | null>;
17
+ getPage(id: number): Promise<PageResponse | null>;
18
+ findOrCreatePage(appId: number, relativePath: string): Promise<PageResponse>;
19
+ markRequiresLogin(pageId: number): Promise<void>;
20
+ getPagesByApp(appId: number): Promise<PageResponse[]>;
21
+ getPageState(id: number): Promise<PageStateResponse | null>;
22
+ getPageStates(pageId: number): Promise<PageStateResponse[]>;
23
+ createPageState(params: CreatePageStateRequest): Promise<PageStateResponse>;
24
+ findMatchingPageState(pageId: number, hashes: PageHashes, sizeClass: string): Promise<PageStateResponse | null>;
25
+ insertActionableItems(htmlElementId: number, items: ActionableItem[]): Promise<ActionableItemResponse[]>;
26
+ getItemsByPageState(pageStateId: number): Promise<ActionableItemResponse[]>;
27
+ getItemsByHtmlElement(htmlElementId: number): Promise<ActionableItemResponse[]>;
28
+ getActionableItem(id: number): Promise<ActionableItemResponse | null>;
29
+ createPersona(appId: number, title: string, description: string): Promise<PersonaResponse>;
30
+ getPersonasByApp(appId: number): Promise<PersonaResponse[]>;
31
+ createUseCase(personaId: number, title: string, description: string): Promise<UseCaseResponse>;
32
+ getUseCasesByPersona(personaId: number): Promise<UseCaseResponse[]>;
33
+ createInputValue(useCaseId: number, fieldSelector: string, fieldName: string, value: string): Promise<InputValueResponse>;
34
+ getInputValuesByUseCase(useCaseId: number): Promise<InputValueResponse[]>;
35
+ insertForm(pageStateId: number, form: FormInfo, formType?: string): Promise<FormResponse>;
36
+ getFormsByPageState(pageStateId: number): Promise<FormResponse[]>;
37
+ insertTestCase(appId: number, testCase: TestCase | LegacyTestCase): Promise<TestCaseResponse>;
38
+ getTestCasesByApp(appId: number): Promise<TestCaseResponse[]>;
39
+ createTestRun(params: CreateTestRunRequest): Promise<TestRunResponse>;
40
+ completeTestRun(testRunId: number, result: CompleteTestRunRequest): Promise<void>;
41
+ createDecompositionJob(scanId: number, pageStateId: number, personaId?: number): Promise<DecompositionJobResponse>;
42
+ getPendingDecompositionJobs(scanId: number): Promise<DecompositionJobResponse[]>;
43
+ completeDecompositionJob(jobId: number): Promise<void>;
44
+ linkSuiteToSuite(parentSuiteId: number, childSuiteId: number): Promise<TestSuiteSuiteLinkResponse>;
45
+ linkSuiteToCase(testSuiteId: number, testCaseId: number): Promise<TestSuiteCaseLinkResponse>;
46
+ createTestAction(params: CreateTestActionRequest): Promise<TestActionResponse>;
47
+ getTestActionsByCase(testCaseId: number): Promise<TestActionResponse[]>;
48
+ createTestRunFinding(params: CreateTestRunFindingRequest): Promise<TestRunFindingResponse>;
49
+ getExpertises(): Promise<ExpertiseResponse[]>;
50
+ getExpertiseRules(expertiseId: number): Promise<ExpertiseRuleResponse[]>;
51
+ createExpertise(params: CreateExpertiseRequest): Promise<ExpertiseResponse>;
52
+ createExpertiseRule(params: CreateExpertiseRuleRequest): Promise<ExpertiseRuleResponse>;
53
+ insertTestSuite(appId: number, testSuite: TestSuite): Promise<TestSuiteResponse>;
54
+ getTestSuitesByApp(appId: number): Promise<TestSuiteResponse[]>;
55
+ getTestSuite(id: number): Promise<TestSuiteResponse | null>;
56
+ createReportEmail(params: CreateReportEmailRequest): Promise<void>;
57
+ findOrCreateHtmlElement(html: string, hash: string): Promise<HtmlElementResponse>;
58
+ findOrCreateReusableHtmlElement(params: FindOrCreateReusableHtmlElementRequest): Promise<ReusableHtmlElementResponse>;
59
+ getReusableHtmlElements(appId: number): Promise<ReusableHtmlElementResponse[]>;
60
+ linkPageStateReusableElements(pageStateId: number, reusableHtmlElementIds: number[]): Promise<void>;
61
+ findMatchingPageStateDecomposed(pageId: number, decomposedHashes: DecomposedPageHashes, sizeClass: string): Promise<PageStateResponse | null>;
62
+ insertPageStatePatterns(pageStateId: number, patterns: UiPattern[]): Promise<PageStatePatternResponse[]>;
63
+ getPageStatePatterns(pageStateId: number): Promise<PageStatePatternResponse[]>;
64
+ findOrCreateElementIdentity(params: CreateElementIdentityRequest): Promise<ElementIdentityResponse>;
65
+ getElementIdentitiesByApp(appId: number): Promise<ElementIdentityResponse[]>;
66
+ updateElementIdentity(id: number, params: UpdateElementIdentityRequest): Promise<void>;
67
+ }
68
+ export declare function getApiClient(baseUrl?: string, apiKey?: string): ApiClient;
69
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,327 @@
1
+ export class ApiClient {
2
+ baseUrl;
3
+ apiKey;
4
+ constructor(baseUrl, apiKey) {
5
+ this.baseUrl = baseUrl;
6
+ this.apiKey = apiKey;
7
+ }
8
+ async request(method, path, body) {
9
+ const url = `${this.baseUrl}/api/v1/scanner${path}`;
10
+ const res = await fetch(url, {
11
+ method,
12
+ headers: {
13
+ "Content-Type": "application/json",
14
+ "X-Scanner-Key": this.apiKey,
15
+ },
16
+ body: body ? JSON.stringify(body) : undefined,
17
+ });
18
+ const json = (await res.json());
19
+ if (!json.success) {
20
+ throw new Error(`API error [${method} ${path}]: ${json.error}`);
21
+ }
22
+ return json.data;
23
+ }
24
+ get(path) {
25
+ return this.request("GET", path);
26
+ }
27
+ post(path, body) {
28
+ return this.request("POST", path, body);
29
+ }
30
+ patch(path, body) {
31
+ return this.request("PATCH", path, body);
32
+ }
33
+ // ===========================================================================
34
+ // Runs
35
+ // ===========================================================================
36
+ getPendingRun() {
37
+ return this.get("/scans/pending");
38
+ }
39
+ getRun(runId) {
40
+ return this.get(`/scans/${runId}`);
41
+ }
42
+ updateRunPhase(runId, phase) {
43
+ const body = { phase };
44
+ return this.patch(`/runs/${runId}/phase`, body);
45
+ }
46
+ updateRunStats(runId, stats) {
47
+ return this.patch(`/scans/${runId}/stats`, stats);
48
+ }
49
+ updatePhaseDuration(runId, field, durationMs) {
50
+ const body = { field, durationMs };
51
+ return this.patch(`/scans/${runId}/phase-duration`, body);
52
+ }
53
+ completeRun(runId, aiSummary, totalDurationMs, status) {
54
+ const body = { aiSummary, totalDurationMs, status };
55
+ return this.patch(`/scans/${runId}/complete`, body);
56
+ }
57
+ // ===========================================================================
58
+ // Apps
59
+ // ===========================================================================
60
+ getApp(id) {
61
+ return this.get(`/apps/${id}`);
62
+ }
63
+ // ===========================================================================
64
+ // Pages
65
+ // ===========================================================================
66
+ getPage(id) {
67
+ return this.get(`/pages/${id}`);
68
+ }
69
+ findOrCreatePage(appId, relativePath) {
70
+ const body = { appId, relativePath };
71
+ return this.post("/pages", body);
72
+ }
73
+ markRequiresLogin(pageId) {
74
+ return this.patch(`/pages/${pageId}/requires-login`);
75
+ }
76
+ getPagesByApp(appId) {
77
+ return this.get(`/pages?appId=${appId}`);
78
+ }
79
+ // ===========================================================================
80
+ // Page States
81
+ // ===========================================================================
82
+ getPageState(id) {
83
+ return this.get(`/page-states/${id}`);
84
+ }
85
+ getPageStates(pageId) {
86
+ return this.get(`/page-states?pageId=${pageId}`);
87
+ }
88
+ createPageState(params) {
89
+ return this.post("/page-states", params);
90
+ }
91
+ findMatchingPageState(pageId, hashes, sizeClass) {
92
+ const qs = new URLSearchParams({
93
+ pageId: String(pageId),
94
+ sizeClass,
95
+ htmlHash: hashes.htmlHash,
96
+ normalizedHtmlHash: hashes.normalizedHtmlHash,
97
+ textHash: hashes.textHash,
98
+ actionableHash: hashes.actionableHash,
99
+ });
100
+ return this.get(`/page-states/match?${qs}`);
101
+ }
102
+ // ===========================================================================
103
+ // Actionable Items
104
+ // ===========================================================================
105
+ insertActionableItems(htmlElementId, items) {
106
+ const body = { htmlElementId, items };
107
+ return this.post("/actionable-items", body);
108
+ }
109
+ getItemsByPageState(pageStateId) {
110
+ return this.get(`/actionable-items?pageStateId=${pageStateId}`);
111
+ }
112
+ getItemsByHtmlElement(htmlElementId) {
113
+ return this.get(`/actionable-items?htmlElementId=${htmlElementId}`);
114
+ }
115
+ getActionableItem(id) {
116
+ return this.get(`/actionable-items/${id}`);
117
+ }
118
+ // ===========================================================================
119
+ // Personas / Use Cases / Input Values
120
+ // ===========================================================================
121
+ createPersona(appId, title, description) {
122
+ const body = { appId, title, description };
123
+ return this.post("/personas", body);
124
+ }
125
+ getPersonasByApp(appId) {
126
+ return this.get(`/personas?appId=${appId}`);
127
+ }
128
+ createUseCase(personaId, title, description) {
129
+ const body = { personaId, title, description };
130
+ return this.post("/use-cases", body);
131
+ }
132
+ getUseCasesByPersona(personaId) {
133
+ return this.get(`/use-cases?personaId=${personaId}`);
134
+ }
135
+ createInputValue(useCaseId, fieldSelector, fieldName, value) {
136
+ const body = {
137
+ useCaseId,
138
+ fieldSelector,
139
+ fieldName,
140
+ value,
141
+ };
142
+ return this.post("/input-values", body);
143
+ }
144
+ getInputValuesByUseCase(useCaseId) {
145
+ return this.get(`/input-values?useCaseId=${useCaseId}`);
146
+ }
147
+ // ===========================================================================
148
+ // Forms
149
+ // ===========================================================================
150
+ insertForm(pageStateId, form, formType) {
151
+ const body = { pageStateId, form, formType };
152
+ return this.post("/forms", body);
153
+ }
154
+ getFormsByPageState(pageStateId) {
155
+ return this.get(`/forms?pageStateId=${pageStateId}`);
156
+ }
157
+ // ===========================================================================
158
+ // Test Cases
159
+ // ===========================================================================
160
+ insertTestCase(appId, testCase) {
161
+ const body = { appId, testCase };
162
+ return this.post("/test-cases", body);
163
+ }
164
+ getTestCasesByApp(appId) {
165
+ return this.get(`/test-cases?appId=${appId}`);
166
+ }
167
+ // ===========================================================================
168
+ // Test Runs
169
+ // ===========================================================================
170
+ createTestRun(params) {
171
+ return this.post("/test-runs", params);
172
+ }
173
+ completeTestRun(testRunId, result) {
174
+ return this.patch(`/test-runs/${testRunId}/complete`, result);
175
+ }
176
+ // ===========================================================================
177
+ // AI Decomposition Jobs
178
+ // ===========================================================================
179
+ createDecompositionJob(scanId, pageStateId, personaId) {
180
+ const body = {
181
+ scanId,
182
+ pageStateId,
183
+ personaId,
184
+ };
185
+ return this.post("/ai-decomposition-jobs", body);
186
+ }
187
+ getPendingDecompositionJobs(scanId) {
188
+ return this.get(`/ai-decomposition-jobs/pending?scanId=${scanId}`);
189
+ }
190
+ completeDecompositionJob(jobId) {
191
+ return this.patch(`/ai-decomposition-jobs/${jobId}/complete`);
192
+ }
193
+ // ===========================================================================
194
+ // Test Suite Junction Tables
195
+ // ===========================================================================
196
+ linkSuiteToSuite(parentSuiteId, childSuiteId) {
197
+ const body = {
198
+ parentSuiteId,
199
+ childSuiteId,
200
+ };
201
+ return this.post("/test-suite-suites", body);
202
+ }
203
+ linkSuiteToCase(testSuiteId, testCaseId) {
204
+ const body = { testSuiteId, testCaseId };
205
+ return this.post("/test-suite-cases", body);
206
+ }
207
+ // ===========================================================================
208
+ // Test Actions (persisted)
209
+ // ===========================================================================
210
+ createTestAction(params) {
211
+ return this.post("/test-actions", params);
212
+ }
213
+ getTestActionsByCase(testCaseId) {
214
+ return this.get(`/test-actions?testCaseId=${testCaseId}`);
215
+ }
216
+ // ===========================================================================
217
+ // Test Run Findings
218
+ // ===========================================================================
219
+ createTestRunFinding(params) {
220
+ return this.post("/test-run-findings", params);
221
+ }
222
+ // ===========================================================================
223
+ // Expertise
224
+ // ===========================================================================
225
+ getExpertises() {
226
+ return this.get("/expertises");
227
+ }
228
+ getExpertiseRules(expertiseId) {
229
+ return this.get(`/expertise-rules?expertiseId=${expertiseId}`);
230
+ }
231
+ createExpertise(params) {
232
+ return this.post("/expertises", params);
233
+ }
234
+ createExpertiseRule(params) {
235
+ return this.post("/expertise-rules", params);
236
+ }
237
+ // ===========================================================================
238
+ // Test Suites
239
+ // ===========================================================================
240
+ insertTestSuite(appId, testSuite) {
241
+ const body = { appId, testSuite };
242
+ return this.post("/test-suites", body);
243
+ }
244
+ getTestSuitesByApp(appId) {
245
+ return this.get(`/test-suites?appId=${appId}`);
246
+ }
247
+ getTestSuite(id) {
248
+ return this.get(`/test-suites/${id}`);
249
+ }
250
+ // ===========================================================================
251
+ // Report Emails
252
+ // ===========================================================================
253
+ createReportEmail(params) {
254
+ return this.post("/report-emails", params);
255
+ }
256
+ // ===========================================================================
257
+ // Components (deprecated — removed, use findOrCreateReusableHtmlElement)
258
+ // ===========================================================================
259
+ // ===========================================================================
260
+ // Html Elements
261
+ // ===========================================================================
262
+ findOrCreateHtmlElement(html, hash) {
263
+ return this.post("/html-elements", { html, hash });
264
+ }
265
+ // ===========================================================================
266
+ // Reusable Html Elements
267
+ // ===========================================================================
268
+ findOrCreateReusableHtmlElement(params) {
269
+ return this.post("/reusable-html-elements/find-or-create", params);
270
+ }
271
+ getReusableHtmlElements(appId) {
272
+ return this.get(`/reusable-html-elements?appId=${appId}`);
273
+ }
274
+ linkPageStateReusableElements(pageStateId, reusableHtmlElementIds) {
275
+ return this.post("/page-state-reusable-elements", {
276
+ pageStateId,
277
+ reusableHtmlElementIds,
278
+ });
279
+ }
280
+ // ===========================================================================
281
+ // Page State — Decomposed Matching
282
+ // ===========================================================================
283
+ findMatchingPageStateDecomposed(pageId, decomposedHashes, sizeClass) {
284
+ const qs = new URLSearchParams({
285
+ pageId: String(pageId),
286
+ sizeClass,
287
+ fixedBodyHash: decomposedHashes.fixedBodyHash,
288
+ reusableElementsHash: decomposedHashes.reusableElementsHash,
289
+ patternsHash: decomposedHashes.patternsHash,
290
+ });
291
+ return this.get(`/page-states/match-decomposed?${qs}`);
292
+ }
293
+ // ===========================================================================
294
+ // Page State Patterns
295
+ // ===========================================================================
296
+ insertPageStatePatterns(pageStateId, patterns) {
297
+ const body = { pageStateId, patterns };
298
+ return this.post("/page-state-patterns", body);
299
+ }
300
+ getPageStatePatterns(pageStateId) {
301
+ return this.get(`/page-state-patterns?pageStateId=${pageStateId}`);
302
+ }
303
+ // ===========================================================================
304
+ // Element Identities
305
+ // ===========================================================================
306
+ findOrCreateElementIdentity(params) {
307
+ return this.post("/element-identities", params);
308
+ }
309
+ getElementIdentitiesByApp(appId) {
310
+ return this.get(`/element-identities?appId=${appId}`);
311
+ }
312
+ updateElementIdentity(id, params) {
313
+ return this.patch(`/element-identities/${id}`, params);
314
+ }
315
+ }
316
+ // Singleton instance
317
+ let _client = null;
318
+ export function getApiClient(baseUrl, apiKey) {
319
+ if (!_client) {
320
+ if (!baseUrl || !apiKey) {
321
+ throw new Error("ApiClient not initialized. Call getApiClient(baseUrl, apiKey) first.");
322
+ }
323
+ _client = new ApiClient(baseUrl, apiKey);
324
+ }
325
+ return _client;
326
+ }
327
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAiEA,MAAM,OAAO,SAAS;IACZ,OAAO,CAAS;IAChB,MAAM,CAAS;IAEvB,YAAY,OAAe,EAAE,MAAc;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,IAAI,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,IAAI,CAAC,MAAM;aAC7B;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,IAAS,CAAC;IACxB,CAAC;IAEO,GAAG,CAAI,IAAY;QACzB,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,IAAI,CAAI,IAAY,EAAE,IAAa;QACzC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAI,IAAY,EAAE,IAAc;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,OAAO;IACP,8EAA8E;IAE9E,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,KAAa;QACzC,MAAM,IAAI,GAA0B,EAAE,KAAK,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,KAA4B;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,mBAAmB,CACjB,KAAa,EACb,KAAa,EACb,UAAkB;QAElB,MAAM,IAAI,GAA+B,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW,CACT,KAAa,EACb,SAAkB,EAClB,eAAwB,EACxB,MAA+B;QAE/B,MAAM,IAAI,GAAuB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,8EAA8E;IAC9E,OAAO;IACP,8EAA8E;IAE9E,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,QAAQ;IACR,8EAA8E;IAE9E,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,YAAoB;QAClD,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,MAAM,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,eAAe,CAAC,MAA8B;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB,CACnB,MAAc,EACd,MAAkB,EAClB,SAAiB;QAEjB,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E,qBAAqB,CACnB,aAAqB,EACrB,KAAuB;QAEvB,MAAM,IAAI,GAAiC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,qBAAqB,CACnB,aAAqB;QAErB,OAAO,IAAI,CAAC,GAAG,CAAC,mCAAmC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAC9E,sCAAsC;IACtC,8EAA8E;IAE9E,aAAa,CACX,KAAa,EACb,KAAa,EACb,WAAmB;QAEnB,MAAM,IAAI,GAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CACX,SAAiB,EACjB,KAAa,EACb,WAAmB;QAEnB,MAAM,IAAI,GAAyB,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB,CACd,SAAiB,EACjB,aAAqB,EACrB,SAAiB,EACjB,KAAa;QAEb,MAAM,IAAI,GAA4B;YACpC,SAAS;YACT,aAAa;YACb,SAAS;YACT,KAAK;SACN,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,uBAAuB,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,8EAA8E;IAC9E,QAAQ;IACR,8EAA8E;IAE9E,UAAU,CACR,WAAmB,EACnB,IAAc,EACd,QAAiB;QAEjB,MAAM,IAAI,GAAsB,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E,cAAc,CACZ,KAAa,EACb,QAAmC;QAEnC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E,aAAa,CAAC,MAA4B;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CACb,SAAiB,EACjB,MAA8B;QAE9B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,SAAS,WAAW,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,8EAA8E;IAC9E,wBAAwB;IACxB,8EAA8E;IAE9E,sBAAsB,CACpB,MAAc,EACd,WAAmB,EACnB,SAAkB;QAElB,MAAM,IAAI,GAAkC;YAC1C,MAAM;YACN,WAAW;YACX,SAAS;SACV,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,2BAA2B,CACzB,MAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,wBAAwB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,0BAA0B,KAAK,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,8EAA8E;IAC9E,6BAA6B;IAC7B,8EAA8E;IAE9E,gBAAgB,CACd,aAAqB,EACrB,YAAoB;QAEpB,MAAM,IAAI,GAAoC;YAC5C,aAAa;YACb,YAAY;SACb,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,eAAe,CACb,WAAmB,EACnB,UAAkB;QAElB,MAAM,IAAI,GAAmC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAE9E,gBAAgB,CACd,MAA+B;QAE/B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E,oBAAoB,CAClB,MAAmC;QAEnC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,WAAmB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,eAAe,CAAC,MAA8B;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,mBAAmB,CACjB,MAAkC;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E,eAAe,CACb,KAAa,EACb,SAAoB;QAEpB,MAAM,IAAI,GAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E,iBAAiB,CAAC,MAAgC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAC9E,yEAAyE;IACzE,8EAA8E;IAE9E,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E,uBAAuB,CACrB,IAAY,EACZ,IAAY;QAEZ,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAE9E,+BAA+B,CAC7B,MAA8C;QAE9C,OAAO,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,uBAAuB,CACrB,KAAa;QAEb,OAAO,IAAI,CAAC,GAAG,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,6BAA6B,CAC3B,WAAmB,EACnB,sBAAgC;QAEhC,OAAO,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,WAAW;YACX,sBAAsB;SACvB,CAAC,CAAC;IACL,CAAC;IACD,8EAA8E;IAC9E,mCAAmC;IACnC,8EAA8E;IAE9E,+BAA+B,CAC7B,MAAc,EACd,gBAAsC,EACtC,SAAiB;QAEjB,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,SAAS;YACT,aAAa,EAAE,gBAAgB,CAAC,aAAa;YAC7C,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB;YAC3D,YAAY,EAAE,gBAAgB,CAAC,YAAY;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E,uBAAuB,CACrB,WAAmB,EACnB,QAAqB;QAErB,MAAM,IAAI,GAAmC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,oBAAoB,CAClB,WAAmB;QAEnB,OAAO,IAAI,CAAC,GAAG,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAE9E,2BAA2B,CACzB,MAAoC;QAEpC,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,yBAAyB,CAAC,KAAa;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,qBAAqB,CACnB,EAAU,EACV,MAAoC;QAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;CACF;AAED,qBAAqB;AACrB,IAAI,OAAO,GAAqB,IAAI,CAAC;AAErC,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAe;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { BrowserAdapter } from "../adapter";
2
+ import type { DomSnapshotEntry } from "../extractors/types";
3
+ export declare function buildDomSnapshot(adapter: BrowserAdapter): Promise<DomSnapshotEntry[]>;
4
+ //# sourceMappingURL=dom-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-snapshot.d.ts","sourceRoot":"","sources":["../../src/browser/dom-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAma7B"}