@supernal/interface 1.0.8 → 1.0.11

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 (294) hide show
  1. package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
  2. package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
  3. package/dist/cjs/src/adapters/index.js +3 -4
  4. package/dist/cjs/src/adapters/index.js.map +1 -1
  5. package/dist/cjs/src/ai/AIInterface.js +111 -61
  6. package/dist/cjs/src/ai/AIInterface.js.map +1 -1
  7. package/dist/cjs/src/ai/ToolExecutor.js +36 -1
  8. package/dist/cjs/src/ai/ToolExecutor.js.map +1 -1
  9. package/dist/cjs/src/ai/ToolMatcher.js +6 -0
  10. package/dist/cjs/src/ai/ToolMatcher.js.map +1 -1
  11. package/dist/cjs/src/background/architecture/ArchitectureInitializer.js +13 -2
  12. package/dist/cjs/src/background/architecture/ArchitectureInitializer.js.map +1 -1
  13. package/dist/cjs/src/background/architecture/Containers.js +72 -2
  14. package/dist/cjs/src/background/architecture/Containers.js.map +1 -1
  15. package/dist/cjs/src/background/architecture/index.js +2 -1
  16. package/dist/cjs/src/background/architecture/index.js.map +1 -1
  17. package/dist/cjs/src/background/location/LocationContext.js +19 -2
  18. package/dist/cjs/src/background/location/LocationContext.js.map +1 -1
  19. package/dist/cjs/src/background/navigation/NavigationGraph.js +7 -0
  20. package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -1
  21. package/dist/cjs/src/background/registry/ComponentRegistry.js +0 -2
  22. package/dist/cjs/src/background/registry/ComponentRegistry.js.map +1 -1
  23. package/dist/cjs/src/background/registry/ToolRegistry.js +83 -123
  24. package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -1
  25. package/dist/cjs/src/browser.js +48 -1
  26. package/dist/cjs/src/browser.js.map +1 -1
  27. package/dist/cjs/src/decorators/Component.js +4 -5
  28. package/dist/cjs/src/decorators/Component.js.map +1 -1
  29. package/dist/cjs/src/decorators/ContainerHelpers.js +16 -1
  30. package/dist/cjs/src/decorators/ContainerHelpers.js.map +1 -1
  31. package/dist/cjs/src/decorators/Tool.js +3 -9
  32. package/dist/cjs/src/decorators/Tool.js.map +1 -1
  33. package/dist/cjs/src/decorators/ToolHelpers.js +1 -3
  34. package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -1
  35. package/dist/cjs/src/decorators/ToolPreset.js +14 -14
  36. package/dist/cjs/src/decorators/ToolPreset.js.map +1 -1
  37. package/dist/cjs/src/decorators/ToolProvider.js +30 -20
  38. package/dist/cjs/src/decorators/ToolProvider.js.map +1 -1
  39. package/dist/cjs/src/decorators/index.js +8 -13
  40. package/dist/cjs/src/decorators/index.js.map +1 -1
  41. package/dist/cjs/src/exposure/ExposureCollector.js +27 -0
  42. package/dist/cjs/src/exposure/ExposureCollector.js.map +1 -1
  43. package/dist/cjs/src/index.js +6 -9
  44. package/dist/cjs/src/index.js.map +1 -1
  45. package/dist/cjs/src/mcp/server.js +12 -14
  46. package/dist/cjs/src/mcp/server.js.map +1 -1
  47. package/dist/cjs/src/react/hooks/useChatWithContext.js +4 -10
  48. package/dist/cjs/src/react/hooks/useChatWithContext.js.map +1 -1
  49. package/dist/cjs/src/testing/graph-tester/core/GraphTester.js +339 -0
  50. package/dist/cjs/src/testing/graph-tester/core/GraphTester.js.map +1 -0
  51. package/dist/cjs/src/testing/graph-tester/core/TestFunction.js +189 -0
  52. package/dist/cjs/src/testing/graph-tester/core/TestFunction.js.map +1 -0
  53. package/dist/cjs/src/testing/graph-tester/core/types.js +24 -0
  54. package/dist/cjs/src/testing/graph-tester/core/types.js.map +1 -0
  55. package/dist/cjs/src/testing/graph-tester/fixtures/index.js +13 -0
  56. package/dist/cjs/src/testing/graph-tester/fixtures/index.js.map +1 -0
  57. package/dist/cjs/src/testing/graph-tester/fixtures/portPool.js +184 -0
  58. package/dist/cjs/src/testing/graph-tester/fixtures/portPool.js.map +1 -0
  59. package/dist/cjs/src/testing/graph-tester/index.js +98 -0
  60. package/dist/cjs/src/testing/graph-tester/index.js.map +1 -0
  61. package/dist/cjs/src/testing/graph-tester/modes/AccessibilityMode.js +230 -0
  62. package/dist/cjs/src/testing/graph-tester/modes/AccessibilityMode.js.map +1 -0
  63. package/dist/cjs/src/testing/graph-tester/modes/PerformanceMode.js +168 -0
  64. package/dist/cjs/src/testing/graph-tester/modes/PerformanceMode.js.map +1 -0
  65. package/dist/cjs/src/testing/graph-tester/modes/SEOMode.js +264 -0
  66. package/dist/cjs/src/testing/graph-tester/modes/SEOMode.js.map +1 -0
  67. package/dist/cjs/src/testing/graph-tester/modes/VisualRegressionMode.js +199 -0
  68. package/dist/cjs/src/testing/graph-tester/modes/VisualRegressionMode.js.map +1 -0
  69. package/dist/cjs/src/testing/graph-tester/modes/index.js +17 -0
  70. package/dist/cjs/src/testing/graph-tester/modes/index.js.map +1 -0
  71. package/dist/cjs/src/testing/graph-tester/reporters/HTMLReporter.js +411 -0
  72. package/dist/cjs/src/testing/graph-tester/reporters/HTMLReporter.js.map +1 -0
  73. package/dist/cjs/src/testing/graph-tester/reporters/JSONReporter.js +127 -0
  74. package/dist/cjs/src/testing/graph-tester/reporters/JSONReporter.js.map +1 -0
  75. package/dist/cjs/src/testing/graph-tester/reporters/MarkdownReporter.js +169 -0
  76. package/dist/cjs/src/testing/graph-tester/reporters/MarkdownReporter.js.map +1 -0
  77. package/dist/cjs/src/testing/graph-tester/reporters/UnifiedReporter.js +118 -0
  78. package/dist/cjs/src/testing/graph-tester/reporters/UnifiedReporter.js.map +1 -0
  79. package/dist/cjs/src/testing/graph-tester/reporters/index.js +17 -0
  80. package/dist/cjs/src/testing/graph-tester/reporters/index.js.map +1 -0
  81. package/dist/cjs/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js +47 -0
  82. package/dist/cjs/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js.map +1 -0
  83. package/dist/cjs/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js +584 -0
  84. package/dist/cjs/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js.map +1 -0
  85. package/dist/cjs/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js +376 -0
  86. package/dist/cjs/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js.map +1 -0
  87. package/dist/cjs/src/testing/graph-tester/screenshot/index.js +15 -0
  88. package/dist/cjs/src/testing/graph-tester/screenshot/index.js.map +1 -0
  89. package/dist/cjs/src/testing/graph-tester/screenshot/types.js +11 -0
  90. package/dist/cjs/src/testing/graph-tester/screenshot/types.js.map +1 -0
  91. package/dist/cjs/src/testing/selectors.js +1 -1
  92. package/dist/cjs/src/types/ComponentState.js.map +1 -1
  93. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts.map +1 -1
  94. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
  95. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
  96. package/dist/esm/src/adapters/index.d.ts +0 -2
  97. package/dist/esm/src/adapters/index.d.ts.map +1 -1
  98. package/dist/esm/src/adapters/index.js +2 -1
  99. package/dist/esm/src/adapters/index.js.map +1 -1
  100. package/dist/esm/src/adapters/types/index.d.ts +0 -2
  101. package/dist/esm/src/adapters/types/index.d.ts.map +1 -1
  102. package/dist/esm/src/ai/AIInterface.d.ts +5 -1
  103. package/dist/esm/src/ai/AIInterface.d.ts.map +1 -1
  104. package/dist/esm/src/ai/AIInterface.js +111 -61
  105. package/dist/esm/src/ai/AIInterface.js.map +1 -1
  106. package/dist/esm/src/ai/ToolExecutor.js +36 -1
  107. package/dist/esm/src/ai/ToolExecutor.js.map +1 -1
  108. package/dist/esm/src/ai/ToolMatcher.d.ts +1 -0
  109. package/dist/esm/src/ai/ToolMatcher.d.ts.map +1 -1
  110. package/dist/esm/src/ai/ToolMatcher.js +6 -0
  111. package/dist/esm/src/ai/ToolMatcher.js.map +1 -1
  112. package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts +1 -1
  113. package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts.map +1 -1
  114. package/dist/esm/src/background/architecture/ArchitectureInitializer.js +13 -2
  115. package/dist/esm/src/background/architecture/ArchitectureInitializer.js.map +1 -1
  116. package/dist/esm/src/background/architecture/Containers.d.ts +35 -2
  117. package/dist/esm/src/background/architecture/Containers.d.ts.map +1 -1
  118. package/dist/esm/src/background/architecture/Containers.js +70 -2
  119. package/dist/esm/src/background/architecture/Containers.js.map +1 -1
  120. package/dist/esm/src/background/architecture/index.d.ts +1 -1
  121. package/dist/esm/src/background/architecture/index.d.ts.map +1 -1
  122. package/dist/esm/src/background/architecture/index.js +1 -1
  123. package/dist/esm/src/background/architecture/index.js.map +1 -1
  124. package/dist/esm/src/background/location/LocationContext.d.ts +3 -2
  125. package/dist/esm/src/background/location/LocationContext.d.ts.map +1 -1
  126. package/dist/esm/src/background/location/LocationContext.js +19 -2
  127. package/dist/esm/src/background/location/LocationContext.js.map +1 -1
  128. package/dist/esm/src/background/navigation/NavigationGraph.d.ts +5 -0
  129. package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -1
  130. package/dist/esm/src/background/navigation/NavigationGraph.js +7 -0
  131. package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -1
  132. package/dist/esm/src/background/registry/ComponentRegistry.d.ts +0 -4
  133. package/dist/esm/src/background/registry/ComponentRegistry.d.ts.map +1 -1
  134. package/dist/esm/src/background/registry/ComponentRegistry.js +0 -2
  135. package/dist/esm/src/background/registry/ComponentRegistry.js.map +1 -1
  136. package/dist/esm/src/background/registry/ToolRegistry.d.ts +24 -38
  137. package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -1
  138. package/dist/esm/src/background/registry/ToolRegistry.js +81 -121
  139. package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -1
  140. package/dist/esm/src/browser.d.ts +12 -1
  141. package/dist/esm/src/browser.d.ts.map +1 -1
  142. package/dist/esm/src/browser.js +17 -1
  143. package/dist/esm/src/browser.js.map +1 -1
  144. package/dist/esm/src/decorators/Component.d.ts +1 -8
  145. package/dist/esm/src/decorators/Component.d.ts.map +1 -1
  146. package/dist/esm/src/decorators/Component.js +4 -5
  147. package/dist/esm/src/decorators/Component.js.map +1 -1
  148. package/dist/esm/src/decorators/ContainerHelpers.d.ts +2 -1
  149. package/dist/esm/src/decorators/ContainerHelpers.d.ts.map +1 -1
  150. package/dist/esm/src/decorators/ContainerHelpers.js +16 -1
  151. package/dist/esm/src/decorators/ContainerHelpers.js.map +1 -1
  152. package/dist/esm/src/decorators/Tool.d.ts +1 -6
  153. package/dist/esm/src/decorators/Tool.d.ts.map +1 -1
  154. package/dist/esm/src/decorators/Tool.js +3 -9
  155. package/dist/esm/src/decorators/Tool.js.map +1 -1
  156. package/dist/esm/src/decorators/ToolHelpers.d.ts.map +1 -1
  157. package/dist/esm/src/decorators/ToolHelpers.js +1 -3
  158. package/dist/esm/src/decorators/ToolHelpers.js.map +1 -1
  159. package/dist/esm/src/decorators/ToolPreset.d.ts +12 -9
  160. package/dist/esm/src/decorators/ToolPreset.d.ts.map +1 -1
  161. package/dist/esm/src/decorators/ToolPreset.js +13 -13
  162. package/dist/esm/src/decorators/ToolPreset.js.map +1 -1
  163. package/dist/esm/src/decorators/ToolProvider.d.ts +5 -21
  164. package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -1
  165. package/dist/esm/src/decorators/ToolProvider.js +30 -19
  166. package/dist/esm/src/decorators/ToolProvider.js.map +1 -1
  167. package/dist/esm/src/decorators/index.d.ts +6 -12
  168. package/dist/esm/src/decorators/index.d.ts.map +1 -1
  169. package/dist/esm/src/decorators/index.js +7 -12
  170. package/dist/esm/src/decorators/index.js.map +1 -1
  171. package/dist/esm/src/exposure/ExposureCollector.d.ts +8 -0
  172. package/dist/esm/src/exposure/ExposureCollector.d.ts.map +1 -1
  173. package/dist/esm/src/exposure/ExposureCollector.js +27 -0
  174. package/dist/esm/src/exposure/ExposureCollector.js.map +1 -1
  175. package/dist/esm/src/index.d.ts +5 -6
  176. package/dist/esm/src/index.d.ts.map +1 -1
  177. package/dist/esm/src/index.js +5 -6
  178. package/dist/esm/src/index.js.map +1 -1
  179. package/dist/esm/src/mcp/server.d.ts +1 -1
  180. package/dist/esm/src/mcp/server.d.ts.map +1 -1
  181. package/dist/esm/src/mcp/server.js +12 -14
  182. package/dist/esm/src/mcp/server.js.map +1 -1
  183. package/dist/esm/src/react/hooks/useChatWithContext.d.ts +0 -2
  184. package/dist/esm/src/react/hooks/useChatWithContext.d.ts.map +1 -1
  185. package/dist/esm/src/react/hooks/useChatWithContext.js +4 -10
  186. package/dist/esm/src/react/hooks/useChatWithContext.js.map +1 -1
  187. package/dist/esm/src/testing/graph-tester/core/GraphTester.d.ts +110 -0
  188. package/dist/esm/src/testing/graph-tester/core/GraphTester.d.ts.map +1 -0
  189. package/dist/esm/src/testing/graph-tester/core/GraphTester.js +335 -0
  190. package/dist/esm/src/testing/graph-tester/core/GraphTester.js.map +1 -0
  191. package/dist/esm/src/testing/graph-tester/core/TestFunction.d.ts +120 -0
  192. package/dist/esm/src/testing/graph-tester/core/TestFunction.d.ts.map +1 -0
  193. package/dist/esm/src/testing/graph-tester/core/TestFunction.js +184 -0
  194. package/dist/esm/src/testing/graph-tester/core/TestFunction.js.map +1 -0
  195. package/dist/esm/src/testing/graph-tester/core/types.d.ts +331 -0
  196. package/dist/esm/src/testing/graph-tester/core/types.d.ts.map +1 -0
  197. package/dist/esm/src/testing/graph-tester/core/types.js +21 -0
  198. package/dist/esm/src/testing/graph-tester/core/types.js.map +1 -0
  199. package/dist/esm/src/testing/graph-tester/fixtures/index.d.ts +8 -0
  200. package/dist/esm/src/testing/graph-tester/fixtures/index.d.ts.map +1 -0
  201. package/dist/esm/src/testing/graph-tester/fixtures/index.js +7 -0
  202. package/dist/esm/src/testing/graph-tester/fixtures/index.js.map +1 -0
  203. package/dist/esm/src/testing/graph-tester/fixtures/portPool.d.ts +40 -0
  204. package/dist/esm/src/testing/graph-tester/fixtures/portPool.d.ts.map +1 -0
  205. package/dist/esm/src/testing/graph-tester/fixtures/portPool.js +147 -0
  206. package/dist/esm/src/testing/graph-tester/fixtures/portPool.js.map +1 -0
  207. package/dist/esm/src/testing/graph-tester/index.d.ts +84 -0
  208. package/dist/esm/src/testing/graph-tester/index.d.ts.map +1 -0
  209. package/dist/esm/src/testing/graph-tester/index.js +77 -0
  210. package/dist/esm/src/testing/graph-tester/index.js.map +1 -0
  211. package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.d.ts +40 -0
  212. package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.d.ts.map +1 -0
  213. package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.js +193 -0
  214. package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.js.map +1 -0
  215. package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.d.ts +42 -0
  216. package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.d.ts.map +1 -0
  217. package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.js +131 -0
  218. package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.js.map +1 -0
  219. package/dist/esm/src/testing/graph-tester/modes/SEOMode.d.ts +39 -0
  220. package/dist/esm/src/testing/graph-tester/modes/SEOMode.d.ts.map +1 -0
  221. package/dist/esm/src/testing/graph-tester/modes/SEOMode.js +227 -0
  222. package/dist/esm/src/testing/graph-tester/modes/SEOMode.js.map +1 -0
  223. package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.d.ts +83 -0
  224. package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.d.ts.map +1 -0
  225. package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.js +162 -0
  226. package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.js.map +1 -0
  227. package/dist/esm/src/testing/graph-tester/modes/index.d.ts +14 -0
  228. package/dist/esm/src/testing/graph-tester/modes/index.d.ts.map +1 -0
  229. package/dist/esm/src/testing/graph-tester/modes/index.js +10 -0
  230. package/dist/esm/src/testing/graph-tester/modes/index.js.map +1 -0
  231. package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.d.ts +38 -0
  232. package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.d.ts.map +1 -0
  233. package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.js +374 -0
  234. package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.js.map +1 -0
  235. package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.d.ts +50 -0
  236. package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.d.ts.map +1 -0
  237. package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.js +90 -0
  238. package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.js.map +1 -0
  239. package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.d.ts +33 -0
  240. package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.d.ts.map +1 -0
  241. package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.js +132 -0
  242. package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.js.map +1 -0
  243. package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.d.ts +30 -0
  244. package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.d.ts.map +1 -0
  245. package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.js +81 -0
  246. package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.js.map +1 -0
  247. package/dist/esm/src/testing/graph-tester/reporters/index.d.ts +14 -0
  248. package/dist/esm/src/testing/graph-tester/reporters/index.d.ts.map +1 -0
  249. package/dist/esm/src/testing/graph-tester/reporters/index.js +10 -0
  250. package/dist/esm/src/testing/graph-tester/reporters/index.js.map +1 -0
  251. package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.d.ts +33 -0
  252. package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.d.ts.map +1 -0
  253. package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js +43 -0
  254. package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js.map +1 -0
  255. package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.d.ts +70 -0
  256. package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.d.ts.map +1 -0
  257. package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js +547 -0
  258. package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js.map +1 -0
  259. package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.d.ts +83 -0
  260. package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.d.ts.map +1 -0
  261. package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js +339 -0
  262. package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js.map +1 -0
  263. package/dist/esm/src/testing/graph-tester/screenshot/index.d.ts +11 -0
  264. package/dist/esm/src/testing/graph-tester/screenshot/index.d.ts.map +1 -0
  265. package/dist/esm/src/testing/graph-tester/screenshot/index.js +9 -0
  266. package/dist/esm/src/testing/graph-tester/screenshot/index.js.map +1 -0
  267. package/dist/esm/src/testing/graph-tester/screenshot/types.d.ts +331 -0
  268. package/dist/esm/src/testing/graph-tester/screenshot/types.d.ts.map +1 -0
  269. package/dist/esm/src/testing/graph-tester/screenshot/types.js +10 -0
  270. package/dist/esm/src/testing/graph-tester/screenshot/types.js.map +1 -0
  271. package/dist/esm/src/testing/selectors.d.ts +1 -1
  272. package/dist/esm/src/testing/selectors.js +1 -1
  273. package/dist/esm/src/types/ComponentState.d.ts +0 -4
  274. package/dist/esm/src/types/ComponentState.d.ts.map +1 -1
  275. package/dist/esm/src/types/ComponentState.js.map +1 -1
  276. package/package.json +22 -8
  277. package/dist/cjs/src/adapters/native/NativeAdapter.js +0 -268
  278. package/dist/cjs/src/adapters/native/NativeAdapter.js.map +0 -1
  279. package/dist/cjs/src/adapters/native/index.js +0 -10
  280. package/dist/cjs/src/adapters/native/index.js.map +0 -1
  281. package/dist/cjs/src/ui/react/chat/ChatBubble.js +0 -221
  282. package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +0 -1
  283. package/dist/esm/src/adapters/native/NativeAdapter.d.ts +0 -47
  284. package/dist/esm/src/adapters/native/NativeAdapter.d.ts.map +0 -1
  285. package/dist/esm/src/adapters/native/NativeAdapter.js +0 -230
  286. package/dist/esm/src/adapters/native/NativeAdapter.js.map +0 -1
  287. package/dist/esm/src/adapters/native/index.d.ts +0 -6
  288. package/dist/esm/src/adapters/native/index.d.ts.map +0 -1
  289. package/dist/esm/src/adapters/native/index.js +0 -5
  290. package/dist/esm/src/adapters/native/index.js.map +0 -1
  291. package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +0 -27
  292. package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +0 -1
  293. package/dist/esm/src/ui/react/chat/ChatBubble.js +0 -184
  294. package/dist/esm/src/ui/react/chat/ChatBubble.js.map +0 -1
