athena-browser-mcp 1.0.3 → 2.0.2

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 (406) hide show
  1. package/README.md +131 -300
  2. package/dist/src/browser/index.d.ts +8 -0
  3. package/dist/src/browser/index.d.ts.map +1 -0
  4. package/dist/src/browser/index.js +8 -0
  5. package/dist/src/browser/index.js.map +1 -0
  6. package/dist/src/browser/page-registry.d.ts +126 -0
  7. package/dist/src/browser/page-registry.d.ts.map +1 -0
  8. package/dist/src/browser/page-registry.js +185 -0
  9. package/dist/src/browser/page-registry.js.map +1 -0
  10. package/dist/src/browser/session-manager.d.ts +246 -0
  11. package/dist/src/browser/session-manager.d.ts.map +1 -0
  12. package/dist/src/browser/session-manager.js +619 -0
  13. package/dist/src/browser/session-manager.js.map +1 -0
  14. package/dist/src/cdp/cdp-client.interface.d.ts +184 -0
  15. package/dist/src/cdp/cdp-client.interface.d.ts.map +1 -0
  16. package/dist/src/cdp/cdp-client.interface.js +9 -0
  17. package/dist/src/cdp/cdp-client.interface.js.map +1 -0
  18. package/dist/src/cdp/index.d.ts +9 -0
  19. package/dist/src/cdp/index.d.ts.map +1 -0
  20. package/dist/src/cdp/index.js +8 -0
  21. package/dist/src/cdp/index.js.map +1 -0
  22. package/dist/src/cdp/playwright-cdp-client.d.ts +84 -0
  23. package/dist/src/cdp/playwright-cdp-client.d.ts.map +1 -0
  24. package/dist/src/cdp/playwright-cdp-client.js +239 -0
  25. package/dist/src/cdp/playwright-cdp-client.js.map +1 -0
  26. package/dist/src/factpack/action-selector.d.ts +36 -0
  27. package/dist/src/factpack/action-selector.d.ts.map +1 -0
  28. package/dist/src/factpack/action-selector.js +367 -0
  29. package/dist/src/factpack/action-selector.js.map +1 -0
  30. package/dist/src/factpack/dialog-detector.d.ts +19 -0
  31. package/dist/src/factpack/dialog-detector.d.ts.map +1 -0
  32. package/dist/src/factpack/dialog-detector.js +354 -0
  33. package/dist/src/factpack/dialog-detector.js.map +1 -0
  34. package/dist/src/factpack/form-detector.d.ts +28 -0
  35. package/dist/src/factpack/form-detector.d.ts.map +1 -0
  36. package/dist/src/factpack/form-detector.js +555 -0
  37. package/dist/src/factpack/form-detector.js.map +1 -0
  38. package/dist/src/factpack/index.d.ts +32 -0
  39. package/dist/src/factpack/index.d.ts.map +1 -0
  40. package/dist/src/factpack/index.js +73 -0
  41. package/dist/src/factpack/index.js.map +1 -0
  42. package/dist/src/factpack/page-classifier.d.ts +22 -0
  43. package/dist/src/factpack/page-classifier.d.ts.map +1 -0
  44. package/dist/src/factpack/page-classifier.js +526 -0
  45. package/dist/src/factpack/page-classifier.js.map +1 -0
  46. package/dist/src/factpack/types.d.ts +307 -0
  47. package/dist/src/factpack/types.d.ts.map +1 -0
  48. package/dist/src/factpack/types.js +12 -0
  49. package/dist/src/factpack/types.js.map +1 -0
  50. package/dist/src/index.d.ts +6 -2
  51. package/dist/src/index.d.ts.map +1 -1
  52. package/dist/src/index.js +130 -83
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/lib/constants.d.ts +27 -0
  55. package/dist/src/lib/constants.d.ts.map +1 -0
  56. package/dist/src/lib/constants.js +63 -0
  57. package/dist/src/lib/constants.js.map +1 -0
  58. package/dist/src/lib/index.d.ts +12 -0
  59. package/dist/src/lib/index.d.ts.map +1 -0
  60. package/dist/src/lib/index.js +17 -0
  61. package/dist/src/lib/index.js.map +1 -0
  62. package/dist/src/lib/regions.d.ts +29 -0
  63. package/dist/src/lib/regions.d.ts.map +1 -0
  64. package/dist/src/lib/regions.js +93 -0
  65. package/dist/src/lib/regions.js.map +1 -0
  66. package/dist/src/lib/scoring.d.ts +47 -0
  67. package/dist/src/lib/scoring.d.ts.map +1 -0
  68. package/dist/src/lib/scoring.js +79 -0
  69. package/dist/src/lib/scoring.js.map +1 -0
  70. package/dist/src/lib/selectors.d.ts +42 -0
  71. package/dist/src/lib/selectors.d.ts.map +1 -0
  72. package/dist/src/lib/selectors.js +138 -0
  73. package/dist/src/lib/selectors.js.map +1 -0
  74. package/dist/src/lib/text-utils.d.ts +138 -0
  75. package/dist/src/lib/text-utils.d.ts.map +1 -0
  76. package/dist/src/lib/text-utils.js +347 -0
  77. package/dist/src/lib/text-utils.js.map +1 -0
  78. package/dist/src/query/index.d.ts +9 -0
  79. package/dist/src/query/index.d.ts.map +1 -0
  80. package/dist/src/query/index.js +10 -0
  81. package/dist/src/query/index.js.map +1 -0
  82. package/dist/src/query/query-engine.d.ts +111 -0
  83. package/dist/src/query/query-engine.d.ts.map +1 -0
  84. package/dist/src/query/query-engine.js +509 -0
  85. package/dist/src/query/query-engine.js.map +1 -0
  86. package/dist/src/query/types/index.d.ts +5 -0
  87. package/dist/src/query/types/index.d.ts.map +1 -0
  88. package/dist/src/query/types/index.js +5 -0
  89. package/dist/src/query/types/index.js.map +1 -0
  90. package/dist/src/query/types/query.types.d.ts +141 -0
  91. package/dist/src/query/types/query.types.d.ts.map +1 -0
  92. package/dist/src/query/types/query.types.js +19 -0
  93. package/dist/src/query/types/query.types.js.map +1 -0
  94. package/dist/src/renderer/budget-manager.d.ts +46 -0
  95. package/dist/src/renderer/budget-manager.d.ts.map +1 -0
  96. package/dist/src/renderer/budget-manager.js +133 -0
  97. package/dist/src/renderer/budget-manager.js.map +1 -0
  98. package/dist/src/renderer/constants.d.ts +38 -0
  99. package/dist/src/renderer/constants.d.ts.map +1 -0
  100. package/dist/src/renderer/constants.js +29 -0
  101. package/dist/src/renderer/constants.js.map +1 -0
  102. package/dist/src/renderer/index.d.ts +12 -0
  103. package/dist/src/renderer/index.d.ts.map +1 -0
  104. package/dist/src/renderer/index.js +16 -0
  105. package/dist/src/renderer/index.js.map +1 -0
  106. package/dist/src/renderer/section-renderers.d.ts +42 -0
  107. package/dist/src/renderer/section-renderers.d.ts.map +1 -0
  108. package/dist/src/renderer/section-renderers.js +252 -0
  109. package/dist/src/renderer/section-renderers.js.map +1 -0
  110. package/dist/src/renderer/token-counter.d.ts +45 -0
  111. package/dist/src/renderer/token-counter.d.ts.map +1 -0
  112. package/dist/src/renderer/token-counter.js +65 -0
  113. package/dist/src/renderer/token-counter.js.map +1 -0
  114. package/dist/src/renderer/types.d.ts +71 -0
  115. package/dist/src/renderer/types.d.ts.map +1 -0
  116. package/dist/src/renderer/types.js +7 -0
  117. package/dist/src/renderer/types.js.map +1 -0
  118. package/dist/src/renderer/xml-renderer.d.ts +42 -0
  119. package/dist/src/renderer/xml-renderer.d.ts.map +1 -0
  120. package/dist/src/renderer/xml-renderer.js +103 -0
  121. package/dist/src/renderer/xml-renderer.js.map +1 -0
  122. package/dist/src/server/index.d.ts +8 -0
  123. package/dist/src/server/index.d.ts.map +1 -0
  124. package/dist/src/server/index.js +8 -0
  125. package/dist/src/server/index.js.map +1 -0
  126. package/dist/src/server/mcp-server.d.ts +24 -30
  127. package/dist/src/server/mcp-server.d.ts.map +1 -1
  128. package/dist/src/server/mcp-server.js +68 -321
  129. package/dist/src/server/mcp-server.js.map +1 -1
  130. package/dist/src/server/session-store.d.ts +148 -0
  131. package/dist/src/server/session-store.d.ts.map +1 -0
  132. package/dist/src/server/session-store.js +224 -0
  133. package/dist/src/server/session-store.js.map +1 -0
  134. package/dist/src/shared/errors/browser-session.error.d.ts +102 -0
  135. package/dist/src/shared/errors/browser-session.error.d.ts.map +1 -0
  136. package/dist/src/shared/errors/browser-session.error.js +153 -0
  137. package/dist/src/shared/errors/browser-session.error.js.map +1 -0
  138. package/dist/src/shared/errors/index.d.ts +2 -6
  139. package/dist/src/shared/errors/index.d.ts.map +1 -1
  140. package/dist/src/shared/errors/index.js +2 -6
  141. package/dist/src/shared/errors/index.js.map +1 -1
  142. package/dist/src/shared/services/index.d.ts +1 -3
  143. package/dist/src/shared/services/index.d.ts.map +1 -1
  144. package/dist/src/shared/services/index.js +1 -3
  145. package/dist/src/shared/services/index.js.map +1 -1
  146. package/dist/src/shared/services/logging.service.d.ts +10 -1
  147. package/dist/src/shared/services/logging.service.d.ts.map +1 -1
  148. package/dist/src/shared/services/logging.service.js +11 -1
  149. package/dist/src/shared/services/logging.service.js.map +1 -1
  150. package/dist/src/shared/services/selector-builder.service.d.ts +3 -6
  151. package/dist/src/shared/services/selector-builder.service.d.ts.map +1 -1
  152. package/dist/src/shared/services/selector-builder.service.js +42 -34
  153. package/dist/src/shared/services/selector-builder.service.js.map +1 -1
  154. package/dist/src/shared/types/base.types.d.ts +23 -81
  155. package/dist/src/shared/types/base.types.d.ts.map +1 -1
  156. package/dist/src/shared/types/base.types.js +4 -1
  157. package/dist/src/shared/types/base.types.js.map +1 -1
  158. package/dist/src/snapshot/element-resolver.d.ts +102 -0
  159. package/dist/src/snapshot/element-resolver.d.ts.map +1 -0
  160. package/dist/src/snapshot/element-resolver.js +379 -0
  161. package/dist/src/snapshot/element-resolver.js.map +1 -0
  162. package/dist/src/snapshot/extractors/attribute-extractor.d.ts +40 -0
  163. package/dist/src/snapshot/extractors/attribute-extractor.d.ts.map +1 -0
  164. package/dist/src/snapshot/extractors/attribute-extractor.js +237 -0
  165. package/dist/src/snapshot/extractors/attribute-extractor.js.map +1 -0
  166. package/dist/src/snapshot/extractors/ax-extractor.d.ts +31 -0
  167. package/dist/src/snapshot/extractors/ax-extractor.d.ts.map +1 -0
  168. package/dist/src/snapshot/extractors/ax-extractor.js +106 -0
  169. package/dist/src/snapshot/extractors/ax-extractor.js.map +1 -0
  170. package/dist/src/snapshot/extractors/dom-extractor.d.ts +21 -0
  171. package/dist/src/snapshot/extractors/dom-extractor.d.ts.map +1 -0
  172. package/dist/src/snapshot/extractors/dom-extractor.js +137 -0
  173. package/dist/src/snapshot/extractors/dom-extractor.js.map +1 -0
  174. package/dist/src/snapshot/extractors/grouping-resolver.d.ts +39 -0
  175. package/dist/src/snapshot/extractors/grouping-resolver.d.ts.map +1 -0
  176. package/dist/src/snapshot/extractors/grouping-resolver.js +260 -0
  177. package/dist/src/snapshot/extractors/grouping-resolver.js.map +1 -0
  178. package/dist/src/snapshot/extractors/index.d.ts +19 -0
  179. package/dist/src/snapshot/extractors/index.d.ts.map +1 -0
  180. package/dist/src/snapshot/extractors/index.js +27 -0
  181. package/dist/src/snapshot/extractors/index.js.map +1 -0
  182. package/dist/src/snapshot/extractors/label-resolver.d.ts +44 -0
  183. package/dist/src/snapshot/extractors/label-resolver.d.ts.map +1 -0
  184. package/dist/src/snapshot/extractors/label-resolver.js +173 -0
  185. package/dist/src/snapshot/extractors/label-resolver.js.map +1 -0
  186. package/dist/src/snapshot/extractors/layout-extractor.d.ts +52 -0
  187. package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -0
  188. package/dist/src/snapshot/extractors/layout-extractor.js +369 -0
  189. package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -0
  190. package/dist/src/snapshot/extractors/locator-builder.d.ts +27 -0
  191. package/dist/src/snapshot/extractors/locator-builder.d.ts.map +1 -0
  192. package/dist/src/snapshot/extractors/locator-builder.js +223 -0
  193. package/dist/src/snapshot/extractors/locator-builder.js.map +1 -0
  194. package/dist/src/snapshot/extractors/region-resolver.d.ts +31 -0
  195. package/dist/src/snapshot/extractors/region-resolver.d.ts.map +1 -0
  196. package/dist/src/snapshot/extractors/region-resolver.js +168 -0
  197. package/dist/src/snapshot/extractors/region-resolver.js.map +1 -0
  198. package/dist/src/snapshot/extractors/state-extractor.d.ts +30 -0
  199. package/dist/src/snapshot/extractors/state-extractor.d.ts.map +1 -0
  200. package/dist/src/snapshot/extractors/state-extractor.js +181 -0
  201. package/dist/src/snapshot/extractors/state-extractor.js.map +1 -0
  202. package/dist/src/snapshot/extractors/types.d.ts +208 -0
  203. package/dist/src/snapshot/extractors/types.d.ts.map +1 -0
  204. package/dist/src/snapshot/extractors/types.js +145 -0
  205. package/dist/src/snapshot/extractors/types.js.map +1 -0
  206. package/dist/src/snapshot/index.d.ts +14 -0
  207. package/dist/src/snapshot/index.d.ts.map +1 -0
  208. package/dist/src/snapshot/index.js +18 -0
  209. package/dist/src/snapshot/index.js.map +1 -0
  210. package/dist/src/snapshot/snapshot-compiler.d.ts +73 -0
  211. package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -0
  212. package/dist/src/snapshot/snapshot-compiler.js +689 -0
  213. package/dist/src/snapshot/snapshot-compiler.js.map +1 -0
  214. package/dist/src/snapshot/snapshot-store.d.ts +137 -0
  215. package/dist/src/snapshot/snapshot-store.d.ts.map +1 -0
  216. package/dist/src/snapshot/snapshot-store.js +202 -0
  217. package/dist/src/snapshot/snapshot-store.js.map +1 -0
  218. package/dist/src/snapshot/snapshot.types.d.ts +236 -0
  219. package/dist/src/snapshot/snapshot.types.d.ts.map +1 -0
  220. package/dist/src/snapshot/snapshot.types.js +54 -0
  221. package/dist/src/snapshot/snapshot.types.js.map +1 -0
  222. package/dist/src/tools/browser-tools.d.ts +165 -0
  223. package/dist/src/tools/browser-tools.d.ts.map +1 -0
  224. package/dist/src/tools/browser-tools.js +932 -0
  225. package/dist/src/tools/browser-tools.js.map +1 -0
  226. package/dist/src/tools/index.d.ts +10 -0
  227. package/dist/src/tools/index.d.ts.map +1 -0
  228. package/dist/src/tools/index.js +54 -0
  229. package/dist/src/tools/index.js.map +1 -0
  230. package/dist/src/tools/tool-schemas.d.ts +10884 -0
  231. package/dist/src/tools/tool-schemas.d.ts.map +1 -0
  232. package/dist/src/tools/tool-schemas.js +883 -0
  233. package/dist/src/tools/tool-schemas.js.map +1 -0
  234. package/package.json +5 -3
  235. package/dist/src/bridge/cef-bridge.d.ts +0 -115
  236. package/dist/src/bridge/cef-bridge.d.ts.map +0 -1
  237. package/dist/src/bridge/cef-bridge.js +0 -417
  238. package/dist/src/bridge/cef-bridge.js.map +0 -1
  239. package/dist/src/domains/interaction/handlers/action.handler.d.ts +0 -72
  240. package/dist/src/domains/interaction/handlers/action.handler.d.ts.map +0 -1
  241. package/dist/src/domains/interaction/handlers/action.handler.js +0 -304
  242. package/dist/src/domains/interaction/handlers/action.handler.js.map +0 -1
  243. package/dist/src/domains/interaction/handlers/form.handler.d.ts +0 -66
  244. package/dist/src/domains/interaction/handlers/form.handler.d.ts.map +0 -1
  245. package/dist/src/domains/interaction/handlers/form.handler.js +0 -180
  246. package/dist/src/domains/interaction/handlers/form.handler.js.map +0 -1
  247. package/dist/src/domains/interaction/handlers/index.d.ts +0 -7
  248. package/dist/src/domains/interaction/handlers/index.d.ts.map +0 -1
  249. package/dist/src/domains/interaction/handlers/index.js +0 -7
  250. package/dist/src/domains/interaction/handlers/index.js.map +0 -1
  251. package/dist/src/domains/interaction/handlers/keyboard.handler.d.ts +0 -44
  252. package/dist/src/domains/interaction/handlers/keyboard.handler.d.ts.map +0 -1
  253. package/dist/src/domains/interaction/handlers/keyboard.handler.js +0 -247
  254. package/dist/src/domains/interaction/handlers/keyboard.handler.js.map +0 -1
  255. package/dist/src/domains/interaction/interaction.schemas.d.ts +0 -2463
  256. package/dist/src/domains/interaction/interaction.schemas.d.ts.map +0 -1
  257. package/dist/src/domains/interaction/interaction.schemas.js +0 -162
  258. package/dist/src/domains/interaction/interaction.schemas.js.map +0 -1
  259. package/dist/src/domains/interaction/interaction.types.d.ts +0 -134
  260. package/dist/src/domains/interaction/interaction.types.d.ts.map +0 -1
  261. package/dist/src/domains/interaction/interaction.types.js +0 -7
  262. package/dist/src/domains/interaction/interaction.types.js.map +0 -1
  263. package/dist/src/domains/interaction/strategies/accessibility-click.strategy.d.ts +0 -24
  264. package/dist/src/domains/interaction/strategies/accessibility-click.strategy.d.ts.map +0 -1
  265. package/dist/src/domains/interaction/strategies/accessibility-click.strategy.js +0 -69
  266. package/dist/src/domains/interaction/strategies/accessibility-click.strategy.js.map +0 -1
  267. package/dist/src/domains/interaction/strategies/bbox-click.strategy.d.ts +0 -28
  268. package/dist/src/domains/interaction/strategies/bbox-click.strategy.d.ts.map +0 -1
  269. package/dist/src/domains/interaction/strategies/bbox-click.strategy.js +0 -54
  270. package/dist/src/domains/interaction/strategies/bbox-click.strategy.js.map +0 -1
  271. package/dist/src/domains/interaction/strategies/click-strategy.interface.d.ts +0 -24
  272. package/dist/src/domains/interaction/strategies/click-strategy.interface.d.ts.map +0 -1
  273. package/dist/src/domains/interaction/strategies/click-strategy.interface.js +0 -7
  274. package/dist/src/domains/interaction/strategies/click-strategy.interface.js.map +0 -1
  275. package/dist/src/domains/interaction/strategies/dom-click.strategy.d.ts +0 -40
  276. package/dist/src/domains/interaction/strategies/dom-click.strategy.d.ts.map +0 -1
  277. package/dist/src/domains/interaction/strategies/dom-click.strategy.js +0 -135
  278. package/dist/src/domains/interaction/strategies/dom-click.strategy.js.map +0 -1
  279. package/dist/src/domains/interaction/strategies/index.d.ts +0 -8
  280. package/dist/src/domains/interaction/strategies/index.d.ts.map +0 -1
  281. package/dist/src/domains/interaction/strategies/index.js +0 -8
  282. package/dist/src/domains/interaction/strategies/index.js.map +0 -1
  283. package/dist/src/domains/navigation/handlers/index.d.ts +0 -5
  284. package/dist/src/domains/navigation/handlers/index.d.ts.map +0 -1
  285. package/dist/src/domains/navigation/handlers/index.js +0 -5
  286. package/dist/src/domains/navigation/handlers/index.js.map +0 -1
  287. package/dist/src/domains/navigation/handlers/navigation.handler.d.ts +0 -68
  288. package/dist/src/domains/navigation/handlers/navigation.handler.d.ts.map +0 -1
  289. package/dist/src/domains/navigation/handlers/navigation.handler.js +0 -246
  290. package/dist/src/domains/navigation/handlers/navigation.handler.js.map +0 -1
  291. package/dist/src/domains/navigation/navigation.schemas.d.ts +0 -115
  292. package/dist/src/domains/navigation/navigation.schemas.d.ts.map +0 -1
  293. package/dist/src/domains/navigation/navigation.schemas.js +0 -65
  294. package/dist/src/domains/navigation/navigation.schemas.js.map +0 -1
  295. package/dist/src/domains/navigation/navigation.types.d.ts +0 -70
  296. package/dist/src/domains/navigation/navigation.types.d.ts.map +0 -1
  297. package/dist/src/domains/navigation/navigation.types.js +0 -7
  298. package/dist/src/domains/navigation/navigation.types.js.map +0 -1
  299. package/dist/src/domains/perception/handlers/ax-tree.handler.d.ts +0 -32
  300. package/dist/src/domains/perception/handlers/ax-tree.handler.d.ts.map +0 -1
  301. package/dist/src/domains/perception/handlers/ax-tree.handler.js +0 -60
  302. package/dist/src/domains/perception/handlers/ax-tree.handler.js.map +0 -1
  303. package/dist/src/domains/perception/handlers/content.handler.d.ts +0 -55
  304. package/dist/src/domains/perception/handlers/content.handler.d.ts.map +0 -1
  305. package/dist/src/domains/perception/handlers/content.handler.js +0 -150
  306. package/dist/src/domains/perception/handlers/content.handler.js.map +0 -1
  307. package/dist/src/domains/perception/handlers/dom-tree.handler.d.ts +0 -21
  308. package/dist/src/domains/perception/handlers/dom-tree.handler.d.ts.map +0 -1
  309. package/dist/src/domains/perception/handlers/dom-tree.handler.js +0 -40
  310. package/dist/src/domains/perception/handlers/dom-tree.handler.js.map +0 -1
  311. package/dist/src/domains/perception/handlers/index.d.ts +0 -11
  312. package/dist/src/domains/perception/handlers/index.d.ts.map +0 -1
  313. package/dist/src/domains/perception/handlers/index.js +0 -11
  314. package/dist/src/domains/perception/handlers/index.js.map +0 -1
  315. package/dist/src/domains/perception/handlers/layout.handler.d.ts +0 -30
  316. package/dist/src/domains/perception/handlers/layout.handler.d.ts.map +0 -1
  317. package/dist/src/domains/perception/handlers/layout.handler.js +0 -61
  318. package/dist/src/domains/perception/handlers/layout.handler.js.map +0 -1
  319. package/dist/src/domains/perception/handlers/network.handler.d.ts +0 -31
  320. package/dist/src/domains/perception/handlers/network.handler.d.ts.map +0 -1
  321. package/dist/src/domains/perception/handlers/network.handler.js +0 -59
  322. package/dist/src/domains/perception/handlers/network.handler.js.map +0 -1
  323. package/dist/src/domains/perception/handlers/ui-discover.handler.d.ts +0 -21
  324. package/dist/src/domains/perception/handlers/ui-discover.handler.d.ts.map +0 -1
  325. package/dist/src/domains/perception/handlers/ui-discover.handler.js +0 -37
  326. package/dist/src/domains/perception/handlers/ui-discover.handler.js.map +0 -1
  327. package/dist/src/domains/perception/handlers/vision.handler.d.ts +0 -43
  328. package/dist/src/domains/perception/handlers/vision.handler.d.ts.map +0 -1
  329. package/dist/src/domains/perception/handlers/vision.handler.js +0 -116
  330. package/dist/src/domains/perception/handlers/vision.handler.js.map +0 -1
  331. package/dist/src/domains/perception/perception.schemas.d.ts +0 -1223
  332. package/dist/src/domains/perception/perception.schemas.d.ts.map +0 -1
  333. package/dist/src/domains/perception/perception.schemas.js +0 -108
  334. package/dist/src/domains/perception/perception.schemas.js.map +0 -1
  335. package/dist/src/domains/perception/perception.types.d.ts +0 -90
  336. package/dist/src/domains/perception/perception.types.d.ts.map +0 -1
  337. package/dist/src/domains/perception/perception.types.js +0 -7
  338. package/dist/src/domains/perception/perception.types.js.map +0 -1
  339. package/dist/src/domains/session/handlers/index.d.ts +0 -5
  340. package/dist/src/domains/session/handlers/index.d.ts.map +0 -1
  341. package/dist/src/domains/session/handlers/index.js +0 -5
  342. package/dist/src/domains/session/handlers/index.js.map +0 -1
  343. package/dist/src/domains/session/handlers/session.handler.d.ts +0 -68
  344. package/dist/src/domains/session/handlers/session.handler.d.ts.map +0 -1
  345. package/dist/src/domains/session/handlers/session.handler.js +0 -225
  346. package/dist/src/domains/session/handlers/session.handler.js.map +0 -1
  347. package/dist/src/domains/session/session.schemas.d.ts +0 -483
  348. package/dist/src/domains/session/session.schemas.d.ts.map +0 -1
  349. package/dist/src/domains/session/session.schemas.js +0 -61
  350. package/dist/src/domains/session/session.schemas.js.map +0 -1
  351. package/dist/src/domains/session/session.types.d.ts +0 -64
  352. package/dist/src/domains/session/session.types.d.ts.map +0 -1
  353. package/dist/src/domains/session/session.types.js +0 -7
  354. package/dist/src/domains/session/session.types.js.map +0 -1
  355. package/dist/src/server/tool-registry.d.ts +0 -53
  356. package/dist/src/server/tool-registry.d.ts.map +0 -1
  357. package/dist/src/server/tool-registry.js +0 -39
  358. package/dist/src/server/tool-registry.js.map +0 -1
  359. package/dist/src/server/types.d.ts +0 -46
  360. package/dist/src/server/types.d.ts.map +0 -1
  361. package/dist/src/server/types.js +0 -7
  362. package/dist/src/server/types.js.map +0 -1
  363. package/dist/src/shared/errors/error-codes.d.ts +0 -52
  364. package/dist/src/shared/errors/error-codes.d.ts.map +0 -1
  365. package/dist/src/shared/errors/error-codes.js +0 -63
  366. package/dist/src/shared/errors/error-codes.js.map +0 -1
  367. package/dist/src/shared/errors/error-response.d.ts +0 -61
  368. package/dist/src/shared/errors/error-response.d.ts.map +0 -1
  369. package/dist/src/shared/errors/error-response.js +0 -136
  370. package/dist/src/shared/errors/error-response.js.map +0 -1
  371. package/dist/src/shared/errors/mcp-error.d.ts +0 -57
  372. package/dist/src/shared/errors/mcp-error.d.ts.map +0 -1
  373. package/dist/src/shared/errors/mcp-error.js +0 -93
  374. package/dist/src/shared/errors/mcp-error.js.map +0 -1
  375. package/dist/src/shared/schemas/base.schemas.d.ts +0 -454
  376. package/dist/src/shared/schemas/base.schemas.d.ts.map +0 -1
  377. package/dist/src/shared/schemas/base.schemas.js +0 -168
  378. package/dist/src/shared/schemas/base.schemas.js.map +0 -1
  379. package/dist/src/shared/schemas/index.d.ts +0 -5
  380. package/dist/src/shared/schemas/index.d.ts.map +0 -1
  381. package/dist/src/shared/schemas/index.js +0 -5
  382. package/dist/src/shared/schemas/index.js.map +0 -1
  383. package/dist/src/shared/services/element-fusion.service.d.ts +0 -80
  384. package/dist/src/shared/services/element-fusion.service.d.ts.map +0 -1
  385. package/dist/src/shared/services/element-fusion.service.js +0 -286
  386. package/dist/src/shared/services/element-fusion.service.js.map +0 -1
  387. package/dist/src/shared/services/element-resolver.service.d.ts +0 -93
  388. package/dist/src/shared/services/element-resolver.service.d.ts.map +0 -1
  389. package/dist/src/shared/services/element-resolver.service.js +0 -378
  390. package/dist/src/shared/services/element-resolver.service.js.map +0 -1
  391. package/dist/src/shared/services/form-detector.service.d.ts +0 -119
  392. package/dist/src/shared/services/form-detector.service.d.ts.map +0 -1
  393. package/dist/src/shared/services/form-detector.service.js +0 -308
  394. package/dist/src/shared/services/form-detector.service.js.map +0 -1
  395. package/dist/src/shared/services/visibility-checker.service.d.ts +0 -55
  396. package/dist/src/shared/services/visibility-checker.service.d.ts.map +0 -1
  397. package/dist/src/shared/services/visibility-checker.service.js +0 -204
  398. package/dist/src/shared/services/visibility-checker.service.js.map +0 -1
  399. package/dist/tests/mocks/cdp-bridge.mock.d.ts +0 -45
  400. package/dist/tests/mocks/cdp-bridge.mock.d.ts.map +0 -1
  401. package/dist/tests/mocks/cdp-bridge.mock.js +0 -126
  402. package/dist/tests/mocks/cdp-bridge.mock.js.map +0 -1
  403. package/dist/tests/unit/shared/dom-transformer.service.test.d.ts +0 -5
  404. package/dist/tests/unit/shared/dom-transformer.service.test.d.ts.map +0 -1
  405. package/dist/tests/unit/shared/dom-transformer.service.test.js +0 -273
  406. package/dist/tests/unit/shared/dom-transformer.service.test.js.map +0 -1
