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,416 @@
1
+ /**
2
+ * Shared task operations layer
3
+ *
4
+ * Provides core CRUD operations for tasks that can be used by both
5
+ * subagent (ad-hoc) and coordinator (sequential) task systems.
6
+ *
7
+ * These operations are extracted from the original task.ts, complete-task.ts,
8
+ * and start-task.ts to eliminate duplication and provide a clean foundation
9
+ * for the dual task system architecture.
10
+ */
11
+ import { performSectionEdit } from './utilities.js';
12
+ import { titleToSlug } from '../slug.js';
13
+ import { AddressingError, DocumentNotFoundError } from './addressing-system.js';
14
+ import { getTaskHeadingsFromHeadings } from './task-utilities.js';
15
+ import { ReferenceExtractor } from './reference-extractor.js';
16
+ import { ReferenceLoader } from './reference-loader.js';
17
+ import { loadConfig } from '../config.js';
18
+ import { extractTaskField, extractTaskLink } from './task-view-utilities.js';
19
+ /**
20
+ * Create a new task in the Tasks section
21
+ *
22
+ * @param manager - Document manager instance
23
+ * @param documentPath - Path to the document
24
+ * @param title - Task title
25
+ * @param content - Task content (should include Status field)
26
+ * @param referenceSlug - Optional slug to insert after (or undefined to append to Tasks section)
27
+ * @returns Created task slug and title
28
+ * @throws {AddressingError} When task creation fails
29
+ * @throws {DocumentNotFoundError} When document doesn't exist
30
+ */
31
+ export async function createTaskOperation(manager, documentPath, title, content, referenceSlug) {
32
+ try {
33
+ const taskSlug = titleToSlug(title);
34
+ // Task slugs are just the title slug, not prefixed with "tasks/"
35
+ // The hierarchical relationship is maintained by document structure, not slug naming
36
+ // Build task content in our standard format
37
+ const taskContent = `### ${title}
38
+ ${content}`;
39
+ // Use section tool logic to insert the task with validated paths
40
+ // If referenceSlug provided, insert after it, otherwise append to Tasks section
41
+ const operation = referenceSlug != null && referenceSlug !== '' ? 'insert_after' : 'append_child';
42
+ const targetSection = referenceSlug ?? 'tasks';
43
+ // Create or update the Tasks section using addressing system validation
44
+ await ensureTasksSectionOperation(manager, documentPath);
45
+ // Insert the new task using validated document path
46
+ await performSectionEdit(manager, documentPath, targetSection, taskContent, operation, title);
47
+ // Get hierarchical context if task slug contains hierarchy
48
+ const hierarchicalContext = getTaskHierarchicalContext(taskSlug);
49
+ return {
50
+ slug: taskSlug, // Return the actual task slug without prefix
51
+ title,
52
+ ...(hierarchicalContext != null && { hierarchical_context: hierarchicalContext })
53
+ };
54
+ }
55
+ catch (error) {
56
+ throw new AddressingError(`Failed to create task: ${error instanceof Error ? error.message : String(error)}`, 'TASK_CREATE_FAILED', { document: documentPath, title });
57
+ }
58
+ }
59
+ /**
60
+ * Edit an existing task
61
+ *
62
+ * @param manager - Document manager instance
63
+ * @param documentPath - Path to the document
64
+ * @param taskSlug - Task slug to edit
65
+ * @param content - New task content
66
+ * @throws {AddressingError} When task edit fails
67
+ */
68
+ export async function editTaskOperation(manager, documentPath, taskSlug, content) {
69
+ try {
70
+ // Update the task section with new content using validated addresses
71
+ await performSectionEdit(manager, documentPath, taskSlug, content, 'replace');
72
+ }
73
+ catch (error) {
74
+ throw new AddressingError(`Failed to edit task: ${error instanceof Error ? error.message : String(error)}`, 'TASK_EDIT_FAILED', { document: documentPath, task: taskSlug });
75
+ }
76
+ }
77
+ /**
78
+ * List tasks from Tasks section with optional filtering
79
+ *
80
+ * @param manager - Document manager instance
81
+ * @param documentPath - Path to the document
82
+ * @param statusFilter - Optional status filter (pending, in_progress, completed, blocked)
83
+ * @param loadReferences - Whether to load referenced documents (default: false for list operations)
84
+ * @returns List of tasks with metadata and optional hierarchical summary
85
+ * @throws {AddressingError} When task listing fails
86
+ * @throws {DocumentNotFoundError} When document doesn't exist
87
+ */
88
+ export async function listTasksOperation(manager, documentPath, statusFilter, loadReferences = false) {
89
+ try {
90
+ // Get the document
91
+ const document = await manager.getDocument(documentPath);
92
+ if (document == null) {
93
+ throw new DocumentNotFoundError(documentPath);
94
+ }
95
+ // Find the Tasks section using consistent addressing logic
96
+ const tasksSection = document.headings.find(h => h.slug === 'tasks' ||
97
+ h.title.toLowerCase() === 'tasks');
98
+ if (tasksSection == null) {
99
+ return {
100
+ tasks: []
101
+ };
102
+ }
103
+ // Find all task headings using standardized task identification logic
104
+ const taskHeadings = await getTaskHeadingsFromHeadings(document, tasksSection);
105
+ // Parse task details from each task heading
106
+ let tasks = [];
107
+ try {
108
+ tasks = await Promise.all(taskHeadings.map(async (heading) => {
109
+ // Get the task content using validated document path
110
+ const taskContent = await manager.getSectionContent(documentPath, heading.slug) ?? '';
111
+ // Parse task metadata from content
112
+ const status = extractTaskField(taskContent, 'Status') ?? 'pending';
113
+ const link = extractTaskLink(taskContent);
114
+ // Check if task has references (always calculate this)
115
+ const hasReferences = taskContent.includes('@/');
116
+ // Conditionally load references based on loadReferences parameter
117
+ let referencedDocuments = [];
118
+ if (loadReferences && hasReferences) {
119
+ const config = loadConfig();
120
+ const extractor = new ReferenceExtractor();
121
+ const loader = new ReferenceLoader();
122
+ const refs = extractor.extractReferences(taskContent);
123
+ const normalizedRefs = extractor.normalizeReferences(refs, documentPath);
124
+ referencedDocuments = await loader.loadReferences(normalizedRefs, manager, config.referenceExtractionDepth);
125
+ }
126
+ // Get hierarchical context for the task
127
+ const hierarchicalContext = getTaskHierarchicalContext(heading.slug);
128
+ return {
129
+ slug: heading.slug,
130
+ title: heading.title,
131
+ status,
132
+ ...(link != null && link !== '' && { link }),
133
+ ...(hasReferences && { has_references: true }),
134
+ ...(referencedDocuments.length > 0 && { referenced_documents: referencedDocuments }),
135
+ ...(hierarchicalContext != null && { hierarchical_context: hierarchicalContext })
136
+ };
137
+ }));
138
+ }
139
+ catch (error) {
140
+ // Critical operation failed - ensure cache consistency by invalidating document
141
+ try {
142
+ manager['cache'].invalidateDocument(documentPath);
143
+ }
144
+ catch (cleanupError) {
145
+ // Log cleanup failure but don't mask original error
146
+ console.warn(`Cache cleanup failed after task loading error: ${cleanupError}`);
147
+ }
148
+ // Re-throw original error to maintain expected behavior
149
+ throw error;
150
+ }
151
+ // Apply filters
152
+ let filteredTasks = tasks;
153
+ if (statusFilter != null && statusFilter !== '') {
154
+ filteredTasks = filteredTasks.filter(task => task.status === statusFilter);
155
+ }
156
+ // Find next available task (pending or in_progress, sequential order)
157
+ const nextTask = findNextTask(filteredTasks);
158
+ // Generate hierarchical summary
159
+ const hierarchicalSummary = generateHierarchicalSummary(filteredTasks);
160
+ return {
161
+ tasks: filteredTasks,
162
+ ...(hierarchicalSummary != null && { hierarchical_summary: hierarchicalSummary }),
163
+ ...(nextTask != null && { next_task: nextTask })
164
+ };
165
+ }
166
+ catch (error) {
167
+ throw new AddressingError(`Failed to list tasks: ${error instanceof Error ? error.message : String(error)}`, 'TASK_LIST_FAILED', { document: documentPath });
168
+ }
169
+ }
170
+ /**
171
+ * Complete a task by updating its status and adding completion metadata
172
+ *
173
+ * @param manager - Document manager instance
174
+ * @param documentPath - Path to the document
175
+ * @param taskSlug - Task slug to complete
176
+ * @param note - Completion note
177
+ * @returns Completion metadata
178
+ * @throws {AddressingError} When task completion fails
179
+ */
180
+ export async function completeTaskOperation(manager, documentPath, taskSlug, note) {
181
+ try {
182
+ // Get current task content
183
+ const currentContent = await manager.getSectionContent(documentPath, taskSlug);
184
+ if (currentContent == null || currentContent === '') {
185
+ throw new AddressingError(`Task not found: ${taskSlug}`, 'TASK_NOT_FOUND', {
186
+ document: documentPath,
187
+ task: taskSlug
188
+ });
189
+ }
190
+ // Get task title for response
191
+ const taskHeading = (await manager.getDocument(documentPath))?.headings.find(h => h.slug === taskSlug);
192
+ const taskTitle = taskHeading?.title ?? taskSlug;
193
+ // Update task status to completed and add completion note
194
+ const completedDate = new Date().toISOString().substring(0, 10); // YYYY-MM-DD format
195
+ const updatedContent = updateTaskStatus(currentContent, 'completed', note, completedDate);
196
+ // Update the task section
197
+ await performSectionEdit(manager, documentPath, taskSlug, updatedContent, 'replace');
198
+ return {
199
+ slug: taskSlug,
200
+ title: taskTitle,
201
+ note,
202
+ completed_date: completedDate
203
+ };
204
+ }
205
+ catch (error) {
206
+ throw new AddressingError(`Failed to complete task: ${error instanceof Error ? error.message : String(error)}`, 'TASK_COMPLETE_FAILED', { document: documentPath, task: taskSlug });
207
+ }
208
+ }
209
+ /**
210
+ * Ensure Tasks section exists in document, creating it if necessary
211
+ *
212
+ * @param manager - Document manager instance
213
+ * @param docPath - Path to the document
214
+ * @throws {AddressingError} When Tasks section creation fails
215
+ * @throws {DocumentNotFoundError} When document doesn't exist
216
+ */
217
+ export async function ensureTasksSectionOperation(manager, docPath) {
218
+ const document = await manager.getDocument(docPath);
219
+ if (document == null) {
220
+ throw new DocumentNotFoundError(docPath);
221
+ }
222
+ // Check if Tasks section already exists
223
+ const tasksSection = document.headings.find(h => h.slug === 'tasks' ||
224
+ h.title.toLowerCase() === 'tasks');
225
+ if (tasksSection == null) {
226
+ // No Tasks section exists - AUTO-CREATE IT
227
+ // Find the document title heading (H1) to append Tasks after it
228
+ const titleHeading = document.headings.find(h => h.depth === 1);
229
+ if (titleHeading == null) {
230
+ throw new AddressingError('Cannot auto-create Tasks section: document has no title heading (H1)', 'NO_TITLE_HEADING', { document: docPath });
231
+ }
232
+ const titleSlug = titleHeading.slug;
233
+ // Create Tasks section as child of document title
234
+ // This will create an H2 section (depth 2) with proper content
235
+ await performSectionEdit(manager, docPath, titleSlug, 'Task list for this document.', 'append_child', 'Tasks');
236
+ // Invalidate cache to ensure Tasks section is available for subsequent operations
237
+ manager['cache'].invalidateDocument(docPath);
238
+ }
239
+ // Tasks section exists (either found or just created), nothing more to do
240
+ }
241
+ /**
242
+ * Helper: Get hierarchical context for a task slug
243
+ */
244
+ function getTaskHierarchicalContext(taskSlug) {
245
+ if (!taskSlug.includes('/')) {
246
+ return null; // No hierarchical context for flat tasks
247
+ }
248
+ const parts = taskSlug.split('/');
249
+ if (parts.length < 2) {
250
+ return null;
251
+ }
252
+ return {
253
+ full_path: taskSlug,
254
+ parent_path: parts.slice(0, -1).join('/'),
255
+ phase: parts[0] ?? '',
256
+ category: parts[1] ?? '',
257
+ task_name: parts[parts.length - 1] ?? '',
258
+ depth: parts.length
259
+ };
260
+ }
261
+ /**
262
+ * Helper: Find next available task (pending or in_progress)
263
+ */
264
+ function findNextTask(tasks) {
265
+ // Find next available task (pending or in_progress) in sequential document order
266
+ const availableTasks = tasks.filter(task => task.status === 'pending' || task.status === 'in_progress');
267
+ if (availableTasks.length === 0)
268
+ return undefined;
269
+ // Return first available task (already in document order)
270
+ const nextTask = availableTasks[0];
271
+ if (nextTask == null)
272
+ return undefined;
273
+ return {
274
+ slug: nextTask.slug,
275
+ title: nextTask.title,
276
+ ...(nextTask.link != null && nextTask.link !== '' && { link: nextTask.link })
277
+ };
278
+ }
279
+ /**
280
+ * Helper: Generate hierarchical summary for tasks
281
+ */
282
+ function generateHierarchicalSummary(tasks) {
283
+ const hierarchicalTasks = tasks.filter(t => t.hierarchical_context != null);
284
+ if (hierarchicalTasks.length === 0) {
285
+ return null; // No hierarchical tasks
286
+ }
287
+ // Group by phase
288
+ const byPhase = {};
289
+ const byCategory = {};
290
+ for (const task of hierarchicalTasks) {
291
+ const context = task.hierarchical_context;
292
+ if (context == null)
293
+ continue;
294
+ const phase = context.phase;
295
+ const category = context.category;
296
+ // Initialize phase stats
297
+ byPhase[phase] ??= { total: 0, pending: 0, in_progress: 0, completed: 0 };
298
+ // Initialize category stats
299
+ byCategory[category] ??= { total: 0, pending: 0 };
300
+ // Update counts
301
+ const phaseStats = byPhase[phase];
302
+ const categoryStats = byCategory[category];
303
+ if (phaseStats != null) {
304
+ phaseStats.total++;
305
+ }
306
+ if (categoryStats != null) {
307
+ categoryStats.total++;
308
+ }
309
+ if (task.status === 'pending') {
310
+ if (phaseStats != null) {
311
+ phaseStats.pending++;
312
+ }
313
+ if (categoryStats != null) {
314
+ categoryStats.pending++;
315
+ }
316
+ }
317
+ else if (task.status === 'in_progress') {
318
+ if (phaseStats != null) {
319
+ phaseStats.in_progress++;
320
+ }
321
+ if (categoryStats != null) {
322
+ categoryStats.in_progress ??= 0;
323
+ categoryStats.in_progress++;
324
+ }
325
+ }
326
+ else if (task.status === 'completed') {
327
+ if (phaseStats != null) {
328
+ phaseStats.completed++;
329
+ }
330
+ if (categoryStats != null) {
331
+ categoryStats.completed ??= 0;
332
+ categoryStats.completed++;
333
+ }
334
+ }
335
+ }
336
+ // Generate critical path (simplified - tasks in dependency order)
337
+ const criticalPath = hierarchicalTasks
338
+ .filter(task => task.hierarchical_context != null)
339
+ .sort((a, b) => {
340
+ // Sort by phase first, then by category, then by task name
341
+ const aContext = a.hierarchical_context;
342
+ const bContext = b.hierarchical_context;
343
+ if (aContext == null || bContext == null) {
344
+ return 0; // Should not happen due to filter above, but safety
345
+ }
346
+ if (aContext.phase !== bContext.phase) {
347
+ return aContext.phase.localeCompare(bContext.phase);
348
+ }
349
+ if (aContext.category !== bContext.category) {
350
+ return aContext.category.localeCompare(bContext.category);
351
+ }
352
+ return aContext.task_name.localeCompare(bContext.task_name);
353
+ })
354
+ .map(t => t.slug);
355
+ return {
356
+ by_phase: byPhase,
357
+ by_category: byCategory,
358
+ critical_path: criticalPath
359
+ };
360
+ }
361
+ /**
362
+ * Update task status with completion metadata
363
+ *
364
+ * Supports multiple status field formats:
365
+ * - Bold format: `**Status:** pending`
366
+ * - List format: `- Status: pending` or `* Status: pending`
367
+ * - Plain format: `Status: pending`
368
+ *
369
+ * Preserves the original format style when updating.
370
+ *
371
+ * @param content - Task content containing status field
372
+ * @param newStatus - New status value (e.g., 'completed', 'in_progress')
373
+ * @param note - Completion note to append
374
+ * @param completedDate - Completion date in YYYY-MM-DD format
375
+ * @returns Updated content with new status and completion metadata
376
+ */
377
+ export function updateTaskStatus(content, newStatus, note, completedDate) {
378
+ // Regex to match all supported status field formats:
379
+ // - Bold format: **Status:** pending
380
+ // - List format: - Status: pending or * Status: pending
381
+ // - Plain format: Status: pending
382
+ const statusLineRegex = /^(\*\*)?([*-])?\s*Status:(\*\*)?\s*.+$/m;
383
+ const statusMatch = content.match(statusLineRegex);
384
+ if (statusMatch == null) {
385
+ // No status field found - this shouldn't happen in well-formed tasks
386
+ // Add status field at the beginning of content
387
+ const statusLine = `**Status:** ${newStatus}`;
388
+ const completionInfo = `\n- Completed: ${completedDate}\n- Note: ${note}`;
389
+ return `${statusLine}\n${content}${completionInfo}`;
390
+ }
391
+ // Extract format markers from matched line
392
+ const hasBoldMarker = statusMatch[1] != null; // Leading **
393
+ const listMarker = statusMatch[2]; // - or * or undefined
394
+ const hasTrailingBold = statusMatch[3] != null; // Trailing **
395
+ // Construct replacement line preserving original format
396
+ let replacementLine;
397
+ if (hasBoldMarker && hasTrailingBold) {
398
+ // Bold format: **Status:** value
399
+ replacementLine = `**Status:** ${newStatus}`;
400
+ }
401
+ else if (listMarker != null) {
402
+ // List format: - Status: value or * Status: value
403
+ replacementLine = `${listMarker} Status: ${newStatus}`;
404
+ }
405
+ else {
406
+ // Plain format: Status: value
407
+ replacementLine = `Status: ${newStatus}`;
408
+ }
409
+ // Replace the status line
410
+ let updated = content.replace(statusLineRegex, replacementLine);
411
+ // Add completion metadata using list format (standard for completion notes)
412
+ updated += `\n- Completed: ${completedDate}`;
413
+ updated += `\n- Note: ${note}`;
414
+ return updated;
415
+ }
416
+ //# sourceMappingURL=task-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-operations.js","sourceRoot":"","sources":["../../src/shared/task-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Task Utilities - Shared task identification logic
3
+ *
4
+ * This module provides shared utilities for task identification across tools,
5
+ * eliminating code duplication between task.ts, complete-task.ts, view-task.ts, and view-document.ts.
6
+ *
7
+ * Used by task.ts, complete-task.ts, view-task.ts, and view-document.ts for consistent task identification.
8
+ */
9
+ import type { Heading } from '../types/index.js';
10
+ /**
11
+ * Minimal heading interface for task identification
12
+ * Supports both full Heading interface and minimal heading structures
13
+ */
14
+ export interface HeadingInfo {
15
+ readonly slug: string;
16
+ readonly title: string;
17
+ readonly depth: number;
18
+ }
19
+ /**
20
+ * Minimal document interface for task identification
21
+ * Supports both CachedDocument and minimal document structures
22
+ */
23
+ export interface TaskDocument {
24
+ readonly headings: readonly HeadingInfo[];
25
+ }
26
+ /**
27
+ * Minimal tasks section interface
28
+ * Supports various task section representations
29
+ */
30
+ export interface TasksSection {
31
+ readonly slug: string;
32
+ readonly depth: number;
33
+ }
34
+ /**
35
+ * Extract task headings from a document's tasks section
36
+ *
37
+ * This function performs hierarchical task validation and depth calculations
38
+ * to identify task headings under a Tasks section. It uses the addressing system
39
+ * for consistent task validation across all tools.
40
+ *
41
+ * @param document - Document containing headings (supports CachedDocument or minimal interface)
42
+ * @param tasksSection - Tasks section heading (with slug and depth)
43
+ * @returns Promise resolving to array of task headings
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const taskHeadings = await getTaskHeadings(document, tasksSection);
48
+ * console.log(`Found ${taskHeadings.length} tasks`);
49
+ * ```
50
+ */
51
+ export declare function getTaskHeadings(document: TaskDocument, tasksSection: TasksSection): Promise<HeadingInfo[]>;
52
+ /**
53
+ * Convenience function for working with full Heading objects
54
+ * Returns full Heading objects for compatibility with existing tool code
55
+ *
56
+ * @param document - Document with full Heading objects
57
+ * @param tasksSection - Full Heading object for tasks section
58
+ * @returns Promise resolving to array of full Heading objects that are tasks
59
+ */
60
+ export declare function getTaskHeadingsFromHeadings(document: {
61
+ readonly headings: readonly Heading[];
62
+ }, tasksSection: Heading): Promise<Heading[]>;
63
+ //# sourceMappingURL=task-utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-utilities.d.ts","sourceRoot":"","sources":["../../src/shared/task-utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,WAAW,EAAE,CAAC,CA4CxB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EACnD,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,OAAO,EAAE,CAAC,CAapB"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Task Utilities - Shared task identification logic
3
+ *
4
+ * This module provides shared utilities for task identification across tools,
5
+ * eliminating code duplication between task.ts, complete-task.ts, view-task.ts, and view-document.ts.
6
+ *
7
+ * Used by task.ts, complete-task.ts, view-task.ts, and view-document.ts for consistent task identification.
8
+ */
9
+ import { isTaskSection } from './addressing-system.js';
10
+ /**
11
+ * Extract task headings from a document's tasks section
12
+ *
13
+ * This function performs hierarchical task validation and depth calculations
14
+ * to identify task headings under a Tasks section. It uses the addressing system
15
+ * for consistent task validation across all tools.
16
+ *
17
+ * @param document - Document containing headings (supports CachedDocument or minimal interface)
18
+ * @param tasksSection - Tasks section heading (with slug and depth)
19
+ * @returns Promise resolving to array of task headings
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const taskHeadings = await getTaskHeadings(document, tasksSection);
24
+ * console.log(`Found ${taskHeadings.length} tasks`);
25
+ * ```
26
+ */
27
+ export async function getTaskHeadings(document, tasksSection) {
28
+ const taskHeadings = [];
29
+ const tasksIndex = document.headings.findIndex(h => h.slug === tasksSection.slug);
30
+ if (tasksIndex === -1)
31
+ return taskHeadings;
32
+ const targetDepth = tasksSection.depth + 1;
33
+ // Look at headings after the Tasks section using addressing system validation
34
+ for (let i = tasksIndex + 1; i < document.headings.length; i++) {
35
+ const heading = document.headings[i];
36
+ if (heading == null)
37
+ continue;
38
+ // If we hit a heading at the same or shallower depth as Tasks, we're done
39
+ if (heading.depth <= tasksSection.depth) {
40
+ break;
41
+ }
42
+ // If this is a direct child of Tasks section (depth = Tasks.depth + 1), it's a task
43
+ if (heading.depth === targetDepth) {
44
+ // Use addressing system to validate this is actually a task
45
+ // Convert headings to compatible format for isTaskSection
46
+ const compatibleDocument = {
47
+ headings: document.headings.map(h => ({
48
+ slug: h.slug,
49
+ title: h.title,
50
+ depth: h.depth
51
+ }))
52
+ };
53
+ const isTask = await isTaskSection(heading.slug, compatibleDocument);
54
+ if (isTask) {
55
+ taskHeadings.push({
56
+ slug: heading.slug,
57
+ title: heading.title,
58
+ depth: heading.depth
59
+ });
60
+ }
61
+ }
62
+ // Skip deeper nested headings (they are children of tasks, not tasks themselves)
63
+ }
64
+ return taskHeadings;
65
+ }
66
+ /**
67
+ * Convenience function for working with full Heading objects
68
+ * Returns full Heading objects for compatibility with existing tool code
69
+ *
70
+ * @param document - Document with full Heading objects
71
+ * @param tasksSection - Full Heading object for tasks section
72
+ * @returns Promise resolving to array of full Heading objects that are tasks
73
+ */
74
+ export async function getTaskHeadingsFromHeadings(document, tasksSection) {
75
+ const taskHeadingInfos = await getTaskHeadings(document, tasksSection);
76
+ // Convert back to full Heading objects by finding matches in original headings
77
+ const taskHeadings = [];
78
+ for (const taskInfo of taskHeadingInfos) {
79
+ const fullHeading = document.headings.find(h => h.slug === taskInfo.slug);
80
+ if (fullHeading != null) {
81
+ taskHeadings.push(fullHeading);
82
+ }
83
+ }
84
+ return taskHeadings;
85
+ }
86
+ //# sourceMappingURL=task-utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-utilities.js","sourceRoot":"","sources":["../../src/shared/task-utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA6BvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAsB,EACtB,YAA0B;IAE1B,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAElF,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IAE3C,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;IAE3C,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,IAAI,IAAI;YAAE,SAAS;QAE9B,0EAA0E;QAC1E,IAAI,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM;QACR,CAAC;QAED,oFAAoF;QACpF,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAClC,4DAA4D;YAC5D,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG;gBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC;aACJ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,iFAAiF;IACnF,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,QAAmD,EACnD,YAAqB;IAErB,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEvE,+EAA+E;IAC/E,MAAM,YAAY,GAAc,EAAE,CAAC;IACnC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Task validation layer for dual task system
3
+ *
4
+ * Provides validation functions for subagent (ad-hoc) and coordinator (sequential)
5
+ * task tools. These validators enforce namespace and mode restrictions to ensure
6
+ * correct tool usage.
7
+ *
8
+ * Validation Rules:
9
+ * - Subagent tasks: MUST include #slug, MUST be in /docs/ namespace
10
+ * - Coordinator tasks: MUST NOT include #slug, MUST be in /coordinator/ namespace
11
+ */
12
+ /**
13
+ * Validate subagent task access (ad-hoc only)
14
+ *
15
+ * Rules:
16
+ * - MUST include taskSlug (ad-hoc mode required)
17
+ * - MUST be within /docs/ namespace
18
+ * - ERROR if sequential mode attempted
19
+ *
20
+ * @param documentPath - Path to the document
21
+ * @param taskSlug - Task slug (required for subagent)
22
+ * @throws {AddressingError} When validation fails
23
+ */
24
+ export declare function validateSubagentTaskAccess(documentPath: string, taskSlug?: string): void;
25
+ /**
26
+ * Validate coordinator task access (sequential only)
27
+ *
28
+ * Rules:
29
+ * - MUST NOT include taskSlug (sequential mode required)
30
+ * - MUST be in /.ai-prompt-guide/coordinator/ namespace
31
+ * - ERROR if ad-hoc mode attempted
32
+ *
33
+ * @param documentPath - Path to the document
34
+ * @param taskSlug - Task slug (must be undefined for coordinator)
35
+ * @throws {AddressingError} When validation fails
36
+ */
37
+ export declare function validateCoordinatorTaskAccess(documentPath: string, taskSlug?: string): void;
38
+ /**
39
+ * Validate Main-Workflow requirement for coordinator first task
40
+ * Warning only - doesn't throw, just logs
41
+ *
42
+ * This checks if the first task in a coordinator document has a Main-Workflow
43
+ * field. If missing, it logs a warning but doesn't block execution.
44
+ *
45
+ * @param isFirstTask - Whether this is the first task in the document
46
+ * @param hasMainWorkflow - Whether the task has a Main-Workflow field
47
+ * @param taskTitle - Title of the task for logging
48
+ */
49
+ export declare function validateMainWorkflowPresence(isFirstTask: boolean, hasMainWorkflow: boolean, taskTitle: string): void;
50
+ //# sourceMappingURL=task-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-validation.d.ts","sourceRoot":"","sources":["../../src/shared/task-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAqBN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAyBN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,OAAO,EACpB,eAAe,EAAE,OAAO,EACxB,SAAS,EAAE,MAAM,GAChB,IAAI,CAgBN"}