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
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Page Registry
3
+ *
4
+ * Tracks active Playwright pages and their CDP sessions.
5
+ * Provides a central registry for page lifecycle management.
6
+ */
7
+ import { randomUUID } from 'crypto';
8
+ /**
9
+ * Registry for tracking active pages
10
+ */
11
+ export class PageRegistry {
12
+ pages = new Map();
13
+ /** Most recently used page ID for default resolution */
14
+ mruPageId = null;
15
+ /**
16
+ * Register a new page with its CDP session
17
+ *
18
+ * @param page - Playwright Page instance
19
+ * @param cdp - CDP client for the page
20
+ * @returns PageHandle with unique page_id
21
+ * @throws Error if page is already closed
22
+ */
23
+ register(page, cdp) {
24
+ // Validate page is not closed
25
+ if (page.isClosed()) {
26
+ throw new Error('Cannot register a closed page');
27
+ }
28
+ const page_id = `page-${randomUUID()}`;
29
+ const handle = {
30
+ page_id,
31
+ page,
32
+ cdp,
33
+ created_at: new Date(),
34
+ url: page.url?.(),
35
+ };
36
+ this.pages.set(page_id, handle);
37
+ this.mruPageId = page_id;
38
+ return handle;
39
+ }
40
+ /**
41
+ * Get a page handle by its ID
42
+ *
43
+ * @param page_id - The page identifier
44
+ * @returns PageHandle if found, undefined otherwise
45
+ */
46
+ get(page_id) {
47
+ return this.pages.get(page_id);
48
+ }
49
+ /**
50
+ * Remove a page from the registry
51
+ *
52
+ * @param page_id - The page identifier
53
+ * @returns true if page was removed, false if not found
54
+ */
55
+ remove(page_id) {
56
+ const deleted = this.pages.delete(page_id);
57
+ if (deleted && this.mruPageId === page_id) {
58
+ // Transfer MRU to first remaining page, or null if empty
59
+ const firstRemaining = this.pages.values().next().value;
60
+ this.mruPageId = firstRemaining?.page_id ?? null;
61
+ }
62
+ return deleted;
63
+ }
64
+ /**
65
+ * List all registered pages
66
+ *
67
+ * @returns Array of all PageHandle objects
68
+ */
69
+ list() {
70
+ return Array.from(this.pages.values());
71
+ }
72
+ /**
73
+ * Remove all pages from the registry
74
+ */
75
+ clear() {
76
+ this.pages.clear();
77
+ this.mruPageId = null;
78
+ }
79
+ /**
80
+ * Get the number of registered pages
81
+ *
82
+ * @returns Current page count
83
+ */
84
+ size() {
85
+ return this.pages.size;
86
+ }
87
+ /**
88
+ * Check if a page is registered
89
+ *
90
+ * @param page_id - The page identifier
91
+ * @returns true if page exists
92
+ */
93
+ has(page_id) {
94
+ return this.pages.has(page_id);
95
+ }
96
+ /**
97
+ * Update metadata for a page
98
+ *
99
+ * @param page_id - The page identifier
100
+ * @param metadata - Partial metadata to update
101
+ * @returns true if updated, false if page not found
102
+ */
103
+ updateMetadata(page_id, metadata) {
104
+ const handle = this.pages.get(page_id);
105
+ if (!handle) {
106
+ return false;
107
+ }
108
+ if (metadata.url !== undefined) {
109
+ handle.url = metadata.url;
110
+ }
111
+ if (metadata.title !== undefined) {
112
+ handle.title = metadata.title;
113
+ }
114
+ return true;
115
+ }
116
+ /**
117
+ * Find a handle by its Playwright Page instance
118
+ *
119
+ * @param page - Playwright Page instance to find
120
+ * @returns PageHandle if found, undefined otherwise
121
+ */
122
+ findByPage(page) {
123
+ return this.list().find((h) => h.page === page);
124
+ }
125
+ /**
126
+ * Find all handles with a matching URL
127
+ *
128
+ * @param url - URL to search for
129
+ * @returns Array of matching PageHandle objects
130
+ */
131
+ findByUrl(url) {
132
+ return this.list().filter((h) => h.url === url);
133
+ }
134
+ /**
135
+ * Check if a page handle is still valid (page not closed, CDP active)
136
+ *
137
+ * Use this to detect stale handles before performing operations.
138
+ *
139
+ * @param page_id - The page identifier
140
+ * @returns true if the handle exists and both page and CDP session are active
141
+ */
142
+ isValid(page_id) {
143
+ const handle = this.pages.get(page_id);
144
+ if (!handle) {
145
+ return false;
146
+ }
147
+ // Check if page is closed
148
+ if (handle.page.isClosed()) {
149
+ return false;
150
+ }
151
+ // Check if CDP session is still active
152
+ if (!handle.cdp.isActive()) {
153
+ return false;
154
+ }
155
+ return true;
156
+ }
157
+ /**
158
+ * Touch a page to mark it as most recently used.
159
+ *
160
+ * @param page_id - The page identifier
161
+ * @returns true if the page exists and was touched, false otherwise
162
+ */
163
+ touch(page_id) {
164
+ if (this.pages.has(page_id)) {
165
+ this.mruPageId = page_id;
166
+ return true;
167
+ }
168
+ return false;
169
+ }
170
+ /**
171
+ * Get the most recently used page.
172
+ *
173
+ * Falls back to the first registered page if MRU is not set.
174
+ *
175
+ * @returns PageHandle for MRU page, or undefined if no pages
176
+ */
177
+ getMostRecent() {
178
+ if (this.mruPageId && this.pages.has(this.mruPageId)) {
179
+ return this.pages.get(this.mruPageId);
180
+ }
181
+ // Fallback to first page
182
+ return this.pages.values().next().value;
183
+ }
184
+ }
185
+ //# sourceMappingURL=page-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-registry.js","sourceRoot":"","sources":["../../../src/browser/page-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAyBpC;;GAEG;AACH,MAAM,OAAO,YAAY;IACN,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IACvD,wDAAwD;IAChD,SAAS,GAAkB,IAAI,CAAC;IAExC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAU,EAAE,GAAc;QACjC,8BAA8B;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,UAAU,EAAE,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAe;YACzB,OAAO;YACP,IAAI;YACJ,GAAG;YACH,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;SAClB,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAEzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAe;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1C,yDAAyD;YACzD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,OAAe,EAAE,QAAoD;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAU;QACnB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAe;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAe;QACnB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QACD,yBAAyB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Session Manager
3
+ *
4
+ * Manages Playwright browser lifecycle with a single shared BrowserContext.
5
+ * All pages share cookies/storage within the context.
6
+ */
7
+ import { type BrowserContext } from 'playwright';
8
+ import { type PageHandle } from './page-registry.js';
9
+ /**
10
+ * Connection state machine states
11
+ */
12
+ export type ConnectionState = 'idle' | 'connecting' | 'connected' | 'disconnecting' | 'failed';
13
+ /**
14
+ * Event emitted on connection state changes
15
+ */
16
+ export interface ConnectionStateChangeEvent {
17
+ previousState: ConnectionState;
18
+ currentState: ConnectionState;
19
+ timestamp: Date;
20
+ }
21
+ /**
22
+ * Storage state for cookies and localStorage.
23
+ * Re-exports Playwright's BrowserContext storageState return type for convenience.
24
+ */
25
+ export type StorageState = Awaited<ReturnType<BrowserContext['storageState']>>;
26
+ /**
27
+ * Options for launching a new browser
28
+ */
29
+ export interface LaunchOptions {
30
+ /** Run browser in headless mode (default: true) */
31
+ headless?: boolean;
32
+ /** Viewport dimensions */
33
+ viewport?: {
34
+ width: number;
35
+ height: number;
36
+ };
37
+ /** Custom user agent string */
38
+ userAgent?: string;
39
+ /** Browser locale (e.g., 'en-US') */
40
+ locale?: string;
41
+ /** Timezone ID (e.g., 'America/New_York') */
42
+ timezone?: string;
43
+ /** Path to storage state file or storage state object (cookies, localStorage) */
44
+ storageState?: string | StorageState;
45
+ /** Directory for persistent browser profile (user data dir) */
46
+ userDataDir?: string;
47
+ }
48
+ /**
49
+ * Options for connecting to an existing browser via CDP
50
+ */
51
+ export interface ConnectOptions {
52
+ /** CDP endpoint URL (default: http://127.0.0.1:9223) */
53
+ endpointUrl?: string;
54
+ /** CDP host (default: 127.0.0.1) - used if endpointUrl not provided */
55
+ host?: string;
56
+ /** CDP port (default: 9223) - used if endpointUrl not provided */
57
+ port?: number;
58
+ /** Connection timeout in ms (default: 10000) */
59
+ timeout?: number;
60
+ }
61
+ /**
62
+ * Manages browser lifecycle and page creation.
63
+ *
64
+ * Supports two modes:
65
+ * - launch(): Start a new browser instance
66
+ * - connect(): Connect to an existing browser via CDP (e.g., Athena Browser)
67
+ */
68
+ export declare class SessionManager {
69
+ private browser;
70
+ private context;
71
+ private readonly registry;
72
+ private readonly logger;
73
+ private isExternalBrowser;
74
+ /** Whether context was launched with userDataDir (persistent profile) */
75
+ private isPersistentContext;
76
+ /** Connection state machine */
77
+ private _connectionState;
78
+ /** State change listeners */
79
+ private readonly stateChangeListeners;
80
+ /** Browser disconnect handler reference for cleanup */
81
+ private browserDisconnectHandler;
82
+ constructor();
83
+ /**
84
+ * Get current connection state
85
+ */
86
+ get connectionState(): ConnectionState;
87
+ /**
88
+ * Transition to a new connection state
89
+ */
90
+ private transitionTo;
91
+ /**
92
+ * Subscribe to connection state changes
93
+ */
94
+ onStateChange(listener: (event: ConnectionStateChangeEvent) => void): () => void;
95
+ /**
96
+ * Launch a new browser with optional configuration.
97
+ *
98
+ * @param options - Browser launch options
99
+ * @throws BrowserSessionError if browser is already running or connection in progress
100
+ */
101
+ launch(options?: LaunchOptions): Promise<void>;
102
+ /**
103
+ * Connect to an existing browser via CDP.
104
+ *
105
+ * Use this to connect to Athena Browser or any Chromium with remote debugging enabled.
106
+ *
107
+ * @param options - Connection options (host/port or endpointUrl)
108
+ * @throws BrowserSessionError if browser is already running, connection in progress, or URL is invalid
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // Connect to Athena Browser on default port
113
+ * await session.connect();
114
+ *
115
+ * // Connect to custom endpoint
116
+ * await session.connect({ port: 9222 });
117
+ * await session.connect({ endpointUrl: 'http://localhost:9223' });
118
+ * ```
119
+ */
120
+ connect(options?: ConnectOptions): Promise<void>;
121
+ /**
122
+ * Get the number of pages in the browser context.
123
+ *
124
+ * @returns Number of pages, or 0 if browser not running
125
+ */
126
+ getPageCount(): number;
127
+ /**
128
+ * Adopt an existing page from the connected browser.
129
+ *
130
+ * When connecting to an external browser (like Athena), use this to
131
+ * register existing pages instead of creating new ones.
132
+ *
133
+ * This method is idempotent - calling it twice on the same page
134
+ * returns the existing handle without creating a new CDP session.
135
+ *
136
+ * @param index - Page index (default: 0 for first/active page)
137
+ * @returns PageHandle for the adopted page
138
+ * @throws Error if browser not connected or page index invalid
139
+ */
140
+ adoptPage(index?: number): Promise<PageHandle>;
141
+ /**
142
+ * Create a new page, optionally navigating to a URL
143
+ *
144
+ * @param url - Optional URL to navigate to
145
+ * @returns PageHandle for the new page
146
+ * @throws Error if browser not running
147
+ */
148
+ createPage(url?: string): Promise<PageHandle>;
149
+ /**
150
+ * Get a page handle by its ID
151
+ *
152
+ * @param page_id - The page identifier
153
+ * @returns PageHandle if found, undefined otherwise
154
+ */
155
+ getPage(page_id: string): PageHandle | undefined;
156
+ /**
157
+ * Touch a page to mark it as most recently used.
158
+ *
159
+ * Call this on page access to update MRU tracking.
160
+ *
161
+ * @param page_id - The page identifier
162
+ */
163
+ touchPage(page_id: string): void;
164
+ /**
165
+ * Resolve page_id to a PageHandle.
166
+ *
167
+ * If page_id is provided, returns the specified page.
168
+ * If page_id is omitted, returns the most recently used page.
169
+ * Does NOT auto-create pages.
170
+ *
171
+ * @param page_id - Optional page identifier
172
+ * @returns PageHandle if found, undefined otherwise
173
+ */
174
+ resolvePage(page_id?: string): PageHandle | undefined;
175
+ /**
176
+ * Resolve page_id to a PageHandle, creating a new page if needed.
177
+ *
178
+ * If page_id is provided, returns the specified page (throws if not found).
179
+ * If page_id is omitted, returns the most recently used page or creates one.
180
+ *
181
+ * @param page_id - Optional page identifier
182
+ * @returns PageHandle for the resolved or created page
183
+ * @throws Error if page_id is provided but not found, or if browser not running
184
+ */
185
+ resolvePageOrCreate(page_id?: string): Promise<PageHandle>;
186
+ /**
187
+ * Close a page and its CDP session
188
+ *
189
+ * @param page_id - The page identifier
190
+ * @returns true if page was closed, false if not found
191
+ */
192
+ closePage(page_id: string): Promise<boolean>;
193
+ /**
194
+ * Navigate a page to a URL
195
+ *
196
+ * @param page_id - The page identifier
197
+ * @param url - URL to navigate to
198
+ * @throws Error if page not found or navigation fails
199
+ */
200
+ navigateTo(page_id: string, url: string): Promise<void>;
201
+ /**
202
+ * Shutdown the browser session.
203
+ *
204
+ * For launched browsers: closes all pages, context, and browser.
205
+ * For connected browsers: detaches CDP sessions but does NOT close the browser.
206
+ * For persistent contexts: closes context (which closes pages and browser).
207
+ */
208
+ shutdown(): Promise<void>;
209
+ /**
210
+ * Check if browser is running
211
+ *
212
+ * @returns true if browser is active
213
+ */
214
+ isRunning(): boolean;
215
+ /**
216
+ * Save the current storage state (cookies, localStorage).
217
+ *
218
+ * @param path - Optional file path to save state to. If not provided, returns the state object.
219
+ * @returns The storage state object
220
+ * @throws Error if browser not running
221
+ */
222
+ saveStorageState(path?: string): Promise<StorageState>;
223
+ /**
224
+ * List all active pages
225
+ *
226
+ * @returns Array of PageHandle objects
227
+ */
228
+ listPages(): PageHandle[];
229
+ /**
230
+ * Get the page count
231
+ *
232
+ * @returns Number of active pages
233
+ */
234
+ pageCount(): number;
235
+ /**
236
+ * Setup browser event listeners for disconnect detection.
237
+ * Called after successful browser launch or connect.
238
+ */
239
+ private setupBrowserListeners;
240
+ /**
241
+ * Remove browser event listeners.
242
+ * Called during shutdown to prevent duplicate handling.
243
+ */
244
+ private removeBrowserListeners;
245
+ }
246
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/session-manager.ts"],"names":[],"mappings":"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"}