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,655 @@
1
+ /**
2
+ * Comprehensive regression tests for create-document workflow Stage 2.5
3
+ *
4
+ * Tests the complete enhanced document discovery system including:
5
+ * - Multi-factor relevance scoring
6
+ * - Enhanced keyword extraction with frontmatter support
7
+ * - Structured broken reference detection
8
+ * - Factor-based explanation generation
9
+ * - Fingerprint-based performance optimization
10
+ * - Integration between all enhanced components
11
+ *
12
+ * This test suite ensures that the Stage 1-4 enhancements work correctly
13
+ * in the complete create-document workflow, providing regression protection.
14
+ */
15
+ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
16
+ import { promises as fs } from 'node:fs';
17
+ import path from 'node:path';
18
+ import os from 'node:os';
19
+ import { processSuggestions } from '../create/suggestion-generator.js';
20
+ // Mock the utilities module
21
+ vi.mock('../../shared/utilities.js', () => ({
22
+ getDocumentManager: vi.fn(),
23
+ analyzeDocumentSuggestions: vi.fn(),
24
+ analyzeNamespacePatterns: vi.fn()
25
+ }));
26
+ import { getDocumentManager, analyzeDocumentSuggestions, analyzeNamespacePatterns } from '../../shared/utilities.js';
27
+ // Type the mocked functions
28
+ const mockGetDocumentManager = getDocumentManager;
29
+ const mockAnalyzeDocumentSuggestions = analyzeDocumentSuggestions;
30
+ const mockAnalyzeNamespacePatterns = analyzeNamespacePatterns;
31
+ // Test data builders for realistic scenarios
32
+ const createMockFingerprint = (overrides = {}) => ({
33
+ keywords: ['test', 'document', 'content'],
34
+ lastModified: new Date('2023-12-01T10:00:00Z'),
35
+ contentHash: 'test-hash',
36
+ namespace: 'test',
37
+ ...overrides
38
+ });
39
+ const createMockDocumentManager = () => {
40
+ const mockManager = {
41
+ listDocuments: vi.fn(),
42
+ getDocument: vi.fn(),
43
+ getDocumentContent: vi.fn(),
44
+ getSectionContent: vi.fn(),
45
+ addDocument: vi.fn(),
46
+ updateDocument: vi.fn(),
47
+ deleteDocument: vi.fn(),
48
+ archiveDocument: vi.fn(),
49
+ createSection: vi.fn(),
50
+ updateSection: vi.fn(),
51
+ deleteSection: vi.fn(),
52
+ moveDocument: vi.fn(),
53
+ renameDocument: vi.fn(),
54
+ // Enhanced methods for fingerprint support
55
+ listDocumentFingerprints: vi.fn()
56
+ };
57
+ return mockManager;
58
+ };
59
+ describe('Create Document Workflow Stage 2.5 - Regression Tests', () => {
60
+ let tempDir;
61
+ let mockManager;
62
+ beforeEach(async () => {
63
+ // Create temporary directory for test files
64
+ tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'create-document-workflow-regression-test-'));
65
+ // Configure MCP_WORKSPACE_PATH for fsio PathHandler to use temp directory
66
+ process.env['MCP_WORKSPACE_PATH'] = tempDir;
67
+ mockManager = createMockDocumentManager();
68
+ vi.clearAllMocks();
69
+ // Default successful mocks
70
+ mockGetDocumentManager.mockResolvedValue(mockManager);
71
+ mockAnalyzeNamespacePatterns.mockResolvedValue({
72
+ common_sections: ['Overview', 'Getting Started'],
73
+ frequent_links: ['/api/auth.md'],
74
+ typical_tasks: ['Setup authentication']
75
+ });
76
+ });
77
+ afterEach(async () => {
78
+ // Clean up temporary directory and all its contents
79
+ try {
80
+ await fs.rm(tempDir, { recursive: true, force: true });
81
+ }
82
+ catch {
83
+ // Ignore if directory doesn't exist
84
+ }
85
+ });
86
+ describe('Enhanced Multi-Factor Relevance Scoring', () => {
87
+ it('should return suggestions with factor-based explanations', async () => {
88
+ const enhancedSuggestions = {
89
+ related_documents: [
90
+ {
91
+ path: '/api/auth/oauth.md',
92
+ title: 'OAuth 2.0 Implementation',
93
+ namespace: 'api/auth',
94
+ reason: 'Strong keyword overlap with same namespace structure',
95
+ relevance: 0.95
96
+ },
97
+ {
98
+ path: '/api/auth/jwt.md',
99
+ title: 'JWT Token Management',
100
+ namespace: 'api/auth',
101
+ reason: 'Good keyword overlap with related namespace structure',
102
+ relevance: 0.73
103
+ },
104
+ {
105
+ path: '/guides/security.md',
106
+ title: 'Security Best Practices',
107
+ namespace: 'guides',
108
+ reason: 'Shared keywords with recent updates',
109
+ relevance: 0.47
110
+ }
111
+ ],
112
+ broken_references: []
113
+ };
114
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(enhancedSuggestions);
115
+ const result = await processSuggestions('api/auth', 'OAuth 2.0 Client Authentication', '---\nkeywords: [oauth, authentication, jwt, api, security]\n---\n\nImplementation guide for OAuth 2.0 client authentication flow with JWT tokens.');
116
+ expect(result.stage).toBe('smart_suggestions');
117
+ const smartResult = result;
118
+ // Verify enhanced factor-based explanations
119
+ expect(smartResult.suggestions.related_documents).toHaveLength(3);
120
+ const oauthDoc = smartResult.suggestions.related_documents[0];
121
+ expect(oauthDoc).toEqual(expect.objectContaining({
122
+ path: '/api/auth/oauth.md',
123
+ title: 'OAuth 2.0 Implementation',
124
+ namespace: 'api/auth',
125
+ reason: 'Strong keyword overlap with same namespace structure',
126
+ relevance: 0.95
127
+ }));
128
+ // Verify factor-based reasons explain actual contributing factors
129
+ expect(oauthDoc?.reason).toMatch(/keyword overlap/);
130
+ expect(oauthDoc?.reason).toMatch(/namespace/);
131
+ const jwtDoc = smartResult.suggestions.related_documents[1];
132
+ expect(jwtDoc?.reason).toMatch(/keyword overlap/);
133
+ expect(jwtDoc?.reason).toMatch(/namespace/);
134
+ const securityDoc = smartResult.suggestions.related_documents[2];
135
+ expect(securityDoc?.reason).toMatch(/keywords/);
136
+ expect(securityDoc?.reason).toMatch(/recent/);
137
+ });
138
+ it('should handle enhanced keyword extraction from frontmatter', async () => {
139
+ const frontmatterEnhancedSuggestions = {
140
+ related_documents: [
141
+ {
142
+ path: '/api/auth.md',
143
+ title: 'Authentication API',
144
+ namespace: 'api',
145
+ reason: 'Explicit keyword matches in api namespace',
146
+ relevance: 0.88
147
+ }
148
+ ],
149
+ broken_references: []
150
+ };
151
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(frontmatterEnhancedSuggestions);
152
+ const result = await processSuggestions('api/guides', 'User Authentication Guide', '---\nkeywords: [authentication, users, api, security, login]\ndescription: Complete guide for user authentication\n---\n\n# User Authentication\n\nThis guide covers **important** authentication concepts.');
153
+ const smartResult = result;
154
+ // Verify frontmatter keywords are recognized
155
+ const authDoc = smartResult.suggestions.related_documents[0];
156
+ expect(authDoc?.reason).toMatch(/explicit keyword matches/i);
157
+ expect(authDoc?.relevance).toBeGreaterThan(0.8); // High relevance from explicit keywords
158
+ });
159
+ it('should demonstrate namespace affinity scoring', async () => {
160
+ const namespaceAffinitySuggestions = {
161
+ related_documents: [
162
+ {
163
+ path: '/specs/auth-api.md',
164
+ title: 'Authentication API Specification',
165
+ namespace: 'specs',
166
+ reason: 'Good keyword overlap with same namespace',
167
+ relevance: 0.82
168
+ },
169
+ {
170
+ path: '/specs/setup.md',
171
+ title: 'API Setup Guide',
172
+ namespace: 'specs',
173
+ reason: 'Shared keywords with same namespace structure',
174
+ relevance: 0.78
175
+ },
176
+ {
177
+ path: '/reviews/auth.md',
178
+ title: 'Authentication Review',
179
+ namespace: 'reviews',
180
+ reason: 'Shared keywords',
181
+ relevance: 0.35
182
+ }
183
+ ],
184
+ broken_references: []
185
+ };
186
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(namespaceAffinitySuggestions);
187
+ const result = await processSuggestions('specs', 'Authentication Implementation', 'Guide for implementing authentication in API applications');
188
+ const smartResult = result;
189
+ // Verify namespace affinity is reflected in relevance and explanations
190
+ const specDoc1 = smartResult.suggestions.related_documents.find(d => d.path === '/specs/auth-api.md');
191
+ const specDoc2 = smartResult.suggestions.related_documents.find(d => d.path === '/specs/setup.md');
192
+ const reviewDoc = smartResult.suggestions.related_documents.find(d => d.namespace === 'reviews');
193
+ // Same namespace documents should have higher relevance
194
+ expect(specDoc1?.relevance).toBeGreaterThan(reviewDoc?.relevance ?? 0);
195
+ expect(specDoc2?.relevance).toBeGreaterThan(reviewDoc?.relevance ?? 0);
196
+ // Explanations should reflect namespace relationships
197
+ expect(specDoc1?.reason).toMatch(/same namespace|namespace/);
198
+ expect(specDoc2?.reason).toMatch(/same namespace|namespace structure/);
199
+ expect(reviewDoc?.reason).not.toMatch(/same namespace/); // Different namespace
200
+ });
201
+ it('should demonstrate recency boost in scoring', async () => {
202
+ const recentUpdatesSuggestions = {
203
+ related_documents: [
204
+ {
205
+ path: '/guides/latest-auth.md',
206
+ title: 'Latest Authentication Methods',
207
+ namespace: 'guides',
208
+ reason: 'Shared keywords with recent updates',
209
+ relevance: 0.65
210
+ },
211
+ {
212
+ path: '/guides/old-auth.md',
213
+ title: 'Authentication Overview',
214
+ namespace: 'guides',
215
+ reason: 'Shared keywords',
216
+ relevance: 0.52
217
+ }
218
+ ],
219
+ broken_references: []
220
+ };
221
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(recentUpdatesSuggestions);
222
+ const result = await processSuggestions('guides', 'Modern Authentication', 'Overview of modern authentication approaches');
223
+ const smartResult = result;
224
+ // Verify recency boost is reflected
225
+ const recentDoc = smartResult.suggestions.related_documents.find(d => d.path === '/guides/latest-auth.md');
226
+ const oldDoc = smartResult.suggestions.related_documents.find(d => d.path === '/guides/old-auth.md');
227
+ expect(recentDoc?.relevance).toBeGreaterThan(oldDoc?.relevance ?? 0);
228
+ expect(recentDoc?.reason).toMatch(/recent/);
229
+ expect(oldDoc?.reason).not.toMatch(/recent/);
230
+ });
231
+ });
232
+ describe('Structured Broken Reference Detection', () => {
233
+ it('should detect and classify all types of broken references', async () => {
234
+ const comprehensiveBrokenRefs = {
235
+ related_documents: [],
236
+ broken_references: [
237
+ // Missing document type
238
+ {
239
+ reference: '@/missing/document.md',
240
+ type: 'missing_document',
241
+ documentPath: '/missing/document.md',
242
+ reason: 'Document not found: /missing/document.md'
243
+ },
244
+ // Missing document with section
245
+ {
246
+ reference: '@/missing/doc.md#section',
247
+ type: 'missing_document',
248
+ documentPath: '/missing/doc.md',
249
+ sectionSlug: 'section',
250
+ reason: 'Document not found: /missing/doc.md'
251
+ },
252
+ // Missing section in existing document
253
+ {
254
+ reference: '@/api/auth.md#nonexistent-section',
255
+ type: 'missing_section',
256
+ documentPath: '/api/auth.md',
257
+ sectionSlug: 'nonexistent-section',
258
+ reason: "Section 'nonexistent-section' not found in document /api/auth.md"
259
+ },
260
+ // Malformed reference
261
+ {
262
+ reference: '@malformed-ref',
263
+ type: 'malformed',
264
+ reason: 'Failed to parse reference: Invalid reference format'
265
+ },
266
+ // Relative reference converted to absolute
267
+ {
268
+ reference: '@relative-doc',
269
+ type: 'missing_document',
270
+ documentPath: '/relative-doc.md',
271
+ reason: 'Document not found: /relative-doc.md'
272
+ }
273
+ ]
274
+ };
275
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(comprehensiveBrokenRefs);
276
+ const result = await processSuggestions('api', 'Reference Test Document', 'Document with various reference types: @/missing/document.md @/api/auth.md#nonexistent-section @malformed-ref @relative-doc');
277
+ const smartResult = result;
278
+ expect(smartResult.suggestions.broken_references).toHaveLength(5);
279
+ // Verify missing document type
280
+ const missingDocRefs = smartResult.suggestions.broken_references.filter(ref => ref.type === 'missing_document');
281
+ expect(missingDocRefs).toHaveLength(3);
282
+ for (const ref of missingDocRefs) {
283
+ expect(ref.documentPath).toBeDefined();
284
+ expect(ref.reason).toContain('Document not found');
285
+ }
286
+ // Verify missing section type
287
+ const missingSectionRefs = smartResult.suggestions.broken_references.filter(ref => ref.type === 'missing_section');
288
+ expect(missingSectionRefs).toHaveLength(1);
289
+ const missingSectionRef = missingSectionRefs[0];
290
+ expect(missingSectionRef?.documentPath).toBe('/api/auth.md');
291
+ expect(missingSectionRef?.sectionSlug).toBe('nonexistent-section');
292
+ expect(missingSectionRef?.reason).toContain("Section 'nonexistent-section' not found");
293
+ // Verify malformed type
294
+ const malformedRefs = smartResult.suggestions.broken_references.filter(ref => ref.type === 'malformed');
295
+ expect(malformedRefs).toHaveLength(1);
296
+ const malformedRef = malformedRefs[0];
297
+ expect(malformedRef?.reason).toContain('Failed to parse reference');
298
+ expect(malformedRef?.documentPath).toBeUndefined(); // Malformed refs may not have valid paths
299
+ // Verify all references have required fields
300
+ for (const ref of smartResult.suggestions.broken_references) {
301
+ expect(ref.reference).toBeDefined();
302
+ expect(ref.type).toBeOneOf(['missing_document', 'missing_section', 'malformed']);
303
+ expect(ref.reason).toBeDefined();
304
+ expect(typeof ref.reason).toBe('string');
305
+ expect(ref.reason.length).toBeGreaterThan(0);
306
+ }
307
+ });
308
+ it('should handle complex broken reference scenarios with shared reference system', async () => {
309
+ const complexBrokenRefs = {
310
+ related_documents: [],
311
+ broken_references: [
312
+ {
313
+ reference: '@/api/v1/deprecated.md',
314
+ type: 'missing_document',
315
+ documentPath: '/api/v1/deprecated.md',
316
+ reason: 'Document not found: /api/v1/deprecated.md'
317
+ },
318
+ {
319
+ reference: '@/config/settings.md#database',
320
+ type: 'missing_section',
321
+ documentPath: '/config/settings.md',
322
+ sectionSlug: 'database',
323
+ reason: "Section 'database' not found in document /config/settings.md"
324
+ },
325
+ {
326
+ reference: '@invalid-format-[test]',
327
+ type: 'malformed',
328
+ reason: 'Failed to parse reference: Invalid reference format'
329
+ }
330
+ ]
331
+ };
332
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(complexBrokenRefs);
333
+ const result = await processSuggestions('api', 'Migration Guide', 'Migration guide with references: @/api/v1/deprecated.md @/config/settings.md#database @invalid-format-[test]');
334
+ const smartResult = result;
335
+ // Verify comprehensive broken reference handling
336
+ expect(smartResult.suggestions.broken_references).toHaveLength(3);
337
+ // Check specific reference by path
338
+ const deprecatedRef = smartResult.suggestions.broken_references.find(ref => ref.reference === '@/api/v1/deprecated.md');
339
+ expect(deprecatedRef).toEqual(expect.objectContaining({
340
+ reference: '@/api/v1/deprecated.md',
341
+ type: 'missing_document',
342
+ documentPath: '/api/v1/deprecated.md',
343
+ reason: 'Document not found: /api/v1/deprecated.md'
344
+ }));
345
+ // Check section-specific reference
346
+ const sectionRef = smartResult.suggestions.broken_references.find(ref => ref.reference === '@/config/settings.md#database');
347
+ expect(sectionRef).toEqual(expect.objectContaining({
348
+ reference: '@/config/settings.md#database',
349
+ type: 'missing_section',
350
+ documentPath: '/config/settings.md',
351
+ sectionSlug: 'database',
352
+ reason: "Section 'database' not found in document /config/settings.md"
353
+ }));
354
+ // Check malformed reference
355
+ const malformedRef = smartResult.suggestions.broken_references.find(ref => ref.reference === '@invalid-format-[test]');
356
+ expect(malformedRef?.type).toBe('malformed');
357
+ });
358
+ });
359
+ describe('Integration and Performance Regression Tests', () => {
360
+ it('should handle fingerprint-based optimization without degrading results', async () => {
361
+ // Mock manager with fingerprint support
362
+ const mockManagerWithFingerprints = createMockDocumentManager();
363
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
364
+ mockManagerWithFingerprints.listDocumentFingerprints = vi.fn().mockResolvedValue([
365
+ createMockFingerprint({
366
+ keywords: ['authentication', 'oauth', 'api'],
367
+ namespace: 'api/auth',
368
+ contentHash: 'fingerprint1'
369
+ }),
370
+ createMockFingerprint({
371
+ keywords: ['security', 'auth', 'tokens'],
372
+ namespace: 'security',
373
+ contentHash: 'fingerprint2'
374
+ })
375
+ ]);
376
+ mockGetDocumentManager.mockResolvedValue(mockManagerWithFingerprints);
377
+ const fingerprintOptimizedSuggestions = {
378
+ related_documents: [
379
+ {
380
+ path: '/api/auth/oauth.md',
381
+ title: 'OAuth Implementation',
382
+ namespace: 'api/auth',
383
+ reason: 'Strong keyword overlap with same namespace structure (fingerprint-optimized)',
384
+ relevance: 0.91
385
+ },
386
+ {
387
+ path: '/security/tokens.md',
388
+ title: 'Token Security',
389
+ namespace: 'security',
390
+ reason: 'Good keyword overlap',
391
+ relevance: 0.67
392
+ }
393
+ ],
394
+ broken_references: []
395
+ };
396
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(fingerprintOptimizedSuggestions);
397
+ const startTime = Date.now();
398
+ const result = await processSuggestions('api/auth', 'OAuth Authentication', '---\nkeywords: [oauth, authentication, api, security]\n---\n\nOAuth 2.0 authentication implementation');
399
+ const duration = Date.now() - startTime;
400
+ const smartResult = result;
401
+ // Verify results are not degraded by optimization
402
+ expect(smartResult.suggestions.related_documents).toHaveLength(2);
403
+ expect(smartResult.suggestions.related_documents[0]?.relevance).toBeGreaterThan(0.9);
404
+ // Verify performance characteristics (should complete quickly)
405
+ expect(duration).toBeLessThan(100); // Should complete in reasonable time
406
+ // Note: In this test, we're mocking the analyzeDocumentSuggestions function,
407
+ // so the actual fingerprint optimization happens inside that mocked function.
408
+ // The test verifies the results are as expected from fingerprint optimization.
409
+ // The actual fingerprint method calls would be tested in the document-analysis tests.
410
+ });
411
+ it('should gracefully fall back when fingerprint optimization fails', async () => {
412
+ // Mock manager with failing fingerprint support
413
+ const mockManagerWithFailingFingerprints = createMockDocumentManager();
414
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
415
+ mockManagerWithFailingFingerprints.listDocumentFingerprints = vi.fn().mockRejectedValue(new Error('Fingerprint system unavailable'));
416
+ mockGetDocumentManager.mockResolvedValue(mockManagerWithFailingFingerprints);
417
+ const fallbackSuggestions = {
418
+ related_documents: [
419
+ {
420
+ path: '/api/auth.md',
421
+ title: 'Authentication API',
422
+ namespace: 'api',
423
+ reason: 'Related documentation in api (fallback analysis)',
424
+ relevance: 0.75
425
+ }
426
+ ],
427
+ broken_references: []
428
+ };
429
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(fallbackSuggestions);
430
+ const result = await processSuggestions('api', 'API Authentication', 'Authentication guide for API applications');
431
+ const smartResult = result;
432
+ // Verify graceful fallback
433
+ expect(smartResult.suggestions.related_documents).toHaveLength(1);
434
+ expect(smartResult.suggestions.related_documents[0]?.reason).toContain('fallback');
435
+ expect(result.stage).toBe('smart_suggestions'); // Should still complete successfully
436
+ });
437
+ it('should maintain backward compatibility with existing create-document behavior', async () => {
438
+ // Test with minimal/basic suggestions that would come from original implementation
439
+ const basicCompatibilitySuggestions = {
440
+ related_documents: [
441
+ {
442
+ path: '/api/docs.md',
443
+ title: 'API Documentation',
444
+ namespace: 'api',
445
+ reason: 'Related documentation in api',
446
+ relevance: 0.6
447
+ }
448
+ ],
449
+ broken_references: []
450
+ };
451
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(basicCompatibilitySuggestions);
452
+ const result = await processSuggestions('api', 'Simple API Guide', 'Basic API documentation');
453
+ // Verify basic compatibility structure
454
+ expect(result.stage).toBe('smart_suggestions');
455
+ const smartResult = result;
456
+ expect(smartResult.suggestions).toHaveProperty('related_documents');
457
+ expect(smartResult.suggestions).toHaveProperty('broken_references');
458
+ expect(smartResult.namespace_patterns).toHaveProperty('common_sections');
459
+ expect(smartResult.next_step).toContain("create: true");
460
+ expect(smartResult.example).toEqual({
461
+ namespace: 'api',
462
+ title: 'Simple API Guide',
463
+ overview: 'Basic API documentation',
464
+ create: true
465
+ });
466
+ // Should work with simple suggestions
467
+ expect(smartResult.suggestions.related_documents[0]).toEqual(expect.objectContaining({
468
+ path: '/api/docs.md',
469
+ title: 'API Documentation',
470
+ namespace: 'api',
471
+ reason: 'Related documentation in api',
472
+ relevance: 0.6
473
+ }));
474
+ });
475
+ it('should handle concurrent suggestion analysis efficiently', async () => {
476
+ const mockSuggestions = {
477
+ related_documents: [
478
+ {
479
+ path: '/test/doc.md',
480
+ title: 'Test Document',
481
+ namespace: 'test',
482
+ reason: 'Test documentation',
483
+ relevance: 0.5
484
+ }
485
+ ],
486
+ broken_references: []
487
+ };
488
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(mockSuggestions);
489
+ // Simulate multiple parallel calls to test concurrency
490
+ const promises = Array.from({ length: 3 }, (_, i) => processSuggestions(`namespace-${i}`, `Document ${i}`, `Overview for document ${i}`));
491
+ const startTime = Date.now();
492
+ const results = await Promise.all(promises);
493
+ const duration = Date.now() - startTime;
494
+ // All should complete successfully
495
+ expect(results).toHaveLength(3);
496
+ results.forEach((result, i) => {
497
+ expect(result.stage).toBe('smart_suggestions');
498
+ const smartResult = result;
499
+ expect(smartResult.example.namespace).toBe(`namespace-${i}`);
500
+ });
501
+ // Should handle concurrency efficiently
502
+ expect(duration).toBeLessThan(500); // Reasonable time for 3 parallel operations
503
+ // Verify all analysis calls were made
504
+ expect(mockAnalyzeDocumentSuggestions).toHaveBeenCalledTimes(3);
505
+ });
506
+ });
507
+ describe('Real-World Integration Scenarios', () => {
508
+ it('should handle comprehensive real-world scenario with all enhancements', async () => {
509
+ const comprehensiveScenario = {
510
+ related_documents: [
511
+ {
512
+ path: '/api/auth/oauth2.md',
513
+ title: 'OAuth 2.0 Complete Guide',
514
+ namespace: 'api/auth',
515
+ reason: 'Explicit keyword matches with same namespace structure and recent updates',
516
+ relevance: 0.97
517
+ },
518
+ {
519
+ path: '/api/auth/jwt-tokens.md',
520
+ title: 'JWT Token Management',
521
+ namespace: 'api/auth',
522
+ reason: 'Strong keyword overlap with same namespace structure',
523
+ relevance: 0.89
524
+ },
525
+ {
526
+ path: '/api/specs/auth-endpoints.md',
527
+ title: 'Authentication API Endpoints',
528
+ namespace: 'api/specs',
529
+ reason: 'Good keyword overlap with related namespace structure',
530
+ relevance: 0.81
531
+ },
532
+ {
533
+ path: '/security/best-practices.md',
534
+ title: 'Authentication Security',
535
+ namespace: 'security',
536
+ reason: 'Shared keywords with recent updates',
537
+ relevance: 0.58
538
+ },
539
+ {
540
+ path: '/frontend/auth-integration.md',
541
+ title: 'Frontend Auth Integration',
542
+ namespace: 'frontend',
543
+ reason: 'Cross-referenced documentation with shared keywords',
544
+ relevance: 0.67
545
+ }
546
+ ],
547
+ broken_references: [
548
+ {
549
+ reference: '@/api/auth/deprecated-flow.md',
550
+ type: 'missing_document',
551
+ documentPath: '/api/auth/deprecated-flow.md',
552
+ reason: 'Document not found: /api/auth/deprecated-flow.md'
553
+ },
554
+ {
555
+ reference: '@/config/oauth-settings.md#client-config',
556
+ type: 'missing_section',
557
+ documentPath: '/config/oauth-settings.md',
558
+ sectionSlug: 'client-config',
559
+ reason: "Section 'client-config' not found in document /config/oauth-settings.md"
560
+ }
561
+ ]
562
+ };
563
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(comprehensiveScenario);
564
+ const result = await processSuggestions('api/auth', 'OAuth 2.0 Client Implementation', '---\nkeywords: [oauth2, authentication, client, jwt, security, api]\ndescription: Complete implementation guide\n---\n\n# OAuth 2.0 Client Implementation\n\nThis guide covers **OAuth 2.0** client implementation with **JWT tokens**.\n\nSee @/api/auth/deprecated-flow.md for old approach and @/config/oauth-settings.md#client-config for configuration.');
565
+ const smartResult = result;
566
+ // Verify comprehensive suggestions
567
+ expect(smartResult.suggestions.related_documents).toHaveLength(5);
568
+ expect(smartResult.suggestions.broken_references).toHaveLength(2);
569
+ // Verify high-relevance documents with factor explanations
570
+ const oauthDoc = smartResult.suggestions.related_documents.find(d => d.path === '/api/auth/oauth2.md');
571
+ expect(oauthDoc?.relevance).toBeGreaterThan(0.95);
572
+ expect(oauthDoc?.reason).toMatch(/explicit keyword matches/i);
573
+ expect(oauthDoc?.reason).toMatch(/same namespace/i);
574
+ expect(oauthDoc?.reason).toMatch(/recent/i);
575
+ // Verify namespace affinity progression
576
+ const sameNamespace = smartResult.suggestions.related_documents.filter(d => d.namespace === 'api/auth');
577
+ const relatedNamespace = smartResult.suggestions.related_documents.filter(d => d.namespace === 'api/specs');
578
+ const differentNamespace = smartResult.suggestions.related_documents.filter(d => d.namespace === 'security');
579
+ expect(sameNamespace.every(d => d.relevance > 0.8)).toBe(true);
580
+ expect(relatedNamespace.every(d => d.relevance > 0.7)).toBe(true);
581
+ expect(differentNamespace.every(d => d.relevance < 0.7)).toBe(true);
582
+ // Verify structured broken references
583
+ const missingDoc = smartResult.suggestions.broken_references.find(r => r.type === 'missing_document');
584
+ const missingSection = smartResult.suggestions.broken_references.find(r => r.type === 'missing_section');
585
+ expect(missingDoc?.documentPath).toBe('/api/auth/deprecated-flow.md');
586
+ expect(missingSection?.documentPath).toBe('/config/oauth-settings.md');
587
+ expect(missingSection?.sectionSlug).toBe('client-config');
588
+ // Verify cross-referenced documentation scoring
589
+ const frontendDoc = smartResult.suggestions.related_documents.find(d => d.namespace === 'frontend');
590
+ expect(frontendDoc?.reason).toMatch(/cross-referenced/i);
591
+ });
592
+ it('should handle edge cases and degraded scenarios gracefully', async () => {
593
+ const edgeCaseScenarios = {
594
+ related_documents: [
595
+ {
596
+ path: '/edge/minimal.md',
597
+ title: 'Minimal Document',
598
+ namespace: 'edge',
599
+ reason: 'Related documentation in edge',
600
+ relevance: 0.21 // Just above threshold
601
+ }
602
+ ],
603
+ broken_references: [
604
+ {
605
+ reference: '@incomplete-ref',
606
+ type: 'malformed',
607
+ reason: 'Failed to parse reference: Incomplete reference format'
608
+ }
609
+ ]
610
+ };
611
+ mockAnalyzeDocumentSuggestions.mockResolvedValue(edgeCaseScenarios);
612
+ const result = await processSuggestions('edge', 'Edge Case Test', 'Document with minimal content and @incomplete-ref');
613
+ const smartResult = result;
614
+ // Should handle minimal results gracefully
615
+ expect(smartResult.suggestions.related_documents).toHaveLength(1);
616
+ expect(smartResult.suggestions.broken_references).toHaveLength(1);
617
+ expect(smartResult.stage).toBe('smart_suggestions');
618
+ // Should provide valid recovery guidance
619
+ expect(smartResult.next_step).toContain("create: true");
620
+ expect(smartResult.example).toEqual({
621
+ namespace: 'edge',
622
+ title: 'Edge Case Test',
623
+ overview: 'Document with minimal content and @incomplete-ref',
624
+ create: true
625
+ });
626
+ });
627
+ });
628
+ describe('Error Handling and Recovery', () => {
629
+ it('should handle analysis failures with partial results', async () => {
630
+ // Simulate partial failure scenario
631
+ mockAnalyzeDocumentSuggestions.mockRejectedValue(new Error('Analysis failed'));
632
+ const result = await processSuggestions('test', 'Test Document', 'Test content');
633
+ // Should return error fallback with recovery guidance
634
+ expect(result.stage).toBe('error_fallback');
635
+ const errorResult = result;
636
+ expect(errorResult.error).toBe('Failed to analyze suggestions');
637
+ expect(errorResult.details).toContain('Analysis failed');
638
+ expect(errorResult.recovery_steps).toContain("Call again with 'create: true' to skip suggestions and create the document");
639
+ expect(errorResult.example).toEqual({
640
+ namespace: 'test',
641
+ title: 'Test Document',
642
+ overview: 'Test content',
643
+ create: true
644
+ });
645
+ });
646
+ it('should provide helpful guidance when document manager fails', async () => {
647
+ mockGetDocumentManager.mockRejectedValue(new Error('Document manager initialization failed'));
648
+ const result = await processSuggestions('test', 'Test Document', 'Test content');
649
+ const errorResult = result;
650
+ expect(errorResult.details).toContain('Document manager initialization failed');
651
+ expect(errorResult.help).toContain('You can still proceed with document creation');
652
+ });
653
+ });
654
+ });
655
+ //# sourceMappingURL=create-document-workflow-regression.test.js.map