agent-web-interface 4.3.0 → 4.5.0

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 (461) hide show
  1. package/dist/src/browser/browser-session-config.d.ts +33 -0
  2. package/dist/src/browser/browser-session-config.d.ts.map +1 -0
  3. package/dist/src/browser/browser-session-config.js +24 -0
  4. package/dist/src/browser/browser-session-config.js.map +1 -0
  5. package/dist/src/browser/connection-utils.d.ts +48 -0
  6. package/dist/src/browser/connection-utils.d.ts.map +1 -0
  7. package/dist/src/browser/connection-utils.js +129 -0
  8. package/dist/src/browser/connection-utils.js.map +1 -0
  9. package/dist/src/browser/ensure-browser.d.ts +12 -27
  10. package/dist/src/browser/ensure-browser.d.ts.map +1 -1
  11. package/dist/src/browser/ensure-browser.js +104 -37
  12. package/dist/src/browser/ensure-browser.js.map +1 -1
  13. package/dist/src/browser/index.d.ts +4 -1
  14. package/dist/src/browser/index.d.ts.map +1 -1
  15. package/dist/src/browser/index.js +3 -1
  16. package/dist/src/browser/index.js.map +1 -1
  17. package/dist/src/browser/session-manager.d.ts +21 -89
  18. package/dist/src/browser/session-manager.d.ts.map +1 -1
  19. package/dist/src/browser/session-manager.js +122 -132
  20. package/dist/src/browser/session-manager.js.map +1 -1
  21. package/dist/src/browser/session-manager.types.d.ts +102 -0
  22. package/dist/src/browser/session-manager.types.d.ts.map +1 -0
  23. package/dist/src/browser/session-manager.types.js +11 -0
  24. package/dist/src/browser/session-manager.types.js.map +1 -0
  25. package/dist/src/cli/args.d.ts +12 -18
  26. package/dist/src/cli/args.d.ts.map +1 -1
  27. package/dist/src/cli/args.js +35 -40
  28. package/dist/src/cli/args.js.map +1 -1
  29. package/dist/src/form/constraint-extraction.d.ts +36 -0
  30. package/dist/src/form/constraint-extraction.d.ts.map +1 -0
  31. package/dist/src/form/constraint-extraction.js +117 -0
  32. package/dist/src/form/constraint-extraction.js.map +1 -0
  33. package/dist/src/form/field-extractor.d.ts.map +1 -1
  34. package/dist/src/form/field-extractor.js +16 -450
  35. package/dist/src/form/field-extractor.js.map +1 -1
  36. package/dist/src/form/field-state-extractor.d.ts +22 -0
  37. package/dist/src/form/field-state-extractor.d.ts.map +1 -0
  38. package/dist/src/form/field-state-extractor.js +55 -0
  39. package/dist/src/form/field-state-extractor.js.map +1 -0
  40. package/dist/src/form/form-actions.d.ts +45 -0
  41. package/dist/src/form/form-actions.d.ts.map +1 -0
  42. package/dist/src/form/form-actions.js +108 -0
  43. package/dist/src/form/form-actions.js.map +1 -0
  44. package/dist/src/form/form-detector.d.ts +0 -36
  45. package/dist/src/form/form-detector.d.ts.map +1 -1
  46. package/dist/src/form/form-detector.js +11 -376
  47. package/dist/src/form/form-detector.js.map +1 -1
  48. package/dist/src/form/form-state.d.ts.map +1 -1
  49. package/dist/src/form/form-state.js +16 -4
  50. package/dist/src/form/form-state.js.map +1 -1
  51. package/dist/src/form/input-clustering.d.ts +15 -0
  52. package/dist/src/form/input-clustering.d.ts.map +1 -0
  53. package/dist/src/form/input-clustering.js +61 -0
  54. package/dist/src/form/input-clustering.js.map +1 -0
  55. package/dist/src/form/intent-inference.d.ts +28 -0
  56. package/dist/src/form/intent-inference.d.ts.map +1 -0
  57. package/dist/src/form/intent-inference.js +137 -0
  58. package/dist/src/form/intent-inference.js.map +1 -0
  59. package/dist/src/form/purpose-inference.d.ts +50 -0
  60. package/dist/src/form/purpose-inference.d.ts.map +1 -0
  61. package/dist/src/form/purpose-inference.js +313 -0
  62. package/dist/src/form/purpose-inference.js.map +1 -0
  63. package/dist/src/form/submit-detection.d.ts +36 -0
  64. package/dist/src/form/submit-detection.d.ts.map +1 -0
  65. package/dist/src/form/submit-detection.js +101 -0
  66. package/dist/src/form/submit-detection.js.map +1 -0
  67. package/dist/src/form/types.d.ts +2 -2
  68. package/dist/src/gateway/http-gateway.d.ts +56 -0
  69. package/dist/src/gateway/http-gateway.d.ts.map +1 -0
  70. package/dist/src/gateway/http-gateway.js +229 -0
  71. package/dist/src/gateway/http-gateway.js.map +1 -0
  72. package/dist/src/gateway/json-rpc-errors.d.ts +6 -0
  73. package/dist/src/gateway/json-rpc-errors.d.ts.map +1 -0
  74. package/dist/src/gateway/json-rpc-errors.js +11 -0
  75. package/dist/src/gateway/json-rpc-errors.js.map +1 -0
  76. package/dist/src/gateway/session-router.d.ts +80 -0
  77. package/dist/src/gateway/session-router.d.ts.map +1 -0
  78. package/dist/src/gateway/session-router.js +177 -0
  79. package/dist/src/gateway/session-router.js.map +1 -0
  80. package/dist/src/http-entry.d.ts +20 -0
  81. package/dist/src/http-entry.d.ts.map +1 -0
  82. package/dist/src/http-entry.js +112 -0
  83. package/dist/src/http-entry.js.map +1 -0
  84. package/dist/src/index.d.ts +1 -10
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/index.js +25 -227
  87. package/dist/src/index.js.map +1 -1
  88. package/dist/src/lib/text-utils.d.ts +0 -24
  89. package/dist/src/lib/text-utils.d.ts.map +1 -1
  90. package/dist/src/lib/text-utils.js +2 -38
  91. package/dist/src/lib/text-utils.js.map +1 -1
  92. package/dist/src/observation/eid-linker.d.ts.map +1 -1
  93. package/dist/src/observation/eid-linker.js +1 -21
  94. package/dist/src/observation/eid-linker.js.map +1 -1
  95. package/dist/src/observation/observation-accumulator.d.ts +1 -1
  96. package/dist/src/observation/observation-accumulator.js +1 -1
  97. package/dist/src/observation/observer-script.d.ts +1 -1
  98. package/dist/src/observation/observer-script.d.ts.map +1 -1
  99. package/dist/src/observation/observer-script.js +129 -7
  100. package/dist/src/observation/observer-script.js.map +1 -1
  101. package/dist/src/query/disambiguation.d.ts +18 -0
  102. package/dist/src/query/disambiguation.d.ts.map +1 -0
  103. package/dist/src/query/disambiguation.js +123 -0
  104. package/dist/src/query/disambiguation.js.map +1 -0
  105. package/dist/src/query/fuzzy-match.d.ts +17 -0
  106. package/dist/src/query/fuzzy-match.d.ts.map +1 -0
  107. package/dist/src/query/fuzzy-match.js +34 -0
  108. package/dist/src/query/fuzzy-match.js.map +1 -0
  109. package/dist/src/query/index.d.ts +3 -0
  110. package/dist/src/query/index.d.ts.map +1 -1
  111. package/dist/src/query/index.js +6 -0
  112. package/dist/src/query/index.js.map +1 -1
  113. package/dist/src/query/query-engine.d.ts +0 -35
  114. package/dist/src/query/query-engine.d.ts.map +1 -1
  115. package/dist/src/query/query-engine.js +9 -309
  116. package/dist/src/query/query-engine.js.map +1 -1
  117. package/dist/src/query/scoring.d.ts +52 -0
  118. package/dist/src/query/scoring.d.ts.map +1 -0
  119. package/dist/src/query/scoring.js +162 -0
  120. package/dist/src/query/scoring.js.map +1 -0
  121. package/dist/src/server/index.d.ts +0 -1
  122. package/dist/src/server/index.d.ts.map +1 -1
  123. package/dist/src/server/index.js +0 -1
  124. package/dist/src/server/index.js.map +1 -1
  125. package/dist/src/server/mcp-server.d.ts +6 -2
  126. package/dist/src/server/mcp-server.d.ts.map +1 -1
  127. package/dist/src/server/mcp-server.js +3 -91
  128. package/dist/src/server/mcp-server.js.map +1 -1
  129. package/dist/src/server/server-config.d.ts +4 -20
  130. package/dist/src/server/server-config.d.ts.map +1 -1
  131. package/dist/src/server/server-config.js +6 -50
  132. package/dist/src/server/server-config.js.map +1 -1
  133. package/dist/src/server/tool-registrar.types.d.ts +25 -0
  134. package/dist/src/server/tool-registrar.types.d.ts.map +1 -0
  135. package/dist/src/server/tool-registrar.types.js +10 -0
  136. package/dist/src/server/tool-registrar.types.js.map +1 -0
  137. package/dist/src/server/tool-result-handler.d.ts +61 -0
  138. package/dist/src/server/tool-result-handler.d.ts.map +1 -0
  139. package/dist/src/server/tool-result-handler.js +137 -0
  140. package/dist/src/server/tool-result-handler.js.map +1 -0
  141. package/dist/src/session/session-controller.d.ts +123 -0
  142. package/dist/src/session/session-controller.d.ts.map +1 -0
  143. package/dist/src/session/session-controller.js +273 -0
  144. package/dist/src/session/session-controller.js.map +1 -0
  145. package/dist/src/shared/services/index.d.ts +0 -2
  146. package/dist/src/shared/services/index.d.ts.map +1 -1
  147. package/dist/src/shared/services/index.js +0 -2
  148. package/dist/src/shared/services/index.js.map +1 -1
  149. package/dist/src/shared/version.d.ts +10 -0
  150. package/dist/src/shared/version.d.ts.map +1 -0
  151. package/dist/src/shared/version.js +32 -0
  152. package/dist/src/shared/version.js.map +1 -0
  153. package/dist/src/snapshot/element-resolver.d.ts +27 -15
  154. package/dist/src/snapshot/element-resolver.d.ts.map +1 -1
  155. package/dist/src/snapshot/element-resolver.js +196 -91
  156. package/dist/src/snapshot/element-resolver.js.map +1 -1
  157. package/dist/src/snapshot/extractors/attribute-extractor.d.ts.map +1 -1
  158. package/dist/src/snapshot/extractors/attribute-extractor.js +4 -0
  159. package/dist/src/snapshot/extractors/attribute-extractor.js.map +1 -1
  160. package/dist/src/snapshot/extractors/ax-extractor.d.ts +1 -1
  161. package/dist/src/snapshot/extractors/ax-extractor.d.ts.map +1 -1
  162. package/dist/src/snapshot/extractors/ax-extractor.js +4 -1
  163. package/dist/src/snapshot/extractors/ax-extractor.js.map +1 -1
  164. package/dist/src/snapshot/extractors/index.d.ts +1 -1
  165. package/dist/src/snapshot/extractors/index.d.ts.map +1 -1
  166. package/dist/src/snapshot/extractors/index.js +1 -1
  167. package/dist/src/snapshot/extractors/index.js.map +1 -1
  168. package/dist/src/snapshot/extractors/layout-extractor.d.ts +9 -7
  169. package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -1
  170. package/dist/src/snapshot/extractors/layout-extractor.js +34 -19
  171. package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -1
  172. package/dist/src/snapshot/extractors/region-resolver.d.ts.map +1 -1
  173. package/dist/src/snapshot/extractors/region-resolver.js +8 -0
  174. package/dist/src/snapshot/extractors/region-resolver.js.map +1 -1
  175. package/dist/src/snapshot/extractors/state-extractor.d.ts +2 -2
  176. package/dist/src/snapshot/extractors/state-extractor.d.ts.map +1 -1
  177. package/dist/src/snapshot/extractors/state-extractor.js +22 -2
  178. package/dist/src/snapshot/extractors/state-extractor.js.map +1 -1
  179. package/dist/src/snapshot/extractors/types.d.ts +14 -0
  180. package/dist/src/snapshot/extractors/types.d.ts.map +1 -1
  181. package/dist/src/snapshot/extractors/types.js +16 -0
  182. package/dist/src/snapshot/extractors/types.js.map +1 -1
  183. package/dist/src/snapshot/frame-context.d.ts +68 -0
  184. package/dist/src/snapshot/frame-context.d.ts.map +1 -0
  185. package/dist/src/snapshot/frame-context.js +131 -0
  186. package/dist/src/snapshot/frame-context.js.map +1 -0
  187. package/dist/src/snapshot/heading-index.d.ts +28 -0
  188. package/dist/src/snapshot/heading-index.d.ts.map +1 -0
  189. package/dist/src/snapshot/heading-index.js +108 -0
  190. package/dist/src/snapshot/heading-index.js.map +1 -0
  191. package/dist/src/snapshot/index.d.ts +5 -3
  192. package/dist/src/snapshot/index.d.ts.map +1 -1
  193. package/dist/src/snapshot/index.js +3 -2
  194. package/dist/src/snapshot/index.js.map +1 -1
  195. package/dist/src/snapshot/kind-mapping.d.ts +30 -0
  196. package/dist/src/snapshot/kind-mapping.d.ts.map +1 -0
  197. package/dist/src/snapshot/kind-mapping.js +114 -0
  198. package/dist/src/snapshot/kind-mapping.js.map +1 -0
  199. package/dist/src/snapshot/node-filter.d.ts +31 -0
  200. package/dist/src/snapshot/node-filter.d.ts.map +1 -0
  201. package/dist/src/snapshot/node-filter.js +137 -0
  202. package/dist/src/snapshot/node-filter.js.map +1 -0
  203. package/dist/src/snapshot/node-synthesizer.d.ts +62 -0
  204. package/dist/src/snapshot/node-synthesizer.d.ts.map +1 -0
  205. package/dist/src/snapshot/node-synthesizer.js +185 -0
  206. package/dist/src/snapshot/node-synthesizer.js.map +1 -0
  207. package/dist/src/snapshot/snapshot-compiler.d.ts +2 -36
  208. package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -1
  209. package/dist/src/snapshot/snapshot-compiler.js +40 -549
  210. package/dist/src/snapshot/snapshot-compiler.js.map +1 -1
  211. package/dist/src/snapshot/snapshot.types.d.ts +17 -3
  212. package/dist/src/snapshot/snapshot.types.d.ts.map +1 -1
  213. package/dist/src/snapshot/snapshot.types.js +8 -0
  214. package/dist/src/snapshot/snapshot.types.js.map +1 -1
  215. package/dist/src/state/actionables-filter.d.ts +5 -0
  216. package/dist/src/state/actionables-filter.d.ts.map +1 -1
  217. package/dist/src/state/actionables-filter.js +28 -6
  218. package/dist/src/state/actionables-filter.js.map +1 -1
  219. package/dist/src/state/atoms-extractor.d.ts.map +1 -1
  220. package/dist/src/state/atoms-extractor.js +3 -23
  221. package/dist/src/state/atoms-extractor.js.map +1 -1
  222. package/dist/src/state/diff-engine.d.ts.map +1 -1
  223. package/dist/src/state/diff-engine.js +9 -36
  224. package/dist/src/state/diff-engine.js.map +1 -1
  225. package/dist/src/state/element-identity.d.ts +3 -6
  226. package/dist/src/state/element-identity.d.ts.map +1 -1
  227. package/dist/src/state/element-identity.js +10 -7
  228. package/dist/src/state/element-identity.js.map +1 -1
  229. package/dist/src/state/element-ref.types.d.ts +5 -27
  230. package/dist/src/state/element-ref.types.d.ts.map +1 -1
  231. package/dist/src/state/element-registry.d.ts.map +1 -1
  232. package/dist/src/state/element-registry.js +6 -4
  233. package/dist/src/state/element-registry.js.map +1 -1
  234. package/dist/src/state/hash-utils.d.ts +24 -0
  235. package/dist/src/state/hash-utils.d.ts.map +1 -0
  236. package/dist/src/state/hash-utils.js +41 -0
  237. package/dist/src/state/hash-utils.js.map +1 -0
  238. package/dist/src/state/layer-detector.d.ts.map +1 -1
  239. package/dist/src/state/layer-detector.js +15 -286
  240. package/dist/src/state/layer-detector.js.map +1 -1
  241. package/dist/src/state/layer-detectors/drawer-detector.d.ts +32 -0
  242. package/dist/src/state/layer-detectors/drawer-detector.d.ts.map +1 -0
  243. package/dist/src/state/layer-detectors/drawer-detector.js +96 -0
  244. package/dist/src/state/layer-detectors/drawer-detector.js.map +1 -0
  245. package/dist/src/state/layer-detectors/index.d.ts +10 -0
  246. package/dist/src/state/layer-detectors/index.d.ts.map +1 -0
  247. package/dist/src/state/layer-detectors/index.js +10 -0
  248. package/dist/src/state/layer-detectors/index.js.map +1 -0
  249. package/dist/src/state/layer-detectors/modal-detector.d.ts +30 -0
  250. package/dist/src/state/layer-detectors/modal-detector.d.ts.map +1 -0
  251. package/dist/src/state/layer-detectors/modal-detector.js +127 -0
  252. package/dist/src/state/layer-detectors/modal-detector.js.map +1 -0
  253. package/dist/src/state/layer-detectors/popover-detector.d.ts +20 -0
  254. package/dist/src/state/layer-detectors/popover-detector.d.ts.map +1 -0
  255. package/dist/src/state/layer-detectors/popover-detector.js +76 -0
  256. package/dist/src/state/layer-detectors/popover-detector.js.map +1 -0
  257. package/dist/src/state/layer-detectors/toast-detector.d.ts +24 -0
  258. package/dist/src/state/layer-detectors/toast-detector.d.ts.map +1 -0
  259. package/dist/src/state/layer-detectors/toast-detector.js +48 -0
  260. package/dist/src/state/layer-detectors/toast-detector.js.map +1 -0
  261. package/dist/src/state/region-mapping.d.ts +13 -0
  262. package/dist/src/state/region-mapping.d.ts.map +1 -0
  263. package/dist/src/state/region-mapping.js +25 -0
  264. package/dist/src/state/region-mapping.js.map +1 -0
  265. package/dist/src/state/state-manager.d.ts.map +1 -1
  266. package/dist/src/state/state-manager.js +11 -193
  267. package/dist/src/state/state-manager.js.map +1 -1
  268. package/dist/src/state/state-renderer.d.ts.map +1 -1
  269. package/dist/src/state/state-renderer.js +17 -3
  270. package/dist/src/state/state-renderer.js.map +1 -1
  271. package/dist/src/state/types.d.ts +10 -5
  272. package/dist/src/state/types.d.ts.map +1 -1
  273. package/dist/src/state/url-sanitization.d.ts +22 -0
  274. package/dist/src/state/url-sanitization.d.ts.map +1 -0
  275. package/dist/src/state/url-sanitization.js +76 -0
  276. package/dist/src/state/url-sanitization.js.map +1 -0
  277. package/dist/src/state/value-masking.d.ts +36 -0
  278. package/dist/src/state/value-masking.d.ts.map +1 -0
  279. package/dist/src/state/value-masking.js +86 -0
  280. package/dist/src/state/value-masking.js.map +1 -0
  281. package/dist/src/tools/action-context.d.ts +55 -0
  282. package/dist/src/tools/action-context.d.ts.map +1 -0
  283. package/dist/src/tools/action-context.js +69 -0
  284. package/dist/src/tools/action-context.js.map +1 -0
  285. package/dist/src/tools/action-stabilization.d.ts +48 -0
  286. package/dist/src/tools/action-stabilization.d.ts.map +1 -0
  287. package/dist/src/tools/action-stabilization.js +93 -0
  288. package/dist/src/tools/action-stabilization.js.map +1 -0
  289. package/dist/src/tools/browser-tools.d.ts +9 -167
  290. package/dist/src/tools/browser-tools.d.ts.map +1 -1
  291. package/dist/src/tools/browser-tools.js +15 -651
  292. package/dist/src/tools/browser-tools.js.map +1 -1
  293. package/dist/src/tools/canvas-tools.d.ts +2 -1
  294. package/dist/src/tools/canvas-tools.d.ts.map +1 -1
  295. package/dist/src/tools/canvas-tools.js +5 -7
  296. package/dist/src/tools/canvas-tools.js.map +1 -1
  297. package/dist/src/tools/effect-tracker.d.ts +25 -0
  298. package/dist/src/tools/effect-tracker.d.ts.map +1 -0
  299. package/dist/src/tools/effect-tracker.js +69 -0
  300. package/dist/src/tools/effect-tracker.js.map +1 -0
  301. package/dist/src/tools/errors.d.ts +2 -34
  302. package/dist/src/tools/errors.d.ts.map +1 -1
  303. package/dist/src/tools/errors.js +1 -44
  304. package/dist/src/tools/errors.js.map +1 -1
  305. package/dist/src/tools/execute-action.d.ts +5 -34
  306. package/dist/src/tools/execute-action.d.ts.map +1 -1
  307. package/dist/src/tools/execute-action.js +37 -297
  308. package/dist/src/tools/execute-action.js.map +1 -1
  309. package/dist/src/tools/form-tools.d.ts +5 -10
  310. package/dist/src/tools/form-tools.d.ts.map +1 -1
  311. package/dist/src/tools/form-tools.js +42 -22
  312. package/dist/src/tools/form-tools.js.map +1 -1
  313. package/dist/src/tools/index.d.ts +6 -6
  314. package/dist/src/tools/index.d.ts.map +1 -1
  315. package/dist/src/tools/index.js +16 -17
  316. package/dist/src/tools/index.js.map +1 -1
  317. package/dist/src/tools/interaction-tools.d.ts +47 -0
  318. package/dist/src/tools/interaction-tools.d.ts.map +1 -0
  319. package/dist/src/tools/interaction-tools.js +135 -0
  320. package/dist/src/tools/interaction-tools.js.map +1 -0
  321. package/dist/src/tools/navigation-detection.d.ts +31 -0
  322. package/dist/src/tools/navigation-detection.d.ts.map +1 -0
  323. package/dist/src/tools/navigation-detection.js +46 -0
  324. package/dist/src/tools/navigation-detection.js.map +1 -0
  325. package/dist/src/tools/navigation-tools.d.ts +51 -0
  326. package/dist/src/tools/navigation-tools.d.ts.map +1 -0
  327. package/dist/src/tools/navigation-tools.js +171 -0
  328. package/dist/src/tools/navigation-tools.js.map +1 -0
  329. package/dist/src/tools/observation-tools.d.ts +54 -0
  330. package/dist/src/tools/observation-tools.d.ts.map +1 -0
  331. package/dist/src/tools/observation-tools.js +243 -0
  332. package/dist/src/tools/observation-tools.js.map +1 -0
  333. package/dist/src/tools/readability-tools.d.ts +16 -0
  334. package/dist/src/tools/readability-tools.d.ts.map +1 -0
  335. package/dist/src/tools/readability-tools.js +45 -0
  336. package/dist/src/tools/readability-tools.js.map +1 -0
  337. package/dist/src/tools/response-builder.d.ts +20 -32
  338. package/dist/src/tools/response-builder.d.ts.map +1 -1
  339. package/dist/src/tools/response-builder.js +32 -48
  340. package/dist/src/tools/response-builder.js.map +1 -1
  341. package/dist/src/tools/stale-element-retry.d.ts +37 -0
  342. package/dist/src/tools/stale-element-retry.d.ts.map +1 -0
  343. package/dist/src/tools/stale-element-retry.js +103 -0
  344. package/dist/src/tools/stale-element-retry.js.map +1 -0
  345. package/dist/src/tools/tool-context.d.ts +4 -36
  346. package/dist/src/tools/tool-context.d.ts.map +1 -1
  347. package/dist/src/tools/tool-context.js +6 -75
  348. package/dist/src/tools/tool-context.js.map +1 -1
  349. package/dist/src/tools/tool-context.types.d.ts +141 -0
  350. package/dist/src/tools/tool-context.types.d.ts.map +1 -0
  351. package/dist/src/tools/tool-context.types.js +11 -0
  352. package/dist/src/tools/tool-context.types.js.map +1 -0
  353. package/dist/src/tools/tool-registration.d.ts +25 -0
  354. package/dist/src/tools/tool-registration.d.ts.map +1 -0
  355. package/dist/src/tools/tool-registration.js +180 -0
  356. package/dist/src/tools/tool-registration.js.map +1 -0
  357. package/dist/src/tools/tool-schemas.d.ts +176 -1950
  358. package/dist/src/tools/tool-schemas.d.ts.map +1 -1
  359. package/dist/src/tools/tool-schemas.js +80 -320
  360. package/dist/src/tools/tool-schemas.js.map +1 -1
  361. package/dist/src/tools/viewport-tools.d.ts +37 -0
  362. package/dist/src/tools/viewport-tools.d.ts.map +1 -0
  363. package/dist/src/tools/viewport-tools.js +101 -0
  364. package/dist/src/tools/viewport-tools.js.map +1 -0
  365. package/dist/src/worker/chrome-worker-process.d.ts +4 -0
  366. package/dist/src/worker/chrome-worker-process.d.ts.map +1 -1
  367. package/dist/src/worker/chrome-worker-process.js +1 -1
  368. package/dist/src/worker/chrome-worker-process.js.map +1 -1
  369. package/package.json +7 -3
  370. package/dist/src/factpack/action-selector.d.ts +0 -36
  371. package/dist/src/factpack/action-selector.d.ts.map +0 -1
  372. package/dist/src/factpack/action-selector.js +0 -367
  373. package/dist/src/factpack/action-selector.js.map +0 -1
  374. package/dist/src/factpack/dialog-detector.d.ts +0 -19
  375. package/dist/src/factpack/dialog-detector.d.ts.map +0 -1
  376. package/dist/src/factpack/dialog-detector.js +0 -354
  377. package/dist/src/factpack/dialog-detector.js.map +0 -1
  378. package/dist/src/factpack/form-detector.d.ts +0 -28
  379. package/dist/src/factpack/form-detector.d.ts.map +0 -1
  380. package/dist/src/factpack/form-detector.js +0 -555
  381. package/dist/src/factpack/form-detector.js.map +0 -1
  382. package/dist/src/factpack/index.d.ts +0 -32
  383. package/dist/src/factpack/index.d.ts.map +0 -1
  384. package/dist/src/factpack/index.js +0 -73
  385. package/dist/src/factpack/index.js.map +0 -1
  386. package/dist/src/factpack/page-classifier.d.ts +0 -22
  387. package/dist/src/factpack/page-classifier.d.ts.map +0 -1
  388. package/dist/src/factpack/page-classifier.js +0 -526
  389. package/dist/src/factpack/page-classifier.js.map +0 -1
  390. package/dist/src/factpack/types.d.ts +0 -307
  391. package/dist/src/factpack/types.d.ts.map +0 -1
  392. package/dist/src/factpack/types.js +0 -12
  393. package/dist/src/factpack/types.js.map +0 -1
  394. package/dist/src/lib/constants.d.ts +0 -27
  395. package/dist/src/lib/constants.d.ts.map +0 -1
  396. package/dist/src/lib/constants.js +0 -63
  397. package/dist/src/lib/constants.js.map +0 -1
  398. package/dist/src/lib/index.d.ts +0 -12
  399. package/dist/src/lib/index.d.ts.map +0 -1
  400. package/dist/src/lib/index.js +0 -17
  401. package/dist/src/lib/index.js.map +0 -1
  402. package/dist/src/lib/regions.d.ts +0 -29
  403. package/dist/src/lib/regions.d.ts.map +0 -1
  404. package/dist/src/lib/regions.js +0 -93
  405. package/dist/src/lib/regions.js.map +0 -1
  406. package/dist/src/lib/scoring.d.ts +0 -47
  407. package/dist/src/lib/scoring.d.ts.map +0 -1
  408. package/dist/src/lib/scoring.js +0 -79
  409. package/dist/src/lib/scoring.js.map +0 -1
  410. package/dist/src/lib/selectors.d.ts +0 -42
  411. package/dist/src/lib/selectors.d.ts.map +0 -1
  412. package/dist/src/lib/selectors.js +0 -138
  413. package/dist/src/lib/selectors.js.map +0 -1
  414. package/dist/src/renderer/budget-manager.d.ts +0 -46
  415. package/dist/src/renderer/budget-manager.d.ts.map +0 -1
  416. package/dist/src/renderer/budget-manager.js +0 -133
  417. package/dist/src/renderer/budget-manager.js.map +0 -1
  418. package/dist/src/renderer/constants.d.ts +0 -38
  419. package/dist/src/renderer/constants.d.ts.map +0 -1
  420. package/dist/src/renderer/constants.js +0 -29
  421. package/dist/src/renderer/constants.js.map +0 -1
  422. package/dist/src/renderer/index.d.ts +0 -12
  423. package/dist/src/renderer/index.d.ts.map +0 -1
  424. package/dist/src/renderer/index.js +0 -16
  425. package/dist/src/renderer/index.js.map +0 -1
  426. package/dist/src/renderer/section-renderers.d.ts +0 -42
  427. package/dist/src/renderer/section-renderers.d.ts.map +0 -1
  428. package/dist/src/renderer/section-renderers.js +0 -252
  429. package/dist/src/renderer/section-renderers.js.map +0 -1
  430. package/dist/src/renderer/token-counter.d.ts +0 -45
  431. package/dist/src/renderer/token-counter.d.ts.map +0 -1
  432. package/dist/src/renderer/token-counter.js +0 -65
  433. package/dist/src/renderer/token-counter.js.map +0 -1
  434. package/dist/src/renderer/types.d.ts +0 -71
  435. package/dist/src/renderer/types.d.ts.map +0 -1
  436. package/dist/src/renderer/types.js +0 -7
  437. package/dist/src/renderer/types.js.map +0 -1
  438. package/dist/src/renderer/xml-renderer.d.ts +0 -42
  439. package/dist/src/renderer/xml-renderer.d.ts.map +0 -1
  440. package/dist/src/renderer/xml-renderer.js +0 -103
  441. package/dist/src/renderer/xml-renderer.js.map +0 -1
  442. package/dist/src/server/session-store.d.ts +0 -163
  443. package/dist/src/server/session-store.d.ts.map +0 -1
  444. package/dist/src/server/session-store.js +0 -248
  445. package/dist/src/server/session-store.js.map +0 -1
  446. package/dist/src/session/session-worker-binding.d.ts +0 -57
  447. package/dist/src/session/session-worker-binding.d.ts.map +0 -1
  448. package/dist/src/session/session-worker-binding.js +0 -109
  449. package/dist/src/session/session-worker-binding.js.map +0 -1
  450. package/dist/src/shared/services/dom-transformer.service.d.ts +0 -71
  451. package/dist/src/shared/services/dom-transformer.service.d.ts.map +0 -1
  452. package/dist/src/shared/services/dom-transformer.service.js +0 -190
  453. package/dist/src/shared/services/dom-transformer.service.js.map +0 -1
  454. package/dist/src/shared/services/selector-builder.service.d.ts +0 -53
  455. package/dist/src/shared/services/selector-builder.service.d.ts.map +0 -1
  456. package/dist/src/shared/services/selector-builder.service.js +0 -240
  457. package/dist/src/shared/services/selector-builder.service.js.map +0 -1
  458. package/dist/src/state/constants.d.ts +0 -125
  459. package/dist/src/state/constants.d.ts.map +0 -1
  460. package/dist/src/state/constants.js +0 -131
  461. package/dist/src/state/constants.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuzzy-match.js","sourceRoot":"","sources":["../../../src/query/fuzzy-match.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5F;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAqB,EACrB,IAAY,EACZ,aAAsB,EACtB,UAA6B,EAAE;IAE/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEhE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE;YACxD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,GAAG;YAC/C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,GAAG;SAC5C,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC"}
