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,216 @@
1
+ /**
2
+ * Implementation for the start_task tool
3
+ *
4
+ * Signals "I'm starting work on this task" and provides FULL CONTEXT including:
5
+ * - Task-specific workflow (if present in task metadata)
6
+ * - Main workflow from first task (if present in first task metadata)
7
+ * - Referenced documents (hierarchical @reference loading)
8
+ *
9
+ * This tool is used for:
10
+ * - Starting work on a task (new session)
11
+ * - Resuming work after context compression
12
+ *
13
+ * Unlike view_task (passive inspection) or complete_task (work continuation),
14
+ * start_task provides full workflow injection for new/resumed sessions.
15
+ */
16
+ import { ToolIntegration, AddressingError, DocumentNotFoundError } from '../../shared/addressing-system.js';
17
+ import { enrichTaskWithReferences, extractTaskField } from '../../shared/task-view-utilities.js';
18
+ import { enrichTaskWithWorkflow, enrichTaskWithMainWorkflow } from '../../shared/workflow-prompt-utilities.js';
19
+ import { getTaskHeadings } from '../../shared/task-utilities.js';
20
+ /**
21
+ * Start work on a task with full context injection
22
+ *
23
+ * @param args - Tool arguments containing document path (and optional task slug after #)
24
+ * @param _state - Session state (unused but required by tool signature)
25
+ * @param manager - Document manager for accessing documents
26
+ * @returns Promise resolving to enriched task data with full workflow context
27
+ * @throws {AddressingError} When parameters are invalid or task validation fails
28
+ * @throws {DocumentNotFoundError} When document doesn't exist
29
+ */
30
+ export async function startTask(args, _state, manager) {
31
+ try {
32
+ // ===== INPUT VALIDATION AND MODE DETECTION =====
33
+ const documentParam = ToolIntegration.validateStringParameter(args['document'], 'document');
34
+ let mode;
35
+ let docPath;
36
+ let taskSlug;
37
+ if (documentParam.includes('#')) {
38
+ // Ad-hoc mode: Parse document + slug
39
+ const parts = documentParam.split('#');
40
+ docPath = parts[0] ?? documentParam;
41
+ taskSlug = parts[1];
42
+ mode = 'adhoc';
43
+ if (taskSlug == null || taskSlug === '') {
44
+ throw new AddressingError('Task slug cannot be empty after #', 'EMPTY_TASK_SLUG');
45
+ }
46
+ }
47
+ else {
48
+ // Sequential mode: Document only
49
+ docPath = documentParam;
50
+ taskSlug = undefined;
51
+ mode = 'sequential';
52
+ }
53
+ // ===== ADDRESS PARSING =====
54
+ const { addresses } = ToolIntegration.validateAndParse({
55
+ document: docPath,
56
+ ...(taskSlug != null && { task: taskSlug })
57
+ });
58
+ // ===== DOCUMENT LOADING =====
59
+ const document = await manager.getDocument(addresses.document.path);
60
+ if (document == null) {
61
+ throw new DocumentNotFoundError(addresses.document.path);
62
+ }
63
+ // ===== TASK VALIDATION =====
64
+ // Find tasks section
65
+ const tasksSection = document.headings.find(h => h.slug === 'tasks' || h.title.toLowerCase() === 'tasks');
66
+ if (tasksSection == null) {
67
+ throw new AddressingError('No tasks section found in document', 'NO_TASKS_SECTION', {
68
+ document: addresses.document.path,
69
+ available_sections: document.headings.map(h => h.slug)
70
+ });
71
+ }
72
+ // ===== TASK RESOLUTION =====
73
+ // Determine target task based on mode
74
+ let targetTaskSlug;
75
+ if (mode === 'adhoc') {
76
+ // Ad-hoc mode: Use the provided task slug directly
77
+ if (addresses.task == null) {
78
+ throw new AddressingError('Task address is required in ad-hoc mode', 'MISSING_TASK_ADDRESS');
79
+ }
80
+ const taskAddress = addresses.task;
81
+ const tasksIndex = document.headings.findIndex(h => h.slug === tasksSection.slug);
82
+ const taskIndex = document.headings.findIndex(h => h.slug === taskAddress.slug);
83
+ // Check if task exists after tasks section and is deeper than tasks section
84
+ const taskHeading = document.headings[taskIndex];
85
+ const isUnderTasksSection = taskIndex > tasksIndex &&
86
+ taskHeading != null &&
87
+ taskHeading.depth > tasksSection.depth;
88
+ if (!isUnderTasksSection) {
89
+ // Build list of available tasks for helpful error message
90
+ const taskHeadings = await getTaskHeadings(document, tasksSection);
91
+ throw new AddressingError(`Task not found: ${taskAddress.slug}`, 'TASK_NOT_FOUND', {
92
+ document: addresses.document.path,
93
+ task: taskAddress.slug,
94
+ available_tasks: taskHeadings.map(h => h.slug)
95
+ });
96
+ }
97
+ // Check if the next heading at same or shallower depth is still under tasks section
98
+ // This ensures we haven't gone past the tasks section boundary
99
+ let withinTasksSection = true;
100
+ for (let i = taskIndex + 1; i < document.headings.length; i++) {
101
+ const nextHeading = document.headings[i];
102
+ if (nextHeading != null && nextHeading.depth <= tasksSection.depth) {
103
+ // Hit a heading at same or shallower depth as tasks section
104
+ withinTasksSection = true;
105
+ break;
106
+ }
107
+ }
108
+ if (!withinTasksSection) {
109
+ throw new AddressingError(`Section ${taskAddress.slug} is not under tasks section`, 'NOT_A_TASK', {
110
+ document: addresses.document.path,
111
+ section: taskAddress.slug
112
+ });
113
+ }
114
+ targetTaskSlug = taskAddress.slug;
115
+ }
116
+ else {
117
+ // Sequential mode: Find first pending/in_progress task
118
+ const { findNextAvailableTask } = await import('../../shared/task-view-utilities.js');
119
+ const nextTask = await findNextAvailableTask(manager, document, undefined);
120
+ if (nextTask == null) {
121
+ const taskHeadings = await getTaskHeadings(document, tasksSection);
122
+ if (taskHeadings.length === 0) {
123
+ throw new AddressingError('No tasks found in document', 'NO_TASKS_FOUND', {
124
+ document: addresses.document.path
125
+ });
126
+ }
127
+ throw new AddressingError('No pending or in_progress tasks found in document', 'NO_AVAILABLE_TASKS', {
128
+ document: addresses.document.path,
129
+ suggestion: 'All tasks may be completed. Use view_task to check task status.'
130
+ });
131
+ }
132
+ targetTaskSlug = nextTask.slug;
133
+ }
134
+ // ===== TASK CONTENT LOADING =====
135
+ const taskContent = await manager.getSectionContent(addresses.document.path, targetTaskSlug);
136
+ if (taskContent == null) {
137
+ throw new AddressingError(`Task content not found for ${targetTaskSlug}`, 'TASK_CONTENT_NOT_FOUND', {
138
+ document: addresses.document.path,
139
+ task: targetTaskSlug
140
+ });
141
+ }
142
+ // ===== BASE TASK DATA EXTRACTION =====
143
+ const heading = document.headings.find(h => h.slug === targetTaskSlug);
144
+ const title = heading?.title ?? targetTaskSlug;
145
+ const status = extractTaskField(taskContent, 'Status') ?? 'pending';
146
+ // Build base task data
147
+ const baseTaskData = {
148
+ slug: targetTaskSlug,
149
+ title,
150
+ content: taskContent,
151
+ status
152
+ };
153
+ // ===== WORKFLOW ENRICHMENT =====
154
+ // Enrich with task-specific workflow (if present in task metadata)
155
+ const taskWithWorkflow = enrichTaskWithWorkflow(baseTaskData, taskContent);
156
+ // Enrich with main workflow from first task (ONLY in sequential mode)
157
+ let taskWithBothWorkflows = taskWithWorkflow;
158
+ if (mode === 'sequential') {
159
+ taskWithBothWorkflows = await enrichTaskWithMainWorkflow(manager, document, taskWithWorkflow);
160
+ }
161
+ // In ad-hoc mode, skip main workflow injection
162
+ // ===== REFERENCE ENRICHMENT =====
163
+ // Create task address for enrichment functions
164
+ const taskAddressForEnrichment = addresses.task ?? {
165
+ document: addresses.document,
166
+ slug: targetTaskSlug,
167
+ fullPath: `${addresses.document.path}#${targetTaskSlug}`,
168
+ isTask: true,
169
+ cacheKey: `${addresses.document.path}#${targetTaskSlug}`
170
+ };
171
+ // Enrich with hierarchical references from task content
172
+ const enrichedTask = await enrichTaskWithReferences(manager, addresses.document.path, targetTaskSlug, taskContent, heading, taskAddressForEnrichment);
173
+ // Merge workflow data with reference-enriched data
174
+ // Extract workflow data with explicit typing
175
+ const workflow = 'workflow' in taskWithBothWorkflows
176
+ ? taskWithBothWorkflows.workflow
177
+ : undefined;
178
+ const mainWorkflow = 'mainWorkflow' in taskWithBothWorkflows
179
+ ? taskWithBothWorkflows.mainWorkflow
180
+ : undefined;
181
+ const fullyEnriched = {
182
+ ...enrichedTask,
183
+ ...(workflow != null && { workflow }),
184
+ ...(mainWorkflow != null && { mainWorkflow })
185
+ };
186
+ // ===== OUTPUT CONSTRUCTION =====
187
+ return {
188
+ mode,
189
+ document: addresses.document.path,
190
+ task: {
191
+ slug: fullyEnriched.slug,
192
+ title: fullyEnriched.title,
193
+ content: fullyEnriched.content,
194
+ status: fullyEnriched.status,
195
+ full_path: fullyEnriched.fullPath ?? ToolIntegration.formatTaskPath(taskAddressForEnrichment),
196
+ ...(workflow != null && { workflow }),
197
+ ...(mainWorkflow != null && { main_workflow: mainWorkflow }),
198
+ ...(fullyEnriched.referencedDocuments != null &&
199
+ fullyEnriched.referencedDocuments.length > 0 && {
200
+ referenced_documents: fullyEnriched.referencedDocuments
201
+ })
202
+ }
203
+ };
204
+ }
205
+ catch (error) {
206
+ // Re-throw known error types
207
+ if (error instanceof AddressingError || error instanceof DocumentNotFoundError) {
208
+ throw error;
209
+ }
210
+ // Wrap unexpected errors
211
+ throw new AddressingError(`Failed to start task: ${error instanceof Error ? error.message : String(error)}`, 'START_TASK_FAILED', {
212
+ originalError: error instanceof Error ? error.message : String(error)
213
+ });
214
+ }
215
+ }
216
+ //# sourceMappingURL=start-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-task.js","sourceRoot":"","sources":["../../../src/tools/implementations/start-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Implementation for the subagent_task tool
3
+ * Unified tool for creating, editing, completing, and listing tasks in ad-hoc mode
4
+ * (requires #slug for assigned subagent tasks)
5
+ */
6
+ import type { SessionState } from '../../session/types.js';
7
+ import type { DocumentManager } from '../../document-manager.js';
8
+ import type { HierarchicalContent } from '../../shared/reference-loader.js';
9
+ import { type TaskHierarchicalContext } from '../../shared/task-operations.js';
10
+ /**
11
+ * Individual task operation result
12
+ */
13
+ interface TaskOperationResult {
14
+ task?: {
15
+ slug: string;
16
+ title: string;
17
+ hierarchical_context?: TaskHierarchicalContext;
18
+ };
19
+ tasks?: Array<{
20
+ slug: string;
21
+ title: string;
22
+ status: string;
23
+ link?: string;
24
+ has_references?: boolean;
25
+ referenced_documents?: HierarchicalContent[];
26
+ hierarchical_context?: TaskHierarchicalContext;
27
+ }>;
28
+ count?: number;
29
+ hierarchical_summary?: {
30
+ by_phase: Record<string, {
31
+ total: number;
32
+ pending: number;
33
+ in_progress: number;
34
+ completed: number;
35
+ }>;
36
+ by_category: Record<string, {
37
+ total: number;
38
+ pending: number;
39
+ in_progress?: number;
40
+ completed?: number;
41
+ }>;
42
+ critical_path: string[];
43
+ };
44
+ next_task?: {
45
+ slug: string;
46
+ title: string;
47
+ link?: string;
48
+ };
49
+ next_step?: string;
50
+ error?: string;
51
+ }
52
+ /**
53
+ * Bulk task operations response
54
+ */
55
+ interface TaskBulkResponse {
56
+ operations_completed: number;
57
+ results: TaskOperationResult[];
58
+ document_created?: boolean;
59
+ }
60
+ /**
61
+ * MCP tool for subagent task management with bulk operations support
62
+ *
63
+ * Supports bulk task operations including creation, editing, and listing in a single call.
64
+ * Always pass operations as an array, even for single task operations.
65
+ *
66
+ * VALIDATION: Requires document to be in /docs/ namespace (explicit path prefix required).
67
+ *
68
+ * @param args - Object with document path and operations array
69
+ * @param _state - MCP session state (unused in current implementation)
70
+ * @returns Bulk operation results with created/edited tasks and filtered lists
71
+ *
72
+ * @example
73
+ * // Single task creation (uses operations array)
74
+ * const result = await subagentTask({
75
+ * document: "/docs/project/setup.md",
76
+ * operations: [{
77
+ * operation: "create",
78
+ * title: "Initialize Database",
79
+ * content: "Status: pending\n\nSet up PostgreSQL database"
80
+ * }]
81
+ * });
82
+ *
83
+ * // Multiple operations in one call
84
+ * const result = await subagentTask({
85
+ * document: "/docs/project/setup.md",
86
+ * operations: [
87
+ * { operation: "create", title: "Task 1", content: "Status: pending\n\nContent 1" },
88
+ * { operation: "create", title: "Task 2", content: "Status: pending\n\nContent 2" },
89
+ * { operation: "list" }
90
+ * ]
91
+ * });
92
+ *
93
+ * @throws {AddressingError} When document or task addresses are invalid or not found
94
+ * @throws {Error} When task operations fail due to content constraints or structural issues
95
+ */
96
+ export declare function subagentTask(args: Record<string, unknown>, _state: SessionState, manager: DocumentManager): Promise<TaskBulkResponse>;
97
+ export {};
98
+ //# sourceMappingURL=subagent-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-task.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/subagent-task.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAuIzC;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;KAChD,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAC7C,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;KAChD,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1G,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA+D3B"}
@@ -0,0 +1,277 @@
1
+ /**
2
+ * Implementation for the subagent_task tool
3
+ * Unified tool for creating, editing, completing, and listing tasks in ad-hoc mode
4
+ * (requires #slug for assigned subagent tasks)
5
+ */
6
+ import { ToolIntegration, AddressingError } from '../../shared/addressing-system.js';
7
+ import { createTaskOperation, editTaskOperation, listTasksOperation } from '../../shared/task-operations.js';
8
+ import { isDocsPath } from '../../shared/namespace-constants.js';
9
+ /**
10
+ * Maximum number of operations allowed in a single batch request
11
+ * Prevents performance issues and potential DoS attacks
12
+ */
13
+ const MAX_BATCH_SIZE = 100;
14
+ /**
15
+ * Parse operation target
16
+ * Supports two formats:
17
+ * 1. Slug only: "task-slug" or "#task-slug" (uses default document)
18
+ * 2. Null/undefined (for create operations without specific task reference)
19
+ */
20
+ function parseOperationTarget(operation, defaultDocument) {
21
+ const fieldValue = operation.task;
22
+ if (fieldValue == null) {
23
+ // Create operations may not have task slug
24
+ return { document: defaultDocument, slug: '' };
25
+ }
26
+ // Check for full path (contains #)
27
+ if (fieldValue.includes('#')) {
28
+ const parts = fieldValue.split('#');
29
+ const docPath = parts[0];
30
+ const slug = parts[1];
31
+ if (docPath == null || docPath === '') {
32
+ throw new AddressingError('Full path must include document path before #', 'MISSING_DOCUMENT_PATH');
33
+ }
34
+ if (slug == null || slug === '') {
35
+ throw new AddressingError('Full path must include task slug after #', 'MISSING_SLUG');
36
+ }
37
+ // Override: use embedded document path
38
+ return { document: docPath, slug };
39
+ }
40
+ // Check for path without slug (error case)
41
+ if (fieldValue.startsWith('/')) {
42
+ throw new AddressingError('Document path must include task slug after # (e.g., "/doc.md#slug")', 'PATH_WITHOUT_SLUG');
43
+ }
44
+ // Slug only: use default document
45
+ return { document: defaultDocument, slug: fieldValue };
46
+ }
47
+ /**
48
+ * Get document or auto-create if it doesn't exist
49
+ * Returns both the document and a flag indicating if it was created
50
+ */
51
+ async function getOrCreateDocument(documentPath, manager) {
52
+ // Try to get existing document
53
+ let document = await manager.getDocument(documentPath);
54
+ if (document != null) {
55
+ return { document, created: false };
56
+ }
57
+ // Document doesn't exist - auto-create it
58
+ const { parseDocumentAddress } = await import('../../shared/addressing-system.js');
59
+ const { createDocumentFile } = await import('../create/file-creator.js');
60
+ // Parse document address to extract namespace and slug
61
+ const address = parseDocumentAddress(documentPath);
62
+ const namespace = address.namespace;
63
+ const slug = address.slug;
64
+ // Generate title from slug (convert hyphens to spaces, capitalize words)
65
+ const title = slug.replace(/-/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
66
+ // Create minimal blank document with just H1 header
67
+ const content = `# ${title}\n\n`;
68
+ const result = await createDocumentFile(namespace, title, '', // No overview for task documents
69
+ manager, content, documentPath, slug);
70
+ // Check if creation was successful
71
+ if ('error' in result) {
72
+ throw new AddressingError(`Failed to auto-create document: ${result.error}`, 'DOCUMENT_CREATION_FAILED', { path: documentPath, details: result.details });
73
+ }
74
+ // Reload the document from cache
75
+ document = await manager.getDocument(documentPath);
76
+ if (document == null) {
77
+ throw new AddressingError(`Document creation succeeded but document could not be loaded`, 'DOCUMENT_LOAD_FAILED', { path: documentPath });
78
+ }
79
+ return { document, created: true };
80
+ }
81
+ /**
82
+ * Check if this is the first task in the document
83
+ * A document has its first task if it has no H2+ sections yet
84
+ */
85
+ function isFirstTaskInDocument(document) {
86
+ if (document == null)
87
+ return true;
88
+ return !document.headings.some(h => h.depth >= 2);
89
+ }
90
+ /**
91
+ * MCP tool for subagent task management with bulk operations support
92
+ *
93
+ * Supports bulk task operations including creation, editing, and listing in a single call.
94
+ * Always pass operations as an array, even for single task operations.
95
+ *
96
+ * VALIDATION: Requires document to be in /docs/ namespace (explicit path prefix required).
97
+ *
98
+ * @param args - Object with document path and operations array
99
+ * @param _state - MCP session state (unused in current implementation)
100
+ * @returns Bulk operation results with created/edited tasks and filtered lists
101
+ *
102
+ * @example
103
+ * // Single task creation (uses operations array)
104
+ * const result = await subagentTask({
105
+ * document: "/docs/project/setup.md",
106
+ * operations: [{
107
+ * operation: "create",
108
+ * title: "Initialize Database",
109
+ * content: "Status: pending\n\nSet up PostgreSQL database"
110
+ * }]
111
+ * });
112
+ *
113
+ * // Multiple operations in one call
114
+ * const result = await subagentTask({
115
+ * document: "/docs/project/setup.md",
116
+ * operations: [
117
+ * { operation: "create", title: "Task 1", content: "Status: pending\n\nContent 1" },
118
+ * { operation: "create", title: "Task 2", content: "Status: pending\n\nContent 2" },
119
+ * { operation: "list" }
120
+ * ]
121
+ * });
122
+ *
123
+ * @throws {AddressingError} When document or task addresses are invalid or not found
124
+ * @throws {Error} When task operations fail due to content constraints or structural issues
125
+ */
126
+ export async function subagentTask(args, _state, manager) {
127
+ try {
128
+ // Validate operations array exists and is valid
129
+ const operations = args['operations'];
130
+ if (!Array.isArray(operations)) {
131
+ throw new AddressingError('operations array is required and must be an array', 'MISSING_OPERATIONS', { provided: operations, type: typeof operations });
132
+ }
133
+ if (operations.length === 0) {
134
+ throw new AddressingError('operations array cannot be empty - must contain at least one operation', 'EMPTY_OPERATIONS');
135
+ }
136
+ // Extract and validate document path
137
+ const documentPath = ToolIntegration.validateStringParameter(args['document'], 'document');
138
+ // Use addressing system for document validation
139
+ const { addresses } = ToolIntegration.validateAndParse({
140
+ document: documentPath
141
+ });
142
+ // REQUIRED: Subagent tools only work in docs namespace (NOT coordinator)
143
+ if (!isDocsPath(addresses.document.path)) {
144
+ throw new AddressingError(`Subagent tools only work in /docs/ namespace. Use coordinator tools for /coordinator/ namespace.`, 'INVALID_NAMESPACE_FOR_SUBAGENT', {
145
+ document: addresses.document.path,
146
+ suggestion: `Use coordinator_task for coordinator tasks (/coordinator/active.md), subagent_task for regular documents`
147
+ });
148
+ }
149
+ // Get document or auto-create if it doesn't exist
150
+ const { created: documentCreated } = await getOrCreateDocument(addresses.document.path, manager);
151
+ // Process all operations
152
+ const response = await processTaskOperations(addresses.document.path, operations, manager);
153
+ // Add document_created flag if we auto-created the document
154
+ if (documentCreated) {
155
+ response.document_created = true;
156
+ }
157
+ return response;
158
+ }
159
+ catch (error) {
160
+ if (error instanceof AddressingError) {
161
+ const errorResponse = ToolIntegration.formatHierarchicalError(error, 'Verify task section structure and document organization');
162
+ throw new AddressingError(errorResponse.error, error.code, errorResponse.context);
163
+ }
164
+ throw new AddressingError(`Task operation failed: ${error instanceof Error ? error.message : String(error)}`, 'OPERATION_FAILED');
165
+ }
166
+ }
167
+ /**
168
+ * Process bulk task operations
169
+ */
170
+ async function processTaskOperations(documentPath, operations, manager) {
171
+ // Validate batch size to prevent performance issues
172
+ if (operations.length > MAX_BATCH_SIZE) {
173
+ throw new AddressingError(`Batch size ${operations.length} exceeds maximum of ${MAX_BATCH_SIZE}`, 'BATCH_TOO_LARGE', { batchSize: operations.length, maxSize: MAX_BATCH_SIZE });
174
+ }
175
+ const results = [];
176
+ for (const op of operations) {
177
+ try {
178
+ // Validate operation type
179
+ const operation = ToolIntegration.validateOperation(op['operation'] ?? '', ['create', 'edit', 'list'], 'task');
180
+ // Process based on operation type
181
+ if (operation === 'create') {
182
+ const title = ToolIntegration.validateOptionalStringParameter(op['title'], 'title');
183
+ const content = ToolIntegration.validateOptionalStringParameter(op['content'], 'content');
184
+ if (title == null || content == null) {
185
+ throw new AddressingError('Missing required parameters for create: title and content', 'MISSING_PARAMETER');
186
+ }
187
+ // Parse operation target with potential document override
188
+ const { document: targetDoc, slug: taskSlug } = parseOperationTarget(op, documentPath);
189
+ // Validate target document (may be different from default)
190
+ const targetAddresses = ToolIntegration.validateAndParse({
191
+ document: targetDoc
192
+ });
193
+ // Get or auto-create target document
194
+ const { document: targetDocument } = await getOrCreateDocument(targetAddresses.addresses.document.path, manager);
195
+ // Check if this is the first task in the document (before creating)
196
+ const isFirstTask = isFirstTaskInDocument(targetDocument);
197
+ // Convert empty string to undefined for createTaskOperation parameter
198
+ const referenceSlug = taskSlug === '' ? undefined : taskSlug;
199
+ const createResult = await createTaskOperation(manager, targetAddresses.addresses.document.path, title, content, referenceSlug);
200
+ const result = {
201
+ task: {
202
+ slug: createResult.slug,
203
+ title: createResult.title,
204
+ ...(createResult.hierarchical_context != null && {
205
+ hierarchical_context: createResult.hierarchical_context
206
+ })
207
+ }
208
+ };
209
+ // Only show next_step on first task in document
210
+ if (isFirstTask) {
211
+ const fullPath = `${targetAddresses.addresses.document.path}#${createResult.slug}`;
212
+ result.next_step = `Give subagent this exact instruction (do not run start_subagent_task yourself): "Run: start_subagent_task ${fullPath}. Then execute the task and respond 'Done' or 'Blocked: [reason]'"`;
213
+ }
214
+ results.push(result);
215
+ }
216
+ else if (operation === 'edit') {
217
+ const content = ToolIntegration.validateOptionalStringParameter(op['content'], 'content');
218
+ if (content == null) {
219
+ throw new AddressingError('Missing required parameters for edit: content', 'MISSING_PARAMETER');
220
+ }
221
+ // Parse operation target with potential document override
222
+ const { document: targetDoc, slug: taskSlug } = parseOperationTarget(op, documentPath);
223
+ if (taskSlug === '') {
224
+ throw new AddressingError('Missing required parameter for edit: task slug', 'MISSING_PARAMETER');
225
+ }
226
+ // Parse task address with potentially overridden document
227
+ const taskAddresses = ToolIntegration.validateAndParse({
228
+ document: targetDoc,
229
+ task: taskSlug
230
+ });
231
+ if (taskAddresses.addresses.task == null) {
232
+ throw new AddressingError('Task address validation failed', 'INVALID_TASK');
233
+ }
234
+ // Get or auto-create target document
235
+ await getOrCreateDocument(taskAddresses.addresses.document.path, manager);
236
+ await editTaskOperation(manager, taskAddresses.addresses.document.path, taskSlug, content);
237
+ results.push({});
238
+ }
239
+ else if (operation === 'list') {
240
+ const statusFilter = ToolIntegration.validateOptionalStringParameter(op['status'], 'status');
241
+ // Parse operation target with potential document override
242
+ const { document: targetDoc } = parseOperationTarget(op, documentPath);
243
+ // Validate target document (may be different from default)
244
+ const targetAddresses = ToolIntegration.validateAndParse({
245
+ document: targetDoc
246
+ });
247
+ // Get or auto-create target document
248
+ await getOrCreateDocument(targetAddresses.addresses.document.path, manager);
249
+ const listResult = await listTasksOperation(manager, targetAddresses.addresses.document.path, statusFilter);
250
+ const result = {
251
+ count: listResult.tasks.length
252
+ };
253
+ if (listResult.tasks.length > 0) {
254
+ result.tasks = listResult.tasks;
255
+ }
256
+ if (listResult.hierarchical_summary != null) {
257
+ result.hierarchical_summary = listResult.hierarchical_summary;
258
+ }
259
+ if (listResult.next_task != null) {
260
+ result.next_task = listResult.next_task;
261
+ }
262
+ results.push(result);
263
+ }
264
+ }
265
+ catch (error) {
266
+ const message = error instanceof Error ? error.message : String(error);
267
+ results.push({
268
+ error: message
269
+ });
270
+ }
271
+ }
272
+ return {
273
+ operations_completed: results.filter(r => r.error == null).length,
274
+ results
275
+ };
276
+ }
277
+ //# sourceMappingURL=subagent-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-task.js","sourceRoot":"","sources":["../../../src/tools/implementations/subagent-task.ts"],"names":[],"mappings":"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"}