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,637 @@
1
+ /**
2
+ * Integration tests for edit_section tool with actual markdown manipulation
3
+ */
4
+ import { describe, test, expect, beforeAll, beforeEach, afterEach, afterAll, vi } from 'vitest';
5
+ import path from 'node:path';
6
+ import { promises as fs } from 'node:fs';
7
+ import { section } from '../implementations/section.js';
8
+ import { DocumentManager } from '../../document-manager.js';
9
+ import { initializeGlobalCache } from '../../document-cache.js';
10
+ import { ensureDirectoryExists } from '../../fsio.js';
11
+ import { createSilentLogger, setGlobalLogger } from '../../utils/logger.js';
12
+ // Mock the utilities module to use our test document manager
13
+ vi.mock('../../shared/utilities.js', async () => {
14
+ const actual = await vi.importActual('../../shared/utilities.js');
15
+ return {
16
+ ...actual,
17
+ getDocumentManager: vi.fn()
18
+ };
19
+ });
20
+ const TEST_DOCS_DIR = path.resolve(process.cwd(), '.spec-docs-mcp/test-integration');
21
+ const TEST_DOC_PATH = '/integration-test.md';
22
+ const FULL_TEST_PATH = path.join(TEST_DOCS_DIR, 'integration-test.md');
23
+ // Mock session state
24
+ const mockSessionState = {
25
+ sessionId: 'integration-test-session',
26
+ createDocumentStage: 0
27
+ };
28
+ // Sample markdown document for testing
29
+ const SAMPLE_DOCUMENT = `# Integration Test Document
30
+
31
+ ## Overview
32
+
33
+ This document is used for integration testing of the edit_section tool.
34
+
35
+ ## Features
36
+
37
+ ### Authentication
38
+
39
+ Secure user authentication system.
40
+
41
+ ### Data Processing
42
+
43
+ Advanced data processing capabilities.
44
+
45
+ ## API Reference
46
+
47
+ Complete API documentation.
48
+
49
+ ### Endpoints
50
+
51
+ List of all available endpoints.
52
+
53
+ #### Users
54
+
55
+ User management endpoints.
56
+
57
+ #### Products
58
+
59
+ Product management endpoints.
60
+
61
+ ## Configuration
62
+
63
+ Application configuration details.
64
+ `;
65
+ describe('Edit Section Tool - Integration Tests', () => {
66
+ let documentManager;
67
+ beforeAll(async () => {
68
+ // Set up silent logger for tests
69
+ setGlobalLogger(createSilentLogger());
70
+ // Ensure test directory exists and clean it first
71
+ try {
72
+ await fs.rm(TEST_DOCS_DIR, { recursive: true, force: true });
73
+ }
74
+ catch {
75
+ // Ignore if directory doesn't exist
76
+ }
77
+ await ensureDirectoryExists(TEST_DOCS_DIR);
78
+ // Initialize global cache
79
+ const cache = initializeGlobalCache(TEST_DOCS_DIR, {
80
+ maxCacheSize: 10,
81
+ enableWatching: false // Disable watching for tests
82
+ });
83
+ // Create document manager with explicit cache dependency
84
+ documentManager = new DocumentManager(TEST_DOCS_DIR, cache);
85
+ // Mock getDocumentManager to return our test instance
86
+ const { getDocumentManager } = await import('../../shared/utilities.js');
87
+ vi.mocked(getDocumentManager).mockResolvedValue(documentManager);
88
+ });
89
+ beforeEach(async () => {
90
+ // Ensure test directory exists before creating files
91
+ await ensureDirectoryExists(TEST_DOCS_DIR);
92
+ // Create fresh test document for each test
93
+ await fs.writeFile(FULL_TEST_PATH, SAMPLE_DOCUMENT, 'utf8');
94
+ // Clear document cache to ensure fresh reads
95
+ const { getGlobalCache } = await import('../../document-cache.js');
96
+ const cache = getGlobalCache();
97
+ cache.clear();
98
+ });
99
+ afterEach(async () => {
100
+ // Clean up test document
101
+ try {
102
+ await fs.unlink(FULL_TEST_PATH);
103
+ }
104
+ catch {
105
+ // Ignore if file doesn't exist
106
+ }
107
+ });
108
+ afterAll(async () => {
109
+ // Clean up test directory
110
+ try {
111
+ await fs.rm(TEST_DOCS_DIR, { recursive: true, force: true });
112
+ }
113
+ catch {
114
+ // Ignore if directory doesn't exist
115
+ }
116
+ });
117
+ describe('Replace Operations', () => {
118
+ test('should replace section content completely', async () => {
119
+ // Arrange
120
+ const args = {
121
+ document: TEST_DOC_PATH,
122
+ section: 'overview',
123
+ content: 'This is the completely new overview content.',
124
+ operation: 'replace'
125
+ };
126
+ // Act
127
+ const result = await section(args, mockSessionState);
128
+ // Assert
129
+ expect(result).toMatchObject({
130
+ updated: true,
131
+ document: TEST_DOC_PATH,
132
+ section: 'overview',
133
+ operation: 'replace',
134
+ timestamp: expect.any(String),
135
+ hierarchical_info: {
136
+ slug_depth: expect.any(Number)
137
+ },
138
+ link_assistance: {
139
+ links_found: expect.any(Array),
140
+ link_suggestions: expect.any(Array),
141
+ syntax_help: {
142
+ detected_patterns: expect.any(Array),
143
+ correct_examples: expect.any(Array),
144
+ common_mistakes: expect.any(Array)
145
+ }
146
+ },
147
+ document_info: {
148
+ slug: expect.any(String),
149
+ title: expect.any(String),
150
+ namespace: expect.any(String)
151
+ }
152
+ });
153
+ // Verify the actual markdown content
154
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
155
+ expect(updatedContent).toContain('This is the completely new overview content.');
156
+ expect(updatedContent).not.toContain('This document is used for integration testing');
157
+ });
158
+ test('should replace nested section content', async () => {
159
+ // Arrange
160
+ const args = {
161
+ document: TEST_DOC_PATH,
162
+ section: 'authentication',
163
+ content: 'New authentication documentation with OAuth 2.0 support.',
164
+ operation: 'replace'
165
+ };
166
+ // Act
167
+ const result = await section(args, mockSessionState);
168
+ // Assert
169
+ expect(result).toMatchObject({
170
+ updated: true,
171
+ document: TEST_DOC_PATH,
172
+ section: 'authentication',
173
+ operation: 'replace',
174
+ timestamp: expect.any(String),
175
+ hierarchical_info: {
176
+ slug_depth: expect.any(Number)
177
+ },
178
+ link_assistance: {
179
+ links_found: expect.any(Array),
180
+ link_suggestions: expect.any(Array),
181
+ syntax_help: {
182
+ detected_patterns: expect.any(Array),
183
+ correct_examples: expect.any(Array),
184
+ common_mistakes: expect.any(Array)
185
+ }
186
+ },
187
+ document_info: {
188
+ slug: expect.any(String),
189
+ title: expect.any(String),
190
+ namespace: expect.any(String)
191
+ }
192
+ });
193
+ // Verify the actual markdown content
194
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
195
+ expect(updatedContent).toContain('New authentication documentation with OAuth 2.0 support.');
196
+ expect(updatedContent).not.toContain('Secure user authentication system.');
197
+ });
198
+ });
199
+ describe('Append Operations', () => {
200
+ test('should append content to existing section', async () => {
201
+ // Arrange
202
+ const args = {
203
+ document: TEST_DOC_PATH,
204
+ section: 'overview',
205
+ content: 'Additional overview information.',
206
+ operation: 'append'
207
+ };
208
+ // Act
209
+ const result = await section(args, mockSessionState);
210
+ // Assert
211
+ expect(result).toMatchObject({
212
+ updated: true,
213
+ document: TEST_DOC_PATH,
214
+ section: 'overview',
215
+ operation: 'append',
216
+ timestamp: expect.any(String),
217
+ hierarchical_info: {
218
+ slug_depth: expect.any(Number)
219
+ },
220
+ link_assistance: {
221
+ links_found: expect.any(Array),
222
+ link_suggestions: expect.any(Array),
223
+ syntax_help: {
224
+ detected_patterns: expect.any(Array),
225
+ correct_examples: expect.any(Array),
226
+ common_mistakes: expect.any(Array)
227
+ }
228
+ },
229
+ document_info: {
230
+ slug: expect.any(String),
231
+ title: expect.any(String),
232
+ namespace: expect.any(String)
233
+ }
234
+ });
235
+ // Verify the actual markdown content
236
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
237
+ expect(updatedContent).toContain('This document is used for integration testing');
238
+ expect(updatedContent).toContain('Additional overview information.');
239
+ // Verify order - original content should come before appended content
240
+ const overviewMatch = updatedContent.match(/## Overview\s*([\s\S]*?)(?=##|$)/);
241
+ expect(overviewMatch).toBeTruthy();
242
+ if (overviewMatch?.[1] != null) {
243
+ const overviewSection = overviewMatch[1];
244
+ const originalIndex = overviewSection.indexOf('This document is used for integration testing');
245
+ const appendedIndex = overviewSection.indexOf('Additional overview information.');
246
+ expect(originalIndex).toBeLessThan(appendedIndex);
247
+ }
248
+ });
249
+ test('should append content to nested section', async () => {
250
+ // Arrange
251
+ const args = {
252
+ document: TEST_DOC_PATH,
253
+ section: 'data-processing',
254
+ content: 'Supports real-time data streams.',
255
+ operation: 'append'
256
+ };
257
+ // Act
258
+ await section(args, mockSessionState);
259
+ // Verify the actual markdown content
260
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
261
+ expect(updatedContent).toContain('Advanced data processing capabilities.');
262
+ expect(updatedContent).toContain('Supports real-time data streams.');
263
+ });
264
+ });
265
+ describe('Prepend Operations', () => {
266
+ test('should prepend content to existing section', async () => {
267
+ // Arrange
268
+ const args = {
269
+ document: TEST_DOC_PATH,
270
+ section: 'overview',
271
+ content: 'Important notice: Please read this first.',
272
+ operation: 'prepend'
273
+ };
274
+ // Act
275
+ const result = await section(args, mockSessionState);
276
+ // Assert
277
+ expect(result).toMatchObject({
278
+ updated: true,
279
+ document: TEST_DOC_PATH,
280
+ section: 'overview',
281
+ operation: 'prepend',
282
+ timestamp: expect.any(String),
283
+ hierarchical_info: {
284
+ slug_depth: expect.any(Number)
285
+ },
286
+ link_assistance: {
287
+ links_found: expect.any(Array),
288
+ link_suggestions: expect.any(Array),
289
+ syntax_help: {
290
+ detected_patterns: expect.any(Array),
291
+ correct_examples: expect.any(Array),
292
+ common_mistakes: expect.any(Array)
293
+ }
294
+ },
295
+ document_info: {
296
+ slug: expect.any(String),
297
+ title: expect.any(String),
298
+ namespace: expect.any(String)
299
+ }
300
+ });
301
+ // Verify the actual markdown content
302
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
303
+ expect(updatedContent).toContain('Important notice: Please read this first.');
304
+ expect(updatedContent).toContain('This document is used for integration testing');
305
+ // Verify order - prepended content should come before original content
306
+ const overviewMatch = updatedContent.match(/## Overview\s*([\s\S]*?)(?=##|$)/);
307
+ expect(overviewMatch).toBeTruthy();
308
+ if (overviewMatch?.[1] != null) {
309
+ const overviewSection = overviewMatch[1];
310
+ const prependedIndex = overviewSection.indexOf('Important notice: Please read this first.');
311
+ const originalIndex = overviewSection.indexOf('This document is used for integration testing');
312
+ expect(prependedIndex).toBeLessThan(originalIndex);
313
+ }
314
+ });
315
+ });
316
+ describe('Creation Operations', () => {
317
+ test('should create new section with insert_before', async () => {
318
+ // Arrange
319
+ const args = {
320
+ document: TEST_DOC_PATH,
321
+ section: 'features',
322
+ content: 'This is a new section inserted before Features.',
323
+ operation: 'insert_before',
324
+ title: 'Prerequisites'
325
+ };
326
+ // Act
327
+ const result = await section(args, mockSessionState);
328
+ // Assert
329
+ expect(result).toMatchObject({
330
+ created: true,
331
+ document: TEST_DOC_PATH,
332
+ new_section: 'prerequisites',
333
+ operation: 'insert_before',
334
+ timestamp: expect.any(String)
335
+ });
336
+ // Check depth is present and reasonable (may be undefined if section not found in headings)
337
+ const depth = result.depth;
338
+ if (depth !== undefined) {
339
+ expect(depth).toBeGreaterThan(0);
340
+ expect(depth).toBeLessThanOrEqual(6);
341
+ }
342
+ // Verify the actual markdown content
343
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
344
+ expect(updatedContent).toContain('## Prerequisites');
345
+ expect(updatedContent).toContain('This is a new section inserted before Features.');
346
+ // Verify order - Prerequisites should come before Features
347
+ const prereqIndex = updatedContent.indexOf('## Prerequisites');
348
+ const featuresIndex = updatedContent.indexOf('## Features');
349
+ expect(prereqIndex).toBeLessThan(featuresIndex);
350
+ });
351
+ test('should create new section with insert_after', async () => {
352
+ // Arrange
353
+ const args = {
354
+ document: TEST_DOC_PATH,
355
+ section: 'overview',
356
+ content: 'Quick start guide for getting up and running.',
357
+ operation: 'insert_after',
358
+ title: 'Quick Start'
359
+ };
360
+ // Act
361
+ const result = await section(args, mockSessionState);
362
+ // Assert
363
+ expect(result).toMatchObject({
364
+ created: true,
365
+ document: TEST_DOC_PATH,
366
+ new_section: 'quick-start',
367
+ operation: 'insert_after',
368
+ timestamp: expect.any(String)
369
+ });
370
+ // Check depth is present and reasonable (may be undefined if section not found in headings)
371
+ const depth = result.depth;
372
+ if (depth !== undefined) {
373
+ expect(depth).toBeGreaterThan(0);
374
+ expect(depth).toBeLessThanOrEqual(6);
375
+ }
376
+ // Verify the actual markdown content
377
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
378
+ expect(updatedContent).toContain('## Quick Start');
379
+ expect(updatedContent).toContain('Quick start guide for getting up and running.');
380
+ // Verify order - Quick Start should come after Overview
381
+ const overviewIndex = updatedContent.indexOf('## Overview');
382
+ const quickStartIndex = updatedContent.indexOf('## Quick Start');
383
+ expect(overviewIndex).toBeLessThan(quickStartIndex);
384
+ });
385
+ test('should create new child section with append_child', async () => {
386
+ // Arrange
387
+ const args = {
388
+ document: TEST_DOC_PATH,
389
+ section: 'features',
390
+ content: 'Real-time notifications and alerts.',
391
+ operation: 'append_child',
392
+ title: 'Notifications'
393
+ };
394
+ // Act
395
+ const result = await section(args, mockSessionState);
396
+ // Assert
397
+ expect(result).toMatchObject({
398
+ created: true,
399
+ document: TEST_DOC_PATH,
400
+ new_section: 'notifications',
401
+ operation: 'append_child',
402
+ timestamp: expect.any(String)
403
+ });
404
+ // Check depth is present and reasonable (may be undefined if section not found in headings)
405
+ const depth = result.depth;
406
+ if (depth !== undefined) {
407
+ expect(depth).toBeGreaterThan(0);
408
+ expect(depth).toBeLessThanOrEqual(6);
409
+ }
410
+ // Verify the actual markdown content
411
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
412
+ expect(updatedContent).toContain('### Notifications');
413
+ expect(updatedContent).toContain('Real-time notifications and alerts.');
414
+ // Verify placement - should be after Data Processing but before API Reference
415
+ const dataProcessingIndex = updatedContent.indexOf('### Data Processing');
416
+ const notificationsIndex = updatedContent.indexOf('### Notifications');
417
+ const apiRefIndex = updatedContent.indexOf('## API Reference');
418
+ expect(dataProcessingIndex).toBeLessThan(notificationsIndex);
419
+ expect(notificationsIndex).toBeLessThan(apiRefIndex);
420
+ });
421
+ test('should create deeply nested child section', async () => {
422
+ // Arrange
423
+ const args = {
424
+ document: TEST_DOC_PATH,
425
+ section: 'users',
426
+ content: 'GET /users/:id endpoint details.',
427
+ operation: 'append_child',
428
+ title: 'Get User by ID'
429
+ };
430
+ // Act
431
+ const result = await section(args, mockSessionState);
432
+ // Assert
433
+ expect(result).toMatchObject({
434
+ created: true,
435
+ document: TEST_DOC_PATH,
436
+ new_section: 'get-user-by-id',
437
+ operation: 'append_child',
438
+ timestamp: expect.any(String)
439
+ });
440
+ // Check depth is present and reasonable (should be deeper than Users section, may be undefined)
441
+ const depth = result.depth;
442
+ if (depth !== undefined) {
443
+ expect(depth).toBeGreaterThan(4);
444
+ expect(depth).toBeLessThanOrEqual(6);
445
+ }
446
+ // Verify the actual markdown content
447
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
448
+ expect(updatedContent).toContain('##### Get User by ID');
449
+ expect(updatedContent).toContain('GET /users/:id endpoint details.');
450
+ });
451
+ });
452
+ describe('Batch Operations', () => {
453
+ test('should handle mixed batch operations on same document', async () => {
454
+ // Arrange
455
+ const operations = [
456
+ {
457
+ document: TEST_DOC_PATH,
458
+ section: 'overview',
459
+ content: 'Updated overview with new information.',
460
+ operation: 'replace'
461
+ },
462
+ {
463
+ document: TEST_DOC_PATH,
464
+ section: 'features',
465
+ content: 'New installation section.',
466
+ operation: 'insert_before',
467
+ title: 'Installation'
468
+ },
469
+ {
470
+ document: TEST_DOC_PATH,
471
+ section: 'configuration',
472
+ content: 'Additional configuration notes.',
473
+ operation: 'append'
474
+ }
475
+ ];
476
+ // Act
477
+ const result = await section(operations, mockSessionState);
478
+ // Assert
479
+ expect(result).toMatchObject({
480
+ document: TEST_DOC_PATH,
481
+ sections_modified: 3,
482
+ total_operations: 3,
483
+ timestamp: expect.any(String)
484
+ });
485
+ const batchResults = result.batch_results;
486
+ expect(batchResults).toHaveLength(3);
487
+ expect(batchResults[0]).toMatchObject({ success: true, section: 'overview', action: 'edited' });
488
+ expect(batchResults[1]).toMatchObject({ success: true, section: 'installation', action: 'created' });
489
+ expect(batchResults[2]).toMatchObject({ success: true, section: 'configuration', action: 'edited' });
490
+ // Check that creation operation has depth (may be undefined)
491
+ const creationDepth = batchResults[1]?.depth;
492
+ if (creationDepth !== undefined) {
493
+ expect(creationDepth).toBeGreaterThan(0);
494
+ expect(creationDepth).toBeLessThanOrEqual(6);
495
+ }
496
+ // Verify the actual markdown content
497
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
498
+ // Check edit operations
499
+ expect(updatedContent).toContain('Updated overview with new information.');
500
+ expect(updatedContent).not.toContain('This document is used for integration testing');
501
+ expect(updatedContent).toContain('Application configuration details.');
502
+ expect(updatedContent).toContain('Additional configuration notes.');
503
+ // Check creation operation
504
+ expect(updatedContent).toContain('## Installation');
505
+ expect(updatedContent).toContain('New installation section.');
506
+ // Verify order
507
+ const installationIndex = updatedContent.indexOf('## Installation');
508
+ const featuresIndex = updatedContent.indexOf('## Features');
509
+ expect(installationIndex).toBeLessThan(featuresIndex);
510
+ });
511
+ test('should handle batch operations with partial failures', async () => {
512
+ // Arrange
513
+ const operations = [
514
+ {
515
+ document: TEST_DOC_PATH,
516
+ section: 'overview',
517
+ content: 'Valid update.',
518
+ operation: 'replace'
519
+ },
520
+ {
521
+ document: TEST_DOC_PATH,
522
+ section: 'non-existent-section',
523
+ content: 'This will fail.',
524
+ operation: 'replace'
525
+ },
526
+ {
527
+ document: TEST_DOC_PATH,
528
+ section: 'features',
529
+ content: 'Valid append.',
530
+ operation: 'append'
531
+ }
532
+ ];
533
+ // Act
534
+ const result = await section(operations, mockSessionState);
535
+ // Assert
536
+ expect(result).toMatchObject({
537
+ batch_results: [
538
+ { success: true, section: 'overview', action: 'edited' },
539
+ {
540
+ success: false,
541
+ section: 'non-existent-section',
542
+ error: expect.stringContaining('Section not found: non-existent-section')
543
+ },
544
+ { success: true, section: 'features', action: 'edited' }
545
+ ],
546
+ document: TEST_DOC_PATH,
547
+ sections_modified: 2, // Only successful operations
548
+ total_operations: 3,
549
+ timestamp: expect.any(String),
550
+ document_info: {
551
+ slug: expect.any(String),
552
+ title: expect.any(String),
553
+ namespace: expect.any(String)
554
+ }
555
+ });
556
+ // Verify successful operations were applied
557
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
558
+ expect(updatedContent).toContain('Valid update.');
559
+ expect(updatedContent).toContain('Valid append.');
560
+ });
561
+ });
562
+ describe('Error Handling', () => {
563
+ test('should handle non-existent document', async () => {
564
+ // Arrange
565
+ const args = {
566
+ document: '/non-existent-document.md',
567
+ section: 'overview',
568
+ content: 'Content.',
569
+ operation: 'replace'
570
+ };
571
+ // Act & Assert
572
+ await expect(section(args, mockSessionState))
573
+ .rejects
574
+ .toThrow();
575
+ });
576
+ test('should handle non-existent section for replace operation', async () => {
577
+ // Arrange
578
+ const args = {
579
+ document: TEST_DOC_PATH,
580
+ section: 'non-existent-section',
581
+ content: 'Content.',
582
+ operation: 'replace'
583
+ };
584
+ // Act & Assert
585
+ await expect(section(args, mockSessionState))
586
+ .rejects
587
+ .toThrow();
588
+ });
589
+ test('should handle creation operation without title', async () => {
590
+ // Arrange
591
+ const args = {
592
+ document: TEST_DOC_PATH,
593
+ section: 'features',
594
+ content: 'Content.',
595
+ operation: 'insert_before'
596
+ // Missing title
597
+ };
598
+ // Act & Assert
599
+ await expect(section(args, mockSessionState))
600
+ .rejects
601
+ .toThrow();
602
+ });
603
+ });
604
+ describe('Complex Document Structure', () => {
605
+ test('should handle operations on document with complex nesting', async () => {
606
+ // Test creating a section using the default document structure (more reliable)
607
+ const args = {
608
+ document: TEST_DOC_PATH,
609
+ section: 'api-reference',
610
+ content: 'New subsection under API Reference.',
611
+ operation: 'append_child',
612
+ title: 'Authentication Details'
613
+ };
614
+ // Act
615
+ const result = await section(args, mockSessionState);
616
+ // Assert
617
+ expect(result).toMatchObject({
618
+ created: true,
619
+ document: TEST_DOC_PATH,
620
+ new_section: 'authentication-details',
621
+ operation: 'append_child',
622
+ timestamp: expect.any(String)
623
+ });
624
+ // Check depth is present and reasonable (may be undefined)
625
+ const depth = result.depth;
626
+ if (depth !== undefined) {
627
+ expect(depth).toBeGreaterThan(2);
628
+ expect(depth).toBeLessThanOrEqual(6);
629
+ }
630
+ // Verify the content
631
+ const updatedContent = await fs.readFile(FULL_TEST_PATH, 'utf8');
632
+ expect(updatedContent).toContain('### Authentication Details');
633
+ expect(updatedContent).toContain('New subsection under API Reference.');
634
+ });
635
+ });
636
+ });
637
+ //# sourceMappingURL=section.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.integration.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/section.integration.test.ts"],"names":[],"mappings":"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"}