@@ -6,4 +6,7 @@
6
6
  export * from './types/query.types.js';
7
7
  export { QueryEngine } from './query-engine.js';
8
8
  export type { QueryEngineOptions } from './query-engine.js';
9
+ export { scoreMatch, calculateMaxPossibleScore, normalizeLabelFilter, SCORING_WEIGHTS, } from './scoring.js';
10
+ export { generateSuggestions, countByAttribute } from './disambiguation.js';
11
+ export { filterByLabelFuzzy } from './fuzzy-match.js';
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -7,4 +7,10 @@
7
7
  export * from './types/query.types.js';
8
8
  // Query Engine
9
9
  export { QueryEngine } from './query-engine.js';
10
+ // Scoring
11
+ export { scoreMatch, calculateMaxPossibleScore, normalizeLabelFilter, SCORING_WEIGHTS, } from './scoring.js';
12
+ // Disambiguation
13
+ export { generateSuggestions, countByAttribute } from './disambiguation.js';
14
+ // Fuzzy matching
15
+ export { filterByLabelFuzzy } from './fuzzy-match.js';
10
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,wBAAwB,CAAC;AAEvC,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,wBAAwB,CAAC;AAEvC,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,UAAU;AACV,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -72,40 +72,5 @@ export declare class QueryEngine {
72
72
  * Check if a node matches all state constraints
73
73
  */
74
74
  private matchState;
75
- /**
76
- * Normalize a label filter to its constituent parts
77
- */
78
- private normalizeLabelFilter;
79
- /**
80
- * Filter nodes by fuzzy label matching.
81
- * Returns matched nodes and a map of node_id -> match score for relevance calculation.
82
- */
83
- private filterByLabelFuzzy;
84
- /**
85
- * Calculate relevance score and match reasons for a node.
86
- *
87
- * @param node - The node to score
88
- * @param request - The original query request
89
- * @param labelMatchScore - Pre-computed label match score (for fuzzy matching)
90
- * @returns Relevance score (0-1) and list of reasons
91
- */
92
- private scoreMatch;
93
- /**
94
- * Calculate the maximum possible score given the request filters.
95
- */
96
- private calculateMaxPossibleScore;
97
- /**
98
- * Truncate a label for display in reasons.
99
- */
100
- private truncateLabel;
101
- /**
102
- * Generate disambiguation suggestions when query matches multiple elements.
103
- * Suggests refinements that would narrow down the results.
104
- */
105
- private generateSuggestions;
106
- /**
107
- * Count nodes by a given attribute.
108
- */
109
- private countByAttribute;
110
75
  }