@@ -1,61 +0,0 @@
1
- /**
2
- * Layout Handler
3
- *
4
- * Handles layout_get_box_model and layout_is_visible tools
5
- */
6
- export class LayoutHandler {
7
- cdpBridge;
8
- elementResolver;
9
- visibilityChecker;
10
- constructor(cdpBridge, elementResolver, visibilityChecker) {
11
- this.cdpBridge = cdpBridge;
12
- this.elementResolver = elementResolver;
13
- this.visibilityChecker = visibilityChecker;
14
- }
15
- /**
16
- * Get box model (bounding box and quads) for an element
17
- */
18
- async getBoxModel(params) {
19
- // Resolve the target to an ElementRef with nodeId
20
- const element = await this.elementResolver.resolve(params.target);
21
- if (!element.nodeId) {
22
- throw new Error('Could not resolve element nodeId');
23
- }
24
- // Get box model from CDP
25
- const result = await this.cdpBridge.executeDevToolsMethod('DOM.getBoxModel', {
26
- nodeId: element.nodeId,
27
- });
28
- // Extract quad and bbox
29
- const quad = result.model.content;
30
- const bbox = this.quadToBBox(quad);
31
- return {
32
- quad,
33
- bbox,
34
- };
35
- }
36
- /**
37
- * Check if an element is visible
38
- */
39
- async isVisible(params) {
40
- // Resolve the target to an ElementRef with nodeId
41
- const element = await this.elementResolver.resolve(params.target);
42
- // Use visibility checker service
43
- const visible = await this.visibilityChecker.isVisible(element);
44
- return {
45
- visible,
46
- };
47
- }
48
- /**
49
- * Convert CDP quad to BBox
50
- */
51
- quadToBBox(quad) {
52
- const x = Math.min(quad[0], quad[2], quad[4], quad[6]);
53
- const y = Math.min(quad[1], quad[3], quad[5], quad[7]);
54
- const maxX = Math.max(quad[0], quad[2], quad[4], quad[6]);
55
- const maxY = Math.max(quad[1], quad[3], quad[5], quad[7]);
56
- const w = maxX - x;
57
- const h = maxY - y;
58
- return { x, y, w, h };
59
- }
60
- }
61
- //# sourceMappingURL=layout.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/layout.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6BH,MAAM,OAAO,aAAa;IAEL;IACA;IACA;IAHnB,YACmB,SAAoB,EACpB,eAAuC,EACvC,iBAA2C;QAF3C,cAAS,GAAT,SAAS,CAAW;QACpB,oBAAe,GAAf,eAAe,CAAwB;QACvC,sBAAiB,GAAjB,iBAAiB,CAA0B;IAC3D,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAA+B;QAC/C,kDAAkD;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAiB,iBAAiB,EAAE;YAC3F,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnC,OAAO;YACL,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,kDAAkD;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElE,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAc;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAEnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Network Handler
3
- *
4
- * Handles net_observe and net_get_response_body tools
5
- */
6
- import type { NetObserveParams, NetObserveResponse, NetGetResponseBodyParams, NetGetResponseBodyResponse } from '../perception.types.js';
7
- import type { NetworkEvent } from '../../../shared/types/index.js';
8
- interface CdpBridge {
9
- executeDevToolsMethod<T>(method: string, params?: unknown): Promise<T>;
10
- getObservedNetworkEvents(): NetworkEvent[];
11
- }
12
- export declare class NetworkHandler {
13
- private readonly cdpBridge;
14
- constructor(cdpBridge: CdpBridge);
15
- /**
16
- * Observe network events
17
- *
18
- * Returns an async iterable of network events matching the patterns
19
- */
20
- observe(params: NetObserveParams): Promise<NetObserveResponse>;
21
- /**
22
- * Get response body for a specific network request
23
- */
24
- getResponseBody(params: NetGetResponseBodyParams): Promise<NetGetResponseBodyResponse>;
25
- /**
26
- * Create an async iterable of network events
27
- */
28
- private observeNetworkEvents;
29
- }
30
- export {};
31
- //# sourceMappingURL=network.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.handler.d.ts","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/network.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,UAAU,SAAS;IACjB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,wBAAwB,IAAI,YAAY,EAAE,CAAC;CAC5C;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUpE;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAW5F;;OAEG;YACY,oBAAoB;CA2BpC"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Network Handler
3
- *
4
- * Handles net_observe and net_get_response_body tools
5
- */
6
- export class NetworkHandler {
7
- cdpBridge;
8
- constructor(cdpBridge) {
9
- this.cdpBridge = cdpBridge;
10
- }
11
- /**
12
- * Observe network events
13
- *
14
- * Returns an async iterable of network events matching the patterns
15
- */
16
- async observe(params) {
17
- // Enable Network domain in CDP
18
- await this.cdpBridge.executeDevToolsMethod('Network.enable', {});
19
- // Create async iterable of network events
20
- const events = this.observeNetworkEvents(params.patterns);
21
- return { events };
22
- }
23
- /**
24
- * Get response body for a specific network request
25
- */
26
- async getResponseBody(params) {
27
- const result = await this.cdpBridge.executeDevToolsMethod('Network.getResponseBody', {
28
- requestId: params.requestId,
29
- });
30
- return result;
31
- }
32
- /**
33
- * Create an async iterable of network events
34
- */
35
- async *observeNetworkEvents(patterns) {
36
- // This is a simplified implementation
37
- // In production, you would:
38
- // 1. Set up event listeners on the CDP client
39
- // 2. Filter events by patterns
40
- // 3. Yield events as they arrive
41
- // For now, just yield any observed events
42
- const events = this.cdpBridge.getObservedNetworkEvents();
43
- for (const event of events) {
44
- // Filter by patterns if provided
45
- if (patterns && patterns.length > 0) {
46
- const matches = patterns.some((pattern) => {
47
- const regex = new RegExp(pattern);
48
- return regex.test(event.url);
49
- });
50
- if (!matches) {
51
- continue;
52
- }
53
- }
54
- await Promise.resolve();
55
- yield event;
56
- }
57
- }
58
- }
59
- //# sourceMappingURL=network.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/network.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAwB;QACpC,+BAA+B;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAEjE,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1D,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAgC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CACvD,yBAAyB,EACzB;YACE,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,CAAC,oBAAoB,CAAC,QAAmB;QACrD,sCAAsC;QACtC,4BAA4B;QAC5B,8CAA8C;QAC9C,+BAA+B;QAC/B,iCAAiC;QAEjC,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;QAEzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,iCAAiC;YACjC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;oBACxC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -1,21 +0,0 @@
1
- /**
2
- * UI Discovery Handler
3
- *
4
- * Handles ui_discover tool - discovers interactive elements
5
- * FIXES the stub implementation that returned empty arrays
6
- */
7
- import type { UiDiscoverParams, UiDiscoverResponse } from '../perception.types.js';
8
- import type { ElementFusionService } from '../../../shared/services/index.js';
9
- import type { DomTreeHandler } from './dom-tree.handler.js';
10
- import type { AxTreeHandler } from './ax-tree.handler.js';
11
- export declare class UiDiscoverHandler {
12
- private readonly domTreeHandler;
13
- private readonly axTreeHandler;
14
- private readonly elementFusion;
15
- constructor(domTreeHandler: DomTreeHandler, axTreeHandler: AxTreeHandler, elementFusion: ElementFusionService);
16
- /**
17
- * Discover interactive elements by fusing DOM + AX + layout data
18
- */
19
- handle(params: UiDiscoverParams): Promise<UiDiscoverResponse>;
20
- }
21
- //# sourceMappingURL=ui-discover.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-discover.handler.d.ts","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/ui-discover.handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,oBAAoB;IAGtD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoBpE"}
@@ -1,37 +0,0 @@
1
- /**
2
- * UI Discovery Handler
3
- *
4
- * Handles ui_discover tool - discovers interactive elements
5
- * FIXES the stub implementation that returned empty arrays
6
- */
7
- export class UiDiscoverHandler {
8
- domTreeHandler;
9
- axTreeHandler;
10
- elementFusion;
11
- constructor(domTreeHandler, axTreeHandler, elementFusion) {
12
- this.domTreeHandler = domTreeHandler;
13
- this.axTreeHandler = axTreeHandler;
14
- this.elementFusion = elementFusion;
15
- }
16
- /**
17
- * Discover interactive elements by fusing DOM + AX + layout data
18
- */
19
- async handle(params) {
20
- // Step 1: Get DOM tree
21
- const domTree = await this.domTreeHandler.handle({
22
- frameId: 'main',
23
- depth: -1, // Full tree
24
- visibleOnly: false,
25
- });
26
- // Step 2: Get accessibility tree
27
- const axTree = await this.axTreeHandler.handle({
28
- frameId: 'main',
29
- });
30
- // Step 3: Fuse trees and discover interactive elements
31
- const elements = await this.elementFusion.discover(axTree, domTree, params.scope);
32
- return {
33
- elements,
34
- };
35
- }
36
- }
37
- //# sourceMappingURL=ui-discover.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-discover.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/ui-discover.handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,OAAO,iBAAiB;IAET;IACA;IACA;IAHnB,YACmB,cAA8B,EAC9B,aAA4B,EAC5B,aAAmC;QAFnC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAsB;IACnD,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAwB;QACnC,uBAAuB;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/C,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY;YACvB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAElF,OAAO;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Vision Handler
3
- *
4
- * Handles vision_ocr and vision_find_by_text tools
5
- */
6
- import type { VisionOcrParams, VisionOcrResponse, VisionFindByTextParams, VisionFindByTextResponse } from '../perception.types.js';
7
- import type { BBox } from '../../../shared/types/index.js';
8
- interface CdpBridge {
9
- captureScreenshot(region?: BBox): Promise<string>;
10
- executeDevToolsMethod<T>(method: string, params?: unknown): Promise<T>;
11
- }
12
- export declare class VisionHandler {
13
- private readonly cdpBridge;
14
- constructor(cdpBridge: CdpBridge);
15
- /**
16
- * Perform OCR on a screenshot
17
- *
18
- * Note: This is a placeholder implementation. In production, you would:
19
- * 1. Use Tesseract.js for local OCR
20
- * 2. Use a cloud OCR service (Google Vision, AWS Textract, etc.)
21
- * 3. Use the browser's built-in text detection APIs
22
- */
23
- ocr(params: VisionOcrParams): Promise<VisionOcrResponse>;
24
- /**
25
- * Find an element by visible text using OCR
26
- */
27
- findByText(params: VisionFindByTextParams): Promise<VisionFindByTextResponse>;
28
- /**
29
- * Perform OCR on a screenshot
30
- * PLACEHOLDER: In production, integrate Tesseract.js or cloud OCR service
31
- */
32
- private performOCR;
33
- /**
34
- * Find a text span matching the query
35
- */
36
- private findTextSpan;
37
- /**
38
- * Map a bounding box to a DOM element
39
- */
40
- private mapBBoxToElement;
41
- }
42
- export {};
43
- //# sourceMappingURL=vision.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vision.handler.d.ts","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/vision.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,gCAAgC,CAAC;AAEvE,UAAU,SAAS;IACjB,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACxE;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;;;;;OAOG;IACG,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAU9D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiBnF;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;YACW,gBAAgB;CAmC/B"}
@@ -1,116 +0,0 @@
1
- /**
2
- * Vision Handler
3
- *
4
- * Handles vision_ocr and vision_find_by_text tools
5
- */
6
- export class VisionHandler {
7
- cdpBridge;
8
- constructor(cdpBridge) {
9
- this.cdpBridge = cdpBridge;
10
- }
11
- /**
12
- * Perform OCR on a screenshot
13
- *
14
- * Note: This is a placeholder implementation. In production, you would:
15
- * 1. Use Tesseract.js for local OCR
16
- * 2. Use a cloud OCR service (Google Vision, AWS Textract, etc.)
17
- * 3. Use the browser's built-in text detection APIs
18
- */
19
- async ocr(params) {
20
- // Take screenshot
21
- const screenshot = await this.cdpBridge.captureScreenshot(params.region);
22
- // Perform OCR (placeholder - would use Tesseract.js or cloud service)
23
- const ocrResult = await this.performOCR(screenshot, params.region);
24
- return ocrResult;
25
- }
26
- /**
27
- * Find an element by visible text using OCR
28
- */
29
- async findByText(params) {
30
- // Run OCR on the specified area
31
- const ocrResult = await this.ocr({ region: params.areaHint });
32
- // Find matching text span
33
- const matchingSpan = this.findTextSpan(ocrResult, params.text, params.fuzzy ?? false);
34
- if (!matchingSpan) {
35
- return { element: null };
36
- }
37
- // Try to map bbox back to a DOM element
38
- const element = await this.mapBBoxToElement(matchingSpan.bbox);
39
- return { element };
40
- }
41
- /**
42
- * Perform OCR on a screenshot
43
- * PLACEHOLDER: In production, integrate Tesseract.js or cloud OCR service
44
- */
45
- performOCR(_screenshot, region) {
46
- // This is a placeholder implementation
47
- // In production, you would:
48
- // 1. Decode base64 screenshot
49
- // 2. Run through Tesseract.js or cloud OCR
50
- // 3. Parse results into spans with bboxes
51
- return Promise.resolve({
52
- text: '[OCR not implemented - placeholder]',
53
- spans: [
54
- {
55
- text: '[OCR not implemented - placeholder]',
56
- bbox: region ?? { x: 0, y: 0, w: 100, h: 20 },
57
- confidence: 0,
58
- },
59
- ],
60
- });
61
- }
62
- /**
63
- * Find a text span matching the query
64
- */
65
- findTextSpan(ocrResult, text, fuzzy) {
66
- const searchText = fuzzy ? text.toLowerCase() : text;
67
- for (const span of ocrResult.spans) {
68
- const spanText = fuzzy ? span.text.toLowerCase() : span.text;
69
- if (fuzzy) {
70
- // Fuzzy match: check if text is contained
71
- if (spanText.includes(searchText)) {
72
- return span;
73
- }
74
- }
75
- else {
76
- // Exact match
77
- if (spanText === searchText) {
78
- return span;
79
- }
80
- }
81
- }
82
- return null;
83
- }
84
- /**
85
- * Map a bounding box to a DOM element
86
- */
87
- async mapBBoxToElement(bbox) {
88
- try {
89
- // Find element at center of bbox
90
- const centerX = bbox.x + bbox.w / 2;
91
- const centerY = bbox.y + bbox.h / 2;
92
- const result = await this.cdpBridge.executeDevToolsMethod('Runtime.evaluate', {
93
- expression: `document.elementFromPoint(${centerX}, ${centerY})`,
94
- returnByValue: false,
95
- });
96
- if (!result.result.objectId) {
97
- return null;
98
- }
99
- // Get node info
100
- const nodeInfo = await this.cdpBridge.executeDevToolsMethod('DOM.describeNode', {
101
- objectId: result.result.objectId,
102
- });
103
- // Build ElementRef
104
- return {
105
- frameId: 'main',
106
- nodeId: nodeInfo.node.nodeId,
107
- selectors: {},
108
- bbox,
109
- };
110
- }
111
- catch {
112
- return null;
113
- }
114
- }
115
- }
116
- //# sourceMappingURL=vision.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vision.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/vision.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CAAC,MAAuB;QAC/B,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzE,sEAAsE;QACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEnE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAA8B;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9D,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;QAEtF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE/D,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,WAAmB,EAAE,MAAa;QACnD,uCAAuC;QACvC,4BAA4B;QAC5B,8BAA8B;QAC9B,2CAA2C;QAC3C,0CAA0C;QAE1C,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,qCAAqC;YAC3C,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,qCAAqC;oBAC3C,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;oBAC7C,UAAU,EAAE,CAAC;iBACd;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,SAA4B,EAC5B,IAAY,EACZ,KAAc;QAEd,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAE7D,IAAI,KAAK,EAAE,CAAC;gBACV,0CAA0C;gBAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAU;QACvC,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAEtD,kBAAkB,EAAE;gBACrB,UAAU,EAAE,6BAA6B,OAAO,KAAK,OAAO,GAAG;gBAC/D,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,gBAAgB;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAExD,kBAAkB,EAAE;gBACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;aACjC,CAAC,CAAC;YAEH,mBAAmB;YACnB,OAAO;gBACL,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,SAAS,EAAE,EAAE;gBACb,IAAI;aACL,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}