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.
- package/LICENSE +21 -0
- package/README.md +271 -0
- package/dist/__tests__/config-loading.test.d.ts +5 -0
- package/dist/__tests__/config-loading.test.d.ts.map +1 -0
- package/dist/__tests__/config-loading.test.js +127 -0
- package/dist/__tests__/config-loading.test.js.map +1 -0
- package/dist/__tests__/config-logging.test.d.ts +5 -0
- package/dist/__tests__/config-logging.test.d.ts.map +1 -0
- package/dist/__tests__/config-logging.test.js +146 -0
- package/dist/__tests__/config-logging.test.js.map +1 -0
- package/dist/__tests__/config-path-resolution.test.d.ts +5 -0
- package/dist/__tests__/config-path-resolution.test.d.ts.map +1 -0
- package/dist/__tests__/config-path-resolution.test.js +88 -0
- package/dist/__tests__/config-path-resolution.test.js.map +1 -0
- package/dist/__tests__/config-path-validation.test.d.ts +6 -0
- package/dist/__tests__/config-path-validation.test.d.ts.map +1 -0
- package/dist/__tests__/config-path-validation.test.js +203 -0
- package/dist/__tests__/config-path-validation.test.js.map +1 -0
- package/dist/__tests__/config-precedence.test.d.ts +5 -0
- package/dist/__tests__/config-precedence.test.d.ts.map +1 -0
- package/dist/__tests__/config-precedence.test.js +200 -0
- package/dist/__tests__/config-precedence.test.js.map +1 -0
- package/dist/__tests__/config-types.test.d.ts +5 -0
- package/dist/__tests__/config-types.test.d.ts.map +1 -0
- package/dist/__tests__/config-types.test.js +189 -0
- package/dist/__tests__/config-types.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +5 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +229 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/config.d.ts +87 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +498 -0
- package/dist/config.js.map +1 -0
- package/dist/constants/defaults.d.ts +78 -0
- package/dist/constants/defaults.d.ts.map +1 -0
- package/dist/constants/defaults.js +78 -0
- package/dist/constants/defaults.js.map +1 -0
- package/dist/document-cache.d.ts +485 -0
- package/dist/document-cache.d.ts.map +1 -0
- package/dist/document-cache.hierarchical.test.d.ts +2 -0
- package/dist/document-cache.hierarchical.test.d.ts.map +1 -0
- package/dist/document-cache.hierarchical.test.js +243 -0
- package/dist/document-cache.hierarchical.test.js.map +1 -0
- package/dist/document-cache.js +965 -0
- package/dist/document-cache.js.map +1 -0
- package/dist/document-cache.test.d.ts +8 -0
- package/dist/document-cache.test.d.ts.map +1 -0
- package/dist/document-cache.test.js +624 -0
- package/dist/document-cache.test.js.map +1 -0
- package/dist/document-manager.d.ts +252 -0
- package/dist/document-manager.d.ts.map +1 -0
- package/dist/document-manager.js +760 -0
- package/dist/document-manager.js.map +1 -0
- package/dist/document-manager.race-condition.test.d.ts +8 -0
- package/dist/document-manager.race-condition.test.d.ts.map +1 -0
- package/dist/document-manager.race-condition.test.js +139 -0
- package/dist/document-manager.race-condition.test.js.map +1 -0
- package/dist/fingerprint-index.d.ts +177 -0
- package/dist/fingerprint-index.d.ts.map +1 -0
- package/dist/fingerprint-index.js +374 -0
- package/dist/fingerprint-index.js.map +1 -0
- package/dist/fingerprint-index.test.d.ts +15 -0
- package/dist/fingerprint-index.test.d.ts.map +1 -0
- package/dist/fingerprint-index.test.js +482 -0
- package/dist/fingerprint-index.test.js.map +1 -0
- package/dist/fsio.d.ts +76 -0
- package/dist/fsio.d.ts.map +1 -0
- package/dist/fsio.js +506 -0
- package/dist/fsio.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown-tools.test.d.ts +5 -0
- package/dist/markdown-tools.test.d.ts.map +1 -0
- package/dist/markdown-tools.test.js +200 -0
- package/dist/markdown-tools.test.js.map +1 -0
- package/dist/parse.d.ts +19 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +144 -0
- package/dist/parse.js.map +1 -0
- package/dist/prompts/__tests__/prompt-loader.test.d.ts +5 -0
- package/dist/prompts/__tests__/prompt-loader.test.d.ts.map +1 -0
- package/dist/prompts/__tests__/prompt-loader.test.js +300 -0
- package/dist/prompts/__tests__/prompt-loader.test.js.map +1 -0
- package/dist/prompts/prompt-loader.d.ts +58 -0
- package/dist/prompts/prompt-loader.d.ts.map +1 -0
- package/dist/prompts/prompt-loader.js +215 -0
- package/dist/prompts/prompt-loader.js.map +1 -0
- package/dist/prompts/prompt-validator.d.ts +30 -0
- package/dist/prompts/prompt-validator.d.ts.map +1 -0
- package/dist/prompts/prompt-validator.js +65 -0
- package/dist/prompts/prompt-validator.js.map +1 -0
- package/dist/prompts/types.d.ts +46 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +14 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/prompts/workflow-prompts.d.ts +42 -0
- package/dist/prompts/workflow-prompts.d.ts.map +1 -0
- package/dist/prompts/workflow-prompts.js +61 -0
- package/dist/prompts/workflow-prompts.js.map +1 -0
- package/dist/sections.d.ts +67 -0
- package/dist/sections.d.ts.map +1 -0
- package/dist/sections.hierarchical.test.d.ts +8 -0
- package/dist/sections.hierarchical.test.d.ts.map +1 -0
- package/dist/sections.hierarchical.test.js +397 -0
- package/dist/sections.hierarchical.test.js.map +1 -0
- package/dist/sections.js +1229 -0
- package/dist/sections.js.map +1 -0
- package/dist/server/default-dependencies.d.ts +134 -0
- package/dist/server/default-dependencies.d.ts.map +1 -0
- package/dist/server/default-dependencies.js +176 -0
- package/dist/server/default-dependencies.js.map +1 -0
- package/dist/server/dependencies.d.ts +161 -0
- package/dist/server/dependencies.d.ts.map +1 -0
- package/dist/server/dependencies.js +50 -0
- package/dist/server/dependencies.js.map +1 -0
- package/dist/server/index.d.ts +10 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +9 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middleware/error-handling.d.ts +52 -0
- package/dist/server/middleware/error-handling.d.ts.map +1 -0
- package/dist/server/middleware/error-handling.js +76 -0
- package/dist/server/middleware/error-handling.js.map +1 -0
- package/dist/server/middleware/index.d.ts +7 -0
- package/dist/server/middleware/index.d.ts.map +1 -0
- package/dist/server/middleware/index.js +7 -0
- package/dist/server/middleware/index.js.map +1 -0
- package/dist/server/middleware/logging.d.ts +29 -0
- package/dist/server/middleware/logging.d.ts.map +1 -0
- package/dist/server/middleware/logging.js +49 -0
- package/dist/server/middleware/logging.js.map +1 -0
- package/dist/server/middleware/session-management.d.ts +38 -0
- package/dist/server/middleware/session-management.d.ts.map +1 -0
- package/dist/server/middleware/session-management.js +66 -0
- package/dist/server/middleware/session-management.js.map +1 -0
- package/dist/server/request-handlers/index.d.ts +5 -0
- package/dist/server/request-handlers/index.d.ts.map +1 -0
- package/dist/server/request-handlers/index.js +5 -0
- package/dist/server/request-handlers/index.js.map +1 -0
- package/dist/server/request-handlers/prompt-handlers.d.ts +13 -0
- package/dist/server/request-handlers/prompt-handlers.d.ts.map +1 -0
- package/dist/server/request-handlers/prompt-handlers.js +80 -0
- package/dist/server/request-handlers/prompt-handlers.js.map +1 -0
- package/dist/server/request-handlers/tool-handlers.d.ts +11 -0
- package/dist/server/request-handlers/tool-handlers.d.ts.map +1 -0
- package/dist/server/request-handlers/tool-handlers.js +85 -0
- package/dist/server/request-handlers/tool-handlers.js.map +1 -0
- package/dist/server/server-factory.d.ts +68 -0
- package/dist/server/server-factory.d.ts.map +1 -0
- package/dist/server/server-factory.js +135 -0
- package/dist/server/server-factory.js.map +1 -0
- package/dist/server/transport/stdio-transport.d.ts +9 -0
- package/dist/server/transport/stdio-transport.d.ts.map +1 -0
- package/dist/server/transport/stdio-transport.js +11 -0
- package/dist/server/transport/stdio-transport.js.map +1 -0
- package/dist/session/index.d.ts +5 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +7 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/session-store.d.ts +74 -0
- package/dist/session/session-store.d.ts.map +1 -0
- package/dist/session/session-store.js +150 -0
- package/dist/session/session-store.js.map +1 -0
- package/dist/session/types.d.ts +96 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +9 -0
- package/dist/session/types.js.map +1 -0
- package/dist/shared/__tests__/addressing-system.batch-cache.test.d.ts +12 -0
- package/dist/shared/__tests__/addressing-system.batch-cache.test.d.ts.map +1 -0
- package/dist/shared/__tests__/addressing-system.batch-cache.test.js +306 -0
- package/dist/shared/__tests__/addressing-system.batch-cache.test.js.map +1 -0
- package/dist/shared/__tests__/addressing-system.hierarchical.test.d.ts +6 -0
- package/dist/shared/__tests__/addressing-system.hierarchical.test.d.ts.map +1 -0
- package/dist/shared/__tests__/addressing-system.hierarchical.test.js +205 -0
- package/dist/shared/__tests__/addressing-system.hierarchical.test.js.map +1 -0
- package/dist/shared/__tests__/addressing-system.lru.test.d.ts +6 -0
- package/dist/shared/__tests__/addressing-system.lru.test.d.ts.map +1 -0
- package/dist/shared/__tests__/addressing-system.lru.test.js +159 -0
- package/dist/shared/__tests__/addressing-system.lru.test.js.map +1 -0
- package/dist/shared/__tests__/addressing-system.relative-paths.test.d.ts +14 -0
- package/dist/shared/__tests__/addressing-system.relative-paths.test.d.ts.map +1 -0
- package/dist/shared/__tests__/addressing-system.relative-paths.test.js +249 -0
- package/dist/shared/__tests__/addressing-system.relative-paths.test.js.map +1 -0
- package/dist/shared/__tests__/document-analysis-enhanced.test.d.ts +9 -0
- package/dist/shared/__tests__/document-analysis-enhanced.test.d.ts.map +1 -0
- package/dist/shared/__tests__/document-analysis-enhanced.test.js +419 -0
- package/dist/shared/__tests__/document-analysis-enhanced.test.js.map +1 -0
- package/dist/shared/__tests__/document-analysis.test.d.ts +8 -0
- package/dist/shared/__tests__/document-analysis.test.d.ts.map +1 -0
- package/dist/shared/__tests__/document-analysis.test.js +904 -0
- package/dist/shared/__tests__/document-analysis.test.js.map +1 -0
- package/dist/shared/__tests__/keyword-utils-integration.test.d.ts +9 -0
- package/dist/shared/__tests__/keyword-utils-integration.test.d.ts.map +1 -0
- package/dist/shared/__tests__/keyword-utils-integration.test.js +317 -0
- package/dist/shared/__tests__/keyword-utils-integration.test.js.map +1 -0
- package/dist/shared/__tests__/link-utils.test.d.ts +5 -0
- package/dist/shared/__tests__/link-utils.test.d.ts.map +1 -0
- package/dist/shared/__tests__/link-utils.test.js +560 -0
- package/dist/shared/__tests__/link-utils.test.js.map +1 -0
- package/dist/shared/__tests__/link-validation.test.d.ts +5 -0
- package/dist/shared/__tests__/link-validation.test.d.ts.map +1 -0
- package/dist/shared/__tests__/link-validation.test.js +473 -0
- package/dist/shared/__tests__/link-validation.test.js.map +1 -0
- package/dist/shared/__tests__/reference-extractor.test.d.ts +8 -0
- package/dist/shared/__tests__/reference-extractor.test.d.ts.map +1 -0
- package/dist/shared/__tests__/reference-extractor.test.js +260 -0
- package/dist/shared/__tests__/reference-extractor.test.js.map +1 -0
- package/dist/shared/__tests__/reference-loader.test.d.ts +8 -0
- package/dist/shared/__tests__/reference-loader.test.d.ts.map +1 -0
- package/dist/shared/__tests__/reference-loader.test.js +622 -0
- package/dist/shared/__tests__/reference-loader.test.js.map +1 -0
- package/dist/shared/__tests__/section-operations.append.test.d.ts +8 -0
- package/dist/shared/__tests__/section-operations.append.test.d.ts.map +1 -0
- package/dist/shared/__tests__/section-operations.append.test.js +150 -0
- package/dist/shared/__tests__/section-operations.append.test.js.map +1 -0
- package/dist/shared/__tests__/section-operations.test.d.ts +7 -0
- package/dist/shared/__tests__/section-operations.test.d.ts.map +1 -0
- package/dist/shared/__tests__/section-operations.test.js +118 -0
- package/dist/shared/__tests__/section-operations.test.js.map +1 -0
- package/dist/shared/__tests__/slug-utils.test.d.ts +5 -0
- package/dist/shared/__tests__/slug-utils.test.d.ts.map +1 -0
- package/dist/shared/__tests__/slug-utils.test.js +542 -0
- package/dist/shared/__tests__/slug-utils.test.js.map +1 -0
- package/dist/shared/__tests__/task-operations.test.d.ts +9 -0
- package/dist/shared/__tests__/task-operations.test.d.ts.map +1 -0
- package/dist/shared/__tests__/task-operations.test.js +257 -0
- package/dist/shared/__tests__/task-operations.test.js.map +1 -0
- package/dist/shared/__tests__/task-validation.test.d.ts +6 -0
- package/dist/shared/__tests__/task-validation.test.d.ts.map +1 -0
- package/dist/shared/__tests__/task-validation.test.js +129 -0
- package/dist/shared/__tests__/task-validation.test.js.map +1 -0
- package/dist/shared/__tests__/task-view-utilities.test.d.ts +5 -0
- package/dist/shared/__tests__/task-view-utilities.test.d.ts.map +1 -0
- package/dist/shared/__tests__/task-view-utilities.test.js +312 -0
- package/dist/shared/__tests__/task-view-utilities.test.js.map +1 -0
- package/dist/shared/__tests__/tool-integration.array-validation.test.d.ts +7 -0
- package/dist/shared/__tests__/tool-integration.array-validation.test.d.ts.map +1 -0
- package/dist/shared/__tests__/tool-integration.array-validation.test.js +169 -0
- package/dist/shared/__tests__/tool-integration.array-validation.test.js.map +1 -0
- package/dist/shared/__tests__/tool-integration.hierarchical.test.d.ts +7 -0
- package/dist/shared/__tests__/tool-integration.hierarchical.test.d.ts.map +1 -0
- package/dist/shared/__tests__/tool-integration.hierarchical.test.js +204 -0
- package/dist/shared/__tests__/tool-integration.hierarchical.test.js.map +1 -0
- package/dist/shared/__tests__/workflow-prompt-utilities.test.d.ts +8 -0
- package/dist/shared/__tests__/workflow-prompt-utilities.test.d.ts.map +1 -0
- package/dist/shared/__tests__/workflow-prompt-utilities.test.js +722 -0
- package/dist/shared/__tests__/workflow-prompt-utilities.test.js.map +1 -0
- package/dist/shared/addressing-system.d.ts +799 -0
- package/dist/shared/addressing-system.d.ts.map +1 -0
- package/dist/shared/addressing-system.js +1074 -0
- package/dist/shared/addressing-system.js.map +1 -0
- package/dist/shared/document-analysis/__tests__/keyword-utils.test.d.ts +8 -0
- package/dist/shared/document-analysis/__tests__/keyword-utils.test.d.ts.map +1 -0
- package/dist/shared/document-analysis/__tests__/keyword-utils.test.js +601 -0
- package/dist/shared/document-analysis/__tests__/keyword-utils.test.js.map +1 -0
- package/dist/shared/document-analysis/index.d.ts +67 -0
- package/dist/shared/document-analysis/index.d.ts.map +1 -0
- package/dist/shared/document-analysis/index.js +166 -0
- package/dist/shared/document-analysis/index.js.map +1 -0
- package/dist/shared/document-analysis/keyword-utils.d.ts +405 -0
- package/dist/shared/document-analysis/keyword-utils.d.ts.map +1 -0
- package/dist/shared/document-analysis/keyword-utils.js +1147 -0
- package/dist/shared/document-analysis/keyword-utils.js.map +1 -0
- package/dist/shared/document-analysis/reference-validation.d.ts +27 -0
- package/dist/shared/document-analysis/reference-validation.d.ts.map +1 -0
- package/dist/shared/document-analysis/reference-validation.js +173 -0
- package/dist/shared/document-analysis/reference-validation.js.map +1 -0
- package/dist/shared/document-analysis/related-docs.d.ts +27 -0
- package/dist/shared/document-analysis/related-docs.d.ts.map +1 -0
- package/dist/shared/document-analysis/related-docs.js +459 -0
- package/dist/shared/document-analysis/related-docs.js.map +1 -0
- package/dist/shared/document-analysis/types.d.ts +89 -0
- package/dist/shared/document-analysis/types.d.ts.map +1 -0
- package/dist/shared/document-analysis/types.js +41 -0
- package/dist/shared/document-analysis/types.js.map +1 -0
- package/dist/shared/document-analysis.d.ts +15 -0
- package/dist/shared/document-analysis.d.ts.map +1 -0
- package/dist/shared/document-analysis.js +16 -0
- package/dist/shared/document-analysis.js.map +1 -0
- package/dist/shared/document-manager-factory.d.ts +32 -0
- package/dist/shared/document-manager-factory.d.ts.map +1 -0
- package/dist/shared/document-manager-factory.js +75 -0
- package/dist/shared/document-manager-factory.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +7 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/link-analysis.d.ts +84 -0
- package/dist/shared/link-analysis.d.ts.map +1 -0
- package/dist/shared/link-analysis.js +213 -0
- package/dist/shared/link-analysis.js.map +1 -0
- package/dist/shared/link-context.d.ts +23 -0
- package/dist/shared/link-context.d.ts.map +1 -0
- package/dist/shared/link-context.js +172 -0
- package/dist/shared/link-context.js.map +1 -0
- package/dist/shared/link-utils.d.ts +33 -0
- package/dist/shared/link-utils.d.ts.map +1 -0
- package/dist/shared/link-utils.js +301 -0
- package/dist/shared/link-utils.js.map +1 -0
- package/dist/shared/link-validation.d.ts +79 -0
- package/dist/shared/link-validation.d.ts.map +1 -0
- package/dist/shared/link-validation.js +340 -0
- package/dist/shared/link-validation.js.map +1 -0
- package/dist/shared/namespace-analysis.d.ts +10 -0
- package/dist/shared/namespace-analysis.d.ts.map +1 -0
- package/dist/shared/namespace-analysis.js +100 -0
- package/dist/shared/namespace-analysis.js.map +1 -0
- package/dist/shared/namespace-constants.d.ts +69 -0
- package/dist/shared/namespace-constants.d.ts.map +1 -0
- package/dist/shared/namespace-constants.js +97 -0
- package/dist/shared/namespace-constants.js.map +1 -0
- package/dist/shared/path-utilities.d.ts +13 -0
- package/dist/shared/path-utilities.d.ts.map +1 -0
- package/dist/shared/path-utilities.js +39 -0
- package/dist/shared/path-utilities.js.map +1 -0
- package/dist/shared/reference-extractor.d.ts +121 -0
- package/dist/shared/reference-extractor.d.ts.map +1 -0
- package/dist/shared/reference-extractor.js +195 -0
- package/dist/shared/reference-extractor.js.map +1 -0
- package/dist/shared/reference-loader.d.ts +163 -0
- package/dist/shared/reference-loader.d.ts.map +1 -0
- package/dist/shared/reference-loader.js +265 -0
- package/dist/shared/reference-loader.js.map +1 -0
- package/dist/shared/section-operations.d.ts +14 -0
- package/dist/shared/section-operations.d.ts.map +1 -0
- package/dist/shared/section-operations.js +115 -0
- package/dist/shared/section-operations.js.map +1 -0
- package/dist/shared/slug-utils.d.ts +109 -0
- package/dist/shared/slug-utils.d.ts.map +1 -0
- package/dist/shared/slug-utils.js +302 -0
- package/dist/shared/slug-utils.js.map +1 -0
- package/dist/shared/task-operations.d.ts +152 -0
- package/dist/shared/task-operations.d.ts.map +1 -0
- package/dist/shared/task-operations.js +416 -0
- package/dist/shared/task-operations.js.map +1 -0
- package/dist/shared/task-utilities.d.ts +63 -0
- package/dist/shared/task-utilities.d.ts.map +1 -0
- package/dist/shared/task-utilities.js +86 -0
- package/dist/shared/task-utilities.js.map +1 -0
- package/dist/shared/task-validation.d.ts +50 -0
- package/dist/shared/task-validation.d.ts.map +1 -0
- package/dist/shared/task-validation.js +97 -0
- package/dist/shared/task-validation.js.map +1 -0
- package/dist/shared/task-view-utilities.d.ts +109 -0
- package/dist/shared/task-view-utilities.d.ts.map +1 -0
- package/dist/shared/task-view-utilities.js +255 -0
- package/dist/shared/task-view-utilities.js.map +1 -0
- package/dist/shared/utilities.d.ts +14 -0
- package/dist/shared/utilities.d.ts.map +1 -0
- package/dist/shared/utilities.js +23 -0
- package/dist/shared/utilities.js.map +1 -0
- package/dist/shared/utilities.test.d.ts +5 -0
- package/dist/shared/utilities.test.d.ts.map +1 -0
- package/dist/shared/utilities.test.js +422 -0
- package/dist/shared/utilities.test.js.map +1 -0
- package/dist/shared/validation-utils.d.ts +57 -0
- package/dist/shared/validation-utils.d.ts.map +1 -0
- package/dist/shared/validation-utils.js +63 -0
- package/dist/shared/validation-utils.js.map +1 -0
- package/dist/shared/workflow-prompt-utilities.d.ts +64 -0
- package/dist/shared/workflow-prompt-utilities.d.ts.map +1 -0
- package/dist/shared/workflow-prompt-utilities.js +163 -0
- package/dist/shared/workflow-prompt-utilities.js.map +1 -0
- package/dist/slug.d.ts +9 -0
- package/dist/slug.d.ts.map +1 -0
- package/dist/slug.js +40 -0
- package/dist/slug.js.map +1 -0
- package/dist/template-loader.d.ts +6 -0
- package/dist/template-loader.d.ts.map +1 -0
- package/dist/template-loader.js +8 -0
- package/dist/template-loader.js.map +1 -0
- package/dist/tools/__tests__/create-document-self-reference.test.d.ts +2 -0
- package/dist/tools/__tests__/create-document-self-reference.test.d.ts.map +1 -0
- package/dist/tools/__tests__/create-document-self-reference.test.js +124 -0
- package/dist/tools/__tests__/create-document-self-reference.test.js.map +1 -0
- package/dist/tools/__tests__/create-document-workflow-regression.test.d.ts +16 -0
- package/dist/tools/__tests__/create-document-workflow-regression.test.d.ts.map +1 -0
- package/dist/tools/__tests__/create-document-workflow-regression.test.js +655 -0
- package/dist/tools/__tests__/create-document-workflow-regression.test.js.map +1 -0
- package/dist/tools/__tests__/create-document.test.d.ts +2 -0
- package/dist/tools/__tests__/create-document.test.d.ts.map +1 -0
- package/dist/tools/__tests__/create-document.test.js +255 -0
- package/dist/tools/__tests__/create-document.test.js.map +1 -0
- package/dist/tools/__tests__/delete-document.test.d.ts +7 -0
- package/dist/tools/__tests__/delete-document.test.d.ts.map +1 -0
- package/dist/tools/__tests__/delete-document.test.js +311 -0
- package/dist/tools/__tests__/delete-document.test.js.map +1 -0
- package/dist/tools/__tests__/edit-document.test.d.ts +2 -0
- package/dist/tools/__tests__/edit-document.test.d.ts.map +1 -0
- package/dist/tools/__tests__/edit-document.test.js +644 -0
- package/dist/tools/__tests__/edit-document.test.js.map +1 -0
- package/dist/tools/__tests__/error-scenarios.test.d.ts +5 -0
- package/dist/tools/__tests__/error-scenarios.test.d.ts.map +1 -0
- package/dist/tools/__tests__/error-scenarios.test.js +105 -0
- package/dist/tools/__tests__/error-scenarios.test.js.map +1 -0
- package/dist/tools/__tests__/mocks/document-manager.mock.d.ts +99 -0
- package/dist/tools/__tests__/mocks/document-manager.mock.d.ts.map +1 -0
- package/dist/tools/__tests__/mocks/document-manager.mock.js +457 -0
- package/dist/tools/__tests__/mocks/document-manager.mock.js.map +1 -0
- package/dist/tools/__tests__/mocks/filesystem.mock.d.ts +103 -0
- package/dist/tools/__tests__/mocks/filesystem.mock.d.ts.map +1 -0
- package/dist/tools/__tests__/mocks/filesystem.mock.js +247 -0
- package/dist/tools/__tests__/mocks/filesystem.mock.js.map +1 -0
- package/dist/tools/__tests__/move-document.test.d.ts +12 -0
- package/dist/tools/__tests__/move-document.test.d.ts.map +1 -0
- package/dist/tools/__tests__/move-document.test.js +214 -0
- package/dist/tools/__tests__/move-document.test.js.map +1 -0
- package/dist/tools/__tests__/move.test.d.ts +13 -0
- package/dist/tools/__tests__/move.test.d.ts.map +1 -0
- package/dist/tools/__tests__/move.test.js +939 -0
- package/dist/tools/__tests__/move.test.js.map +1 -0
- package/dist/tools/__tests__/section.integration.improved.test.d.ts +5 -0
- package/dist/tools/__tests__/section.integration.improved.test.d.ts.map +1 -0
- package/dist/tools/__tests__/section.integration.improved.test.js +199 -0
- package/dist/tools/__tests__/section.integration.improved.test.js.map +1 -0
- package/dist/tools/__tests__/section.integration.test.d.ts +5 -0
- package/dist/tools/__tests__/section.integration.test.d.ts.map +1 -0
- package/dist/tools/__tests__/section.integration.test.js +637 -0
- package/dist/tools/__tests__/section.integration.test.js.map +1 -0
- package/dist/tools/__tests__/setup/test-environment.d.ts +111 -0
- package/dist/tools/__tests__/setup/test-environment.d.ts.map +1 -0
- package/dist/tools/__tests__/setup/test-environment.js +322 -0
- package/dist/tools/__tests__/setup/test-environment.js.map +1 -0
- package/dist/tools/__tests__/suggestion-generator.test.d.ts +8 -0
- package/dist/tools/__tests__/suggestion-generator.test.d.ts.map +1 -0
- package/dist/tools/__tests__/suggestion-generator.test.js +508 -0
- package/dist/tools/__tests__/suggestion-generator.test.js.map +1 -0
- package/dist/tools/__tests__/task-consistency.test.d.ts +11 -0
- package/dist/tools/__tests__/task-consistency.test.d.ts.map +1 -0
- package/dist/tools/__tests__/task-consistency.test.js +93 -0
- package/dist/tools/__tests__/task-consistency.test.js.map +1 -0
- package/dist/tools/__tests__/task-status-parsing.test.d.ts +15 -0
- package/dist/tools/__tests__/task-status-parsing.test.d.ts.map +1 -0
- package/dist/tools/__tests__/task-status-parsing.test.js +126 -0
- package/dist/tools/__tests__/task-status-parsing.test.js.map +1 -0
- package/dist/tools/__tests__/view-section-boundary.test.d.ts +2 -0
- package/dist/tools/__tests__/view-section-boundary.test.d.ts.map +1 -0
- package/dist/tools/__tests__/view-section-boundary.test.js +132 -0
- package/dist/tools/__tests__/view-section-boundary.test.js.map +1 -0
- package/dist/tools/__tests__/write-operations-integration.test.d.ts +8 -0
- package/dist/tools/__tests__/write-operations-integration.test.d.ts.map +1 -0
- package/dist/tools/__tests__/write-operations-integration.test.js +136 -0
- package/dist/tools/__tests__/write-operations-integration.test.js.map +1 -0
- package/dist/tools/browse/content-analyzer.d.ts +27 -0
- package/dist/tools/browse/content-analyzer.d.ts.map +1 -0
- package/dist/tools/browse/content-analyzer.js +150 -0
- package/dist/tools/browse/content-analyzer.js.map +1 -0
- package/dist/tools/browse/dependency-analyzer.d.ts +63 -0
- package/dist/tools/browse/dependency-analyzer.d.ts.map +1 -0
- package/dist/tools/browse/dependency-analyzer.js +261 -0
- package/dist/tools/browse/dependency-analyzer.js.map +1 -0
- package/dist/tools/browse/folder-navigator.d.ts +35 -0
- package/dist/tools/browse/folder-navigator.d.ts.map +1 -0
- package/dist/tools/browse/folder-navigator.js +154 -0
- package/dist/tools/browse/folder-navigator.js.map +1 -0
- package/dist/tools/browse/index.d.ts +10 -0
- package/dist/tools/browse/index.d.ts.map +1 -0
- package/dist/tools/browse/index.js +14 -0
- package/dist/tools/browse/index.js.map +1 -0
- package/dist/tools/browse/relationship-classifier.d.ts +9 -0
- package/dist/tools/browse/relationship-classifier.d.ts.map +1 -0
- package/dist/tools/browse/relationship-classifier.js +38 -0
- package/dist/tools/browse/relationship-classifier.js.map +1 -0
- package/dist/tools/browse/search-engine.d.ts +69 -0
- package/dist/tools/browse/search-engine.d.ts.map +1 -0
- package/dist/tools/browse/search-engine.js +197 -0
- package/dist/tools/browse/search-engine.js.map +1 -0
- package/dist/tools/create/__tests__/file-creator.test.d.ts +6 -0
- package/dist/tools/create/__tests__/file-creator.test.d.ts.map +1 -0
- package/dist/tools/create/__tests__/file-creator.test.js +138 -0
- package/dist/tools/create/__tests__/file-creator.test.js.map +1 -0
- package/dist/tools/create/__tests__/template-processor.test.d.ts +6 -0
- package/dist/tools/create/__tests__/template-processor.test.d.ts.map +1 -0
- package/dist/tools/create/__tests__/template-processor.test.js +130 -0
- package/dist/tools/create/__tests__/template-processor.test.js.map +1 -0
- package/dist/tools/create/file-creator.d.ts +35 -0
- package/dist/tools/create/file-creator.d.ts.map +1 -0
- package/dist/tools/create/file-creator.js +103 -0
- package/dist/tools/create/file-creator.js.map +1 -0
- package/dist/tools/create/index.d.ts +6 -0
- package/dist/tools/create/index.d.ts.map +1 -0
- package/dist/tools/create/index.js +7 -0
- package/dist/tools/create/index.js.map +1 -0
- package/dist/tools/create/pipeline.d.ts +39 -0
- package/dist/tools/create/pipeline.d.ts.map +1 -0
- package/dist/tools/create/pipeline.js +112 -0
- package/dist/tools/create/pipeline.js.map +1 -0
- package/dist/tools/create/suggestion-generator.d.ts +47 -0
- package/dist/tools/create/suggestion-generator.d.ts.map +1 -0
- package/dist/tools/create/suggestion-generator.js +51 -0
- package/dist/tools/create/suggestion-generator.js.map +1 -0
- package/dist/tools/create/template-processor.d.ts +27 -0
- package/dist/tools/create/template-processor.d.ts.map +1 -0
- package/dist/tools/create/template-processor.js +74 -0
- package/dist/tools/create/template-processor.js.map +1 -0
- package/dist/tools/create/validation-processor.d.ts +48 -0
- package/dist/tools/create/validation-processor.d.ts.map +1 -0
- package/dist/tools/create/validation-processor.js +107 -0
- package/dist/tools/create/validation-processor.js.map +1 -0
- package/dist/tools/executor.d.ts +19 -0
- package/dist/tools/executor.d.ts.map +1 -0
- package/dist/tools/executor.js +53 -0
- package/dist/tools/executor.js.map +1 -0
- package/dist/tools/implementations/__tests__/browse-documents.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/browse-documents.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/browse-documents.test.js +319 -0
- package/dist/tools/implementations/__tests__/browse-documents.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/complete-coordinator-task.test.d.ts +7 -0
- package/dist/tools/implementations/__tests__/complete-coordinator-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/complete-coordinator-task.test.js +440 -0
- package/dist/tools/implementations/__tests__/complete-coordinator-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/complete-subagent-task.test.d.ts +14 -0
- package/dist/tools/implementations/__tests__/complete-subagent-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/complete-subagent-task.test.js +851 -0
- package/dist/tools/implementations/__tests__/complete-subagent-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/complete-task-notes.test.d.ts +6 -0
- package/dist/tools/implementations/__tests__/complete-task-notes.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/complete-task-notes.test.js +157 -0
- package/dist/tools/implementations/__tests__/complete-task-notes.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/complete-task.test.d.ts +14 -0
- package/dist/tools/implementations/__tests__/complete-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/complete-task.test.js +867 -0
- package/dist/tools/implementations/__tests__/complete-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/continue-task.test.d.ts +11 -0
- package/dist/tools/implementations/__tests__/continue-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/continue-task.test.js +845 -0
- package/dist/tools/implementations/__tests__/continue-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/coordinator-task.test.d.ts +7 -0
- package/dist/tools/implementations/__tests__/coordinator-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/coordinator-task.test.js +495 -0
- package/dist/tools/implementations/__tests__/coordinator-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/get-guide.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/get-guide.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/get-guide.test.js +242 -0
- package/dist/tools/implementations/__tests__/get-guide.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/get-workflow.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/get-workflow.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/get-workflow.test.js +232 -0
- package/dist/tools/implementations/__tests__/get-workflow.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/search-documents.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/search-documents.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/search-documents.test.js +336 -0
- package/dist/tools/implementations/__tests__/search-documents.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/start-coordinator-task.test.d.ts +7 -0
- package/dist/tools/implementations/__tests__/start-coordinator-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/start-coordinator-task.test.js +177 -0
- package/dist/tools/implementations/__tests__/start-coordinator-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/start-subagent-task.test.d.ts +11 -0
- package/dist/tools/implementations/__tests__/start-subagent-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/start-subagent-task.test.js +846 -0
- package/dist/tools/implementations/__tests__/start-subagent-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/start-task.test.d.ts +11 -0
- package/dist/tools/implementations/__tests__/start-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/start-task.test.js +828 -0
- package/dist/tools/implementations/__tests__/start-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.js +199 -0
- package/dist/tools/implementations/__tests__/subagent-task-batch-operations.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/subagent-task.test.d.ts +7 -0
- package/dist/tools/implementations/__tests__/subagent-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/subagent-task.test.js +720 -0
- package/dist/tools/implementations/__tests__/subagent-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/task-batch-operations.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/task-batch-operations.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/task-batch-operations.test.js +200 -0
- package/dist/tools/implementations/__tests__/task-batch-operations.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/task.test.d.ts +7 -0
- package/dist/tools/implementations/__tests__/task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/task.test.js +578 -0
- package/dist/tools/implementations/__tests__/task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/view-coordinator-task.test.d.ts +13 -0
- package/dist/tools/implementations/__tests__/view-coordinator-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/view-coordinator-task.test.js +1404 -0
- package/dist/tools/implementations/__tests__/view-coordinator-task.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/view-document.linked-context.test.d.ts +8 -0
- package/dist/tools/implementations/__tests__/view-document.linked-context.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/view-document.linked-context.test.js +235 -0
- package/dist/tools/implementations/__tests__/view-document.linked-context.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/view-document.simplification.test.d.ts +9 -0
- package/dist/tools/implementations/__tests__/view-document.simplification.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/view-document.simplification.test.js +160 -0
- package/dist/tools/implementations/__tests__/view-document.simplification.test.js.map +1 -0
- package/dist/tools/implementations/__tests__/view-task.test.d.ts +12 -0
- package/dist/tools/implementations/__tests__/view-task.test.d.ts.map +1 -0
- package/dist/tools/implementations/__tests__/view-task.test.js +1158 -0
- package/dist/tools/implementations/__tests__/view-task.test.js.map +1 -0
- package/dist/tools/implementations/browse-documents.d.ts +36 -0
- package/dist/tools/implementations/browse-documents.d.ts.map +1 -0
- package/dist/tools/implementations/browse-documents.js +123 -0
- package/dist/tools/implementations/browse-documents.js.map +1 -0
- package/dist/tools/implementations/complete-coordinator-task.d.ts +53 -0
- package/dist/tools/implementations/complete-coordinator-task.d.ts.map +1 -0
- package/dist/tools/implementations/complete-coordinator-task.js +159 -0
- package/dist/tools/implementations/complete-coordinator-task.js.map +1 -0
- package/dist/tools/implementations/complete-subagent-task.d.ts +47 -0
- package/dist/tools/implementations/complete-subagent-task.d.ts.map +1 -0
- package/dist/tools/implementations/complete-subagent-task.js +141 -0
- package/dist/tools/implementations/complete-subagent-task.js.map +1 -0
- package/dist/tools/implementations/complete-task.d.ts +32 -0
- package/dist/tools/implementations/complete-task.d.ts.map +1 -0
- package/dist/tools/implementations/complete-task.hierarchical.test.d.ts +8 -0
- package/dist/tools/implementations/complete-task.hierarchical.test.d.ts.map +1 -0
- package/dist/tools/implementations/complete-task.hierarchical.test.js +363 -0
- package/dist/tools/implementations/complete-task.hierarchical.test.js.map +1 -0
- package/dist/tools/implementations/complete-task.js +122 -0
- package/dist/tools/implementations/complete-task.js.map +1 -0
- package/dist/tools/implementations/continue-task.d.ts +48 -0
- package/dist/tools/implementations/continue-task.d.ts.map +1 -0
- package/dist/tools/implementations/continue-task.js +167 -0
- package/dist/tools/implementations/continue-task.js.map +1 -0
- package/dist/tools/implementations/coordinator-task.d.ts +72 -0
- package/dist/tools/implementations/coordinator-task.d.ts.map +1 -0
- package/dist/tools/implementations/coordinator-task.js +169 -0
- package/dist/tools/implementations/coordinator-task.js.map +1 -0
- package/dist/tools/implementations/create-document.d.ts +12 -0
- package/dist/tools/implementations/create-document.d.ts.map +1 -0
- package/dist/tools/implementations/create-document.js +15 -0
- package/dist/tools/implementations/create-document.js.map +1 -0
- package/dist/tools/implementations/delete-document.d.ts +16 -0
- package/dist/tools/implementations/delete-document.d.ts.map +1 -0
- package/dist/tools/implementations/delete-document.js +70 -0
- package/dist/tools/implementations/delete-document.js.map +1 -0
- package/dist/tools/implementations/edit-document.d.ts +8 -0
- package/dist/tools/implementations/edit-document.d.ts.map +1 -0
- package/dist/tools/implementations/edit-document.js +118 -0
- package/dist/tools/implementations/edit-document.js.map +1 -0
- package/dist/tools/implementations/get-guide.d.ts +13 -0
- package/dist/tools/implementations/get-guide.d.ts.map +1 -0
- package/dist/tools/implementations/get-guide.js +64 -0
- package/dist/tools/implementations/get-guide.js.map +1 -0
- package/dist/tools/implementations/get-workflow.d.ts +12 -0
- package/dist/tools/implementations/get-workflow.d.ts.map +1 -0
- package/dist/tools/implementations/get-workflow.js +71 -0
- package/dist/tools/implementations/get-workflow.js.map +1 -0
- package/dist/tools/implementations/index.d.ts +24 -0
- package/dist/tools/implementations/index.d.ts.map +1 -0
- package/dist/tools/implementations/index.js +24 -0
- package/dist/tools/implementations/index.js.map +1 -0
- package/dist/tools/implementations/manage-document.d.ts +8 -0
- package/dist/tools/implementations/manage-document.d.ts.map +1 -0
- package/dist/tools/implementations/manage-document.js +180 -0
- package/dist/tools/implementations/manage-document.js.map +1 -0
- package/dist/tools/implementations/move-document.d.ts +12 -0
- package/dist/tools/implementations/move-document.d.ts.map +1 -0
- package/dist/tools/implementations/move-document.js +72 -0
- package/dist/tools/implementations/move-document.js.map +1 -0
- package/dist/tools/implementations/move.d.ts +24 -0
- package/dist/tools/implementations/move.d.ts.map +1 -0
- package/dist/tools/implementations/move.js +167 -0
- package/dist/tools/implementations/move.js.map +1 -0
- package/dist/tools/implementations/search-documents.d.ts +39 -0
- package/dist/tools/implementations/search-documents.d.ts.map +1 -0
- package/dist/tools/implementations/search-documents.js +246 -0
- package/dist/tools/implementations/search-documents.js.map +1 -0
- package/dist/tools/implementations/section.d.ts +42 -0
- package/dist/tools/implementations/section.d.ts.map +1 -0
- package/dist/tools/implementations/section.hierarchical.test.d.ts +8 -0
- package/dist/tools/implementations/section.hierarchical.test.d.ts.map +1 -0
- package/dist/tools/implementations/section.hierarchical.test.js +299 -0
- package/dist/tools/implementations/section.hierarchical.test.js.map +1 -0
- package/dist/tools/implementations/section.js +244 -0
- package/dist/tools/implementations/section.js.map +1 -0
- package/dist/tools/implementations/section.test.d.ts +5 -0
- package/dist/tools/implementations/section.test.d.ts.map +1 -0
- package/dist/tools/implementations/section.test.js +371 -0
- package/dist/tools/implementations/section.test.js.map +1 -0
- package/dist/tools/implementations/start-coordinator-task.d.ts +44 -0
- package/dist/tools/implementations/start-coordinator-task.d.ts.map +1 -0
- package/dist/tools/implementations/start-coordinator-task.js +125 -0
- package/dist/tools/implementations/start-coordinator-task.js.map +1 -0
- package/dist/tools/implementations/start-subagent-task.d.ts +53 -0
- package/dist/tools/implementations/start-subagent-task.d.ts.map +1 -0
- package/dist/tools/implementations/start-subagent-task.js +179 -0
- package/dist/tools/implementations/start-subagent-task.js.map +1 -0
- package/dist/tools/implementations/start-task.d.ts +48 -0
- package/dist/tools/implementations/start-task.d.ts.map +1 -0
- package/dist/tools/implementations/start-task.js +216 -0
- package/dist/tools/implementations/start-task.js.map +1 -0
- package/dist/tools/implementations/subagent-task.d.ts +98 -0
- package/dist/tools/implementations/subagent-task.d.ts.map +1 -0
- package/dist/tools/implementations/subagent-task.js +277 -0
- package/dist/tools/implementations/subagent-task.js.map +1 -0
- package/dist/tools/implementations/task.d.ts +97 -0
- package/dist/tools/implementations/task.d.ts.map +1 -0
- package/dist/tools/implementations/task.hierarchical.test.d.ts +8 -0
- package/dist/tools/implementations/task.hierarchical.test.d.ts.map +1 -0
- package/dist/tools/implementations/task.hierarchical.test.js +333 -0
- package/dist/tools/implementations/task.hierarchical.test.js.map +1 -0
- package/dist/tools/implementations/task.js +235 -0
- package/dist/tools/implementations/task.js.map +1 -0
- package/dist/tools/implementations/view-coordinator-task.d.ts +61 -0
- package/dist/tools/implementations/view-coordinator-task.d.ts.map +1 -0
- package/dist/tools/implementations/view-coordinator-task.js +295 -0
- package/dist/tools/implementations/view-coordinator-task.js.map +1 -0
- package/dist/tools/implementations/view-document.d.ts +84 -0
- package/dist/tools/implementations/view-document.d.ts.map +1 -0
- package/dist/tools/implementations/view-document.js +287 -0
- package/dist/tools/implementations/view-document.js.map +1 -0
- package/dist/tools/implementations/view-section.d.ts +28 -0
- package/dist/tools/implementations/view-section.d.ts.map +1 -0
- package/dist/tools/implementations/view-section.hierarchical.test.d.ts +8 -0
- package/dist/tools/implementations/view-section.hierarchical.test.d.ts.map +1 -0
- package/dist/tools/implementations/view-section.hierarchical.test.js +318 -0
- package/dist/tools/implementations/view-section.hierarchical.test.js.map +1 -0
- package/dist/tools/implementations/view-section.js +167 -0
- package/dist/tools/implementations/view-section.js.map +1 -0
- package/dist/tools/implementations/view-subagent-task.d.ts +46 -0
- package/dist/tools/implementations/view-subagent-task.d.ts.map +1 -0
- package/dist/tools/implementations/view-subagent-task.js +283 -0
- package/dist/tools/implementations/view-subagent-task.js.map +1 -0
- package/dist/tools/implementations/view-task.d.ts +43 -0
- package/dist/tools/implementations/view-task.d.ts.map +1 -0
- package/dist/tools/implementations/view-task.hierarchical.test.d.ts +8 -0
- package/dist/tools/implementations/view-task.hierarchical.test.d.ts.map +1 -0
- package/dist/tools/implementations/view-task.hierarchical.test.js +420 -0
- package/dist/tools/implementations/view-task.hierarchical.test.js.map +1 -0
- package/dist/tools/implementations/view-task.js +280 -0
- package/dist/tools/implementations/view-task.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/registry.d.ts +10 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +132 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/schemas/__tests__/get-guide-schemas.test.d.ts +8 -0
- package/dist/tools/schemas/__tests__/get-guide-schemas.test.d.ts.map +1 -0
- package/dist/tools/schemas/__tests__/get-guide-schemas.test.js +216 -0
- package/dist/tools/schemas/__tests__/get-guide-schemas.test.js.map +1 -0
- package/dist/tools/schemas/__tests__/get-workflow-schemas.test.d.ts +8 -0
- package/dist/tools/schemas/__tests__/get-workflow-schemas.test.d.ts.map +1 -0
- package/dist/tools/schemas/__tests__/get-workflow-schemas.test.js +229 -0
- package/dist/tools/schemas/__tests__/get-workflow-schemas.test.js.map +1 -0
- package/dist/tools/schemas/browse-documents-schemas.d.ts +47 -0
- package/dist/tools/schemas/browse-documents-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/browse-documents-schemas.js +48 -0
- package/dist/tools/schemas/browse-documents-schemas.js.map +1 -0
- package/dist/tools/schemas/complete-coordinator-task-schemas.d.ts +41 -0
- package/dist/tools/schemas/complete-coordinator-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/complete-coordinator-task-schemas.js +42 -0
- package/dist/tools/schemas/complete-coordinator-task-schemas.js.map +1 -0
- package/dist/tools/schemas/complete-subagent-task-schemas.d.ts +38 -0
- package/dist/tools/schemas/complete-subagent-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/complete-subagent-task-schemas.js +41 -0
- package/dist/tools/schemas/complete-subagent-task-schemas.js.map +1 -0
- package/dist/tools/schemas/complete-task-schemas.d.ts +33 -0
- package/dist/tools/schemas/complete-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/complete-task-schemas.js +36 -0
- package/dist/tools/schemas/complete-task-schemas.js.map +1 -0
- package/dist/tools/schemas/continue-task-schemas.d.ts +27 -0
- package/dist/tools/schemas/continue-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/continue-task-schemas.js +28 -0
- package/dist/tools/schemas/continue-task-schemas.js.map +1 -0
- package/dist/tools/schemas/coordinator-task-schemas.d.ts +87 -0
- package/dist/tools/schemas/coordinator-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/coordinator-task-schemas.js +80 -0
- package/dist/tools/schemas/coordinator-task-schemas.js.map +1 -0
- package/dist/tools/schemas/create-document-schemas.d.ts +61 -0
- package/dist/tools/schemas/create-document-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/create-document-schemas.js +143 -0
- package/dist/tools/schemas/create-document-schemas.js.map +1 -0
- package/dist/tools/schemas/delete-document-schemas.d.ts +24 -0
- package/dist/tools/schemas/delete-document-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/delete-document-schemas.js +25 -0
- package/dist/tools/schemas/delete-document-schemas.js.map +1 -0
- package/dist/tools/schemas/edit-document-schemas.d.ts +27 -0
- package/dist/tools/schemas/edit-document-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/edit-document-schemas.js +28 -0
- package/dist/tools/schemas/edit-document-schemas.js.map +1 -0
- package/dist/tools/schemas/get-guide-schemas.d.ts +35 -0
- package/dist/tools/schemas/get-guide-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/get-guide-schemas.js +66 -0
- package/dist/tools/schemas/get-guide-schemas.js.map +1 -0
- package/dist/tools/schemas/get-workflow-schemas.d.ts +35 -0
- package/dist/tools/schemas/get-workflow-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/get-workflow-schemas.js +67 -0
- package/dist/tools/schemas/get-workflow-schemas.js.map +1 -0
- package/dist/tools/schemas/manage-document-schemas.d.ts +59 -0
- package/dist/tools/schemas/manage-document-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/manage-document-schemas.js +83 -0
- package/dist/tools/schemas/manage-document-schemas.js.map +1 -0
- package/dist/tools/schemas/move-document-schemas.d.ts +25 -0
- package/dist/tools/schemas/move-document-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/move-document-schemas.js +26 -0
- package/dist/tools/schemas/move-document-schemas.js.map +1 -0
- package/dist/tools/schemas/move-schemas.d.ts +43 -0
- package/dist/tools/schemas/move-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/move-schemas.js +43 -0
- package/dist/tools/schemas/move-schemas.js.map +1 -0
- package/dist/tools/schemas/search-documents-schemas.d.ts +77 -0
- package/dist/tools/schemas/search-documents-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/search-documents-schemas.js +78 -0
- package/dist/tools/schemas/search-documents-schemas.js.map +1 -0
- package/dist/tools/schemas/section-schemas.d.ts +361 -0
- package/dist/tools/schemas/section-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/section-schemas.js +182 -0
- package/dist/tools/schemas/section-schemas.js.map +1 -0
- package/dist/tools/schemas/start-coordinator-task-schemas.d.ts +30 -0
- package/dist/tools/schemas/start-coordinator-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/start-coordinator-task-schemas.js +31 -0
- package/dist/tools/schemas/start-coordinator-task-schemas.js.map +1 -0
- package/dist/tools/schemas/start-subagent-task-schemas.d.ts +29 -0
- package/dist/tools/schemas/start-subagent-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/start-subagent-task-schemas.js +40 -0
- package/dist/tools/schemas/start-subagent-task-schemas.js.map +1 -0
- package/dist/tools/schemas/start-task-schemas.d.ts +23 -0
- package/dist/tools/schemas/start-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/start-task-schemas.js +39 -0
- package/dist/tools/schemas/start-task-schemas.js.map +1 -0
- package/dist/tools/schemas/subagent-task-schemas.d.ts +93 -0
- package/dist/tools/schemas/subagent-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/subagent-task-schemas.js +81 -0
- package/dist/tools/schemas/subagent-task-schemas.js.map +1 -0
- package/dist/tools/schemas/task-schemas.d.ts +88 -0
- package/dist/tools/schemas/task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/task-schemas.js +80 -0
- package/dist/tools/schemas/task-schemas.js.map +1 -0
- package/dist/tools/schemas/view-coordinator-task-schemas.d.ts +27 -0
- package/dist/tools/schemas/view-coordinator-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/view-coordinator-task-schemas.js +46 -0
- package/dist/tools/schemas/view-coordinator-task-schemas.js.map +1 -0
- package/dist/tools/schemas/view-document-schemas.d.ts +152 -0
- package/dist/tools/schemas/view-document-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/view-document-schemas.js +70 -0
- package/dist/tools/schemas/view-document-schemas.js.map +1 -0
- package/dist/tools/schemas/view-section-schemas.d.ts +31 -0
- package/dist/tools/schemas/view-section-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/view-section-schemas.js +56 -0
- package/dist/tools/schemas/view-section-schemas.js.map +1 -0
- package/dist/tools/schemas/view-subagent-task-schemas.d.ts +31 -0
- package/dist/tools/schemas/view-subagent-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/view-subagent-task-schemas.js +65 -0
- package/dist/tools/schemas/view-subagent-task-schemas.js.map +1 -0
- package/dist/tools/schemas/view-task-schemas.d.ts +31 -0
- package/dist/tools/schemas/view-task-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/view-task-schemas.js +62 -0
- package/dist/tools/schemas/view-task-schemas.js.map +1 -0
- package/dist/tools/types.d.ts +98 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +9 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools-manager.d.ts +8 -0
- package/dist/tools-manager.d.ts.map +1 -0
- package/dist/tools-manager.js +9 -0
- package/dist/tools-manager.js.map +1 -0
- package/dist/types/core.d.ts +71 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +5 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/linking.d.ts +97 -0
- package/dist/types/linking.d.ts.map +1 -0
- package/dist/types/linking.js +5 -0
- package/dist/types/linking.js.map +1 -0
- package/dist/utils/__tests__/path-handler.archive.test.d.ts +8 -0
- package/dist/utils/__tests__/path-handler.archive.test.d.ts.map +1 -0
- package/dist/utils/__tests__/path-handler.archive.test.js +163 -0
- package/dist/utils/__tests__/path-handler.archive.test.js.map +1 -0
- package/dist/utils/error-formatter.d.ts +32 -0
- package/dist/utils/error-formatter.d.ts.map +1 -0
- package/dist/utils/error-formatter.js +79 -0
- package/dist/utils/error-formatter.js.map +1 -0
- package/dist/utils/logger.d.ts +21 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +154 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/path-handler.d.ts +52 -0
- package/dist/utils/path-handler.d.ts.map +1 -0
- package/dist/utils/path-handler.js +129 -0
- package/dist/utils/path-handler.js.map +1 -0
- package/dist/utils/security-audit-logger.d.ts +64 -0
- package/dist/utils/security-audit-logger.d.ts.map +1 -0
- package/dist/utils/security-audit-logger.js +56 -0
- package/dist/utils/security-audit-logger.js.map +1 -0
- package/dist/utils/virtual-path-resolver.d.ts +126 -0
- package/dist/utils/virtual-path-resolver.d.ts.map +1 -0
- package/dist/utils/virtual-path-resolver.js +171 -0
- package/dist/utils/virtual-path-resolver.js.map +1 -0
- 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":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAgElC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAwB,EACxB,YAAoB,EACpB,KAAa,EACb,OAAe,EACf,aAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,iEAAiE;QACjE,qFAAqF;QAErF,4CAA4C;QAC5C,MAAM,WAAW,GAAG,OAAO,KAAK;EAClC,OAAO,EAAE,CAAC;QAER,iEAAiE;QACjE,gFAAgF;QAChF,MAAM,SAAS,GAAG,aAAa,IAAI,IAAI,IAAI,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAClG,MAAM,aAAa,GAAG,aAAa,IAAI,OAAO,CAAC;QAE/C,wEAAwE;QACxE,MAAM,2BAA2B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEzD,oDAAoD;QACpD,MAAM,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAE9F,2DAA2D;QAC3D,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAEjE,OAAO;YACL,IAAI,EAAE,QAAQ,EAAG,6CAA6C;YAC9D,KAAK;YACL,GAAG,CAAC,mBAAmB,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;SAClF,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAClF,oBAAoB,EACpB,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAClC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAwB,EACxB,YAAoB,EACpB,QAAgB,EAChB,OAAe;IAEf,IAAI,CAAC;QACH,qEAAqE;QACrE,MAAM,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAChF,kBAAkB,EAClB,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAwB,EACxB,YAAoB,EACpB,YAAqB,EACrB,iBAA0B,KAAK;IAE/B,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,2DAA2D;QAC3D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9C,CAAC,CAAC,IAAI,KAAK,OAAO;YAClB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAClC,CAAC;QAEF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO;gBACL,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,MAAM,YAAY,GAAG,MAAM,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE/E,4CAA4C;QAC5C,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;gBACzD,qDAAqD;gBACrD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEtF,mCAAmC;gBACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC;gBACpE,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;gBAE1C,uDAAuD;gBACvD,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEjD,kEAAkE;gBAClE,IAAI,mBAAmB,GAA0B,EAAE,CAAC;gBACpD,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACtD,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACzE,mBAAmB,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBAC9G,CAAC;gBAED,wCAAwC;gBACxC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAErE,OAAO;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM;oBACN,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC5C,GAAG,CAAC,aAAa,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;oBAC9C,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;oBACpF,GAAG,CAAC,mBAAmB,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;iBAClF,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gFAAgF;YAChF,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,oDAAoD;gBACpD,OAAO,CAAC,IAAI,CAAC,kDAAkD,YAAY,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,wDAAwD;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,gBAAgB;QAChB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YAChD,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAC7E,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAE7C,gCAAgC;QAChC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAEvE,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,GAAG,CAAC,mBAAmB,IAAI,IAAI,IAAI,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;YACjF,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;SACjD,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjF,kBAAkB,EAClB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAwB,EACxB,YAAoB,EACpB,QAAgB,EAChB,IAAY;IAEZ,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,eAAe,CAAC,mBAAmB,QAAQ,EAAE,EAAE,gBAAgB,EAAE;gBACzE,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,WAAW,EAAE,KAAK,IAAI,QAAQ,CAAC;QAEjD,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE,oBAAoB;QACtF,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAE1F,0BAA0B;QAC1B,MAAM,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAErF,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,cAAc,EAAE,aAAa;SAC9B,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACpF,sBAAsB,EACtB,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAwB,EAAE,OAAe;IACzF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9C,CAAC,CAAC,IAAI,KAAK,OAAO;QAClB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAClC,CAAC;IAEF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,2CAA2C;QAE3C,gEAAgE;QAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QAEhE,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB,sEAAsE,EACtE,kBAAkB,EAClB,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;QAEpC,kDAAkD;QAClD,+DAA+D;QAC/D,MAAM,kBAAkB,CACtB,OAAO,EACP,OAAO,EACP,SAAS,EACT,8BAA8B,EAC9B,cAAc,EACd,OAAO,CACR,CAAC;QAEF,kFAAkF;QAClF,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,0EAA0E;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,QAAgB;IAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,yCAAyC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACzC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACrB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACxB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;QACxC,KAAK,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAiB;IAKrC,iFAAiF;IACjF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAC3D,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAElD,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,KAAiB;IAMjB,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC;IAE5E,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACvC,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAA+F,EAAE,CAAC;IAC/G,MAAM,UAAU,GAAiG,EAAE,CAAC;IAEpH,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC1C,IAAI,OAAO,IAAI,IAAI;YAAE,SAAS;QAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,yBAAyB;QACzB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAE1E,4BAA4B;QAC5B,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAElD,gBAAgB;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,aAAa,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YACD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACzC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,aAAa,CAAC,WAAW,KAAK,CAAC,CAAC;gBAChC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,aAAa,CAAC,SAAS,KAAK,CAAC,CAAC;gBAC9B,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,YAAY,GAAG,iBAAiB;SACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,oBAAoB,CAAC;QAExC,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACzC,OAAO,CAAC,CAAC,CAAC,oDAAoD;QAChE,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEpB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,UAAU;QACvB,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,SAAiB,EAAE,IAAY,EAAE,aAAqB;IACtG,qDAAqD;IACrD,qCAAqC;IACrC,wDAAwD;IACxD,kCAAkC;IAClC,MAAM,eAAe,GAAG,yCAAyC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAEnD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,UAAU,GAAG,eAAe,SAAS,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,kBAAkB,aAAa,aAAa,IAAI,EAAE,CAAC;QAC1E,OAAO,GAAG,UAAU,KAAK,OAAO,GAAG,cAAc,EAAE,CAAC;IACtD,CAAC;IAED,2CAA2C;IAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,aAAa;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IACzD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,cAAc;IAE9D,wDAAwD;IACxD,IAAI,eAAuB,CAAC;IAC5B,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,iCAAiC;QACjC,eAAe,GAAG,eAAe,SAAS,EAAE,CAAC;IAC/C,CAAC;SAAM,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QAC9B,kDAAkD;QAClD,eAAe,GAAG,GAAG,UAAU,YAAY,SAAS,EAAE,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,8BAA8B;QAC9B,eAAe,GAAG,WAAW,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEhE,4EAA4E;IAC5E,OAAO,IAAI,kBAAkB,aAAa,EAAE,CAAC;IAC7C,OAAO,IAAI,aAAa,IAAI,EAAE,CAAC;IAE/B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -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"}
|