111
76
  //# sourceMappingURL=query-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../../src/query/query-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAQrB,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;CAOvB;AAoBD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;OAEG;gBACS,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,kBAAuB;IAMpE;;OAEG;IACH,IAAI,CAAC,OAAO,GAAE,mBAAwB,GAAG,oBAAoB;IAwF7D;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD;;OAEG;IACH,eAAe,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAO9D;;OAEG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAS3C;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgClB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAqGlB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAqBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgH3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAWzB"}
1
+ {"version":3,"file":"query-engine.d.ts","sourceRoot":"","sources":["../../../src/query/query-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAMrB,MAAM,wBAAwB,CAAC;AAMhC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;CAOvB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;OAEG;gBACS,QAAQ,EAAE,YAAY,EAAE,OAAO,GAAE,kBAAuB;IAMpE;;OAEG;IACH,IAAI,CAAC,OAAO,GAAE,mBAAwB,GAAG,oBAAoB;IAwF7D;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD;;OAEG;IACH,eAAe,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAO9D;;OAEG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAS3C;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,UAAU;CA+BnB"}
@@ -9,24 +9,10 @@
9
9
  * - Relevance scoring
10
10
  * - Disambiguation suggestions
11
11
  */
12
- import { normalizeText, tokenizeForMatching, fuzzyTokensMatch } from '../lib/text-utils.js';
13
- /**
14
- * Scoring weights for relevance calculation.
15
- * Values represent the maximum contribution each signal can add to the score.
16
- */
17
- const SCORING_WEIGHTS = {
18
- labelMatch: {
19
- exact: 0.4,
20
- contains: 0.3,
21
- fuzzy: 0.25, // Base, multiplied by fuzzy match quality
22
- },
23
- kindMatch: 0.15,
24
- regionMatch: 0.12,
25
- stateMatch: 0.03, // Per matching state property (max ~0.27 for 9 props)
26
- groupMatch: 0.08,
27
- headingMatch: 0.08,
28
- visibility: 0.02,
29
- };
12
+ import { normalizeText } from '../lib/text-utils.js';
13
+ import { scoreMatch, normalizeLabelFilter } from './scoring.js';
14
+ import { generateSuggestions } from './disambiguation.js';
15
+ import { filterByLabelFuzzy } from './fuzzy-match.js';
30
16
  /**
31
17
  * Query engine for BaseSnapshot data
32
18
  */
@@ -57,9 +43,9 @@ export class QueryEngine {
57
43
  }
58
44
  // Filter by label (with fuzzy support)
59
45
  if (request.label !== undefined) {
60
- const { mode, text, caseSensitive, fuzzyOptions } = this.normalizeLabelFilter(request.label);
46
+ const { mode, text, caseSensitive, fuzzyOptions } = normalizeLabelFilter(request.label);
61
47
  if (mode === 'fuzzy') {
62
- const result = this.filterByLabelFuzzy(candidates, text, caseSensitive, fuzzyOptions);
48
+ const result = filterByLabelFuzzy(candidates, text, caseSensitive, fuzzyOptions);
63
49
  candidates = result.nodes;
64
50
  labelScores = result.scores;
65
51
  }
@@ -85,7 +71,7 @@ export class QueryEngine {
85
71
  }
86
72
  // Score all candidates
87
73
  const scoredMatches = candidates.map((node) => {
88
- const { relevance, reasons } = this.scoreMatch(node, request, labelScores?.get(node.node_id));
74
+ const { relevance, reasons } = scoreMatch(node, request, labelScores?.get(node.node_id));
89
75
  return { node, relevance, match_reasons: reasons };
90
76
  });
91
77
  // Apply min_score filter
@@ -104,7 +90,7 @@ export class QueryEngine {
104
90
  // Generate suggestions if requested and results are ambiguous
105
91
  let suggestions;
106
92
  if (request.include_suggestions && totalMatched > 1) {
107
- suggestions = this.generateSuggestions(limitedMatches, request);
93
+ suggestions = generateSuggestions(limitedMatches, request);
108
94
  if (suggestions.length === 0)
109
95
  suggestions = undefined;
110
96
  }
@@ -154,7 +140,7 @@ export class QueryEngine {
154
140
  * Filter nodes by label text
155
141
  */
156
142
  filterByLabel(nodes, filter) {
157
- const { text, mode, caseSensitive } = this.normalizeLabelFilter(filter);
143
+ const { text, mode, caseSensitive } = normalizeLabelFilter(filter);
158
144
  if (!text) {
159
145
  return nodes;
160
146
  }
@@ -219,291 +205,5 @@ export class QueryEngine {
219
205
  }
220
206
  return true;
221
207
  }
222
- /**
223
- * Normalize a label filter to its constituent parts
224
- */
225
- normalizeLabelFilter(filter) {
226
- if (typeof filter === 'string') {
227
- return { text: filter, mode: 'contains', caseSensitive: false };
228
- }
229
- return {
230
- text: filter.text,
231
- mode: filter.mode ?? 'contains',
232
- caseSensitive: filter.caseSensitive ?? false,
233
- fuzzyOptions: filter.fuzzyOptions,
234
- };
235
- }
236
- // ===========================================================================
237
- // Fuzzy Matching
238
- // ===========================================================================
239
- /**
240
- * Filter nodes by fuzzy label matching.
241
- * Returns matched nodes and a map of node_id -> match score for relevance calculation.
242
- */
243
- filterByLabelFuzzy(nodes, text, caseSensitive, options = {}) {
244
- const scores = new Map();
245
- const normalizedQuery = normalizeText(caseSensitive ? text : text.toLowerCase());
246
- const queryTokens = tokenizeForMatching(normalizedQuery, 10, 2);
247
- if (queryTokens.length === 0) {
248
- return { nodes: [], scores };
249
- }
250
- const matched = nodes.filter((n) => {
251
- const normalizedLabel = normalizeText(caseSensitive ? n.label : n.label.toLowerCase());
252
- const labelTokens = tokenizeForMatching(normalizedLabel, 10, 2);
253
- const result = fuzzyTokensMatch(labelTokens, queryTokens, {
254
- minTokenOverlap: options.minTokenOverlap ?? 0.5,
255
- prefixMatch: options.prefixMatch ?? true,
256
- minSimilarity: options.minSimilarity ?? 0.8,
257
- });
258
- if (result.isMatch) {
259
- scores.set(n.node_id, result.score);
260
- }
261
- return result.isMatch;
262
- });
263
- return { nodes: matched, scores };
264
- }
265
- // ===========================================================================
266
- // Relevance Scoring
267
- // ===========================================================================
268
- /**
269
- * Calculate relevance score and match reasons for a node.
270
- *
271
- * @param node - The node to score
272
- * @param request - The original query request
273
- * @param labelMatchScore - Pre-computed label match score (for fuzzy matching)
274
- * @returns Relevance score (0-1) and list of reasons
275
- */
276
- scoreMatch(node, request, labelMatchScore) {
277
- let relevance = 0;
278
- const reasons = [];
279
- // Label scoring
280
- if (request.label !== undefined) {
281
- const { mode } = this.normalizeLabelFilter(request.label);
282
- let labelContribution;
283
- if (mode === 'fuzzy' && labelMatchScore !== undefined) {
284
- // Fuzzy: base weight * match quality
285
- labelContribution = SCORING_WEIGHTS.labelMatch.fuzzy * labelMatchScore;
286
- }
287
- else if (mode === 'exact') {
288
- labelContribution = SCORING_WEIGHTS.labelMatch.exact;
289
- }
290
- else {
291
- labelContribution = SCORING_WEIGHTS.labelMatch.contains;
292
- }
293
- relevance += labelContribution;
294
- reasons.push({
295
- type: 'label',
296
- description: `Label "${this.truncateLabel(node.label)}" matches query`,
297
- score_contribution: labelContribution,
298
- });
299
- }
300
- // Kind scoring
301
- if (request.kind !== undefined) {
302
- relevance += SCORING_WEIGHTS.kindMatch;
303
- reasons.push({
304
- type: 'kind',
305
- description: `Kind "${node.kind}" matches filter`,
306
- score_contribution: SCORING_WEIGHTS.kindMatch,
307
- });
308
- }
309
- // Region scoring
310
- if (request.region !== undefined) {
311
- relevance += SCORING_WEIGHTS.regionMatch;
312
- reasons.push({
313
- type: 'region',
314
- description: `Region "${node.where.region}" matches filter`,
315
- score_contribution: SCORING_WEIGHTS.regionMatch,
316
- });
317
- }
318
- // State scoring (per matched property)
319
- if (request.state !== undefined && node.state) {
320
- const matchedStates = Object.keys(request.state).filter((k) => request.state[k] !== undefined &&
321
- request.state[k] === node.state[k]);
322
- const stateContribution = matchedStates.length * SCORING_WEIGHTS.stateMatch;
323
- if (stateContribution > 0) {
324
- relevance += stateContribution;
325
- reasons.push({
326
- type: 'state',
327
- description: `States match: ${matchedStates.join(', ')}`,
328
- score_contribution: stateContribution,
329
- });
330
- }
331
- }
332
- // Group scoring
333
- if (request.group_id !== undefined) {
334
- relevance += SCORING_WEIGHTS.groupMatch;
335
- reasons.push({
336
- type: 'group',
337
- description: `Group "${node.where.group_id}" matches`,
338
- score_contribution: SCORING_WEIGHTS.groupMatch,
339
- });
340
- }
341
- // Heading context scoring
342
- if (request.heading_context !== undefined) {
343
- relevance += SCORING_WEIGHTS.headingMatch;
344
- reasons.push({
345
- type: 'heading',
346
- description: `Heading context "${node.where.heading_context}" matches`,
347
- score_contribution: SCORING_WEIGHTS.headingMatch,
348
- });
349
- }
350
- // Visibility bonus (always applied if node is visible)
351
- if (node.state?.visible) {
352
- relevance += SCORING_WEIGHTS.visibility;
353
- }
354
- // Normalize to 0-1 range based on what was actually queried
355
- // This gives higher scores when fewer filters are used but all match
356
- const maxPossible = this.calculateMaxPossibleScore(request);
357
- const normalizedRelevance = maxPossible > 0 ? Math.min(1, relevance / maxPossible) : 0;
358
- return { relevance: normalizedRelevance, reasons };
359
- }
360
- /**
361
- * Calculate the maximum possible score given the request filters.
362
- */
363
- calculateMaxPossibleScore(request) {
364
- let max = SCORING_WEIGHTS.visibility; // Always possible
365
- if (request.label !== undefined) {
366
- const { mode } = this.normalizeLabelFilter(request.label);
367
- max += SCORING_WEIGHTS.labelMatch[mode];
368
- }
369
- if (request.kind !== undefined)
370
- max += SCORING_WEIGHTS.kindMatch;
371
- if (request.region !== undefined)
372
- max += SCORING_WEIGHTS.regionMatch;
373
- if (request.state !== undefined) {
374
- const stateCount = Object.keys(request.state).filter((k) => request.state[k] !== undefined).length;
375
- max += stateCount * SCORING_WEIGHTS.stateMatch;
376
- }
377
- if (request.group_id !== undefined)
378
- max += SCORING_WEIGHTS.groupMatch;
379
- if (request.heading_context !== undefined)
380
- max += SCORING_WEIGHTS.headingMatch;
381
- return max;
382
- }
383
- /**
384
- * Truncate a label for display in reasons.
385
- */
386
- truncateLabel(label, maxLength = 30) {
387
- if (label.length <= maxLength)
388
- return label;
389
- return label.slice(0, maxLength - 1) + '…';
390
- }
391
- // ===========================================================================
392
- // Disambiguation Suggestions
393
- // ===========================================================================
394
- /**
395
- * Generate disambiguation suggestions when query matches multiple elements.
396
- * Suggests refinements that would narrow down the results.
397
- */
398
- generateSuggestions(matches, request) {
399
- const suggestions = [];
400
- const nodes = matches.map((m) => m.node);
401
- // Only generate suggestions if we have multiple matches
402
- if (matches.length < 2)
403
- return suggestions;
404
- // 1. Suggest refining by kind if matches have different kinds
405
- if (request.kind === undefined) {
406
- const kindCounts = this.countByAttribute(nodes, (n) => n.kind);
407
- if (kindCounts.size > 1) {
408
- for (const [kind, count] of kindCounts) {
409
- if (count < matches.length) {
410
- suggestions.push({
411
- type: 'refine_kind',
412
- message: `Add kind: "${kind}" to narrow to ${count} result(s)`,
413
- refinement: { kind },
414
- expected_matches: count,
415
- });
416
- }
417
- }
418
- }
419
- }
420
- // 2. Suggest refining by region if matches span multiple regions
421
- if (request.region === undefined) {
422
- const regionCounts = this.countByAttribute(nodes, (n) => n.where.region);
423
- if (regionCounts.size > 1) {
424
- for (const [region, count] of regionCounts) {
425
- if (count < matches.length && region !== 'unknown') {
426
- suggestions.push({
427
- type: 'refine_region',
428
- message: `Add region: "${region}" to narrow to ${count} result(s)`,
429
- refinement: { region },
430
- expected_matches: count,
431
- });
432
- }
433
- }
434
- }
435
- }
436
- // 3. Suggest refining by group_id if matches have different groups
437
- if (request.group_id === undefined) {
438
- const groupCounts = this.countByAttribute(nodes, (n) => n.where.group_id);
439
- groupCounts.delete(undefined); // Remove nodes without groups
440
- if (groupCounts.size >= 1) {
441
- for (const [groupId, count] of groupCounts) {
442
- if (groupId !== undefined) {
443
- suggestions.push({
444
- type: 'refine_group',
445
- message: `Add group_id: "${groupId}" to narrow to ${count} result(s)`,
446
- refinement: { group_id: groupId },
447
- expected_matches: count,
448
- });
449
- }
450
- }
451
- }
452
- }
453
- // 4. Suggest adding state filters
454
- if (request.state === undefined) {
455
- const enabledCount = nodes.filter((n) => n.state?.enabled).length;
456
- if (enabledCount > 0 && enabledCount < matches.length) {
457
- suggestions.push({
458
- type: 'add_state',
459
- message: `Add state: { enabled: true } to narrow to ${enabledCount} result(s)`,
460
- refinement: { state: { enabled: true } },
461
- expected_matches: enabledCount,
462
- });
463
- }
464
- const visibleCount = nodes.filter((n) => n.state?.visible).length;
465
- if (visibleCount > 0 && visibleCount < matches.length) {
466
- suggestions.push({
467
- type: 'add_state',
468
- message: `Add state: { visible: true } to narrow to ${visibleCount} result(s)`,
469
- refinement: { state: { visible: true } },
470
- expected_matches: visibleCount,
471
- });
472
- }
473
- }
474
- // 5. Suggest refining label to exact match if using contains/fuzzy
475
- if (request.label !== undefined) {
476
- const { mode, text } = this.normalizeLabelFilter(request.label);
477
- if (mode !== 'exact') {
478
- const normalizedText = normalizeText(text.toLowerCase());
479
- const exactCount = nodes.filter((n) => normalizeText(n.label.toLowerCase()) === normalizedText).length;
480
- if (exactCount > 0 && exactCount < matches.length) {
481
- suggestions.push({
482
- type: 'refine_label',
483
- message: `Use exact label match to narrow to ${exactCount} result(s)`,
484
- refinement: { label: { text, mode: 'exact' } },
485
- expected_matches: exactCount,
486
- });
487
- }
488
- }
489
- }
490
- // Sort by expected_matches (prefer suggestions that narrow most effectively)
491
- // and limit to top 5
492
- return suggestions
493
- .filter((s) => s.expected_matches > 0 && s.expected_matches < matches.length)
494
- .sort((a, b) => a.expected_matches - b.expected_matches)
495
- .slice(0, 5);
496
- }
497
- /**
498
- * Count nodes by a given attribute.
499
- */
500
- countByAttribute(nodes, getter) {
501
- const counts = new Map();
502
- for (const node of nodes) {
503
- const value = getter(node);
504
- counts.set(value, (counts.get(value) ?? 0) + 1);
505
- }
506
- return counts;
507
- }
508
208
  }
509
209
  //# sourceMappingURL=query-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../../src/query/query-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-engine.js","sourceRoot":"","sources":["../../../src/query/query-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Scoring
3
+ *
4
+ * Relevance scoring for query matches.
5
+ * Calculates how well a node matches the query request.
6
+ */
7
+ import type { ReadableNode } from '../snapshot/snapshot.types.js';
8
+ import type { FindElementsRequest, MatchReason, LabelFilter, TextMatchMode } from './types/query.types.js';
9
+ /**
10
+ * Scoring weights for relevance calculation.
11
+ * Values represent the maximum contribution each signal can add to the score.
12
+ */
13
+ export declare const SCORING_WEIGHTS: {
14
+ readonly labelMatch: {
15
+ readonly exact: 0.4;
16
+ readonly contains: 0.3;
17
+ readonly fuzzy: 0.25;
18
+ };
19
+ readonly kindMatch: 0.15;
20
+ readonly regionMatch: 0.12;
21
+ readonly stateMatch: 0.03;
22
+ readonly groupMatch: 0.08;
23
+ readonly headingMatch: 0.08;
24
+ readonly visibility: 0.02;
25
+ };
26
+ /**
27
+ * Normalize a label filter to its constituent parts.
28
+ * Shared helper used by both scoring and the query engine.
29
+ */
30
+ export declare function normalizeLabelFilter(filter: string | LabelFilter): {
31
+ text: string;
32
+ mode: TextMatchMode;
33
+ caseSensitive: boolean;
34
+ fuzzyOptions?: import('./types/query.types.js').FuzzyMatchOptions;
35
+ };
36
+ /**
37
+ * Calculate relevance score and match reasons for a node.
38
+ *
39
+ * @param node - The node to score
40
+ * @param request - The original query request
41
+ * @param labelMatchScore - Pre-computed label match score (for fuzzy matching)
42
+ * @returns Relevance score (0-1) and list of reasons
43
+ */
44
+ export declare function scoreMatch(node: ReadableNode, request: FindElementsRequest, labelMatchScore?: number): {
45
+ relevance: number;
46
+ reasons: MatchReason[];
47
+ };
48
+ /**
49
+ * Calculate the maximum possible score given the request filters.
50
+ */
51
+ export declare function calculateMaxPossibleScore(request: FindElementsRequest): number;
52
+ //# sourceMappingURL=scoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["../../../src/query/scoring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EAEX,aAAa,EACd,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,wBAAwB,EAAE,iBAAiB,CAAC;CACnE,CAUA;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,mBAAmB,EAC5B,eAAe,CAAC,EAAE,MAAM,GACvB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CA+F/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAmB9E"}