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,459 @@
1
+ /**
2
+ * Related document discovery using two-stage fingerprint-based filtering
3
+ *
4
+ * Provides efficient discovery of related documents using fingerprint-based
5
+ * initial filtering followed by full content analysis for high-signal candidates.
6
+ */
7
+ import { pathToNamespace } from '../path-utilities.js';
8
+ import { getGlobalLogger } from '../../utils/logger.js';
9
+ import { extractWeightedKeywords, calculateWeightedRelevanceWithBreakdown, generateFactorBasedExplanation, DEFAULT_SCORING_FEATURES } from './keyword-utils.js';
10
+ import { DocumentAnalysisError } from './types.js';
11
+ const logger = getGlobalLogger();
12
+ // Performance optimization constants for two-stage filtering
13
+ const FINGERPRINT_THRESHOLD = 0.3;
14
+ const MAX_CANDIDATES_FOR_CONTENT_ANALYSIS = 10;
15
+ /**
16
+ * Find related documents using two-stage fingerprint-based filtering
17
+ *
18
+ * Uses efficient fingerprint-based initial filtering followed by full content
19
+ * analysis only for high-signal candidates. This significantly improves performance
20
+ * for large document sets while maintaining result quality.
21
+ *
22
+ * @param manager - Document manager for accessing documents
23
+ * @param _namespace - Target namespace (kept for compatibility, not used)
24
+ * @param title - Document title for keyword extraction
25
+ * @param overview - Document overview for keyword extraction
26
+ * @param excludePath - Optional document path to exclude from results (e.g., the document being created)
27
+ *
28
+ * @returns Promise resolving to array of related document suggestions
29
+ *
30
+ * @throws {DocumentAnalysisError} When document listing fails or critical operations fail
31
+ */
32
+ export async function findRelatedDocuments(manager, _namespace, title, overview, excludePath) {
33
+ // Input validation
34
+ if (manager == null) {
35
+ throw new DocumentAnalysisError('Document manager is required', 'findRelatedDocuments', [], ['Ensure document manager is properly initialized']);
36
+ }
37
+ if (title == null || title.trim() === '') {
38
+ throw new DocumentAnalysisError('Valid title is required', 'findRelatedDocuments', [], ['Provide a non-empty title string']);
39
+ }
40
+ // Extract keywords from title and overview using enhanced extraction
41
+ let keywords = [];
42
+ let keywordResult;
43
+ try {
44
+ keywordResult = extractWeightedKeywords(title, overview ?? '');
45
+ keywords = [...keywordResult.keywords];
46
+ if (keywords.length === 0) {
47
+ logger.warn('No keywords extracted from title and overview');
48
+ keywords = title.toLowerCase().split(/\s+/).filter(word => word.length > 2);
49
+ }
50
+ else {
51
+ logger.debug('Enhanced keyword extraction successful', {
52
+ keywordCount: keywords.length,
53
+ hasExplicitKeywords: keywordResult.hasExplicitKeywords,
54
+ totalWeight: Math.round(keywordResult.totalWeight * 100) / 100
55
+ });
56
+ }
57
+ }
58
+ catch (error) {
59
+ logger.warn('Enhanced keyword extraction failed, using fallback', { error });
60
+ keywords = title.toLowerCase().split(/\s+/).filter(word => word.length > 2);
61
+ keywordResult = {
62
+ weightedKeywords: keywords.map(k => ({ keyword: k, weight: 1.0, sources: ['fallback'] })),
63
+ keywords,
64
+ hasExplicitKeywords: false,
65
+ totalWeight: keywords.length
66
+ };
67
+ }
68
+ try {
69
+ // Stage 1: Fast fingerprint-based filtering (if available)
70
+ let candidates = [];
71
+ let usedFingerprintFiltering = false;
72
+ try {
73
+ // Check if fingerprint listing is available
74
+ if (typeof manager.listDocumentFingerprints === 'function') {
75
+ logger.debug('Starting Stage 1: fingerprint-based filtering', {
76
+ keywords,
77
+ threshold: FINGERPRINT_THRESHOLD
78
+ });
79
+ const fingerprints = await manager.listDocumentFingerprints();
80
+ logger.debug(`Retrieved ${fingerprints.length} document fingerprints`);
81
+ if (fingerprints.length > 0) {
82
+ // Get all documents to match with fingerprints
83
+ const { documents: allDocuments } = await manager.listDocuments();
84
+ const pathToFingerprint = new Map();
85
+ // Create mapping of paths to fingerprints by matching metadata
86
+ for (const docInfo of allDocuments) {
87
+ try {
88
+ const document = await manager.getDocument(docInfo.path);
89
+ if (document != null) {
90
+ const fingerprint = fingerprints.find(fp => fp.namespace === document.metadata.namespace &&
91
+ fp.contentHash === document.metadata.contentHash &&
92
+ fp.lastModified.getTime() === document.metadata.lastModified.getTime());
93
+ if (fingerprint != null) {
94
+ pathToFingerprint.set(docInfo.path, fingerprint);
95
+ }
96
+ }
97
+ }
98
+ catch {
99
+ // Skip documents that fail to load
100
+ continue;
101
+ }
102
+ }
103
+ logger.debug(`Successfully mapped ${pathToFingerprint.size} documents to fingerprints`);
104
+ // Calculate fingerprint-based relevance scores
105
+ for (const [docPath, fingerprint] of pathToFingerprint.entries()) {
106
+ // Skip the document being created (prevent self-reference)
107
+ if (excludePath != null && docPath === excludePath) {
108
+ continue;
109
+ }
110
+ const score = calculateFingerprintRelevance(keywords, fingerprint.keywords);
111
+ candidates.push({
112
+ fingerprint,
113
+ path: docPath,
114
+ score
115
+ });
116
+ }
117
+ // Filter candidates above threshold
118
+ candidates = candidates
119
+ .filter(candidate => candidate.score > FINGERPRINT_THRESHOLD)
120
+ .sort((a, b) => b.score - a.score)
121
+ .slice(0, MAX_CANDIDATES_FOR_CONTENT_ANALYSIS);
122
+ logger.debug(`Fingerprint analysis: ${pathToFingerprint.size} documents, ${candidates.length} candidates above threshold ${FINGERPRINT_THRESHOLD}`);
123
+ usedFingerprintFiltering = true;
124
+ }
125
+ }
126
+ }
127
+ catch (error) {
128
+ logger.warn('Fingerprint-based filtering failed, falling back to full analysis', { error });
129
+ }
130
+ // Fallback: If fingerprint filtering not available or failed, use original approach
131
+ if (!usedFingerprintFiltering) {
132
+ logger.debug('Using fallback: original algorithm (no fingerprint filtering)');
133
+ const { documents: allDocuments } = await manager.listDocuments();
134
+ if (allDocuments.length === 0) {
135
+ logger.debug('No documents available, returning empty results');
136
+ return [];
137
+ }
138
+ // Use original algorithm: process all documents with content analysis
139
+ for (const docInfo of allDocuments) {
140
+ try {
141
+ // Skip the document being created (prevent self-reference)
142
+ if (excludePath != null && docInfo.path === excludePath) {
143
+ continue;
144
+ }
145
+ const document = await manager.getDocument(docInfo.path);
146
+ if (document == null) {
147
+ continue;
148
+ }
149
+ // Read document content for keyword matching (like original)
150
+ let content = '';
151
+ try {
152
+ content = await manager.getDocumentContent(docInfo.path) ?? '';
153
+ }
154
+ catch (error) {
155
+ logger.warn(`Failed to read content for document ${docInfo.path}`, { error });
156
+ // Fallback to metadata when content is unavailable
157
+ content = document.metadata.title;
158
+ }
159
+ // Calculate relevance based on keyword overlap (like original)
160
+ const relevance = calculateContentRelevance(keywords, document.metadata.title, content);
161
+ if (relevance > 0.2) { // Same threshold as original
162
+ candidates.push({
163
+ fingerprint: {
164
+ keywords: [],
165
+ lastModified: document.metadata.lastModified,
166
+ contentHash: document.metadata.contentHash,
167
+ namespace: document.metadata.namespace
168
+ },
169
+ path: docInfo.path,
170
+ score: relevance // Use content relevance directly
171
+ });
172
+ }
173
+ }
174
+ catch {
175
+ // Skip failed documents silently
176
+ continue;
177
+ }
178
+ }
179
+ logger.debug(`Fallback analysis: ${allDocuments.length} documents processed, ${candidates.length} candidates above threshold 0.2`);
180
+ }
181
+ if (candidates.length === 0) {
182
+ logger.debug('No candidates found, returning empty results');
183
+ return [];
184
+ }
185
+ // Stage 2: Process candidates based on filtering method
186
+ if (usedFingerprintFiltering) {
187
+ // For fingerprint filtering: do full content analysis
188
+ logger.debug('Starting Stage 2: content analysis for fingerprint candidates', {
189
+ candidateCount: candidates.length
190
+ });
191
+ const fullAnalysis = await Promise.all(candidates.map(async (candidate) => {
192
+ try {
193
+ // Load full content for detailed analysis
194
+ let content = '';
195
+ let contentSource = 'content';
196
+ try {
197
+ content = await manager.getDocumentContent(candidate.path) ?? '';
198
+ }
199
+ catch (error) {
200
+ logger.warn(`Failed to read content for document ${candidate.path}`, { error });
201
+ // Fallback to metadata when content is unavailable
202
+ const document = await manager.getDocument(candidate.path);
203
+ content = document?.metadata.title ?? '';
204
+ contentSource = 'metadata';
205
+ }
206
+ // Calculate detailed content relevance using enhanced weighting
207
+ const document = await manager.getDocument(candidate.path);
208
+ if (document == null) {
209
+ return null;
210
+ }
211
+ // Use enhanced multi-factor relevance calculation if we have weighted keywords
212
+ let contentScore;
213
+ let relevanceResult = null;
214
+ if (keywordResult.weightedKeywords.length > 0) {
215
+ // Extract source namespace from the document being created (use _namespace or 'root')
216
+ const sourceNamespace = _namespace ?? 'root';
217
+ const sourceContent = overview ?? '';
218
+ // Extract target namespace
219
+ const targetNamespace = document.metadata.namespace ?? pathToNamespace(candidate.path);
220
+ // Use enhanced calculation with factor breakdown for explanation generation
221
+ relevanceResult = calculateWeightedRelevanceWithBreakdown(keywordResult.weightedKeywords, title, // sourceTitle
222
+ sourceNamespace, // sourceNamespace
223
+ sourceContent, // sourceContent
224
+ document.metadata.title, // targetTitle
225
+ content, // targetContent
226
+ targetNamespace, // targetNamespace
227
+ document.metadata.lastModified, // targetLastModified
228
+ candidate.path, // targetPath
229
+ candidate.fingerprint, // targetFingerprint
230
+ DEFAULT_SCORING_FEATURES // features
231
+ );
232
+ contentScore = relevanceResult.relevance;
233
+ }
234
+ else {
235
+ // Fallback to original calculation
236
+ contentScore = calculateContentRelevance(keywords, document.metadata.title, content);
237
+ }
238
+ // Combine fingerprint and content scores with weighted approach
239
+ const combinedScore = (candidate.score * 0.3) + (contentScore * 0.7);
240
+ logger.debug(`Content analysis for ${candidate.path}`, {
241
+ fingerprintScore: Math.round(candidate.score * 100) / 100,
242
+ contentScore: Math.round(contentScore * 100) / 100,
243
+ combinedScore: Math.round(combinedScore * 100) / 100,
244
+ contentSource,
245
+ contentLength: content.length,
246
+ hasFactorBreakdown: relevanceResult != null
247
+ });
248
+ const docNamespace = pathToNamespace(candidate.path);
249
+ // Generate factor-based explanation using enhanced system
250
+ let reason;
251
+ if (relevanceResult != null && relevanceResult.primaryFactors.length > 0) {
252
+ // Use factor-based explanation generation
253
+ reason = generateFactorBasedExplanation(relevanceResult.primaryFactors, docNamespace, keywordResult.hasExplicitKeywords);
254
+ }
255
+ else if (contentSource === 'metadata') {
256
+ // Fallback for metadata-only analysis
257
+ reason = `Related documentation in ${docNamespace} (based on title and keywords)`;
258
+ }
259
+ else {
260
+ // Generic fallback
261
+ reason = `Related documentation in ${docNamespace}`;
262
+ }
263
+ return {
264
+ path: candidate.path,
265
+ title: document.metadata.title,
266
+ namespace: docNamespace,
267
+ reason,
268
+ relevance: Math.round(combinedScore * 100) / 100
269
+ };
270
+ }
271
+ catch (error) {
272
+ logger.warn(`Content analysis failed for candidate ${candidate.path}`, { error });
273
+ return null;
274
+ }
275
+ }));
276
+ // Filter out failed analyses and apply minimum relevance threshold
277
+ const validResults = fullAnalysis
278
+ .filter((result) => result != null && result.relevance > 0.2)
279
+ .sort((a, b) => b.relevance - a.relevance)
280
+ .slice(0, 5);
281
+ logger.debug(`Content analysis: ${candidates.length} candidates processed`);
282
+ logger.debug(`Discovery complete: ${validResults.length} related documents found using fingerprint filtering`);
283
+ return validResults;
284
+ }
285
+ else {
286
+ // For fallback: candidates already have final scores, just format them
287
+ logger.debug('Stage 2: formatting fallback results', {
288
+ candidateCount: candidates.length
289
+ });
290
+ const fallbackResults = await Promise.all(candidates.map(async (candidate) => {
291
+ try {
292
+ const document = await manager.getDocument(candidate.path);
293
+ if (document == null) {
294
+ return null;
295
+ }
296
+ const docNamespace = pathToNamespace(candidate.path);
297
+ // For fallback results, generate basic but informative reason
298
+ const reason = `Related documentation in ${docNamespace}`;
299
+ return {
300
+ path: candidate.path,
301
+ title: document.metadata.title,
302
+ namespace: docNamespace,
303
+ reason,
304
+ relevance: Math.round(candidate.score * 100) / 100
305
+ };
306
+ }
307
+ catch (error) {
308
+ logger.warn(`Fallback result formatting failed for ${candidate.path}`, { error });
309
+ return null;
310
+ }
311
+ }));
312
+ const validResults = fallbackResults
313
+ .filter((result) => result != null)
314
+ .sort((a, b) => b.relevance - a.relevance)
315
+ .slice(0, 5);
316
+ logger.debug(`Discovery complete: ${validResults.length} related documents found using fallback filtering`);
317
+ return validResults;
318
+ }
319
+ }
320
+ catch (error) {
321
+ throw new DocumentAnalysisError(`Failed to find related documents: ${error}`, 'findRelatedDocuments', [], [
322
+ 'Check document manager connectivity',
323
+ 'Verify fingerprint cache functionality',
324
+ 'Ensure document root directory exists',
325
+ 'Try with simpler keywords'
326
+ ]);
327
+ }
328
+ }
329
+ /**
330
+ * Calculate content relevance based on keyword overlap
331
+ *
332
+ * Computes a relevance score by analyzing keyword overlap between
333
+ * the source keywords and the target document's title and content.
334
+ *
335
+ * @param keywords - Array of keywords to match against
336
+ * @param title - Target document title
337
+ * @param content - Target document content
338
+ *
339
+ * @returns Relevance score between 0 and 1
340
+ *
341
+ * @throws {DocumentAnalysisError} When input validation fails
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * const relevance = calculateContentRelevance(
346
+ * ['api', 'authentication', 'jwt'],
347
+ * 'User Auth API',
348
+ * 'This document describes JWT-based user authentication...'
349
+ * );
350
+ * console.log(`Relevance: ${relevance}`); // 0.67
351
+ * ```
352
+ */
353
+ function calculateContentRelevance(keywords, title, content) {
354
+ // Input validation
355
+ if (!Array.isArray(keywords)) {
356
+ throw new DocumentAnalysisError('Keywords must be an array', 'calculateContentRelevance', undefined, ['Ensure keywords parameter is an array of strings']);
357
+ }
358
+ // Handle edge cases gracefully
359
+ if (keywords.length === 0) {
360
+ console.warn('Empty keywords array provided to relevance calculation');
361
+ return 0;
362
+ }
363
+ const safeTitle = title ?? '';
364
+ const safeContent = content ?? '';
365
+ try {
366
+ const targetText = `${safeTitle} ${safeContent}`.toLowerCase();
367
+ // Filter and validate keywords
368
+ const validKeywords = keywords.filter(keyword => {
369
+ if (typeof keyword !== 'string') {
370
+ console.warn('Non-string keyword filtered out:', keyword);
371
+ return false;
372
+ }
373
+ return keyword.trim().length > 0;
374
+ });
375
+ if (validKeywords.length === 0) {
376
+ console.warn('No valid keywords found after filtering');
377
+ return 0;
378
+ }
379
+ const matches = validKeywords.filter(keyword => {
380
+ try {
381
+ return targetText.includes(keyword.toLowerCase());
382
+ }
383
+ catch (error) {
384
+ console.warn(`Keyword matching failed for "${keyword}":`, error);
385
+ return false;
386
+ }
387
+ });
388
+ const relevance = matches.length / validKeywords.length;
389
+ // Ensure result is within expected bounds
390
+ if (relevance < 0 || relevance > 1) {
391
+ console.warn(`Relevance calculation produced out-of-bounds result: ${relevance}`);
392
+ return Math.max(0, Math.min(1, relevance));
393
+ }
394
+ return relevance;
395
+ }
396
+ catch (error) {
397
+ throw new DocumentAnalysisError(`Content relevance calculation failed: ${error}`, 'calculateContentRelevance', 0, [
398
+ 'Check keyword array format',
399
+ 'Verify title and content are strings',
400
+ 'Try with simpler input data'
401
+ ]);
402
+ }
403
+ }
404
+ /**
405
+ * Calculate fingerprint-based relevance score for fast document filtering
406
+ *
407
+ * Performs lightweight keyword overlap analysis using document fingerprints
408
+ * without requiring full content parsing. Used in Stage 1 filtering.
409
+ *
410
+ * @param sourceKeywords - Keywords extracted from the source document
411
+ * @param fingerprintKeywords - Keywords from the document fingerprint
412
+ *
413
+ * @returns Relevance score between 0 and 1 based on keyword overlap
414
+ *
415
+ * @example
416
+ * ```typescript
417
+ * const score = calculateFingerprintRelevance(
418
+ * ['api', 'authentication', 'jwt'],
419
+ * ['api', 'auth', 'security', 'tokens']
420
+ * );
421
+ * console.log(`Fingerprint relevance: ${score}`); // 0.33 (1/3 match)
422
+ * ```
423
+ */
424
+ function calculateFingerprintRelevance(sourceKeywords, fingerprintKeywords) {
425
+ // Input validation with graceful handling
426
+ if (!Array.isArray(sourceKeywords) || !Array.isArray(fingerprintKeywords)) {
427
+ logger.warn('Invalid input to calculateFingerprintRelevance', {
428
+ sourceKeywords: typeof sourceKeywords,
429
+ fingerprintKeywords: typeof fingerprintKeywords
430
+ });
431
+ return 0;
432
+ }
433
+ if (sourceKeywords.length === 0 || fingerprintKeywords.length === 0) {
434
+ return 0;
435
+ }
436
+ try {
437
+ // Normalize keywords for case-insensitive matching
438
+ const normalizedSource = sourceKeywords
439
+ .filter(keyword => typeof keyword === 'string' && keyword.trim().length > 0)
440
+ .map(keyword => keyword.toLowerCase().trim());
441
+ const normalizedFingerprint = new Set(fingerprintKeywords
442
+ .filter(keyword => typeof keyword === 'string' && keyword.trim().length > 0)
443
+ .map(keyword => keyword.toLowerCase().trim()));
444
+ if (normalizedSource.length === 0 || normalizedFingerprint.size === 0) {
445
+ return 0;
446
+ }
447
+ // Count matches using Set for O(1) lookup
448
+ const matches = normalizedSource.filter(keyword => normalizedFingerprint.has(keyword));
449
+ // Calculate overlap ratio
450
+ const relevance = matches.length / normalizedSource.length;
451
+ // Ensure result is within bounds
452
+ return Math.max(0, Math.min(1, relevance));
453
+ }
454
+ catch (error) {
455
+ logger.warn('Fingerprint relevance calculation failed', { error });
456
+ return 0;
457
+ }
458
+ }
459
+ //# sourceMappingURL=related-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-docs.js","sourceRoot":"","sources":["../../../src/shared/document-analysis/related-docs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Shared types and error classes for document analysis system
3
+ */
4
+ import { AddressingError } from '../addressing-system.js';
5
+ /**
6
+ * Structured information about a broken reference
7
+ *
8
+ * Provides detailed classification and context for reference validation failures,
9
+ * enabling targeted fixes and better user guidance.
10
+ *
11
+ * @example Using BrokenReference data
12
+ * ```typescript
13
+ * const brokenRefs = await detectBrokenReferences(manager, namespace, title, overview);
14
+ * for (const ref of brokenRefs) {
15
+ * if (ref.type === 'missing_document') {
16
+ * console.log(`Document not found: ${ref.documentPath}`);
17
+ * } else if (ref.type === 'missing_section') {
18
+ * console.log(`Section '${ref.sectionSlug}' not found in ${ref.documentPath}`);
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ export interface BrokenReference {
24
+ /** Original @reference text as it appeared in content */
25
+ readonly reference: string;
26
+ /** Classification of the failure type */
27
+ readonly type: 'missing_document' | 'missing_section' | 'malformed';
28
+ /** Parsed document path (if parseable) */
29
+ readonly documentPath?: string;
30
+ /** Parsed section slug (if applicable) */
31
+ readonly sectionSlug?: string | undefined;
32
+ /** Human-readable reason for the failure */
33
+ readonly reason: string;
34
+ }
35
+ /**
36
+ * Error thrown when document analysis operations fail
37
+ *
38
+ * This error provides structured information about analysis failures,
39
+ * including the operation that failed and any partial results that
40
+ * were successfully obtained.
41
+ *
42
+ * @example Handling analysis errors
43
+ * ```typescript
44
+ * try {
45
+ * const suggestions = await analyzeDocumentSuggestions(manager, namespace, title, overview);
46
+ * } catch (error) {
47
+ * if (error instanceof DocumentAnalysisError) {
48
+ * console.error('Analysis failed:', error.message);
49
+ * console.log('Partial results:', error.partialResults);
50
+ * console.log('Recovery suggestions:', error.recoverySuggestions);
51
+ * }
52
+ * }
53
+ * ```
54
+ */
55
+ export declare class DocumentAnalysisError extends AddressingError {
56
+ operation: string;
57
+ partialResults?: unknown | undefined;
58
+ recoverySuggestions?: string[] | undefined;
59
+ constructor(message: string, operation: string, partialResults?: unknown | undefined, recoverySuggestions?: string[] | undefined);
60
+ }
61
+ /**
62
+ * Structured result type for analysis operations that may partially fail
63
+ *
64
+ * @template T - The type of the successful result
65
+ */
66
+ export interface AnalysisResult<T> {
67
+ /** Whether the operation completed successfully */
68
+ success: boolean;
69
+ /** The result data if successful, or partial results if failed */
70
+ data: T;
71
+ /** Error information if the operation failed */
72
+ error?: {
73
+ message: string;
74
+ operation: string;
75
+ code: string;
76
+ };
77
+ /** Suggestions for recovering from the error */
78
+ recoverySuggestions?: string[];
79
+ }
80
+ /**
81
+ * Input validation error details
82
+ */
83
+ export interface ValidationError {
84
+ parameter: string;
85
+ value: unknown;
86
+ expected: string;
87
+ received: string;
88
+ }
89
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/document-analysis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,WAAW,CAAC;IACpE,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAG/C,SAAS,EAAE,MAAM;IACjB,cAAc,CAAC,EAAE,OAAO;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE;gBAHrC,OAAO,EAAE,MAAM,EACR,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,OAAO,YAAA,EACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,YAAA;CASxC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,CAAC,CAAC;IACR,gDAAgD;IAChD,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shared types and error classes for document analysis system
3
+ */
4
+ import { AddressingError } from '../addressing-system.js';
5
+ /**
6
+ * Error thrown when document analysis operations fail
7
+ *
8
+ * This error provides structured information about analysis failures,
9
+ * including the operation that failed and any partial results that
10
+ * were successfully obtained.
11
+ *
12
+ * @example Handling analysis errors
13
+ * ```typescript
14
+ * try {
15
+ * const suggestions = await analyzeDocumentSuggestions(manager, namespace, title, overview);
16
+ * } catch (error) {
17
+ * if (error instanceof DocumentAnalysisError) {
18
+ * console.error('Analysis failed:', error.message);
19
+ * console.log('Partial results:', error.partialResults);
20
+ * console.log('Recovery suggestions:', error.recoverySuggestions);
21
+ * }
22
+ * }
23
+ * ```
24
+ */
25
+ export class DocumentAnalysisError extends AddressingError {
26
+ operation;
27
+ partialResults;
28
+ recoverySuggestions;
29
+ constructor(message, operation, partialResults, recoverySuggestions) {
30
+ super(message, 'DOCUMENT_ANALYSIS_ERROR', {
31
+ operation,
32
+ partialResults,
33
+ recoverySuggestions
34
+ });
35
+ this.operation = operation;
36
+ this.partialResults = partialResults;
37
+ this.recoverySuggestions = recoverySuggestions;
38
+ this.name = 'DocumentAnalysisError';
39
+ }
40
+ }
41
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/document-analysis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAiC1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAG/C;IACA;IACA;IAJT,YACE,OAAe,EACR,SAAiB,EACjB,cAAwB,EACxB,mBAA8B;QAErC,KAAK,CAAC,OAAO,EAAE,yBAAyB,EAAE;YACxC,SAAS;YACT,cAAc;YACd,mBAAmB;SACpB,CAAC,CAAC;QARI,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAU;QACxB,wBAAmB,GAAnB,mBAAmB,CAAW;QAOrC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Document analysis and smart suggestions functionality
3
+ *
4
+ * @deprecated This file is maintained for backward compatibility only.
5
+ * Import from 'shared/document-analysis/index.js' instead.
6
+ *
7
+ * The document analysis functionality has been refactored into focused modules:
8
+ * - index.ts: Main orchestrator and exports
9
+ * - related-docs.ts: Related document discovery
10
+ * - reference-validation.ts: Broken reference detection
11
+ * - keyword-utils.ts: Enhanced keyword extraction and relevance scoring
12
+ * - types.ts: Shared interfaces and error classes
13
+ */
14
+ export { analyzeDocumentSuggestions, DocumentAnalysisError, type BrokenReference, type AnalysisResult } from './document-analysis/index.js';
15
+ //# sourceMappingURL=document-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-analysis.d.ts","sourceRoot":"","sources":["../../src/shared/document-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Document analysis and smart suggestions functionality
3
+ *
4
+ * @deprecated This file is maintained for backward compatibility only.
5
+ * Import from 'shared/document-analysis/index.js' instead.
6
+ *
7
+ * The document analysis functionality has been refactored into focused modules:
8
+ * - index.ts: Main orchestrator and exports
9
+ * - related-docs.ts: Related document discovery
10
+ * - reference-validation.ts: Broken reference detection
11
+ * - keyword-utils.ts: Enhanced keyword extraction and relevance scoring
12
+ * - types.ts: Shared interfaces and error classes
13
+ */
14
+ // Re-export everything from the modular structure for backward compatibility
15
+ export { analyzeDocumentSuggestions, DocumentAnalysisError } from './document-analysis/index.js';
16
+ //# sourceMappingURL=document-analysis.js.map