ai-prompt-guide-mcp 1.0.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 (887) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +271 -0
  3. package/dist/__tests__/config-loading.test.d.ts +5 -0
  4. package/dist/__tests__/config-loading.test.d.ts.map +1 -0
  5. package/dist/__tests__/config-loading.test.js +127 -0
  6. package/dist/__tests__/config-loading.test.js.map +1 -0
  7. package/dist/__tests__/config-logging.test.d.ts +5 -0
  8. package/dist/__tests__/config-logging.test.d.ts.map +1 -0
  9. package/dist/__tests__/config-logging.test.js +146 -0
  10. package/dist/__tests__/config-logging.test.js.map +1 -0
  11. package/dist/__tests__/config-path-resolution.test.d.ts +5 -0
  12. package/dist/__tests__/config-path-resolution.test.d.ts.map +1 -0
  13. package/dist/__tests__/config-path-resolution.test.js +88 -0
  14. package/dist/__tests__/config-path-resolution.test.js.map +1 -0
  15. package/dist/__tests__/config-path-validation.test.d.ts +6 -0
  16. package/dist/__tests__/config-path-validation.test.d.ts.map +1 -0
  17. package/dist/__tests__/config-path-validation.test.js +203 -0
  18. package/dist/__tests__/config-path-validation.test.js.map +1 -0
  19. package/dist/__tests__/config-precedence.test.d.ts +5 -0
  20. package/dist/__tests__/config-precedence.test.d.ts.map +1 -0
  21. package/dist/__tests__/config-precedence.test.js +200 -0
  22. package/dist/__tests__/config-precedence.test.js.map +1 -0
  23. package/dist/__tests__/config-types.test.d.ts +5 -0
  24. package/dist/__tests__/config-types.test.d.ts.map +1 -0
  25. package/dist/__tests__/config-types.test.js +189 -0
  26. package/dist/__tests__/config-types.test.js.map +1 -0
  27. package/dist/__tests__/config.test.d.ts +5 -0
  28. package/dist/__tests__/config.test.d.ts.map +1 -0
  29. package/dist/__tests__/config.test.js +229 -0
  30. package/dist/__tests__/config.test.js.map +1 -0
  31. package/dist/config.d.ts +87 -0
  32. package/dist/config.d.ts.map +1 -0
  33. package/dist/config.js +498 -0
  34. package/dist/config.js.map +1 -0
  35. package/dist/constants/defaults.d.ts +78 -0
  36. package/dist/constants/defaults.d.ts.map +1 -0
  37. package/dist/constants/defaults.js +78 -0
  38. package/dist/constants/defaults.js.map +1 -0
  39. package/dist/document-cache.d.ts +485 -0
  40. package/dist/document-cache.d.ts.map +1 -0
  41. package/dist/document-cache.hierarchical.test.d.ts +2 -0
  42. package/dist/document-cache.hierarchical.test.d.ts.map +1 -0
  43. package/dist/document-cache.hierarchical.test.js +243 -0
  44. package/dist/document-cache.hierarchical.test.js.map +1 -0
  45. package/dist/document-cache.js +965 -0
  46. package/dist/document-cache.js.map +1 -0
  47. package/dist/document-cache.test.d.ts +8 -0
  48. package/dist/document-cache.test.d.ts.map +1 -0
  49. package/dist/document-cache.test.js +624 -0
  50. package/dist/document-cache.test.js.map +1 -0
  51. package/dist/document-manager.d.ts +252 -0
  52. package/dist/document-manager.d.ts.map +1 -0
  53. package/dist/document-manager.js +760 -0
  54. package/dist/document-manager.js.map +1 -0
  55. package/dist/document-manager.race-condition.test.d.ts +8 -0
  56. package/dist/document-manager.race-condition.test.d.ts.map +1 -0
  57. package/dist/document-manager.race-condition.test.js +139 -0
  58. package/dist/document-manager.race-condition.test.js.map +1 -0
  59. package/dist/fingerprint-index.d.ts +177 -0
  60. package/dist/fingerprint-index.d.ts.map +1 -0
  61. package/dist/fingerprint-index.js +374 -0
  62. package/dist/fingerprint-index.js.map +1 -0
  63. package/dist/fingerprint-index.test.d.ts +15 -0
  64. package/dist/fingerprint-index.test.d.ts.map +1 -0
  65. package/dist/fingerprint-index.test.js +482 -0
  66. package/dist/fingerprint-index.test.js.map +1 -0
  67. package/dist/fsio.d.ts +76 -0
  68. package/dist/fsio.d.ts.map +1 -0
  69. package/dist/fsio.js +506 -0
  70. package/dist/fsio.js.map +1 -0
  71. package/dist/index.d.ts +6 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +20 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/markdown-tools.test.d.ts +5 -0
  76. package/dist/markdown-tools.test.d.ts.map +1 -0
  77. package/dist/markdown-tools.test.js +200 -0
  78. package/dist/markdown-tools.test.js.map +1 -0
  79. package/dist/parse.d.ts +19 -0
  80. package/dist/parse.d.ts.map +1 -0
  81. package/dist/parse.js +144 -0
  82. package/dist/parse.js.map +1 -0
  83. package/dist/prompts/__tests__/prompt-loader.test.d.ts +5 -0
  84. package/dist/prompts/__tests__/prompt-loader.test.d.ts.map +1 -0
  85. package/dist/prompts/__tests__/prompt-loader.test.js +300 -0
  86. package/dist/prompts/__tests__/prompt-loader.test.js.map +1 -0
  87. package/dist/prompts/prompt-loader.d.ts +58 -0
  88. package/dist/prompts/prompt-loader.d.ts.map +1 -0
  89. package/dist/prompts/prompt-loader.js +215 -0
  90. package/dist/prompts/prompt-loader.js.map +1 -0
  91. package/dist/prompts/prompt-validator.d.ts +30 -0
  92. package/dist/prompts/prompt-validator.d.ts.map +1 -0
  93. package/dist/prompts/prompt-validator.js +65 -0
  94. package/dist/prompts/prompt-validator.js.map +1 -0
  95. package/dist/prompts/types.d.ts +46 -0
  96. package/dist/prompts/types.d.ts.map +1 -0
  97. package/dist/prompts/types.js +14 -0
  98. package/dist/prompts/types.js.map +1 -0
  99. package/dist/prompts/workflow-prompts.d.ts +42 -0
  100. package/dist/prompts/workflow-prompts.d.ts.map +1 -0
  101. package/dist/prompts/workflow-prompts.js +61 -0
  102. package/dist/prompts/workflow-prompts.js.map +1 -0
  103. package/dist/sections.d.ts +67 -0
  104. package/dist/sections.d.ts.map +1 -0
  105. package/dist/sections.hierarchical.test.d.ts +8 -0
  106. package/dist/sections.hierarchical.test.d.ts.map +1 -0
  107. package/dist/sections.hierarchical.test.js +397 -0
  108. package/dist/sections.hierarchical.test.js.map +1 -0
  109. package/dist/sections.js +1229 -0
  110. package/dist/sections.js.map +1 -0
  111. package/dist/server/default-dependencies.d.ts +134 -0
  112. package/dist/server/default-dependencies.d.ts.map +1 -0
  113. package/dist/server/default-dependencies.js +176 -0
  114. package/dist/server/default-dependencies.js.map +1 -0
  115. package/dist/server/dependencies.d.ts +161 -0
  116. package/dist/server/dependencies.d.ts.map +1 -0
  117. package/dist/server/dependencies.js +50 -0
  118. package/dist/server/dependencies.js.map +1 -0
  119. package/dist/server/index.d.ts +10 -0
  120. package/dist/server/index.d.ts.map +1 -0
  121. package/dist/server/index.js +9 -0
  122. package/dist/server/index.js.map +1 -0
  123. package/dist/server/middleware/error-handling.d.ts +52 -0
  124. package/dist/server/middleware/error-handling.d.ts.map +1 -0
  125. package/dist/server/middleware/error-handling.js +76 -0
  126. package/dist/server/middleware/error-handling.js.map +1 -0
  127. package/dist/server/middleware/index.d.ts +7 -0
  128. package/dist/server/middleware/index.d.ts.map +1 -0
  129. package/dist/server/middleware/index.js +7 -0
  130. package/dist/server/middleware/index.js.map +1 -0
  131. package/dist/server/middleware/logging.d.ts +29 -0
  132. package/dist/server/middleware/logging.d.ts.map +1 -0
  133. package/dist/server/middleware/logging.js +49 -0
  134. package/dist/server/middleware/logging.js.map +1 -0
  135. package/dist/server/middleware/session-management.d.ts +38 -0
  136. package/dist/server/middleware/session-management.d.ts.map +1 -0
  137. package/dist/server/middleware/session-management.js +66 -0
  138. package/dist/server/middleware/session-management.js.map +1 -0
  139. package/dist/server/request-handlers/index.d.ts +5 -0
  140. package/dist/server/request-handlers/index.d.ts.map +1 -0
  141. package/dist/server/request-handlers/index.js +5 -0
  142. package/dist/server/request-handlers/index.js.map +1 -0
  143. package/dist/server/request-handlers/prompt-handlers.d.ts +13 -0
  144. package/dist/server/request-handlers/prompt-handlers.d.ts.map +1 -0
  145. package/dist/server/request-handlers/prompt-handlers.js +80 -0
  146. package/dist/server/request-handlers/prompt-handlers.js.map +1 -0
  147. package/dist/server/request-handlers/tool-handlers.d.ts +11 -0
  148. package/dist/server/request-handlers/tool-handlers.d.ts.map +1 -0
  149. package/dist/server/request-handlers/tool-handlers.js +85 -0
  150. package/dist/server/request-handlers/tool-handlers.js.map +1 -0
  151. package/dist/server/server-factory.d.ts +68 -0
  152. package/dist/server/server-factory.d.ts.map +1 -0
  153. package/dist/server/server-factory.js +135 -0
  154. package/dist/server/server-factory.js.map +1 -0
  155. package/dist/server/transport/stdio-transport.d.ts +9 -0
  156. package/dist/server/transport/stdio-transport.d.ts.map +1 -0
  157. package/dist/server/transport/stdio-transport.js +11 -0
  158. package/dist/server/transport/stdio-transport.js.map +1 -0
  159. package/dist/session/index.d.ts +5 -0
  160. package/dist/session/index.d.ts.map +1 -0
  161. package/dist/session/index.js +7 -0
  162. package/dist/session/index.js.map +1 -0
  163. package/dist/session/session-store.d.ts +74 -0
  164. package/dist/session/session-store.d.ts.map +1 -0
  165. package/dist/session/session-store.js +150 -0
  166. package/dist/session/session-store.js.map +1 -0
  167. package/dist/session/types.d.ts +96 -0
  168. package/dist/session/types.d.ts.map +1 -0
  169. package/dist/session/types.js +9 -0
  170. package/dist/session/types.js.map +1 -0
  171. package/dist/shared/__tests__/addressing-system.batch-cache.test.d.ts +12 -0
  172. package/dist/shared/__tests__/addressing-system.batch-cache.test.d.ts.map +1 -0
  173. package/dist/shared/__tests__/addressing-system.batch-cache.test.js +306 -0
  174. package/dist/shared/__tests__/addressing-system.batch-cache.test.js.map +1 -0
  175. package/dist/shared/__tests__/addressing-system.hierarchical.test.d.ts +6 -0
  176. package/dist/shared/__tests__/addressing-system.hierarchical.test.d.ts.map +1 -0
  177. package/dist/shared/__tests__/addressing-system.hierarchical.test.js +205 -0
  178. package/dist/shared/__tests__/addressing-system.hierarchical.test.js.map +1 -0
  179. package/dist/shared/__tests__/addressing-system.lru.test.d.ts +6 -0
  180. package/dist/shared/__tests__/addressing-system.lru.test.d.ts.map +1 -0
  181. package/dist/shared/__tests__/addressing-system.lru.test.js +159 -0
  182. package/dist/shared/__tests__/addressing-system.lru.test.js.map +1 -0
  183. package/dist/shared/__tests__/addressing-system.relative-paths.test.d.ts +14 -0
  184. package/dist/shared/__tests__/addressing-system.relative-paths.test.d.ts.map +1 -0
  185. package/dist/shared/__tests__/addressing-system.relative-paths.test.js +249 -0
  186. package/dist/shared/__tests__/addressing-system.relative-paths.test.js.map +1 -0
  187. package/dist/shared/__tests__/document-analysis-enhanced.test.d.ts +9 -0
  188. package/dist/shared/__tests__/document-analysis-enhanced.test.d.ts.map +1 -0
  189. package/dist/shared/__tests__/document-analysis-enhanced.test.js +419 -0
  190. package/dist/shared/__tests__/document-analysis-enhanced.test.js.map +1 -0
  191. package/dist/shared/__tests__/document-analysis.test.d.ts +8 -0
  192. package/dist/shared/__tests__/document-analysis.test.d.ts.map +1 -0
  193. package/dist/shared/__tests__/document-analysis.test.js +904 -0
  194. package/dist/shared/__tests__/document-analysis.test.js.map +1 -0
  195. package/dist/shared/__tests__/keyword-utils-integration.test.d.ts +9 -0
  196. package/dist/shared/__tests__/keyword-utils-integration.test.d.ts.map +1 -0
  197. package/dist/shared/__tests__/keyword-utils-integration.test.js +317 -0
  198. package/dist/shared/__tests__/keyword-utils-integration.test.js.map +1 -0
  199. package/dist/shared/__tests__/link-utils.test.d.ts +5 -0
  200. package/dist/shared/__tests__/link-utils.test.d.ts.map +1 -0
  201. package/dist/shared/__tests__/link-utils.test.js +560 -0
  202. package/dist/shared/__tests__/link-utils.test.js.map +1 -0
  203. package/dist/shared/__tests__/link-validation.test.d.ts +5 -0
  204. package/dist/shared/__tests__/link-validation.test.d.ts.map +1 -0
  205. package/dist/shared/__tests__/link-validation.test.js +473 -0
  206. package/dist/shared/__tests__/link-validation.test.js.map +1 -0
  207. package/dist/shared/__tests__/reference-extractor.test.d.ts +8 -0
  208. package/dist/shared/__tests__/reference-extractor.test.d.ts.map +1 -0
  209. package/dist/shared/__tests__/reference-extractor.test.js +260 -0
  210. package/dist/shared/__tests__/reference-extractor.test.js.map +1 -0
  211. package/dist/shared/__tests__/reference-loader.test.d.ts +8 -0
  212. package/dist/shared/__tests__/reference-loader.test.d.ts.map +1 -0
  213. package/dist/shared/__tests__/reference-loader.test.js +622 -0
  214. package/dist/shared/__tests__/reference-loader.test.js.map +1 -0
  215. package/dist/shared/__tests__/section-operations.append.test.d.ts +8 -0
  216. package/dist/shared/__tests__/section-operations.append.test.d.ts.map +1 -0
  217. package/dist/shared/__tests__/section-operations.append.test.js +150 -0
  218. package/dist/shared/__tests__/section-operations.append.test.js.map +1 -0
  219. package/dist/shared/__tests__/section-operations.test.d.ts +7 -0
  220. package/dist/shared/__tests__/section-operations.test.d.ts.map +1 -0
  221. package/dist/shared/__tests__/section-operations.test.js +118 -0
  222. package/dist/shared/__tests__/section-operations.test.js.map +1 -0
  223. package/dist/shared/__tests__/slug-utils.test.d.ts +5 -0
  224. package/dist/shared/__tests__/slug-utils.test.d.ts.map +1 -0
  225. package/dist/shared/__tests__/slug-utils.test.js +542 -0
  226. package/dist/shared/__tests__/slug-utils.test.js.map +1 -0
  227. package/dist/shared/__tests__/task-operations.test.d.ts +9 -0
  228. package/dist/shared/__tests__/task-operations.test.d.ts.map +1 -0
  229. package/dist/shared/__tests__/task-operations.test.js +257 -0
  230. package/dist/shared/__tests__/task-operations.test.js.map +1 -0
  231. package/dist/shared/__tests__/task-validation.test.d.ts +6 -0
  232. package/dist/shared/__tests__/task-validation.test.d.ts.map +1 -0
  233. package/dist/shared/__tests__/task-validation.test.js +129 -0
  234. package/dist/shared/__tests__/task-validation.test.js.map +1 -0
  235. package/dist/shared/__tests__/task-view-utilities.test.d.ts +5 -0
  236. package/dist/shared/__tests__/task-view-utilities.test.d.ts.map +1 -0
  237. package/dist/shared/__tests__/task-view-utilities.test.js +312 -0
  238. package/dist/shared/__tests__/task-view-utilities.test.js.map +1 -0
  239. package/dist/shared/__tests__/tool-integration.array-validation.test.d.ts +7 -0
  240. package/dist/shared/__tests__/tool-integration.array-validation.test.d.ts.map +1 -0
  241. package/dist/shared/__tests__/tool-integration.array-validation.test.js +169 -0
  242. package/dist/shared/__tests__/tool-integration.array-validation.test.js.map +1 -0
  243. package/dist/shared/__tests__/tool-integration.hierarchical.test.d.ts +7 -0
  244. package/dist/shared/__tests__/tool-integration.hierarchical.test.d.ts.map +1 -0
  245. package/dist/shared/__tests__/tool-integration.hierarchical.test.js +204 -0
  246. package/dist/shared/__tests__/tool-integration.hierarchical.test.js.map +1 -0
  247. package/dist/shared/__tests__/workflow-prompt-utilities.test.d.ts +8 -0
  248. package/dist/shared/__tests__/workflow-prompt-utilities.test.d.ts.map +1 -0
  249. package/dist/shared/__tests__/workflow-prompt-utilities.test.js +722 -0
  250. package/dist/shared/__tests__/workflow-prompt-utilities.test.js.map +1 -0
  251. package/dist/shared/addressing-system.d.ts +799 -0
  252. package/dist/shared/addressing-system.d.ts.map +1 -0
  253. package/dist/shared/addressing-system.js +1074 -0
  254. package/dist/shared/addressing-system.js.map +1 -0
  255. package/dist/shared/document-analysis/__tests__/keyword-utils.test.d.ts +8 -0
  256. package/dist/shared/document-analysis/__tests__/keyword-utils.test.d.ts.map +1 -0
  257. package/dist/shared/document-analysis/__tests__/keyword-utils.test.js +601 -0
  258. package/dist/shared/document-analysis/__tests__/keyword-utils.test.js.map +1 -0
  259. package/dist/shared/document-analysis/index.d.ts +67 -0
  260. package/dist/shared/document-analysis/index.d.ts.map +1 -0
  261. package/dist/shared/document-analysis/index.js +166 -0
  262. package/dist/shared/document-analysis/index.js.map +1 -0
  263. package/dist/shared/document-analysis/keyword-utils.d.ts +405 -0
  264. package/dist/shared/document-analysis/keyword-utils.d.ts.map +1 -0
  265. package/dist/shared/document-analysis/keyword-utils.js +1147 -0
  266. package/dist/shared/document-analysis/keyword-utils.js.map +1 -0
  267. package/dist/shared/document-analysis/reference-validation.d.ts +27 -0
  268. package/dist/shared/document-analysis/reference-validation.d.ts.map +1 -0
  269. package/dist/shared/document-analysis/reference-validation.js +173 -0
  270. package/dist/shared/document-analysis/reference-validation.js.map +1 -0
  271. package/dist/shared/document-analysis/related-docs.d.ts +27 -0
  272. package/dist/shared/document-analysis/related-docs.d.ts.map +1 -0
  273. package/dist/shared/document-analysis/related-docs.js +459 -0
  274. package/dist/shared/document-analysis/related-docs.js.map +1 -0
  275. package/dist/shared/document-analysis/types.d.ts +89 -0
  276. package/dist/shared/document-analysis/types.d.ts.map +1 -0
  277. package/dist/shared/document-analysis/types.js +41 -0
  278. package/dist/shared/document-analysis/types.js.map +1 -0
  279. package/dist/shared/document-analysis.d.ts +15 -0
  280. package/dist/shared/document-analysis.d.ts.map +1 -0
  281. package/dist/shared/document-analysis.js +16 -0
  282. package/dist/shared/document-analysis.js.map +1 -0
  283. package/dist/shared/document-manager-factory.d.ts +32 -0
  284. package/dist/shared/document-manager-factory.d.ts.map +1 -0
  285. package/dist/shared/document-manager-factory.js +75 -0
  286. package/dist/shared/document-manager-factory.js.map +1 -0
  287. package/dist/shared/index.d.ts +5 -0
  288. package/dist/shared/index.d.ts.map +1 -0
  289. package/dist/shared/index.js +7 -0
  290. package/dist/shared/index.js.map +1 -0
  291. package/dist/shared/link-analysis.d.ts +84 -0
  292. package/dist/shared/link-analysis.d.ts.map +1 -0
  293. package/dist/shared/link-analysis.js +213 -0
  294. package/dist/shared/link-analysis.js.map +1 -0
  295. package/dist/shared/link-context.d.ts +23 -0
  296. package/dist/shared/link-context.d.ts.map +1 -0
  297. package/dist/shared/link-context.js +172 -0
  298. package/dist/shared/link-context.js.map +1 -0
  299. package/dist/shared/link-utils.d.ts +33 -0
  300. package/dist/shared/link-utils.d.ts.map +1 -0
  301. package/dist/shared/link-utils.js +301 -0
  302. package/dist/shared/link-utils.js.map +1 -0
  303. package/dist/shared/link-validation.d.ts +79 -0
  304. package/dist/shared/link-validation.d.ts.map +1 -0
  305. package/dist/shared/link-validation.js +340 -0
  306. package/dist/shared/link-validation.js.map +1 -0
  307. package/dist/shared/namespace-analysis.d.ts +10 -0
  308. package/dist/shared/namespace-analysis.d.ts.map +1 -0
  309. package/dist/shared/namespace-analysis.js +100 -0
  310. package/dist/shared/namespace-analysis.js.map +1 -0
  311. package/dist/shared/namespace-constants.d.ts +69 -0
  312. package/dist/shared/namespace-constants.d.ts.map +1 -0
  313. package/dist/shared/namespace-constants.js +97 -0
  314. package/dist/shared/namespace-constants.js.map +1 -0
  315. package/dist/shared/path-utilities.d.ts +13 -0
  316. package/dist/shared/path-utilities.d.ts.map +1 -0
  317. package/dist/shared/path-utilities.js +39 -0
  318. package/dist/shared/path-utilities.js.map +1 -0
  319. package/dist/shared/reference-extractor.d.ts +121 -0
  320. package/dist/shared/reference-extractor.d.ts.map +1 -0
  321. package/dist/shared/reference-extractor.js +195 -0
  322. package/dist/shared/reference-extractor.js.map +1 -0
  323. package/dist/shared/reference-loader.d.ts +163 -0
  324. package/dist/shared/reference-loader.d.ts.map +1 -0
  325. package/dist/shared/reference-loader.js +265 -0
  326. package/dist/shared/reference-loader.js.map +1 -0
  327. package/dist/shared/section-operations.d.ts +14 -0
  328. package/dist/shared/section-operations.d.ts.map +1 -0
  329. package/dist/shared/section-operations.js +115 -0
  330. package/dist/shared/section-operations.js.map +1 -0
  331. package/dist/shared/slug-utils.d.ts +109 -0
  332. package/dist/shared/slug-utils.d.ts.map +1 -0
  333. package/dist/shared/slug-utils.js +302 -0
  334. package/dist/shared/slug-utils.js.map +1 -0
  335. package/dist/shared/task-operations.d.ts +152 -0
  336. package/dist/shared/task-operations.d.ts.map +1 -0
  337. package/dist/shared/task-operations.js +416 -0
  338. package/dist/shared/task-operations.js.map +1 -0
  339. package/dist/shared/task-utilities.d.ts +63 -0
  340. package/dist/shared/task-utilities.d.ts.map +1 -0
  341. package/dist/shared/task-utilities.js +86 -0
  342. package/dist/shared/task-utilities.js.map +1 -0
  343. package/dist/shared/task-validation.d.ts +50 -0
  344. package/dist/shared/task-validation.d.ts.map +1 -0
  345. package/dist/shared/task-validation.js +97 -0
  346. package/dist/shared/task-validation.js.map +1 -0
  347. package/dist/shared/task-view-utilities.d.ts +109 -0
  348. package/dist/shared/task-view-utilities.d.ts.map +1 -0
  349. package/dist/shared/task-view-utilities.js +255 -0
  350. package/dist/shared/task-view-utilities.js.map +1 -0
  351. package/dist/shared/utilities.d.ts +14 -0
  352. package/dist/shared/utilities.d.ts.map +1 -0
  353. package/dist/shared/utilities.js +23 -0
  354. package/dist/shared/utilities.js.map +1 -0
  355. package/dist/shared/utilities.test.d.ts +5 -0
  356. package/dist/shared/utilities.test.d.ts.map +1 -0
  357. package/dist/shared/utilities.test.js +422 -0
  358. package/dist/shared/utilities.test.js.map +1 -0
  359. package/dist/shared/validation-utils.d.ts +57 -0
  360. package/dist/shared/validation-utils.d.ts.map +1 -0
  361. package/dist/shared/validation-utils.js +63 -0
  362. package/dist/shared/validation-utils.js.map +1 -0
  363. package/dist/shared/workflow-prompt-utilities.d.ts +64 -0
  364. package/dist/shared/workflow-prompt-utilities.d.ts.map +1 -0
  365. package/dist/shared/workflow-prompt-utilities.js +163 -0
  366. package/dist/shared/workflow-prompt-utilities.js.map +1 -0
  367. package/dist/slug.d.ts +9 -0
  368. package/dist/slug.d.ts.map +1 -0
  369. package/dist/slug.js +40 -0
  370. package/dist/slug.js.map +1 -0
  371. package/dist/template-loader.d.ts +6 -0
  372. package/dist/template-loader.d.ts.map +1 -0
  373. package/dist/template-loader.js +8 -0
  374. package/dist/template-loader.js.map +1 -0
  375. package/dist/tools/__tests__/create-document-self-reference.test.d.ts +2 -0
  376. package/dist/tools/__tests__/create-document-self-reference.test.d.ts.map +1 -0
  377. package/dist/tools/__tests__/create-document-self-reference.test.js +124 -0
  378. package/dist/tools/__tests__/create-document-self-reference.test.js.map +1 -0
  379. package/dist/tools/__tests__/create-document-workflow-regression.test.d.ts +16 -0
  380. package/dist/tools/__tests__/create-document-workflow-regression.test.d.ts.map +1 -0
  381. package/dist/tools/__tests__/create-document-workflow-regression.test.js +655 -0
  382. package/dist/tools/__tests__/create-document-workflow-regression.test.js.map +1 -0
  383. package/dist/tools/__tests__/create-document.test.d.ts +2 -0
  384. package/dist/tools/__tests__/create-document.test.d.ts.map +1 -0
  385. package/dist/tools/__tests__/create-document.test.js +255 -0
  386. package/dist/tools/__tests__/create-document.test.js.map +1 -0
  387. package/dist/tools/__tests__/delete-document.test.d.ts +7 -0
  388. package/dist/tools/__tests__/delete-document.test.d.ts.map +1 -0
  389. package/dist/tools/__tests__/delete-document.test.js +311 -0
  390. package/dist/tools/__tests__/delete-document.test.js.map +1 -0
  391. package/dist/tools/__tests__/edit-document.test.d.ts +2 -0
  392. package/dist/tools/__tests__/edit-document.test.d.ts.map +1 -0
  393. package/dist/tools/__tests__/edit-document.test.js +644 -0
  394. package/dist/tools/__tests__/edit-document.test.js.map +1 -0
  395. package/dist/tools/__tests__/error-scenarios.test.d.ts +5 -0
  396. package/dist/tools/__tests__/error-scenarios.test.d.ts.map +1 -0
  397. package/dist/tools/__tests__/error-scenarios.test.js +105 -0
  398. package/dist/tools/__tests__/error-scenarios.test.js.map +1 -0
  399. package/dist/tools/__tests__/mocks/document-manager.mock.d.ts +99 -0
  400. package/dist/tools/__tests__/mocks/document-manager.mock.d.ts.map +1 -0
  401. package/dist/tools/__tests__/mocks/document-manager.mock.js +457 -0
  402. package/dist/tools/__tests__/mocks/document-manager.mock.js.map +1 -0
  403. package/dist/tools/__tests__/mocks/filesystem.mock.d.ts +103 -0
  404. package/dist/tools/__tests__/mocks/filesystem.mock.d.ts.map +1 -0
  405. package/dist/tools/__tests__/mocks/filesystem.mock.js +247 -0
  406. package/dist/tools/__tests__/mocks/filesystem.mock.js.map +1 -0
  407. package/dist/tools/__tests__/move-document.test.d.ts +12 -0
  408. package/dist/tools/__tests__/move-document.test.d.ts.map +1 -0
  409. package/dist/tools/__tests__/move-document.test.js +214 -0
  410. package/dist/tools/__tests__/move-document.test.js.map +1 -0
  411. package/dist/tools/__tests__/move.test.d.ts +13 -0
  412. package/dist/tools/__tests__/move.test.d.ts.map +1 -0
  413. package/dist/tools/__tests__/move.test.js +939 -0
  414. package/dist/tools/__tests__/move.test.js.map +1 -0
  415. package/dist/tools/__tests__/section.integration.improved.test.d.ts +5 -0
  416. package/dist/tools/__tests__/section.integration.improved.test.d.ts.map +1 -0
  417. package/dist/tools/__tests__/section.integration.improved.test.js +199 -0
  418. package/dist/tools/__tests__/section.integration.improved.test.js.map +1 -0
  419. package/dist/tools/__tests__/section.integration.test.d.ts +5 -0
  420. package/dist/tools/__tests__/section.integration.test.d.ts.map +1 -0
  421. package/dist/tools/__tests__/section.integration.test.js +637 -0
  422. package/dist/tools/__tests__/section.integration.test.js.map +1 -0
  423. package/dist/tools/__tests__/setup/test-environment.d.ts +111 -0
  424. package/dist/tools/__tests__/setup/test-environment.d.ts.map +1 -0
  425. package/dist/tools/__tests__/setup/test-environment.js +322 -0
  426. package/dist/tools/__tests__/setup/test-environment.js.map +1 -0
  427. package/dist/tools/__tests__/suggestion-generator.test.d.ts +8 -0
  428. package/dist/tools/__tests__/suggestion-generator.test.d.ts.map +1 -0
  429. package/dist/tools/__tests__/suggestion-generator.test.js +508 -0
  430. package/dist/tools/__tests__/suggestion-generator.test.js.map +1 -0
  431. package/dist/tools/__tests__/task-consistency.test.d.ts +11 -0
  432. package/dist/tools/__tests__/task-consistency.test.d.ts.map +1 -0
  433. package/dist/tools/__tests__/task-consistency.test.js +93 -0
  434. package/dist/tools/__tests__/task-consistency.test.js.map +1 -0
  435. package/dist/tools/__tests__/task-status-parsing.test.d.ts +15 -0
  436. package/dist/tools/__tests__/task-status-parsing.test.d.ts.map +1 -0
  437. package/dist/tools/__tests__/task-status-parsing.test.js +126 -0
  438. package/dist/tools/__tests__/task-status-parsing.test.js.map +1 -0
  439. package/dist/tools/__tests__/view-section-boundary.test.d.ts +2 -0
  440. package/dist/tools/__tests__/view-section-boundary.test.d.ts.map +1 -0
  441. package/dist/tools/__tests__/view-section-boundary.test.js +132 -0
  442. package/dist/tools/__tests__/view-section-boundary.test.js.map +1 -0
  443. package/dist/tools/__tests__/write-operations-integration.test.d.ts +8 -0
  444. package/dist/tools/__tests__/write-operations-integration.test.d.ts.map +1 -0
  445. package/dist/tools/__tests__/write-operations-integration.test.js +136 -0
  446. package/dist/tools/__tests__/write-operations-integration.test.js.map +1 -0
  447. package/dist/tools/browse/content-analyzer.d.ts +27 -0
  448. package/dist/tools/browse/content-analyzer.d.ts.map +1 -0
  449. package/dist/tools/browse/content-analyzer.js +150 -0
  450. package/dist/tools/browse/content-analyzer.js.map +1 -0
  451. package/dist/tools/browse/dependency-analyzer.d.ts +63 -0
  452. package/dist/tools/browse/dependency-analyzer.d.ts.map +1 -0
  453. package/dist/tools/browse/dependency-analyzer.js +261 -0
  454. package/dist/tools/browse/dependency-analyzer.js.map +1 -0
  455. package/dist/tools/browse/folder-navigator.d.ts +35 -0
  456. package/dist/tools/browse/folder-navigator.d.ts.map +1 -0
  457. package/dist/tools/browse/folder-navigator.js +154 -0
  458. package/dist/tools/browse/folder-navigator.js.map +1 -0
  459. package/dist/tools/browse/index.d.ts +10 -0
  460. package/dist/tools/browse/index.d.ts.map +1 -0
  461. package/dist/tools/browse/index.js +14 -0
  462. package/dist/tools/browse/index.js.map +1 -0
  463. package/dist/tools/browse/relationship-classifier.d.ts +9 -0
  464. package/dist/tools/browse/relationship-classifier.d.ts.map +1 -0
  465. package/dist/tools/browse/relationship-classifier.js +38 -0
  466. package/dist/tools/browse/relationship-classifier.js.map +1 -0
  467. package/dist/tools/browse/search-engine.d.ts +69 -0
  468. package/dist/tools/browse/search-engine.d.ts.map +1 -0
  469. package/dist/tools/browse/search-engine.js +197 -0
  470. package/dist/tools/browse/search-engine.js.map +1 -0
  471. package/dist/tools/create/__tests__/file-creator.test.d.ts +6 -0
  472. package/dist/tools/create/__tests__/file-creator.test.d.ts.map +1 -0
  473. package/dist/tools/create/__tests__/file-creator.test.js +138 -0
  474. package/dist/tools/create/__tests__/file-creator.test.js.map +1 -0
  475. package/dist/tools/create/__tests__/template-processor.test.d.ts +6 -0
  476. package/dist/tools/create/__tests__/template-processor.test.d.ts.map +1 -0
  477. package/dist/tools/create/__tests__/template-processor.test.js +130 -0
  478. package/dist/tools/create/__tests__/template-processor.test.js.map +1 -0
  479. package/dist/tools/create/file-creator.d.ts +35 -0
  480. package/dist/tools/create/file-creator.d.ts.map +1 -0
  481. package/dist/tools/create/file-creator.js +103 -0
  482. package/dist/tools/create/file-creator.js.map +1 -0
  483. package/dist/tools/create/index.d.ts +6 -0
  484. package/dist/tools/create/index.d.ts.map +1 -0
  485. package/dist/tools/create/index.js +7 -0
  486. package/dist/tools/create/index.js.map +1 -0
  487. package/dist/tools/create/pipeline.d.ts +39 -0
  488. package/dist/tools/create/pipeline.d.ts.map +1 -0
  489. package/dist/tools/create/pipeline.js +112 -0
  490. package/dist/tools/create/pipeline.js.map +1 -0
  491. package/dist/tools/create/suggestion-generator.d.ts +47 -0
  492. package/dist/tools/create/suggestion-generator.d.ts.map +1 -0
  493. package/dist/tools/create/suggestion-generator.js +51 -0
  494. package/dist/tools/create/suggestion-generator.js.map +1 -0
  495. package/dist/tools/create/template-processor.d.ts +27 -0
  496. package/dist/tools/create/template-processor.d.ts.map +1 -0
  497. package/dist/tools/create/template-processor.js +74 -0
  498. package/dist/tools/create/template-processor.js.map +1 -0
  499. package/dist/tools/create/validation-processor.d.ts +48 -0
  500. package/dist/tools/create/validation-processor.d.ts.map +1 -0
  501. package/dist/tools/create/validation-processor.js +107 -0
  502. package/dist/tools/create/validation-processor.js.map +1 -0
  503. package/dist/tools/executor.d.ts +19 -0
  504. package/dist/tools/executor.d.ts.map +1 -0
  505. package/dist/tools/executor.js +53 -0
  506. package/dist/tools/executor.js.map +1 -0
  507. package/dist/tools/implementations/__tests__/browse-documents.test.d.ts +8 -0
  508. package/dist/tools/implementations/__tests__/browse-documents.test.d.ts.map +1 -0
  509. package/dist/tools/implementations/__tests__/browse-documents.test.js +319 -0
  510. package/dist/tools/implementations/__tests__/browse-documents.test.js.map +1 -0
  511. package/dist/tools/implementations/__tests__/complete-coordinator-task.test.d.ts +7 -0
  512. package/dist/tools/implementations/__tests__/complete-coordinator-task.test.d.ts.map +1 -0
  513. package/dist/tools/implementations/__tests__/complete-coordinator-task.test.js +440 -0
  514. package/dist/tools/implementations/__tests__/complete-coordinator-task.test.js.map +1 -0
  515. package/dist/tools/implementations/__tests__/complete-subagent-task.test.d.ts +14 -0
  516. package/dist/tools/implementations/__tests__/complete-subagent-task.test.d.ts.map +1 -0
  517. package/dist/tools/implementations/__tests__/complete-subagent-task.test.js +851 -0
  518. package/dist/tools/implementations/__tests__/complete-subagent-task.test.js.map +1 -0
  519. package/dist/tools/implementations/__tests__/complete-task-notes.test.d.ts +6 -0
  520. package/dist/tools/implementations/__tests__/complete-task-notes.test.d.ts.map +1 -0
  521. package/dist/tools/implementations/__tests__/complete-task-notes.test.js +157 -0
  522. package/dist/tools/implementations/__tests__/complete-task-notes.test.js.map +1 -0
  523. package/dist/tools/implementations/__tests__/complete-task.test.d.ts +14 -0
  524. package/dist/tools/implementations/__tests__/complete-task.test.d.ts.map +1 -0
  525. package/dist/tools/implementations/__tests__/complete-task.test.js +867 -0
  526. package/dist/tools/implementations/__tests__/complete-task.test.js.map +1 -0
  527. package/dist/tools/implementations/__tests__/continue-task.test.d.ts +11 -0
  528. package/dist/tools/implementations/__tests__/continue-task.test.d.ts.map +1 -0
  529. package/dist/tools/implementations/__tests__/continue-task.test.js +845 -0
  530. package/dist/tools/implementations/__tests__/continue-task.test.js.map +1 -0
  531. package/dist/tools/implementations/__tests__/coordinator-task.test.d.ts +7 -0
  532. package/dist/tools/implementations/__tests__/coordinator-task.test.d.ts.map +1 -0
  533. package/dist/tools/implementations/__tests__/coordinator-task.test.js +495 -0
  534. package/dist/tools/implementations/__tests__/coordinator-task.test.js.map +1 -0
  535. package/dist/tools/implementations/__tests__/get-guide.test.d.ts +8 -0
  536. package/dist/tools/implementations/__tests__/get-guide.test.d.ts.map +1 -0
  537. package/dist/tools/implementations/__tests__/get-guide.test.js +242 -0
  538. package/dist/tools/implementations/__tests__/get-guide.test.js.map +1 -0
  539. package/dist/tools/implementations/__tests__/get-workflow.test.d.ts +8 -0
  540. package/dist/tools/implementations/__tests__/get-workflow.test.d.ts.map +1 -0
  541. package/dist/tools/implementations/__tests__/get-workflow.test.js +232 -0
  542. package/dist/tools/implementations/__tests__/get-workflow.test.js.map +1 -0
  543. package/dist/tools/implementations/__tests__/search-documents.test.d.ts +8 -0
  544. package/dist/tools/implementations/__tests__/search-documents.test.d.ts.map +1 -0
  545. package/dist/tools/implementations/__tests__/search-documents.test.js +336 -0
  546. package/dist/tools/implementations/__tests__/search-documents.test.js.map +1 -0
  547. package/dist/tools/implementations/__tests__/start-coordinator-task.test.d.ts +7 -0
  548. package/dist/tools/implementations/__tests__/start-coordinator-task.test.d.ts.map +1 -0
  549. package/dist/tools/implementations/__tests__/start-coordinator-task.test.js +177 -0
  550. package/dist/tools/implementations/__tests__/start-coordinator-task.test.js.map +1 -0
  551. package/dist/tools/implementations/__tests__/start-subagent-task.test.d.ts +11 -0
  552. package/dist/tools/implementations/__tests__/start-subagent-task.test.d.ts.map +1 -0
  553. package/dist/tools/implementations/__tests__/start-subagent-task.test.js +846 -0
  554. package/dist/tools/implementations/__tests__/start-subagent-task.test.js.map +1 -0
  555. package/dist/tools/implementations/__tests__/start-task.test.d.ts +11 -0
  556. package/dist/tools/implementations/__tests__/start-task.test.d.ts.map +1 -0
  557. package/dist/tools/implementations/__tests__/start-task.test.js +828 -0
  558. package/dist/tools/implementations/__tests__/start-task.test.js.map +1 -0
  559. package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.d.ts +8 -0
  560. package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.d.ts.map +1 -0
  561. package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.js +199 -0
  562. package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.js.map +1 -0
  563. package/dist/tools/implementations/__tests__/subagent-task.test.d.ts +7 -0
  564. package/dist/tools/implementations/__tests__/subagent-task.test.d.ts.map +1 -0
  565. package/dist/tools/implementations/__tests__/subagent-task.test.js +720 -0
  566. package/dist/tools/implementations/__tests__/subagent-task.test.js.map +1 -0
  567. package/dist/tools/implementations/__tests__/task-batch-operations.test.d.ts +8 -0
  568. package/dist/tools/implementations/__tests__/task-batch-operations.test.d.ts.map +1 -0
  569. package/dist/tools/implementations/__tests__/task-batch-operations.test.js +200 -0
  570. package/dist/tools/implementations/__tests__/task-batch-operations.test.js.map +1 -0
  571. package/dist/tools/implementations/__tests__/task.test.d.ts +7 -0
  572. package/dist/tools/implementations/__tests__/task.test.d.ts.map +1 -0
  573. package/dist/tools/implementations/__tests__/task.test.js +578 -0
  574. package/dist/tools/implementations/__tests__/task.test.js.map +1 -0
  575. package/dist/tools/implementations/__tests__/view-coordinator-task.test.d.ts +13 -0
  576. package/dist/tools/implementations/__tests__/view-coordinator-task.test.d.ts.map +1 -0
  577. package/dist/tools/implementations/__tests__/view-coordinator-task.test.js +1404 -0
  578. package/dist/tools/implementations/__tests__/view-coordinator-task.test.js.map +1 -0
  579. package/dist/tools/implementations/__tests__/view-document.linked-context.test.d.ts +8 -0
  580. package/dist/tools/implementations/__tests__/view-document.linked-context.test.d.ts.map +1 -0
  581. package/dist/tools/implementations/__tests__/view-document.linked-context.test.js +235 -0
  582. package/dist/tools/implementations/__tests__/view-document.linked-context.test.js.map +1 -0
  583. package/dist/tools/implementations/__tests__/view-document.simplification.test.d.ts +9 -0
  584. package/dist/tools/implementations/__tests__/view-document.simplification.test.d.ts.map +1 -0
  585. package/dist/tools/implementations/__tests__/view-document.simplification.test.js +160 -0
  586. package/dist/tools/implementations/__tests__/view-document.simplification.test.js.map +1 -0
  587. package/dist/tools/implementations/__tests__/view-task.test.d.ts +12 -0
  588. package/dist/tools/implementations/__tests__/view-task.test.d.ts.map +1 -0
  589. package/dist/tools/implementations/__tests__/view-task.test.js +1158 -0
  590. package/dist/tools/implementations/__tests__/view-task.test.js.map +1 -0
  591. package/dist/tools/implementations/browse-documents.d.ts +36 -0
  592. package/dist/tools/implementations/browse-documents.d.ts.map +1 -0
  593. package/dist/tools/implementations/browse-documents.js +123 -0
  594. package/dist/tools/implementations/browse-documents.js.map +1 -0
  595. package/dist/tools/implementations/complete-coordinator-task.d.ts +53 -0
  596. package/dist/tools/implementations/complete-coordinator-task.d.ts.map +1 -0
  597. package/dist/tools/implementations/complete-coordinator-task.js +159 -0
  598. package/dist/tools/implementations/complete-coordinator-task.js.map +1 -0
  599. package/dist/tools/implementations/complete-subagent-task.d.ts +47 -0
  600. package/dist/tools/implementations/complete-subagent-task.d.ts.map +1 -0
  601. package/dist/tools/implementations/complete-subagent-task.js +141 -0
  602. package/dist/tools/implementations/complete-subagent-task.js.map +1 -0
  603. package/dist/tools/implementations/complete-task.d.ts +32 -0
  604. package/dist/tools/implementations/complete-task.d.ts.map +1 -0
  605. package/dist/tools/implementations/complete-task.hierarchical.test.d.ts +8 -0
  606. package/dist/tools/implementations/complete-task.hierarchical.test.d.ts.map +1 -0
  607. package/dist/tools/implementations/complete-task.hierarchical.test.js +363 -0
  608. package/dist/tools/implementations/complete-task.hierarchical.test.js.map +1 -0
  609. package/dist/tools/implementations/complete-task.js +122 -0
  610. package/dist/tools/implementations/complete-task.js.map +1 -0
  611. package/dist/tools/implementations/continue-task.d.ts +48 -0
  612. package/dist/tools/implementations/continue-task.d.ts.map +1 -0
  613. package/dist/tools/implementations/continue-task.js +167 -0
  614. package/dist/tools/implementations/continue-task.js.map +1 -0
  615. package/dist/tools/implementations/coordinator-task.d.ts +72 -0
  616. package/dist/tools/implementations/coordinator-task.d.ts.map +1 -0
  617. package/dist/tools/implementations/coordinator-task.js +169 -0
  618. package/dist/tools/implementations/coordinator-task.js.map +1 -0
  619. package/dist/tools/implementations/create-document.d.ts +12 -0
  620. package/dist/tools/implementations/create-document.d.ts.map +1 -0
  621. package/dist/tools/implementations/create-document.js +15 -0
  622. package/dist/tools/implementations/create-document.js.map +1 -0
  623. package/dist/tools/implementations/delete-document.d.ts +16 -0
  624. package/dist/tools/implementations/delete-document.d.ts.map +1 -0
  625. package/dist/tools/implementations/delete-document.js +70 -0
  626. package/dist/tools/implementations/delete-document.js.map +1 -0
  627. package/dist/tools/implementations/edit-document.d.ts +8 -0
  628. package/dist/tools/implementations/edit-document.d.ts.map +1 -0
  629. package/dist/tools/implementations/edit-document.js +118 -0
  630. package/dist/tools/implementations/edit-document.js.map +1 -0
  631. package/dist/tools/implementations/get-guide.d.ts +13 -0
  632. package/dist/tools/implementations/get-guide.d.ts.map +1 -0
  633. package/dist/tools/implementations/get-guide.js +64 -0
  634. package/dist/tools/implementations/get-guide.js.map +1 -0
  635. package/dist/tools/implementations/get-workflow.d.ts +12 -0
  636. package/dist/tools/implementations/get-workflow.d.ts.map +1 -0
  637. package/dist/tools/implementations/get-workflow.js +71 -0
  638. package/dist/tools/implementations/get-workflow.js.map +1 -0
  639. package/dist/tools/implementations/index.d.ts +24 -0
  640. package/dist/tools/implementations/index.d.ts.map +1 -0
  641. package/dist/tools/implementations/index.js +24 -0
  642. package/dist/tools/implementations/index.js.map +1 -0
  643. package/dist/tools/implementations/manage-document.d.ts +8 -0
  644. package/dist/tools/implementations/manage-document.d.ts.map +1 -0
  645. package/dist/tools/implementations/manage-document.js +180 -0
  646. package/dist/tools/implementations/manage-document.js.map +1 -0
  647. package/dist/tools/implementations/move-document.d.ts +12 -0
  648. package/dist/tools/implementations/move-document.d.ts.map +1 -0
  649. package/dist/tools/implementations/move-document.js +72 -0
  650. package/dist/tools/implementations/move-document.js.map +1 -0
  651. package/dist/tools/implementations/move.d.ts +24 -0
  652. package/dist/tools/implementations/move.d.ts.map +1 -0
  653. package/dist/tools/implementations/move.js +167 -0
  654. package/dist/tools/implementations/move.js.map +1 -0
  655. package/dist/tools/implementations/search-documents.d.ts +39 -0
  656. package/dist/tools/implementations/search-documents.d.ts.map +1 -0
  657. package/dist/tools/implementations/search-documents.js +246 -0
  658. package/dist/tools/implementations/search-documents.js.map +1 -0
  659. package/dist/tools/implementations/section.d.ts +42 -0
  660. package/dist/tools/implementations/section.d.ts.map +1 -0
  661. package/dist/tools/implementations/section.hierarchical.test.d.ts +8 -0
  662. package/dist/tools/implementations/section.hierarchical.test.d.ts.map +1 -0
  663. package/dist/tools/implementations/section.hierarchical.test.js +299 -0
  664. package/dist/tools/implementations/section.hierarchical.test.js.map +1 -0
  665. package/dist/tools/implementations/section.js +244 -0
  666. package/dist/tools/implementations/section.js.map +1 -0
  667. package/dist/tools/implementations/section.test.d.ts +5 -0
  668. package/dist/tools/implementations/section.test.d.ts.map +1 -0
  669. package/dist/tools/implementations/section.test.js +371 -0
  670. package/dist/tools/implementations/section.test.js.map +1 -0
  671. package/dist/tools/implementations/start-coordinator-task.d.ts +44 -0
  672. package/dist/tools/implementations/start-coordinator-task.d.ts.map +1 -0
  673. package/dist/tools/implementations/start-coordinator-task.js +125 -0
  674. package/dist/tools/implementations/start-coordinator-task.js.map +1 -0
  675. package/dist/tools/implementations/start-subagent-task.d.ts +53 -0
  676. package/dist/tools/implementations/start-subagent-task.d.ts.map +1 -0
  677. package/dist/tools/implementations/start-subagent-task.js +179 -0
  678. package/dist/tools/implementations/start-subagent-task.js.map +1 -0
  679. package/dist/tools/implementations/start-task.d.ts +48 -0
  680. package/dist/tools/implementations/start-task.d.ts.map +1 -0
  681. package/dist/tools/implementations/start-task.js +216 -0
  682. package/dist/tools/implementations/start-task.js.map +1 -0
  683. package/dist/tools/implementations/subagent-task.d.ts +98 -0
  684. package/dist/tools/implementations/subagent-task.d.ts.map +1 -0
  685. package/dist/tools/implementations/subagent-task.js +277 -0
  686. package/dist/tools/implementations/subagent-task.js.map +1 -0
  687. package/dist/tools/implementations/task.d.ts +97 -0
  688. package/dist/tools/implementations/task.d.ts.map +1 -0
  689. package/dist/tools/implementations/task.hierarchical.test.d.ts +8 -0
  690. package/dist/tools/implementations/task.hierarchical.test.d.ts.map +1 -0
  691. package/dist/tools/implementations/task.hierarchical.test.js +333 -0
  692. package/dist/tools/implementations/task.hierarchical.test.js.map +1 -0
  693. package/dist/tools/implementations/task.js +235 -0
  694. package/dist/tools/implementations/task.js.map +1 -0
  695. package/dist/tools/implementations/view-coordinator-task.d.ts +61 -0
  696. package/dist/tools/implementations/view-coordinator-task.d.ts.map +1 -0
  697. package/dist/tools/implementations/view-coordinator-task.js +295 -0
  698. package/dist/tools/implementations/view-coordinator-task.js.map +1 -0
  699. package/dist/tools/implementations/view-document.d.ts +84 -0
  700. package/dist/tools/implementations/view-document.d.ts.map +1 -0
  701. package/dist/tools/implementations/view-document.js +287 -0
  702. package/dist/tools/implementations/view-document.js.map +1 -0
  703. package/dist/tools/implementations/view-section.d.ts +28 -0
  704. package/dist/tools/implementations/view-section.d.ts.map +1 -0
  705. package/dist/tools/implementations/view-section.hierarchical.test.d.ts +8 -0
  706. package/dist/tools/implementations/view-section.hierarchical.test.d.ts.map +1 -0
  707. package/dist/tools/implementations/view-section.hierarchical.test.js +318 -0
  708. package/dist/tools/implementations/view-section.hierarchical.test.js.map +1 -0
  709. package/dist/tools/implementations/view-section.js +167 -0
  710. package/dist/tools/implementations/view-section.js.map +1 -0
  711. package/dist/tools/implementations/view-subagent-task.d.ts +46 -0
  712. package/dist/tools/implementations/view-subagent-task.d.ts.map +1 -0
  713. package/dist/tools/implementations/view-subagent-task.js +283 -0
  714. package/dist/tools/implementations/view-subagent-task.js.map +1 -0
  715. package/dist/tools/implementations/view-task.d.ts +43 -0
  716. package/dist/tools/implementations/view-task.d.ts.map +1 -0
  717. package/dist/tools/implementations/view-task.hierarchical.test.d.ts +8 -0
  718. package/dist/tools/implementations/view-task.hierarchical.test.d.ts.map +1 -0
  719. package/dist/tools/implementations/view-task.hierarchical.test.js +420 -0
  720. package/dist/tools/implementations/view-task.hierarchical.test.js.map +1 -0
  721. package/dist/tools/implementations/view-task.js +280 -0
  722. package/dist/tools/implementations/view-task.js.map +1 -0
  723. package/dist/tools/index.d.ts +6 -0
  724. package/dist/tools/index.d.ts.map +1 -0
  725. package/dist/tools/index.js +6 -0
  726. package/dist/tools/index.js.map +1 -0
  727. package/dist/tools/registry.d.ts +10 -0
  728. package/dist/tools/registry.d.ts.map +1 -0
  729. package/dist/tools/registry.js +132 -0
  730. package/dist/tools/registry.js.map +1 -0
  731. package/dist/tools/schemas/__tests__/get-guide-schemas.test.d.ts +8 -0
  732. package/dist/tools/schemas/__tests__/get-guide-schemas.test.d.ts.map +1 -0
  733. package/dist/tools/schemas/__tests__/get-guide-schemas.test.js +216 -0
  734. package/dist/tools/schemas/__tests__/get-guide-schemas.test.js.map +1 -0
  735. package/dist/tools/schemas/__tests__/get-workflow-schemas.test.d.ts +8 -0
  736. package/dist/tools/schemas/__tests__/get-workflow-schemas.test.d.ts.map +1 -0
  737. package/dist/tools/schemas/__tests__/get-workflow-schemas.test.js +229 -0
  738. package/dist/tools/schemas/__tests__/get-workflow-schemas.test.js.map +1 -0
  739. package/dist/tools/schemas/browse-documents-schemas.d.ts +47 -0
  740. package/dist/tools/schemas/browse-documents-schemas.d.ts.map +1 -0
  741. package/dist/tools/schemas/browse-documents-schemas.js +48 -0
  742. package/dist/tools/schemas/browse-documents-schemas.js.map +1 -0
  743. package/dist/tools/schemas/complete-coordinator-task-schemas.d.ts +41 -0
  744. package/dist/tools/schemas/complete-coordinator-task-schemas.d.ts.map +1 -0
  745. package/dist/tools/schemas/complete-coordinator-task-schemas.js +42 -0
  746. package/dist/tools/schemas/complete-coordinator-task-schemas.js.map +1 -0
  747. package/dist/tools/schemas/complete-subagent-task-schemas.d.ts +38 -0
  748. package/dist/tools/schemas/complete-subagent-task-schemas.d.ts.map +1 -0
  749. package/dist/tools/schemas/complete-subagent-task-schemas.js +41 -0
  750. package/dist/tools/schemas/complete-subagent-task-schemas.js.map +1 -0
  751. package/dist/tools/schemas/complete-task-schemas.d.ts +33 -0
  752. package/dist/tools/schemas/complete-task-schemas.d.ts.map +1 -0
  753. package/dist/tools/schemas/complete-task-schemas.js +36 -0
  754. package/dist/tools/schemas/complete-task-schemas.js.map +1 -0
  755. package/dist/tools/schemas/continue-task-schemas.d.ts +27 -0
  756. package/dist/tools/schemas/continue-task-schemas.d.ts.map +1 -0
  757. package/dist/tools/schemas/continue-task-schemas.js +28 -0
  758. package/dist/tools/schemas/continue-task-schemas.js.map +1 -0
  759. package/dist/tools/schemas/coordinator-task-schemas.d.ts +87 -0
  760. package/dist/tools/schemas/coordinator-task-schemas.d.ts.map +1 -0
  761. package/dist/tools/schemas/coordinator-task-schemas.js +80 -0
  762. package/dist/tools/schemas/coordinator-task-schemas.js.map +1 -0
  763. package/dist/tools/schemas/create-document-schemas.d.ts +61 -0
  764. package/dist/tools/schemas/create-document-schemas.d.ts.map +1 -0
  765. package/dist/tools/schemas/create-document-schemas.js +143 -0
  766. package/dist/tools/schemas/create-document-schemas.js.map +1 -0
  767. package/dist/tools/schemas/delete-document-schemas.d.ts +24 -0
  768. package/dist/tools/schemas/delete-document-schemas.d.ts.map +1 -0
  769. package/dist/tools/schemas/delete-document-schemas.js +25 -0
  770. package/dist/tools/schemas/delete-document-schemas.js.map +1 -0
  771. package/dist/tools/schemas/edit-document-schemas.d.ts +27 -0
  772. package/dist/tools/schemas/edit-document-schemas.d.ts.map +1 -0
  773. package/dist/tools/schemas/edit-document-schemas.js +28 -0
  774. package/dist/tools/schemas/edit-document-schemas.js.map +1 -0
  775. package/dist/tools/schemas/get-guide-schemas.d.ts +35 -0
  776. package/dist/tools/schemas/get-guide-schemas.d.ts.map +1 -0
  777. package/dist/tools/schemas/get-guide-schemas.js +66 -0
  778. package/dist/tools/schemas/get-guide-schemas.js.map +1 -0
  779. package/dist/tools/schemas/get-workflow-schemas.d.ts +35 -0
  780. package/dist/tools/schemas/get-workflow-schemas.d.ts.map +1 -0
  781. package/dist/tools/schemas/get-workflow-schemas.js +67 -0
  782. package/dist/tools/schemas/get-workflow-schemas.js.map +1 -0
  783. package/dist/tools/schemas/manage-document-schemas.d.ts +59 -0
  784. package/dist/tools/schemas/manage-document-schemas.d.ts.map +1 -0
  785. package/dist/tools/schemas/manage-document-schemas.js +83 -0
  786. package/dist/tools/schemas/manage-document-schemas.js.map +1 -0
  787. package/dist/tools/schemas/move-document-schemas.d.ts +25 -0
  788. package/dist/tools/schemas/move-document-schemas.d.ts.map +1 -0
  789. package/dist/tools/schemas/move-document-schemas.js +26 -0
  790. package/dist/tools/schemas/move-document-schemas.js.map +1 -0
  791. package/dist/tools/schemas/move-schemas.d.ts +43 -0
  792. package/dist/tools/schemas/move-schemas.d.ts.map +1 -0
  793. package/dist/tools/schemas/move-schemas.js +43 -0
  794. package/dist/tools/schemas/move-schemas.js.map +1 -0
  795. package/dist/tools/schemas/search-documents-schemas.d.ts +77 -0
  796. package/dist/tools/schemas/search-documents-schemas.d.ts.map +1 -0
  797. package/dist/tools/schemas/search-documents-schemas.js +78 -0
  798. package/dist/tools/schemas/search-documents-schemas.js.map +1 -0
  799. package/dist/tools/schemas/section-schemas.d.ts +361 -0
  800. package/dist/tools/schemas/section-schemas.d.ts.map +1 -0
  801. package/dist/tools/schemas/section-schemas.js +182 -0
  802. package/dist/tools/schemas/section-schemas.js.map +1 -0
  803. package/dist/tools/schemas/start-coordinator-task-schemas.d.ts +30 -0
  804. package/dist/tools/schemas/start-coordinator-task-schemas.d.ts.map +1 -0
  805. package/dist/tools/schemas/start-coordinator-task-schemas.js +31 -0
  806. package/dist/tools/schemas/start-coordinator-task-schemas.js.map +1 -0
  807. package/dist/tools/schemas/start-subagent-task-schemas.d.ts +29 -0
  808. package/dist/tools/schemas/start-subagent-task-schemas.d.ts.map +1 -0
  809. package/dist/tools/schemas/start-subagent-task-schemas.js +40 -0
  810. package/dist/tools/schemas/start-subagent-task-schemas.js.map +1 -0
  811. package/dist/tools/schemas/start-task-schemas.d.ts +23 -0
  812. package/dist/tools/schemas/start-task-schemas.d.ts.map +1 -0
  813. package/dist/tools/schemas/start-task-schemas.js +39 -0
  814. package/dist/tools/schemas/start-task-schemas.js.map +1 -0
  815. package/dist/tools/schemas/subagent-task-schemas.d.ts +93 -0
  816. package/dist/tools/schemas/subagent-task-schemas.d.ts.map +1 -0
  817. package/dist/tools/schemas/subagent-task-schemas.js +81 -0
  818. package/dist/tools/schemas/subagent-task-schemas.js.map +1 -0
  819. package/dist/tools/schemas/task-schemas.d.ts +88 -0
  820. package/dist/tools/schemas/task-schemas.d.ts.map +1 -0
  821. package/dist/tools/schemas/task-schemas.js +80 -0
  822. package/dist/tools/schemas/task-schemas.js.map +1 -0
  823. package/dist/tools/schemas/view-coordinator-task-schemas.d.ts +27 -0
  824. package/dist/tools/schemas/view-coordinator-task-schemas.d.ts.map +1 -0
  825. package/dist/tools/schemas/view-coordinator-task-schemas.js +46 -0
  826. package/dist/tools/schemas/view-coordinator-task-schemas.js.map +1 -0
  827. package/dist/tools/schemas/view-document-schemas.d.ts +152 -0
  828. package/dist/tools/schemas/view-document-schemas.d.ts.map +1 -0
  829. package/dist/tools/schemas/view-document-schemas.js +70 -0
  830. package/dist/tools/schemas/view-document-schemas.js.map +1 -0
  831. package/dist/tools/schemas/view-section-schemas.d.ts +31 -0
  832. package/dist/tools/schemas/view-section-schemas.d.ts.map +1 -0
  833. package/dist/tools/schemas/view-section-schemas.js +56 -0
  834. package/dist/tools/schemas/view-section-schemas.js.map +1 -0
  835. package/dist/tools/schemas/view-subagent-task-schemas.d.ts +31 -0
  836. package/dist/tools/schemas/view-subagent-task-schemas.d.ts.map +1 -0
  837. package/dist/tools/schemas/view-subagent-task-schemas.js +65 -0
  838. package/dist/tools/schemas/view-subagent-task-schemas.js.map +1 -0
  839. package/dist/tools/schemas/view-task-schemas.d.ts +31 -0
  840. package/dist/tools/schemas/view-task-schemas.d.ts.map +1 -0
  841. package/dist/tools/schemas/view-task-schemas.js +62 -0
  842. package/dist/tools/schemas/view-task-schemas.js.map +1 -0
  843. package/dist/tools/types.d.ts +98 -0
  844. package/dist/tools/types.d.ts.map +1 -0
  845. package/dist/tools/types.js +9 -0
  846. package/dist/tools/types.js.map +1 -0
  847. package/dist/tools-manager.d.ts +8 -0
  848. package/dist/tools-manager.d.ts.map +1 -0
  849. package/dist/tools-manager.js +9 -0
  850. package/dist/tools-manager.js.map +1 -0
  851. package/dist/types/core.d.ts +71 -0
  852. package/dist/types/core.d.ts.map +1 -0
  853. package/dist/types/core.js +5 -0
  854. package/dist/types/core.js.map +1 -0
  855. package/dist/types/index.d.ts +5 -0
  856. package/dist/types/index.d.ts.map +1 -0
  857. package/dist/types/index.js +5 -0
  858. package/dist/types/index.js.map +1 -0
  859. package/dist/types/linking.d.ts +97 -0
  860. package/dist/types/linking.d.ts.map +1 -0
  861. package/dist/types/linking.js +5 -0
  862. package/dist/types/linking.js.map +1 -0
  863. package/dist/utils/__tests__/path-handler.archive.test.d.ts +8 -0
  864. package/dist/utils/__tests__/path-handler.archive.test.d.ts.map +1 -0
  865. package/dist/utils/__tests__/path-handler.archive.test.js +163 -0
  866. package/dist/utils/__tests__/path-handler.archive.test.js.map +1 -0
  867. package/dist/utils/error-formatter.d.ts +32 -0
  868. package/dist/utils/error-formatter.d.ts.map +1 -0
  869. package/dist/utils/error-formatter.js +79 -0
  870. package/dist/utils/error-formatter.js.map +1 -0
  871. package/dist/utils/logger.d.ts +21 -0
  872. package/dist/utils/logger.d.ts.map +1 -0
  873. package/dist/utils/logger.js +154 -0
  874. package/dist/utils/logger.js.map +1 -0
  875. package/dist/utils/path-handler.d.ts +52 -0
  876. package/dist/utils/path-handler.d.ts.map +1 -0
  877. package/dist/utils/path-handler.js +129 -0
  878. package/dist/utils/path-handler.js.map +1 -0
  879. package/dist/utils/security-audit-logger.d.ts +64 -0
  880. package/dist/utils/security-audit-logger.d.ts.map +1 -0
  881. package/dist/utils/security-audit-logger.js +56 -0
  882. package/dist/utils/security-audit-logger.js.map +1 -0
  883. package/dist/utils/virtual-path-resolver.d.ts +126 -0
  884. package/dist/utils/virtual-path-resolver.d.ts.map +1 -0
  885. package/dist/utils/virtual-path-resolver.js +171 -0
  886. package/dist/utils/virtual-path-resolver.js.map +1 -0
  887. package/package.json +82 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressing-system.js","sourceRoot":"","sources":["../../src/shared/addressing-system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Unit tests for enhanced keyword extraction utilities