@@ -0,0 +1,339 @@
1
+ /**
2
+ * Core screenshot annotation capture logic.
3
+ *
4
+ * Captures full-page screenshots with element annotations including:
5
+ * - Bounding boxes (viewport and page coordinates)
6
+ * - Element metadata (testid, tag, attributes, styles)
7
+ * - Interaction capabilities
8
+ * - Element hierarchy (parent/child relationships)
9
+ * - ARIA attributes for accessibility analysis
10
+ *
11
+ * Uses single-pass DOM traversal for efficiency.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ import * as fs from 'fs/promises';
16
+ import * as path from 'path';
17
+ /**
18
+ * Screenshot annotator.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const annotator = new ScreenshotAnnotator({
23
+ * outputDir: './screenshots',
24
+ * fullPage: true
25
+ * });
26
+ *
27
+ * const result = await annotator.capture(page, '/dashboard');
28
+ * console.log(`Captured ${result.annotations.length} annotations`);
29
+ * ```
30
+ */
31
+ export class ScreenshotAnnotator {
32
+ constructor(config) {
33
+ this.config = {
34
+ fullPage: true,
35
+ includeInvisible: false,
36
+ minElementSize: 5,
37
+ detectNavigation: true,
38
+ captureLoadMetrics: true,
39
+ ...config,
40
+ };
41
+ }
42
+ /**
43
+ * Capture annotated screenshot for a page.
44
+ *
45
+ * @param page - Playwright page instance
46
+ * @param route - Route being captured
47
+ * @param viewportName - Optional viewport name for responsive testing
48
+ * @returns Annotated screenshot
49
+ */
50
+ async capture(page, route, viewportName) {
51
+ const startTime = Date.now();
52
+ // Ensure output directory exists
53
+ await fs.mkdir(this.config.outputDir, { recursive: true });
54
+ // Capture screenshot
55
+ const screenshotFilename = this.generateScreenshotFilename(route, viewportName);
56
+ const screenshotPath = path.join(this.config.outputDir, screenshotFilename);
57
+ const screenshot = await page.screenshot({
58
+ path: screenshotPath,
59
+ fullPage: this.config.fullPage,
60
+ type: 'png',
61
+ });
62
+ // Extract element annotations (single-pass DOM traversal)
63
+ const annotations = await this.extractAnnotations(page);
64
+ // Extract page metadata
65
+ const pageMetadata = await this.extractPageMetadata(page);
66
+ const result = {
67
+ route,
68
+ screenshot: Buffer.from(screenshot),
69
+ screenshotPath,
70
+ annotations,
71
+ pageMetadata,
72
+ timestamp: new Date(),
73
+ };
74
+ // Save annotation JSON
75
+ const annotationFilename = screenshotFilename.replace('.png', '.json');
76
+ const annotationPath = path.join(this.config.outputDir, annotationFilename);
77
+ await fs.writeFile(annotationPath, JSON.stringify(result, null, 2));
78
+ console.log(`Captured screenshot in ${Date.now() - startTime}ms: ${screenshotPath}`);
79
+ console.log(` Annotations: ${annotations.length}`);
80
+ console.log(` Annotation JSON: ${annotationPath}`);
81
+ return result;
82
+ }
83
+ /**
84
+ * Extract element annotations via single-pass DOM traversal.
85
+ *
86
+ * @param page - Playwright page instance
87
+ * @returns Array of element annotations
88
+ */
89
+ async extractAnnotations(page) {
90
+ const config = this.config;
91
+ // Single-pass DOM traversal in browser context
92
+ const rawAnnotations = await page.evaluate(({ includeInvisible, minElementSize, detectNavigation }) => {
93
+ const annotations = [];
94
+ const elementMap = new Map(); // Element -> ID mapping
95
+ let idCounter = 0;
96
+ // Get all elements
97
+ const allElements = Array.from(document.querySelectorAll('*'));
98
+ for (const element of allElements) {
99
+ // Generate unique ID
100
+ const elementId = `elem-${idCounter++}`;
101
+ elementMap.set(element, elementId);
102
+ // Get bounding box
103
+ const rect = element.getBoundingClientRect();
104
+ // Skip elements below minimum size
105
+ if (rect.width < minElementSize || rect.height < minElementSize) {
106
+ continue;
107
+ }
108
+ // Get computed styles
109
+ const computedStyle = window.getComputedStyle(element);
110
+ // Check visibility
111
+ const isVisible = computedStyle.visibility !== 'hidden' &&
112
+ computedStyle.display !== 'none' &&
113
+ parseFloat(computedStyle.opacity) > 0 &&
114
+ rect.width > 0 &&
115
+ rect.height > 0;
116
+ // Skip invisible elements if configured
117
+ if (!includeInvisible && !isVisible) {
118
+ continue;
119
+ }
120
+ // Get viewport bounding box
121
+ const boundingBox = {
122
+ x: rect.left,
123
+ y: rect.top,
124
+ width: rect.width,
125
+ height: rect.height,
126
+ };
127
+ // Get page bounding box (for full-page screenshots)
128
+ const pageBoundingBox = {
129
+ x: rect.left + window.scrollX,
130
+ y: rect.top + window.scrollY,
131
+ width: rect.width,
132
+ height: rect.height,
133
+ };
134
+ // Get attributes
135
+ const attributes = {};
136
+ for (const attr of Array.from(element.attributes)) {
137
+ attributes[attr.name] = attr.value;
138
+ }
139
+ // Get ARIA attributes
140
+ const ariaAttributes = {};
141
+ for (const attr of Array.from(element.attributes)) {
142
+ if (attr.name.startsWith('aria-')) {
143
+ ariaAttributes[attr.name] = attr.value;
144
+ }
145
+ }
146
+ // Detect interaction capabilities
147
+ const interactions = [];
148
+ const tagName = element.tagName.toLowerCase();
149
+ // Clickable elements
150
+ if (tagName === 'button' ||
151
+ tagName === 'a' ||
152
+ attributes.role === 'button' ||
153
+ attributes.onclick ||
154
+ computedStyle.cursor === 'pointer') {
155
+ interactions.push({ type: 'click', hasHandler: !!attributes.onclick });
156
+ }
157
+ // Input elements
158
+ if (tagName === 'input' ||
159
+ tagName === 'textarea' ||
160
+ attributes.contenteditable === 'true') {
161
+ interactions.push({ type: 'input', hasHandler: true });
162
+ }
163
+ // Select elements
164
+ if (tagName === 'select') {
165
+ interactions.push({ type: 'select', hasHandler: true });
166
+ }
167
+ // Focusable elements
168
+ if (element.hasAttribute('tabindex') ||
169
+ ['input', 'button', 'a', 'select', 'textarea'].includes(tagName)) {
170
+ interactions.push({ type: 'focus', hasHandler: true });
171
+ }
172
+ // Hoverable elements (with hover effects)
173
+ const hoverSelector = `:hover`;
174
+ if (attributes.onmouseover || attributes.onmouseenter) {
175
+ interactions.push({ type: 'hover', hasHandler: true });
176
+ }
177
+ // Detect navigation targets
178
+ let navigationTarget = undefined;
179
+ if (detectNavigation && tagName === 'a' && attributes.href) {
180
+ navigationTarget = {
181
+ target: attributes.href,
182
+ method: 'link',
183
+ href: attributes.href,
184
+ opensInNewTab: attributes.target === '_blank',
185
+ };
186
+ }
187
+ // Get parent ID
188
+ let parentId = undefined;
189
+ if (element.parentElement) {
190
+ parentId = elementMap.get(element.parentElement);
191
+ }
192
+ // Get child IDs
193
+ const childIds = [];
194
+ for (const child of Array.from(element.children)) {
195
+ const childId = elementMap.get(child);
196
+ if (childId) {
197
+ childIds.push(childId);
198
+ }
199
+ }
200
+ // Build annotation
201
+ const annotation = {
202
+ id: elementId,
203
+ selector: getCssSelector(element),
204
+ testId: attributes['data-testid'],
205
+ tagName,
206
+ boundingBox,
207
+ pageBoundingBox,
208
+ computedStyles: {
209
+ backgroundColor: computedStyle.backgroundColor,
210
+ color: computedStyle.color,
211
+ fontFamily: computedStyle.fontFamily,
212
+ fontSize: computedStyle.fontSize,
213
+ fontWeight: computedStyle.fontWeight,
214
+ display: computedStyle.display,
215
+ position: computedStyle.position,
216
+ opacity: computedStyle.opacity,
217
+ visibility: computedStyle.visibility,
218
+ border: computedStyle.border,
219
+ borderRadius: computedStyle.borderRadius,
220
+ padding: computedStyle.padding,
221
+ margin: computedStyle.margin,
222
+ },
223
+ textContent: element.textContent?.trim().substring(0, 200) || undefined,
224
+ attributes,
225
+ isInteractive: interactions.length > 0,
226
+ interactions,
227
+ navigationTarget,
228
+ parentId,
229
+ childIds,
230
+ ariaAttributes,
231
+ isVisible,
232
+ zIndex: parseInt(computedStyle.zIndex) || 0,
233
+ };
234
+ annotations.push(annotation);
235
+ }
236
+ // Helper: Generate CSS selector for element
237
+ function getCssSelector(element) {
238
+ if (element.id) {
239
+ return `#${element.id}`;
240
+ }
241
+ if (element.getAttribute('data-testid')) {
242
+ return `[data-testid="${element.getAttribute('data-testid')}"]`;
243
+ }
244
+ const path = [];
245
+ let current = element;
246
+ while (current && current.nodeType === Node.ELEMENT_NODE) {
247
+ let selector = current.tagName.toLowerCase();
248
+ if (current.id) {
249
+ selector += `#${current.id}`;
250
+ path.unshift(selector);
251
+ break;
252
+ }
253
+ const siblings = current.parentElement
254
+ ? Array.from(current.parentElement.children)
255
+ : [];
256
+ if (siblings.length > 1) {
257
+ const index = siblings.indexOf(current) + 1;
258
+ selector += `:nth-child(${index})`;
259
+ }
260
+ path.unshift(selector);
261
+ current = current.parentElement;
262
+ }
263
+ return path.join(' > ');
264
+ }
265
+ return annotations;
266
+ }, {
267
+ includeInvisible: this.config.includeInvisible || false,
268
+ minElementSize: this.config.minElementSize || 5,
269
+ detectNavigation: this.config.detectNavigation !== false,
270
+ });
271
+ return rawAnnotations;
272
+ }
273
+ /**
274
+ * Extract page metadata.
275
+ *
276
+ * @param page - Playwright page instance
277
+ * @returns Page metadata
278
+ */
279
+ async extractPageMetadata(page) {
280
+ const pageData = await page.evaluate(() => {
281
+ // Get meta tags
282
+ const metaTags = {};
283
+ const metaElements = Array.from(document.querySelectorAll('meta'));
284
+ for (const meta of metaElements) {
285
+ const name = meta.getAttribute('name') || meta.getAttribute('property') || '';
286
+ const content = meta.getAttribute('content') || '';
287
+ if (name) {
288
+ metaTags[name] = content;
289
+ }
290
+ }
291
+ // Get page size
292
+ const pageSize = {
293
+ width: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.offsetWidth, document.documentElement.clientWidth),
294
+ height: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.documentElement.clientHeight),
295
+ };
296
+ // Get load metrics
297
+ const perfData = performance.getEntriesByType('navigation')[0];
298
+ const loadMetrics = perfData
299
+ ? {
300
+ domContentLoaded: perfData.domContentLoadedEventEnd - perfData.domContentLoadedEventStart,
301
+ loadComplete: perfData.loadEventEnd - perfData.loadEventStart,
302
+ }
303
+ : undefined;
304
+ return {
305
+ title: document.title,
306
+ url: window.location.href,
307
+ metaTags,
308
+ pageSize,
309
+ loadMetrics,
310
+ };
311
+ });
312
+ const viewport = page.viewportSize() || { width: 1280, height: 720 };
313
+ return {
314
+ ...pageData,
315
+ viewport,
316
+ };
317
+ }
318
+ /**
319
+ * Generate screenshot filename from route and viewport.
320
+ *
321
+ * @param route - Route path
322
+ * @param viewportName - Optional viewport name
323
+ * @returns Sanitized filename
324
+ */
325
+ generateScreenshotFilename(route, viewportName) {
326
+ // Sanitize route for filename
327
+ let filename = route.replace(/^\//, '').replace(/\//g, '-') || 'home';
328
+ // Remove query params and hash
329
+ filename = filename.split('?')[0].split('#')[0];
330
+ // Add viewport name if provided
331
+ if (viewportName) {
332
+ filename = `${filename}-${viewportName}`;
333
+ }
334
+ // Add timestamp
335
+ const timestamp = Date.now();
336
+ return `${filename}-${timestamp}.png`;
337
+ }
338
+ }
339
+ //# sourceMappingURL=ScreenshotAnnotator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenshotAnnotator.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/screenshot/ScreenshotAnnotator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Screenshot annotation system exports.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export { ScreenshotAnnotator } from './ScreenshotAnnotator';
7
+ export type { ScreenshotAnnotatorConfig } from './ScreenshotAnnotator';
8
+ export { HTMLAnnotationRenderer } from './HTMLAnnotationRenderer';
9
+ export { CanvasAnnotationRenderer } from './CanvasAnnotationRenderer';
10
+ export type * from './types';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/screenshot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Screenshot annotation system exports.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ export { ScreenshotAnnotator } from './ScreenshotAnnotator.js';
7
+ export { HTMLAnnotationRenderer } from './HTMLAnnotationRenderer.js';
8
+ export { CanvasAnnotationRenderer } from './CanvasAnnotationRenderer.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/screenshot/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}