3
+ *
4
+ * Tests the keyword extraction and weighting functionality including
5
+ * frontmatter parsing, weighted extraction, and backward compatibility.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=keyword-utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-utils.test.d.ts","sourceRoot":"","sources":["../../../../src/shared/document-analysis/__tests__/keyword-utils.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,601 @@
1
+ /**
2
+ * Unit tests for enhanced keyword extraction utilities
3
+ *
4
+ * Tests the keyword extraction and weighting functionality including
5
+ * frontmatter parsing, weighted extraction, and backward compatibility.
6
+ */
7
+ import { describe, it, expect } from 'vitest';
8
+ import { extractWeightedKeywords, extractKeywordsWithFingerprint, calculateWeightedRelevance, calculateWeightedRelevanceWithBreakdown, generateFactorBasedExplanation, extractKeywords, calculateNamespaceAffinity, calculateRecencyBoost, calculateTitleSimilarity, calculateLinkGraphBoost, DEFAULT_KEYWORD_WEIGHTS, DEFAULT_SCORING_FEATURES } from '../keyword-utils.js';
9
+ describe('Enhanced Keyword Utilities', () => {
10
+ describe('extractWeightedKeywords', () => {
11
+ it('should extract keywords from title and content', () => {
12
+ const result = extractWeightedKeywords('User Authentication API', 'This document describes JWT authentication for user management');
13
+ expect(result.keywords).toContain('user');
14
+ expect(result.keywords).toContain('authentication');
15
+ expect(result.keywords).toContain('api');
16
+ expect(result.hasExplicitKeywords).toBe(false);
17
+ expect(result.totalWeight).toBeGreaterThan(0);
18
+ });
19
+ it('should parse explicit frontmatter keywords', () => {
20
+ const content = `---
21
+ keywords: [auth, api, security, jwt]
22
+ title: Authentication Guide
23
+ ---
24
+
25
+ # Authentication
26
+
27
+ This guide covers user authentication.`;
28
+ const result = extractWeightedKeywords('Authentication API', content);
29
+ expect(result.hasExplicitKeywords).toBe(true);
30
+ expect(result.keywords).toEqual(['auth', 'api', 'security', 'jwt']);
31
+ expect(result.weightedKeywords).toHaveLength(4);
32
+ expect(result.weightedKeywords[0]?.weight).toBe(DEFAULT_KEYWORD_WEIGHTS.frontmatter);
33
+ expect(result.weightedKeywords[0]?.sources).toEqual(['frontmatter']);
34
+ });
35
+ it('should handle quoted frontmatter keywords', () => {
36
+ const content = `---
37
+ keywords: "authentication, api, security"
38
+ ---
39
+
40
+ # Content`;
41
+ const result = extractWeightedKeywords('Title', content);
42
+ expect(result.hasExplicitKeywords).toBe(true);
43
+ expect(result.keywords).toEqual(['authentication', 'api', 'security']);
44
+ });
45
+ it('should extract weighted keywords from different content sources', () => {
46
+ const content = `# Main Heading
47
+
48
+ This **important** content describes _emphasized_ features.
49
+
50
+ ## Sub Heading
51
+
52
+ Regular content with keywords.`;
53
+ const result = extractWeightedKeywords('Document Title', content);
54
+ expect(result.hasExplicitKeywords).toBe(false);
55
+ expect(result.weightedKeywords.length).toBeGreaterThan(0);
56
+ // Check that different sources have different weights
57
+ const titleKeywords = result.weightedKeywords.filter(wk => wk.sources.includes('title'));
58
+ const headingKeywords = result.weightedKeywords.filter(wk => wk.sources.includes('headings'));
59
+ const emphasisKeywords = result.weightedKeywords.filter(wk => wk.sources.includes('emphasis'));
60
+ expect(titleKeywords.length).toBeGreaterThan(0);
61
+ expect(headingKeywords.length).toBeGreaterThan(0);
62
+ expect(emphasisKeywords.length).toBeGreaterThan(0);
63
+ // Title should have higher weight than regular content
64
+ if (titleKeywords[0] != null) {
65
+ expect(titleKeywords[0].weight).toBe(DEFAULT_KEYWORD_WEIGHTS.title);
66
+ }
67
+ });
68
+ it('should handle empty input gracefully', () => {
69
+ const result = extractWeightedKeywords('', '');
70
+ expect(result.keywords).toEqual([]);
71
+ expect(result.weightedKeywords).toEqual([]);
72
+ expect(result.hasExplicitKeywords).toBe(false);
73
+ expect(result.totalWeight).toBe(0);
74
+ });
75
+ it('should use custom weights when provided', () => {
76
+ const customWeights = {
77
+ frontmatter: 10.0,
78
+ title: 5.0,
79
+ headings: 3.0,
80
+ emphasis: 2.0,
81
+ content: 1.0
82
+ };
83
+ const result = extractWeightedKeywords('Test Title', 'Content', customWeights);
84
+ const titleKeywords = result.weightedKeywords.filter(wk => wk.sources.includes('title'));
85
+ if (titleKeywords[0] != null) {
86
+ expect(titleKeywords[0].weight).toBe(5.0);
87
+ }
88
+ });
89
+ });
90
+ describe('extractKeywordsWithFingerprint', () => {
91
+ it('should prefer content analysis when content is available', () => {
92
+ const fingerprint = {
93
+ keywords: ['old', 'cached'],
94
+ namespace: 'test',
95
+ lastModified: new Date(),
96
+ contentHash: 'hash123'
97
+ };
98
+ const result = extractKeywordsWithFingerprint('New Title', 'New content with different keywords', fingerprint);
99
+ expect(result.keywords).toContain('new');
100
+ expect(result.keywords).not.toContain('old');
101
+ });
102
+ it('should fall back to fingerprint when no content available', () => {
103
+ const fingerprint = {
104
+ keywords: ['cached', 'keywords'],
105
+ namespace: 'test',
106
+ lastModified: new Date(),
107
+ contentHash: 'hash123'
108
+ };
109
+ const result = extractKeywordsWithFingerprint('Title', null, fingerprint);
110
+ expect(result.keywords).toContain('cached');
111
+ expect(result.keywords).toContain('keywords');
112
+ expect(result.weightedKeywords[0]?.sources).toEqual(['fingerprint']);
113
+ });
114
+ it('should handle missing fingerprint gracefully', () => {
115
+ const result = extractKeywordsWithFingerprint('Test Title', null, undefined);
116
+ expect(result.keywords).toContain('test');
117
+ expect(result.keywords).toContain('title');
118
+ });
119
+ });
120
+ describe('calculateWeightedRelevance (legacy compatibility)', () => {
121
+ it('should calculate relevance using multi-factor scoring', () => {
122
+ const sourceKeywords = [
123
+ { keyword: 'api', weight: 3.0, sources: ['title'] },
124
+ { keyword: 'auth', weight: 5.0, sources: ['frontmatter'] },
125
+ { keyword: 'user', weight: 2.0, sources: ['headings'] }
126
+ ];
127
+ const relevance = calculateWeightedRelevance(sourceKeywords, 'Source API Documentation', // sourceTitle
128
+ 'api/guides', // sourceNamespace
129
+ 'API guide content', // sourceContent
130
+ 'Authentication API Guide', // targetTitle
131
+ 'This guide covers user authentication and API security', // targetContent
132
+ 'api/specs', // targetNamespace
133
+ new Date(), // targetLastModified
134
+ '/api/specs/auth.md' // targetPath
135
+ );
136
+ expect(relevance).toBeGreaterThan(0);
137
+ expect(relevance).toBeLessThanOrEqual(1);
138
+ });
139
+ it('should return 0 for no keyword matches', () => {
140
+ const sourceKeywords = [
141
+ { keyword: 'database', weight: 3.0, sources: ['title'] }
142
+ ];
143
+ // Use an old date to avoid recency boost
144
+ const oldDate = new Date('2020-01-01');
145
+ const relevance = calculateWeightedRelevance(sourceKeywords, 'Database Guide', // sourceTitle
146
+ 'data/guides', // sourceNamespace
147
+ 'Database guide content', // sourceContent
148
+ 'Frontend UI', // targetTitle
149
+ 'User interface components and styling', // targetContent
150
+ 'frontend/ui', // targetNamespace
151
+ oldDate, // targetLastModified (old to avoid recency boost)
152
+ '/frontend/ui.md' // targetPath
153
+ );
154
+ expect(relevance).toBe(0);
155
+ });
156
+ it('should handle empty source keywords', () => {
157
+ // Use an old date to avoid recency boost
158
+ const oldDate = new Date('2020-01-01');
159
+ const relevance = calculateWeightedRelevance([], 'Any Title', // sourceTitle
160
+ 'any/namespace', // sourceNamespace
161
+ 'Any content', // sourceContent
162
+ 'Target Title', // targetTitle
163
+ 'Target content', // targetContent
164
+ 'target/namespace', // targetNamespace
165
+ oldDate, // targetLastModified (old to avoid recency boost)
166
+ '/target.md' // targetPath
167
+ );
168
+ expect(relevance).toBe(0);
169
+ });
170
+ });
171
+ describe('extractKeywords (backward compatibility)', () => {
172
+ it('should maintain backward compatibility with original behavior', () => {
173
+ const keywords = extractKeywords('User Authentication API', 'This API handles user login and session management');
174
+ expect(Array.isArray(keywords)).toBe(true);
175
+ expect(keywords).toContain('user');
176
+ expect(keywords).toContain('authentication');
177
+ expect(keywords).toContain('api');
178
+ // Should filter out short words and stop words
179
+ expect(keywords).not.toContain('and');
180
+ expect(keywords).not.toContain('the');
181
+ });
182
+ it('should handle empty inputs gracefully', () => {
183
+ const keywords = extractKeywords('', '');
184
+ expect(keywords).toEqual([]);
185
+ });
186
+ it('should provide fallback on extraction failure', () => {
187
+ // Test with input that might cause issues
188
+ const keywords = extractKeywords('Test', 'Content');
189
+ expect(Array.isArray(keywords)).toBe(true);
190
+ });
191
+ });
192
+ describe('frontmatter parsing', () => {
193
+ it('should handle malformed YAML gracefully', () => {
194
+ const content = `---
195
+ keywords: [incomplete
196
+ ---
197
+
198
+ # Content`;
199
+ const result = extractWeightedKeywords('Title', content);
200
+ // Should fall back to content analysis
201
+ expect(result.hasExplicitKeywords).toBe(false);
202
+ expect(result.keywords.length).toBeGreaterThan(0);
203
+ });
204
+ it('should ignore non-keyword frontmatter fields', () => {
205
+ const content = `---
206
+ title: "Document Title"
207
+ date: 2025-01-01
208
+ keywords: [test, keywords]
209
+ description: "Some description"
210
+ ---
211
+
212
+ # Content`;
213
+ const result = extractWeightedKeywords('Title', content);
214
+ expect(result.hasExplicitKeywords).toBe(true);
215
+ expect(result.keywords).toEqual(['test', 'keywords']);
216
+ });
217
+ });
218
+ describe('performance and edge cases', () => {
219
+ it('should handle large content efficiently', () => {
220
+ const largeContent = 'word '.repeat(10000);
221
+ const start = Date.now();
222
+ const result = extractWeightedKeywords('Title', largeContent);
223
+ const duration = Date.now() - start;
224
+ expect(duration).toBeLessThan(1000); // Should complete within 1 second
225
+ expect(result.keywords.length).toBeLessThanOrEqual(50); // Should limit results
226
+ });
227
+ it('should handle unicode and special characters', () => {
228
+ const result = extractWeightedKeywords('Café API Documentation', 'Content with émojis 🚀 and spéciàl characters');
229
+ expect(result.keywords.length).toBeGreaterThan(0);
230
+ // Should handle unicode gracefully without throwing errors
231
+ });
232
+ it('should deduplicate keywords from multiple sources', () => {
233
+ const content = `# API Documentation
234
+
235
+ This **API** guide covers API implementation details.`;
236
+ const result = extractWeightedKeywords('API Guide', content);
237
+ // 'api' should appear only once despite being in title, heading, emphasis, and content
238
+ const apiKeywords = result.keywords.filter(k => k === 'api');
239
+ expect(apiKeywords).toHaveLength(1);
240
+ // But it should have the highest weight from multiple sources
241
+ const apiWeighted = result.weightedKeywords.find(wk => wk.keyword === 'api');
242
+ expect(apiWeighted).toBeDefined();
243
+ expect(apiWeighted?.sources.length).toBeGreaterThan(1);
244
+ });
245
+ });
246
+ describe('Multi-factor Relevance Scoring', () => {
247
+ describe('calculateNamespaceAffinity', () => {
248
+ it('should return 0.2 for exact namespace match', () => {
249
+ const affinity = calculateNamespaceAffinity('api/specs', 'api/specs');
250
+ expect(affinity).toBe(0.2);
251
+ });
252
+ it('should return 0.15 for parent-child relationships', () => {
253
+ // Parent contains child
254
+ expect(calculateNamespaceAffinity('api', 'api/guides')).toBe(0.15);
255
+ // Child in parent
256
+ expect(calculateNamespaceAffinity('api/guides', 'api')).toBe(0.15);
257
+ });
258
+ it('should return 0.1 for sibling relationships', () => {
259
+ const affinity = calculateNamespaceAffinity('api/specs', 'api/guides');
260
+ expect(affinity).toBe(0.1);
261
+ });
262
+ it('should return 0.0 for unrelated namespaces', () => {
263
+ const affinity = calculateNamespaceAffinity('api', 'frontend');
264
+ expect(affinity).toBe(0.0);
265
+ });
266
+ it('should handle edge cases gracefully', () => {
267
+ expect(calculateNamespaceAffinity('', 'api')).toBe(0.0);
268
+ expect(calculateNamespaceAffinity('api', '')).toBe(0.0);
269
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
270
+ expect(calculateNamespaceAffinity(null, 'api')).toBe(0.0);
271
+ });
272
+ it('should handle root namespace properly', () => {
273
+ expect(calculateNamespaceAffinity('root', 'root')).toBe(0.2);
274
+ expect(calculateNamespaceAffinity('root', 'api')).toBe(0.0);
275
+ });
276
+ });
277
+ describe('calculateRecencyBoost', () => {
278
+ const now = new Date();
279
+ const yesterday = new Date(now.getTime() - 24 * 60 * 60 * 1000);
280
+ const lastWeek = new Date(now.getTime() - 6 * 24 * 60 * 60 * 1000);
281
+ const lastMonth = new Date(now.getTime() - 25 * 24 * 60 * 60 * 1000);
282
+ const threeMonthsAgo = new Date(now.getTime() - 80 * 24 * 60 * 60 * 1000);
283
+ const sixMonthsAgo = new Date(now.getTime() - 180 * 24 * 60 * 60 * 1000);
284
+ it('should return 0.1 for documents modified within last week', () => {
285
+ expect(calculateRecencyBoost(yesterday)).toBe(0.1);
286
+ expect(calculateRecencyBoost(lastWeek)).toBe(0.1);
287
+ });
288
+ it('should return 0.05 for documents modified within last month', () => {
289
+ expect(calculateRecencyBoost(lastMonth)).toBe(0.05);
290
+ });
291
+ it('should return 0.02 for documents modified within last 3 months', () => {
292
+ expect(calculateRecencyBoost(threeMonthsAgo)).toBe(0.02);
293
+ });
294
+ it('should return 0.0 for older documents', () => {
295
+ expect(calculateRecencyBoost(sixMonthsAgo)).toBe(0.0);
296
+ });
297
+ it('should handle invalid dates gracefully', () => {
298
+ expect(calculateRecencyBoost(new Date('invalid'))).toBe(0.0);
299
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
300
+ expect(calculateRecencyBoost(null)).toBe(0.0);
301
+ });
302
+ });
303
+ describe('calculateTitleSimilarity', () => {
304
+ it('should return 0.3 for exact title match', () => {
305
+ const similarity = calculateTitleSimilarity('API Documentation', 'API Documentation');
306
+ expect(similarity).toBe(0.3);
307
+ });
308
+ it('should return score based on word overlap', () => {
309
+ const similarity = calculateTitleSimilarity('User Authentication API', 'Authentication Guide');
310
+ expect(similarity).toBeGreaterThan(0);
311
+ expect(similarity).toBeLessThanOrEqual(0.3);
312
+ });
313
+ it('should return 0 for completely different titles', () => {
314
+ const similarity = calculateTitleSimilarity('Frontend Guide', 'Backend Setup');
315
+ expect(similarity).toBe(0);
316
+ });
317
+ it('should handle edge cases gracefully', () => {
318
+ expect(calculateTitleSimilarity('', 'API')).toBe(0);
319
+ expect(calculateTitleSimilarity('API', '')).toBe(0);
320
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
321
+ expect(calculateTitleSimilarity(null, 'API')).toBe(0);
322
+ });
323
+ it('should filter out common stop words', () => {
324
+ // These titles share the word 'quick' which should be meaningful
325
+ const similarity = calculateTitleSimilarity('The Quick Guide', 'A Quick Reference');
326
+ expect(similarity).toBeGreaterThan(0); // 'quick' is meaningful
327
+ // Test with only stop words - should be 0
328
+ const stopWordsOnly = calculateTitleSimilarity('The Guide', 'A Reference');
329
+ expect(stopWordsOnly).toBe(0); // Only stop words, no meaningful overlap
330
+ });
331
+ });
332
+ describe('calculateLinkGraphBoost', () => {
333
+ const features = { enableLinkGraphBoost: true };
334
+ const disabledFeatures = { enableLinkGraphBoost: false };
335
+ it('should return 0.0 when feature is disabled', () => {
336
+ const boost = calculateLinkGraphBoost('See @/api/auth.md for details', '/api/auth.md', disabledFeatures);
337
+ expect(boost).toBe(0.0);
338
+ });
339
+ it('should return 0.3 when reference is found and feature enabled', () => {
340
+ const boost = calculateLinkGraphBoost('See @/api/auth.md for details', '/api/auth.md', features);
341
+ expect(boost).toBe(0.3);
342
+ });
343
+ it('should return 0.0 when no reference is found', () => {
344
+ const boost = calculateLinkGraphBoost('This content has no references', '/api/auth.md', features);
345
+ expect(boost).toBe(0.0);
346
+ });
347
+ it('should use default features when not provided', () => {
348
+ // Default features have linkGraphBoost disabled
349
+ const boost = calculateLinkGraphBoost('See @/api/auth.md for details', '/api/auth.md');
350
+ expect(boost).toBe(0.0);
351
+ });
352
+ it('should handle edge cases gracefully', () => {
353
+ expect(calculateLinkGraphBoost('', '/api/auth.md', features)).toBe(0.0);
354
+ expect(calculateLinkGraphBoost('content', '', features)).toBe(0.0);
355
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
356
+ expect(calculateLinkGraphBoost(null, '/api/auth.md', features)).toBe(0.0);
357
+ });
358
+ });
359
+ describe('Multi-factor calculateWeightedRelevance', () => {
360
+ const sourceKeywords = [
361
+ { keyword: 'api', weight: 3.0, sources: ['title'] },
362
+ { keyword: 'auth', weight: 5.0, sources: ['frontmatter'] }
363
+ ];
364
+ const baseParams = {
365
+ sourceTitle: 'User Authentication',
366
+ sourceNamespace: 'api/guides',
367
+ sourceContent: 'This covers auth @/api/specs/auth.md',
368
+ targetTitle: 'Authentication API',
369
+ targetContent: 'API for user authentication...',
370
+ targetNamespace: 'api/specs',
371
+ targetLastModified: new Date(),
372
+ targetPath: '/api/specs/auth.md'
373
+ };
374
+ it('should combine all relevance factors', () => {
375
+ const relevance = calculateWeightedRelevance(sourceKeywords, baseParams.sourceTitle, baseParams.sourceNamespace, baseParams.sourceContent, baseParams.targetTitle, baseParams.targetContent, baseParams.targetNamespace, baseParams.targetLastModified, baseParams.targetPath, undefined, { enableLinkGraphBoost: true });
376
+ expect(relevance).toBeGreaterThan(0);
377
+ expect(relevance).toBeLessThanOrEqual(1.0); // Should be capped at 1.0
378
+ });
379
+ it('should cap total relevance at 1.0', () => {
380
+ // Create scenario that would exceed 1.0 without capping
381
+ const highScoringKeywords = [
382
+ { keyword: 'authentication', weight: 10.0, sources: ['title'] },
383
+ { keyword: 'api', weight: 10.0, sources: ['frontmatter'] }
384
+ ];
385
+ const relevance = calculateWeightedRelevance(highScoringKeywords, 'Authentication API', // Same as target title for max title similarity
386
+ 'api/specs', // Same namespace for max affinity
387
+ 'Reference to @/api/specs/auth.md', 'Authentication API', 'authentication api implementation', 'api/specs', new Date(), // Recent for max recency boost
388
+ '/api/specs/auth.md', undefined, { enableLinkGraphBoost: true });
389
+ expect(relevance).toBe(1.0);
390
+ });
391
+ it('should handle missing optional parameters', () => {
392
+ const relevance = calculateWeightedRelevance(sourceKeywords, baseParams.sourceTitle, baseParams.sourceNamespace, baseParams.sourceContent, baseParams.targetTitle, baseParams.targetContent, baseParams.targetNamespace, baseParams.targetLastModified, baseParams.targetPath
393
+ // fingerprint and features omitted
394
+ );
395
+ expect(relevance).toBeGreaterThanOrEqual(0);
396
+ expect(relevance).toBeLessThanOrEqual(1.0);
397
+ });
398
+ it('should return 0 for empty source keywords', () => {
399
+ const relevance = calculateWeightedRelevance([], baseParams.sourceTitle, baseParams.sourceNamespace, baseParams.sourceContent, baseParams.targetTitle, baseParams.targetContent, baseParams.targetNamespace, baseParams.targetLastModified, baseParams.targetPath);
400
+ expect(relevance).toBe(0);
401
+ });
402
+ it('should provide debug information', () => {
403
+ // This test ensures that the function logs debug information
404
+ // We're not testing the exact log output, just that it doesn't throw
405
+ expect(() => {
406
+ calculateWeightedRelevance(sourceKeywords, baseParams.sourceTitle, baseParams.sourceNamespace, baseParams.sourceContent, baseParams.targetTitle, baseParams.targetContent, baseParams.targetNamespace, baseParams.targetLastModified, baseParams.targetPath);
407
+ }).not.toThrow();
408
+ });
409
+ it('should demonstrate practical scoring example from improvement plan', () => {
410
+ // Example from the plan: Creating /api/guides/user-authentication.md
411
+ const sourceKeywords = [
412
+ { keyword: 'user', weight: 3.0, sources: ['title'] },
413
+ { keyword: 'auth', weight: 5.0, sources: ['frontmatter'] },
414
+ { keyword: 'jwt', weight: 2.0, sources: ['content'] },
415
+ { keyword: 'api', weight: 3.0, sources: ['title'] }
416
+ ];
417
+ // Document A: /api/specs/auth-api.md (high relevance expected)
418
+ const relevanceA = calculateWeightedRelevance(sourceKeywords, 'User Authentication Guide', // sourceTitle
419
+ 'api/guides', // sourceNamespace
420
+ 'User auth with JWT tokens', // sourceContent
421
+ 'Auth API Specification', // targetTitle
422
+ 'auth api implementation', // targetContent
423
+ 'api/specs', // targetNamespace (related)
424
+ new Date(Date.now() - 24 * 60 * 60 * 1000), // yesterday (recent)
425
+ '/api/specs/auth-api.md', // targetPath
426
+ undefined, DEFAULT_SCORING_FEATURES);
427
+ expect(relevanceA).toBeGreaterThan(0.5); // Should be high relevance
428
+ expect(relevanceA).toBeLessThanOrEqual(1.0);
429
+ // Document B: /security/jwt-implementation.md (moderate relevance)
430
+ const relevanceB = calculateWeightedRelevance(sourceKeywords, 'User Authentication Guide', 'api/guides', 'Reference @/security/jwt-implementation.md', 'JWT Implementation', 'jwt implementation details', 'security', // Different namespace
431
+ new Date(Date.now() - 7 * 24 * 60 * 60 * 1000), // last week
432
+ '/security/jwt-implementation.md', undefined, { enableLinkGraphBoost: true } // Enable link boost for this test
433
+ );
434
+ expect(relevanceB).toBeGreaterThan(0.3); // Should have moderate relevance
435
+ expect(relevanceB).toBeLessThan(relevanceA); // Should be less than Document A
436
+ });
437
+ });
438
+ });
439
+ describe('factor-based explanation generation', () => {
440
+ describe('generateFactorBasedExplanation', () => {
441
+ it('should generate explanations for single factors', () => {
442
+ const primaryFactors = [
443
+ { factor: 'keywordOverlap', score: 0.8, description: 'strong keyword overlap' }
444
+ ];
445
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'api/specs');
446
+ expect(explanation).toBe('Strong keyword overlap in api/specs');
447
+ });
448
+ it('should generate explanations for two factors', () => {
449
+ const primaryFactors = [
450
+ { factor: 'keywordOverlap', score: 0.7, description: 'good keyword overlap' },
451
+ { factor: 'namespaceAffinity', score: 0.2, description: 'same namespace' }
452
+ ];
453
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'api/specs');
454
+ expect(explanation).toBe('Good keyword overlap with same namespace');
455
+ });
456
+ it('should generate explanations for three factors', () => {
457
+ const primaryFactors = [
458
+ { factor: 'keywordOverlap', score: 0.6, description: 'shared keywords' },
459
+ { factor: 'titleSimilarity', score: 0.15, description: 'similar titles' },
460
+ { factor: 'recencyBoost', score: 0.08, description: 'recently updated' }
461
+ ];
462
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'api/guides');
463
+ expect(explanation).toBe('Shared keywords with similar titles and recently updated in api/guides');
464
+ });
465
+ it('should handle explicit keywords context', () => {
466
+ const primaryFactors = [
467
+ { factor: 'keywordOverlap', score: 0.8, description: 'strong keyword overlap' },
468
+ { factor: 'namespaceAffinity', score: 0.15, description: 'related namespace structure' }
469
+ ];
470
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'api/specs', true);
471
+ expect(explanation).toBe('Strong explicit keyword matches with related namespace structure');
472
+ });
473
+ it('should handle namespace context already mentioned', () => {
474
+ const primaryFactors = [
475
+ { factor: 'namespaceAffinity', score: 0.2, description: 'same namespace' },
476
+ { factor: 'recencyBoost', score: 0.05, description: 'recent updates' }
477
+ ];
478
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'frontend/components');
479
+ expect(explanation).toBe('Same namespace with recent updates');
480
+ });
481
+ it('should fallback gracefully for empty factors', () => {
482
+ const explanation = generateFactorBasedExplanation([], 'docs/troubleshooting');
483
+ expect(explanation).toBe('Related documentation in docs/troubleshooting');
484
+ });
485
+ it('should handle cross-referenced documentation', () => {
486
+ const primaryFactors = [
487
+ { factor: 'linkGraphBoost', score: 0.3, description: 'cross-referenced documentation' },
488
+ { factor: 'keywordOverlap', score: 0.4, description: 'shared keywords' }
489
+ ];
490
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'backend/services');
491
+ expect(explanation).toBe('Cross-referenced documentation with shared keywords in backend/services');
492
+ });
493
+ });
494
+ describe('calculateWeightedRelevanceWithBreakdown', () => {
495
+ it('should return detailed factor breakdown', () => {
496
+ const sourceKeywords = [
497
+ { keyword: 'api', weight: 3.0, sources: ['title'] },
498
+ { keyword: 'auth', weight: 5.0, sources: ['frontmatter'] }
499
+ ];
500
+ const result = calculateWeightedRelevanceWithBreakdown(sourceKeywords, 'User Authentication API', 'api/guides', 'This covers authentication', 'Authentication API Reference', 'API for authentication and user management', 'api/specs', new Date(), '/api/specs/auth.md');
501
+ expect(result).toHaveProperty('relevance');
502
+ expect(result).toHaveProperty('factors');
503
+ expect(result).toHaveProperty('primaryFactors');
504
+ expect(result.factors).toHaveProperty('keywordOverlap');
505
+ expect(result.factors).toHaveProperty('titleSimilarity');
506
+ expect(result.factors).toHaveProperty('namespaceAffinity');
507
+ expect(result.factors).toHaveProperty('recencyBoost');
508
+ expect(result.factors).toHaveProperty('linkGraphBoost');
509
+ // Should have meaningful keyword overlap and title similarity
510
+ expect(result.factors.keywordOverlap).toBeGreaterThan(0.1);
511
+ expect(result.factors.titleSimilarity).toBeGreaterThan(0.1);
512
+ // Should identify primary factors
513
+ expect(result.primaryFactors.length).toBeGreaterThan(0);
514
+ expect(result.primaryFactors[0]).toHaveProperty('factor');
515
+ expect(result.primaryFactors[0]).toHaveProperty('score');
516
+ expect(result.primaryFactors[0]).toHaveProperty('description');
517
+ });
518
+ it('should handle empty keywords gracefully', () => {
519
+ const result = calculateWeightedRelevanceWithBreakdown([], 'Test Title', 'test/namespace', 'test content', 'Target Title', 'target content', 'target/namespace', new Date(), '/target/path.md');
520
+ expect(result.relevance).toBe(0);
521
+ expect(result.primaryFactors).toEqual([]);
522
+ expect(result.factors.keywordOverlap).toBe(0);
523
+ });
524
+ it('should identify same namespace factor', () => {
525
+ const sourceKeywords = [
526
+ { keyword: 'test', weight: 1.0, sources: ['content'] }
527
+ ];
528
+ const result = calculateWeightedRelevanceWithBreakdown(sourceKeywords, 'Test Document', 'api/specs', 'test content', 'Another Test', 'more test content', 'api/specs', // Same namespace
529
+ new Date(), '/api/specs/another.md');
530
+ expect(result.factors.namespaceAffinity).toBe(0.2); // Exact namespace match
531
+ const namespaceFactors = result.primaryFactors.filter(f => f.factor === 'namespaceAffinity');
532
+ expect(namespaceFactors).toHaveLength(1);
533
+ expect(namespaceFactors[0]?.description).toBe('same namespace');
534
+ });
535
+ it('should identify related namespace factor', () => {
536
+ const sourceKeywords = [
537
+ { keyword: 'test', weight: 1.0, sources: ['content'] }
538
+ ];
539
+ const result = calculateWeightedRelevanceWithBreakdown(sourceKeywords, 'Test Document', 'api/specs', 'test content', 'Another Test', 'more test content', 'api/guides', // Related namespace (same parent)
540
+ new Date(), '/api/guides/another.md');
541
+ expect(result.factors.namespaceAffinity).toBe(0.1); // Sibling namespace
542
+ const namespaceFactors = result.primaryFactors.filter(f => f.factor === 'namespaceAffinity');
543
+ if (namespaceFactors.length > 0) {
544
+ expect(namespaceFactors[0]?.description).toBe('similar namespace');
545
+ }
546
+ });
547
+ it('should identify title similarity factor', () => {
548
+ const sourceKeywords = [
549
+ { keyword: 'authentication', weight: 2.0, sources: ['title'] }
550
+ ];
551
+ const result = calculateWeightedRelevanceWithBreakdown(sourceKeywords, 'User Authentication Guide', 'guides', 'authentication content', 'Authentication API Reference', 'auth api content', 'api/specs', new Date(), '/api/specs/auth.md');
552
+ expect(result.factors.titleSimilarity).toBeGreaterThan(0.1);
553
+ const titleFactors = result.primaryFactors.filter(f => f.factor === 'titleSimilarity');
554
+ expect(titleFactors.length).toBeGreaterThan(0);
555
+ expect(titleFactors[0]?.description).toMatch(/similar titles|very similar titles/);
556
+ });
557
+ it('should identify recency boost factor', () => {
558
+ const sourceKeywords = [
559
+ { keyword: 'test', weight: 1.0, sources: ['content'] }
560
+ ];
561
+ const recentDate = new Date(); // Very recent
562
+ const result = calculateWeightedRelevanceWithBreakdown(sourceKeywords, 'Test Document', 'test', 'test content', 'Target Document', 'test target content', 'test', recentDate, '/test/target.md');
563
+ expect(result.factors.recencyBoost).toBeGreaterThan(0.05);
564
+ const recencyFactors = result.primaryFactors.filter(f => f.factor === 'recencyBoost');
565
+ if (recencyFactors.length > 0) {
566
+ expect(recencyFactors[0]?.description).toMatch(/recently updated|recent updates|updated recently/);
567
+ }
568
+ });
569
+ });
570
+ describe('explanation examples from improvement plan', () => {
571
+ it('should generate explanation matching improvement plan examples', () => {
572
+ // Example: Creating /api/guides/user-authentication.md with strong keyword overlap and same namespace
573
+ const primaryFactors = [
574
+ { factor: 'keywordOverlap', score: 0.5, description: 'good keyword overlap' },
575
+ { factor: 'namespaceAffinity', score: 0.2, description: 'related namespace structure' }
576
+ ];
577
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'api/specs');
578
+ expect(explanation).toBe('Good keyword overlap with related namespace structure');
579
+ });
580
+ it('should handle cross-references with shared concepts', () => {
581
+ // Example: Documents with cross-references and shared technical concepts
582
+ const primaryFactors = [
583
+ { factor: 'linkGraphBoost', score: 0.3, description: 'cross-referenced documentation' },
584
+ { factor: 'keywordOverlap', score: 0.25, description: 'shared keywords' }
585
+ ];
586
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'security');
587
+ expect(explanation).toBe('Cross-referenced documentation with shared keywords in security');
588
+ });
589
+ it('should handle explicit frontmatter keyword matches', () => {
590
+ // Test explicit keyword context replacement
591
+ const primaryFactors = [
592
+ { factor: 'keywordOverlap', score: 0.8, description: 'strong keyword overlap' },
593
+ { factor: 'titleSimilarity', score: 0.2, description: 'very similar titles' }
594
+ ];
595
+ const explanation = generateFactorBasedExplanation(primaryFactors, 'api/guides', true);
596
+ expect(explanation).toBe('Strong explicit keyword matches with very similar titles in api/guides');
597
+ });
598
+ });
599
+ });
600
+ });
601
+ //# sourceMappingURL=keyword-utils.test.js.map