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,459 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Related document discovery using two-stage fingerprint-based filtering
|
|
3
|
+
*
|
|
4
|
+
* Provides efficient discovery of related documents using fingerprint-based
|
|
5
|
+
* initial filtering followed by full content analysis for high-signal candidates.
|
|
6
|
+
*/
|
|
7
|
+
import { pathToNamespace } from '../path-utilities.js';
|
|
8
|
+
import { getGlobalLogger } from '../../utils/logger.js';
|
|
9
|
+
import { extractWeightedKeywords, calculateWeightedRelevanceWithBreakdown, generateFactorBasedExplanation, DEFAULT_SCORING_FEATURES } from './keyword-utils.js';
|
|
10
|
+
import { DocumentAnalysisError } from './types.js';
|
|
11
|
+
const logger = getGlobalLogger();
|
|
12
|
+
// Performance optimization constants for two-stage filtering
|
|
13
|
+
const FINGERPRINT_THRESHOLD = 0.3;
|
|
14
|
+
const MAX_CANDIDATES_FOR_CONTENT_ANALYSIS = 10;
|
|
15
|
+
/**
|
|
16
|
+
* Find related documents using two-stage fingerprint-based filtering
|
|
17
|
+
*
|
|
18
|
+
* Uses efficient fingerprint-based initial filtering followed by full content
|
|
19
|
+
* analysis only for high-signal candidates. This significantly improves performance
|
|
20
|
+
* for large document sets while maintaining result quality.
|
|
21
|
+
*
|
|
22
|
+
* @param manager - Document manager for accessing documents
|
|
23
|
+
* @param _namespace - Target namespace (kept for compatibility, not used)
|
|
24
|
+
* @param title - Document title for keyword extraction
|
|
25
|
+
* @param overview - Document overview for keyword extraction
|
|
26
|
+
* @param excludePath - Optional document path to exclude from results (e.g., the document being created)
|
|
27
|
+
*
|
|
28
|
+
* @returns Promise resolving to array of related document suggestions
|
|
29
|
+
*
|
|
30
|
+
* @throws {DocumentAnalysisError} When document listing fails or critical operations fail
|
|
31
|
+
*/
|
|
32
|
+
export async function findRelatedDocuments(manager, _namespace, title, overview, excludePath) {
|
|
33
|
+
// Input validation
|
|
34
|
+
if (manager == null) {
|
|
35
|
+
throw new DocumentAnalysisError('Document manager is required', 'findRelatedDocuments', [], ['Ensure document manager is properly initialized']);
|
|
36
|
+
}
|
|
37
|
+
if (title == null || title.trim() === '') {
|
|
38
|
+
throw new DocumentAnalysisError('Valid title is required', 'findRelatedDocuments', [], ['Provide a non-empty title string']);
|
|
39
|
+
}
|
|
40
|
+
// Extract keywords from title and overview using enhanced extraction
|
|
41
|
+
let keywords = [];
|
|
42
|
+
let keywordResult;
|
|
43
|
+
try {
|
|
44
|
+
keywordResult = extractWeightedKeywords(title, overview ?? '');
|
|
45
|
+
keywords = [...keywordResult.keywords];
|
|
46
|
+
if (keywords.length === 0) {
|
|
47
|
+
logger.warn('No keywords extracted from title and overview');
|
|
48
|
+
keywords = title.toLowerCase().split(/\s+/).filter(word => word.length > 2);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
logger.debug('Enhanced keyword extraction successful', {
|
|
52
|
+
keywordCount: keywords.length,
|
|
53
|
+
hasExplicitKeywords: keywordResult.hasExplicitKeywords,
|
|
54
|
+
totalWeight: Math.round(keywordResult.totalWeight * 100) / 100
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
logger.warn('Enhanced keyword extraction failed, using fallback', { error });
|
|
60
|
+
keywords = title.toLowerCase().split(/\s+/).filter(word => word.length > 2);
|
|
61
|
+
keywordResult = {
|
|
62
|
+
weightedKeywords: keywords.map(k => ({ keyword: k, weight: 1.0, sources: ['fallback'] })),
|
|
63
|
+
keywords,
|
|
64
|
+
hasExplicitKeywords: false,
|
|
65
|
+
totalWeight: keywords.length
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
// Stage 1: Fast fingerprint-based filtering (if available)
|
|
70
|
+
let candidates = [];
|
|
71
|
+
let usedFingerprintFiltering = false;
|
|
72
|
+
try {
|
|
73
|
+
// Check if fingerprint listing is available
|
|
74
|
+
if (typeof manager.listDocumentFingerprints === 'function') {
|
|
75
|
+
logger.debug('Starting Stage 1: fingerprint-based filtering', {
|
|
76
|
+
keywords,
|
|
77
|
+
threshold: FINGERPRINT_THRESHOLD
|
|
78
|
+
});
|
|
79
|
+
const fingerprints = await manager.listDocumentFingerprints();
|
|
80
|
+
logger.debug(`Retrieved ${fingerprints.length} document fingerprints`);
|
|
81
|
+
if (fingerprints.length > 0) {
|
|
82
|
+
// Get all documents to match with fingerprints
|
|
83
|
+
const { documents: allDocuments } = await manager.listDocuments();
|
|
84
|
+
const pathToFingerprint = new Map();
|
|
85
|
+
// Create mapping of paths to fingerprints by matching metadata
|
|
86
|
+
for (const docInfo of allDocuments) {
|
|
87
|
+
try {
|
|
88
|
+
const document = await manager.getDocument(docInfo.path);
|
|
89
|
+
if (document != null) {
|
|
90
|
+
const fingerprint = fingerprints.find(fp => fp.namespace === document.metadata.namespace &&
|
|
91
|
+
fp.contentHash === document.metadata.contentHash &&
|
|
92
|
+
fp.lastModified.getTime() === document.metadata.lastModified.getTime());
|
|
93
|
+
if (fingerprint != null) {
|
|
94
|
+
pathToFingerprint.set(docInfo.path, fingerprint);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Skip documents that fail to load
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
logger.debug(`Successfully mapped ${pathToFingerprint.size} documents to fingerprints`);
|
|
104
|
+
// Calculate fingerprint-based relevance scores
|
|
105
|
+
for (const [docPath, fingerprint] of pathToFingerprint.entries()) {
|
|
106
|
+
// Skip the document being created (prevent self-reference)
|
|
107
|
+
if (excludePath != null && docPath === excludePath) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const score = calculateFingerprintRelevance(keywords, fingerprint.keywords);
|
|
111
|
+
candidates.push({
|
|
112
|
+
fingerprint,
|
|
113
|
+
path: docPath,
|
|
114
|
+
score
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
// Filter candidates above threshold
|
|
118
|
+
candidates = candidates
|
|
119
|
+
.filter(candidate => candidate.score > FINGERPRINT_THRESHOLD)
|
|
120
|
+
.sort((a, b) => b.score - a.score)
|
|
121
|
+
.slice(0, MAX_CANDIDATES_FOR_CONTENT_ANALYSIS);
|
|
122
|
+
logger.debug(`Fingerprint analysis: ${pathToFingerprint.size} documents, ${candidates.length} candidates above threshold ${FINGERPRINT_THRESHOLD}`);
|
|
123
|
+
usedFingerprintFiltering = true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
logger.warn('Fingerprint-based filtering failed, falling back to full analysis', { error });
|
|
129
|
+
}
|
|
130
|
+
// Fallback: If fingerprint filtering not available or failed, use original approach
|
|
131
|
+
if (!usedFingerprintFiltering) {
|
|
132
|
+
logger.debug('Using fallback: original algorithm (no fingerprint filtering)');
|
|
133
|
+
const { documents: allDocuments } = await manager.listDocuments();
|
|
134
|
+
if (allDocuments.length === 0) {
|
|
135
|
+
logger.debug('No documents available, returning empty results');
|
|
136
|
+
return [];
|
|
137
|
+
}
|
|
138
|
+
// Use original algorithm: process all documents with content analysis
|
|
139
|
+
for (const docInfo of allDocuments) {
|
|
140
|
+
try {
|
|
141
|
+
// Skip the document being created (prevent self-reference)
|
|
142
|
+
if (excludePath != null && docInfo.path === excludePath) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const document = await manager.getDocument(docInfo.path);
|
|
146
|
+
if (document == null) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
// Read document content for keyword matching (like original)
|
|
150
|
+
let content = '';
|
|
151
|
+
try {
|
|
152
|
+
content = await manager.getDocumentContent(docInfo.path) ?? '';
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
logger.warn(`Failed to read content for document ${docInfo.path}`, { error });
|
|
156
|
+
// Fallback to metadata when content is unavailable
|
|
157
|
+
content = document.metadata.title;
|
|
158
|
+
}
|
|
159
|
+
// Calculate relevance based on keyword overlap (like original)
|
|
160
|
+
const relevance = calculateContentRelevance(keywords, document.metadata.title, content);
|
|
161
|
+
if (relevance > 0.2) { // Same threshold as original
|
|
162
|
+
candidates.push({
|
|
163
|
+
fingerprint: {
|
|
164
|
+
keywords: [],
|
|
165
|
+
lastModified: document.metadata.lastModified,
|
|
166
|
+
contentHash: document.metadata.contentHash,
|
|
167
|
+
namespace: document.metadata.namespace
|
|
168
|
+
},
|
|
169
|
+
path: docInfo.path,
|
|
170
|
+
score: relevance // Use content relevance directly
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// Skip failed documents silently
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
logger.debug(`Fallback analysis: ${allDocuments.length} documents processed, ${candidates.length} candidates above threshold 0.2`);
|
|
180
|
+
}
|
|
181
|
+
if (candidates.length === 0) {
|
|
182
|
+
logger.debug('No candidates found, returning empty results');
|
|
183
|
+
return [];
|
|
184
|
+
}
|
|
185
|
+
// Stage 2: Process candidates based on filtering method
|
|
186
|
+
if (usedFingerprintFiltering) {
|
|
187
|
+
// For fingerprint filtering: do full content analysis
|
|
188
|
+
logger.debug('Starting Stage 2: content analysis for fingerprint candidates', {
|
|
189
|
+
candidateCount: candidates.length
|
|
190
|
+
});
|
|
191
|
+
const fullAnalysis = await Promise.all(candidates.map(async (candidate) => {
|
|
192
|
+
try {
|
|
193
|
+
// Load full content for detailed analysis
|
|
194
|
+
let content = '';
|
|
195
|
+
let contentSource = 'content';
|
|
196
|
+
try {
|
|
197
|
+
content = await manager.getDocumentContent(candidate.path) ?? '';
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
logger.warn(`Failed to read content for document ${candidate.path}`, { error });
|
|
201
|
+
// Fallback to metadata when content is unavailable
|
|
202
|
+
const document = await manager.getDocument(candidate.path);
|
|
203
|
+
content = document?.metadata.title ?? '';
|
|
204
|
+
contentSource = 'metadata';
|
|
205
|
+
}
|
|
206
|
+
// Calculate detailed content relevance using enhanced weighting
|
|
207
|
+
const document = await manager.getDocument(candidate.path);
|
|
208
|
+
if (document == null) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
// Use enhanced multi-factor relevance calculation if we have weighted keywords
|
|
212
|
+
let contentScore;
|
|
213
|
+
let relevanceResult = null;
|
|
214
|
+
if (keywordResult.weightedKeywords.length > 0) {
|
|
215
|
+
// Extract source namespace from the document being created (use _namespace or 'root')
|
|
216
|
+
const sourceNamespace = _namespace ?? 'root';
|
|
217
|
+
const sourceContent = overview ?? '';
|
|
218
|
+
// Extract target namespace
|
|
219
|
+
const targetNamespace = document.metadata.namespace ?? pathToNamespace(candidate.path);
|
|
220
|
+
// Use enhanced calculation with factor breakdown for explanation generation
|
|
221
|
+
relevanceResult = calculateWeightedRelevanceWithBreakdown(keywordResult.weightedKeywords, title, // sourceTitle
|
|
222
|
+
sourceNamespace, // sourceNamespace
|
|
223
|
+
sourceContent, // sourceContent
|
|
224
|
+
document.metadata.title, // targetTitle
|
|
225
|
+
content, // targetContent
|
|
226
|
+
targetNamespace, // targetNamespace
|
|
227
|
+
document.metadata.lastModified, // targetLastModified
|
|
228
|
+
candidate.path, // targetPath
|
|
229
|
+
candidate.fingerprint, // targetFingerprint
|
|
230
|
+
DEFAULT_SCORING_FEATURES // features
|
|
231
|
+
);
|
|
232
|
+
contentScore = relevanceResult.relevance;
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
// Fallback to original calculation
|
|
236
|
+
contentScore = calculateContentRelevance(keywords, document.metadata.title, content);
|
|
237
|
+
}
|
|
238
|
+
// Combine fingerprint and content scores with weighted approach
|
|
239
|
+
const combinedScore = (candidate.score * 0.3) + (contentScore * 0.7);
|
|
240
|
+
logger.debug(`Content analysis for ${candidate.path}`, {
|
|
241
|
+
fingerprintScore: Math.round(candidate.score * 100) / 100,
|
|
242
|
+
contentScore: Math.round(contentScore * 100) / 100,
|
|
243
|
+
combinedScore: Math.round(combinedScore * 100) / 100,
|
|
244
|
+
contentSource,
|
|
245
|
+
contentLength: content.length,
|
|
246
|
+
hasFactorBreakdown: relevanceResult != null
|
|
247
|
+
});
|
|
248
|
+
const docNamespace = pathToNamespace(candidate.path);
|
|
249
|
+
// Generate factor-based explanation using enhanced system
|
|
250
|
+
let reason;
|
|
251
|
+
if (relevanceResult != null && relevanceResult.primaryFactors.length > 0) {
|
|
252
|
+
// Use factor-based explanation generation
|
|
253
|
+
reason = generateFactorBasedExplanation(relevanceResult.primaryFactors, docNamespace, keywordResult.hasExplicitKeywords);
|
|
254
|
+
}
|
|
255
|
+
else if (contentSource === 'metadata') {
|
|
256
|
+
// Fallback for metadata-only analysis
|
|
257
|
+
reason = `Related documentation in ${docNamespace} (based on title and keywords)`;
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
// Generic fallback
|
|
261
|
+
reason = `Related documentation in ${docNamespace}`;
|
|
262
|
+
}
|
|
263
|
+
return {
|
|
264
|
+
path: candidate.path,
|
|
265
|
+
title: document.metadata.title,
|
|
266
|
+
namespace: docNamespace,
|
|
267
|
+
reason,
|
|
268
|
+
relevance: Math.round(combinedScore * 100) / 100
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
logger.warn(`Content analysis failed for candidate ${candidate.path}`, { error });
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
}));
|
|
276
|
+
// Filter out failed analyses and apply minimum relevance threshold
|
|
277
|
+
const validResults = fullAnalysis
|
|
278
|
+
.filter((result) => result != null && result.relevance > 0.2)
|
|
279
|
+
.sort((a, b) => b.relevance - a.relevance)
|
|
280
|
+
.slice(0, 5);
|
|
281
|
+
logger.debug(`Content analysis: ${candidates.length} candidates processed`);
|
|
282
|
+
logger.debug(`Discovery complete: ${validResults.length} related documents found using fingerprint filtering`);
|
|
283
|
+
return validResults;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
// For fallback: candidates already have final scores, just format them
|
|
287
|
+
logger.debug('Stage 2: formatting fallback results', {
|
|
288
|
+
candidateCount: candidates.length
|
|
289
|
+
});
|
|
290
|
+
const fallbackResults = await Promise.all(candidates.map(async (candidate) => {
|
|
291
|
+
try {
|
|
292
|
+
const document = await manager.getDocument(candidate.path);
|
|
293
|
+
if (document == null) {
|
|
294
|
+
return null;
|
|
295
|
+
}
|
|
296
|
+
const docNamespace = pathToNamespace(candidate.path);
|
|
297
|
+
// For fallback results, generate basic but informative reason
|
|
298
|
+
const reason = `Related documentation in ${docNamespace}`;
|
|
299
|
+
return {
|
|
300
|
+
path: candidate.path,
|
|
301
|
+
title: document.metadata.title,
|
|
302
|
+
namespace: docNamespace,
|
|
303
|
+
reason,
|
|
304
|
+
relevance: Math.round(candidate.score * 100) / 100
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
logger.warn(`Fallback result formatting failed for ${candidate.path}`, { error });
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
}));
|
|
312
|
+
const validResults = fallbackResults
|
|
313
|
+
.filter((result) => result != null)
|
|
314
|
+
.sort((a, b) => b.relevance - a.relevance)
|
|
315
|
+
.slice(0, 5);
|
|
316
|
+
logger.debug(`Discovery complete: ${validResults.length} related documents found using fallback filtering`);
|
|
317
|
+
return validResults;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
throw new DocumentAnalysisError(`Failed to find related documents: ${error}`, 'findRelatedDocuments', [], [
|
|
322
|
+
'Check document manager connectivity',
|
|
323
|
+
'Verify fingerprint cache functionality',
|
|
324
|
+
'Ensure document root directory exists',
|
|
325
|
+
'Try with simpler keywords'
|
|
326
|
+
]);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Calculate content relevance based on keyword overlap
|
|
331
|
+
*
|
|
332
|
+
* Computes a relevance score by analyzing keyword overlap between
|
|
333
|
+
* the source keywords and the target document's title and content.
|
|
334
|
+
*
|
|
335
|
+
* @param keywords - Array of keywords to match against
|
|
336
|
+
* @param title - Target document title
|
|
337
|
+
* @param content - Target document content
|
|
338
|
+
*
|
|
339
|
+
* @returns Relevance score between 0 and 1
|
|
340
|
+
*
|
|
341
|
+
* @throws {DocumentAnalysisError} When input validation fails
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```typescript
|
|
345
|
+
* const relevance = calculateContentRelevance(
|
|
346
|
+
* ['api', 'authentication', 'jwt'],
|
|
347
|
+
* 'User Auth API',
|
|
348
|
+
* 'This document describes JWT-based user authentication...'
|
|
349
|
+
* );
|
|
350
|
+
* console.log(`Relevance: ${relevance}`); // 0.67
|
|
351
|
+
* ```
|
|
352
|
+
*/
|
|
353
|
+
function calculateContentRelevance(keywords, title, content) {
|
|
354
|
+
// Input validation
|
|
355
|
+
if (!Array.isArray(keywords)) {
|
|
356
|
+
throw new DocumentAnalysisError('Keywords must be an array', 'calculateContentRelevance', undefined, ['Ensure keywords parameter is an array of strings']);
|
|
357
|
+
}
|
|
358
|
+
// Handle edge cases gracefully
|
|
359
|
+
if (keywords.length === 0) {
|
|
360
|
+
console.warn('Empty keywords array provided to relevance calculation');
|
|
361
|
+
return 0;
|
|
362
|
+
}
|
|
363
|
+
const safeTitle = title ?? '';
|
|
364
|
+
const safeContent = content ?? '';
|
|
365
|
+
try {
|
|
366
|
+
const targetText = `${safeTitle} ${safeContent}`.toLowerCase();
|
|
367
|
+
// Filter and validate keywords
|
|
368
|
+
const validKeywords = keywords.filter(keyword => {
|
|
369
|
+
if (typeof keyword !== 'string') {
|
|
370
|
+
console.warn('Non-string keyword filtered out:', keyword);
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
return keyword.trim().length > 0;
|
|
374
|
+
});
|
|
375
|
+
if (validKeywords.length === 0) {
|
|
376
|
+
console.warn('No valid keywords found after filtering');
|
|
377
|
+
return 0;
|
|
378
|
+
}
|
|
379
|
+
const matches = validKeywords.filter(keyword => {
|
|
380
|
+
try {
|
|
381
|
+
return targetText.includes(keyword.toLowerCase());
|
|
382
|
+
}
|
|
383
|
+
catch (error) {
|
|
384
|
+
console.warn(`Keyword matching failed for "${keyword}":`, error);
|
|
385
|
+
return false;
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
const relevance = matches.length / validKeywords.length;
|
|
389
|
+
// Ensure result is within expected bounds
|
|
390
|
+
if (relevance < 0 || relevance > 1) {
|
|
391
|
+
console.warn(`Relevance calculation produced out-of-bounds result: ${relevance}`);
|
|
392
|
+
return Math.max(0, Math.min(1, relevance));
|
|
393
|
+
}
|
|
394
|
+
return relevance;
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
throw new DocumentAnalysisError(`Content relevance calculation failed: ${error}`, 'calculateContentRelevance', 0, [
|
|
398
|
+
'Check keyword array format',
|
|
399
|
+
'Verify title and content are strings',
|
|
400
|
+
'Try with simpler input data'
|
|
401
|
+
]);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Calculate fingerprint-based relevance score for fast document filtering
|
|
406
|
+
*
|
|
407
|
+
* Performs lightweight keyword overlap analysis using document fingerprints
|
|
408
|
+
* without requiring full content parsing. Used in Stage 1 filtering.
|
|
409
|
+
*
|
|
410
|
+
* @param sourceKeywords - Keywords extracted from the source document
|
|
411
|
+
* @param fingerprintKeywords - Keywords from the document fingerprint
|
|
412
|
+
*
|
|
413
|
+
* @returns Relevance score between 0 and 1 based on keyword overlap
|
|
414
|
+
*
|
|
415
|
+
* @example
|
|
416
|
+
* ```typescript
|
|
417
|
+
* const score = calculateFingerprintRelevance(
|
|
418
|
+
* ['api', 'authentication', 'jwt'],
|
|
419
|
+
* ['api', 'auth', 'security', 'tokens']
|
|
420
|
+
* );
|
|
421
|
+
* console.log(`Fingerprint relevance: ${score}`); // 0.33 (1/3 match)
|
|
422
|
+
* ```
|
|
423
|
+
*/
|
|
424
|
+
function calculateFingerprintRelevance(sourceKeywords, fingerprintKeywords) {
|
|
425
|
+
// Input validation with graceful handling
|
|
426
|
+
if (!Array.isArray(sourceKeywords) || !Array.isArray(fingerprintKeywords)) {
|
|
427
|
+
logger.warn('Invalid input to calculateFingerprintRelevance', {
|
|
428
|
+
sourceKeywords: typeof sourceKeywords,
|
|
429
|
+
fingerprintKeywords: typeof fingerprintKeywords
|
|
430
|
+
});
|
|
431
|
+
return 0;
|
|
432
|
+
}
|
|
433
|
+
if (sourceKeywords.length === 0 || fingerprintKeywords.length === 0) {
|
|
434
|
+
return 0;
|
|
435
|
+
}
|
|
436
|
+
try {
|
|
437
|
+
// Normalize keywords for case-insensitive matching
|
|
438
|
+
const normalizedSource = sourceKeywords
|
|
439
|
+
.filter(keyword => typeof keyword === 'string' && keyword.trim().length > 0)
|
|
440
|
+
.map(keyword => keyword.toLowerCase().trim());
|
|
441
|
+
const normalizedFingerprint = new Set(fingerprintKeywords
|
|
442
|
+
.filter(keyword => typeof keyword === 'string' && keyword.trim().length > 0)
|
|
443
|
+
.map(keyword => keyword.toLowerCase().trim()));
|
|
444
|
+
if (normalizedSource.length === 0 || normalizedFingerprint.size === 0) {
|
|
445
|
+
return 0;
|
|
446
|
+
}
|
|
447
|
+
// Count matches using Set for O(1) lookup
|
|
448
|
+
const matches = normalizedSource.filter(keyword => normalizedFingerprint.has(keyword));
|
|
449
|
+
// Calculate overlap ratio
|
|
450
|
+
const relevance = matches.length / normalizedSource.length;
|
|
451
|
+
// Ensure result is within bounds
|
|
452
|
+
return Math.max(0, Math.min(1, relevance));
|
|
453
|
+
}
|
|
454
|
+
catch (error) {
|
|
455
|
+
logger.warn('Fingerprint relevance calculation failed', { error });
|
|
456
|
+
return 0;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
//# sourceMappingURL=related-docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-docs.js","sourceRoot":"","sources":["../../../src/shared/document-analysis/related-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and error classes for document analysis system
|
|
3
|
+
*/
|
|
4
|
+
import { AddressingError } from '../addressing-system.js';
|
|
5
|
+
/**
|
|
6
|
+
* Structured information about a broken reference
|
|
7
|
+
*
|
|
8
|
+
* Provides detailed classification and context for reference validation failures,
|
|
9
|
+
* enabling targeted fixes and better user guidance.
|
|
10
|
+
*
|
|
11
|
+
* @example Using BrokenReference data
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const brokenRefs = await detectBrokenReferences(manager, namespace, title, overview);
|
|
14
|
+
* for (const ref of brokenRefs) {
|
|
15
|
+
* if (ref.type === 'missing_document') {
|
|
16
|
+
* console.log(`Document not found: ${ref.documentPath}`);
|
|
17
|
+
* } else if (ref.type === 'missing_section') {
|
|
18
|
+
* console.log(`Section '${ref.sectionSlug}' not found in ${ref.documentPath}`);
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export interface BrokenReference {
|
|
24
|
+
/** Original @reference text as it appeared in content */
|
|
25
|
+
readonly reference: string;
|
|
26
|
+
/** Classification of the failure type */
|
|
27
|
+
readonly type: 'missing_document' | 'missing_section' | 'malformed';
|
|
28
|
+
/** Parsed document path (if parseable) */
|
|
29
|
+
readonly documentPath?: string;
|
|
30
|
+
/** Parsed section slug (if applicable) */
|
|
31
|
+
readonly sectionSlug?: string | undefined;
|
|
32
|
+
/** Human-readable reason for the failure */
|
|
33
|
+
readonly reason: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Error thrown when document analysis operations fail
|
|
37
|
+
*
|
|
38
|
+
* This error provides structured information about analysis failures,
|
|
39
|
+
* including the operation that failed and any partial results that
|
|
40
|
+
* were successfully obtained.
|
|
41
|
+
*
|
|
42
|
+
* @example Handling analysis errors
|
|
43
|
+
* ```typescript
|
|
44
|
+
* try {
|
|
45
|
+
* const suggestions = await analyzeDocumentSuggestions(manager, namespace, title, overview);
|
|
46
|
+
* } catch (error) {
|
|
47
|
+
* if (error instanceof DocumentAnalysisError) {
|
|
48
|
+
* console.error('Analysis failed:', error.message);
|
|
49
|
+
* console.log('Partial results:', error.partialResults);
|
|
50
|
+
* console.log('Recovery suggestions:', error.recoverySuggestions);
|
|
51
|
+
* }
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare class DocumentAnalysisError extends AddressingError {
|
|
56
|
+
operation: string;
|
|
57
|
+
partialResults?: unknown | undefined;
|
|
58
|
+
recoverySuggestions?: string[] | undefined;
|
|
59
|
+
constructor(message: string, operation: string, partialResults?: unknown | undefined, recoverySuggestions?: string[] | undefined);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Structured result type for analysis operations that may partially fail
|
|
63
|
+
*
|
|
64
|
+
* @template T - The type of the successful result
|
|
65
|
+
*/
|
|
66
|
+
export interface AnalysisResult<T> {
|
|
67
|
+
/** Whether the operation completed successfully */
|
|
68
|
+
success: boolean;
|
|
69
|
+
/** The result data if successful, or partial results if failed */
|
|
70
|
+
data: T;
|
|
71
|
+
/** Error information if the operation failed */
|
|
72
|
+
error?: {
|
|
73
|
+
message: string;
|
|
74
|
+
operation: string;
|
|
75
|
+
code: string;
|
|
76
|
+
};
|
|
77
|
+
/** Suggestions for recovering from the error */
|
|
78
|
+
recoverySuggestions?: string[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Input validation error details
|
|
82
|
+
*/
|
|
83
|
+
export interface ValidationError {
|
|
84
|
+
parameter: string;
|
|
85
|
+
value: unknown;
|
|
86
|
+
expected: string;
|
|
87
|
+
received: string;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/document-analysis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,WAAW,CAAC;IACpE,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAG/C,SAAS,EAAE,MAAM;IACjB,cAAc,CAAC,EAAE,OAAO;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE;gBAHrC,OAAO,EAAE,MAAM,EACR,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,OAAO,YAAA,EACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,YAAA;CASxC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,CAAC,CAAC;IACR,gDAAgD;IAChD,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and error classes for document analysis system
|
|
3
|
+
*/
|
|
4
|
+
import { AddressingError } from '../addressing-system.js';
|
|
5
|
+
/**
|
|
6
|
+
* Error thrown when document analysis operations fail
|
|
7
|
+
*
|
|
8
|
+
* This error provides structured information about analysis failures,
|
|
9
|
+
* including the operation that failed and any partial results that
|
|
10
|
+
* were successfully obtained.
|
|
11
|
+
*
|
|
12
|
+
* @example Handling analysis errors
|
|
13
|
+
* ```typescript
|
|
14
|
+
* try {
|
|
15
|
+
* const suggestions = await analyzeDocumentSuggestions(manager, namespace, title, overview);
|
|
16
|
+
* } catch (error) {
|
|
17
|
+
* if (error instanceof DocumentAnalysisError) {
|
|
18
|
+
* console.error('Analysis failed:', error.message);
|
|
19
|
+
* console.log('Partial results:', error.partialResults);
|
|
20
|
+
* console.log('Recovery suggestions:', error.recoverySuggestions);
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class DocumentAnalysisError extends AddressingError {
|
|
26
|
+
operation;
|
|
27
|
+
partialResults;
|
|
28
|
+
recoverySuggestions;
|
|
29
|
+
constructor(message, operation, partialResults, recoverySuggestions) {
|
|
30
|
+
super(message, 'DOCUMENT_ANALYSIS_ERROR', {
|
|
31
|
+
operation,
|
|
32
|
+
partialResults,
|
|
33
|
+
recoverySuggestions
|
|
34
|
+
});
|
|
35
|
+
this.operation = operation;
|
|
36
|
+
this.partialResults = partialResults;
|
|
37
|
+
this.recoverySuggestions = recoverySuggestions;
|
|
38
|
+
this.name = 'DocumentAnalysisError';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/document-analysis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAiC1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAG/C;IACA;IACA;IAJT,YACE,OAAe,EACR,SAAiB,EACjB,cAAwB,EACxB,mBAA8B;QAErC,KAAK,CAAC,OAAO,EAAE,yBAAyB,EAAE;YACxC,SAAS;YACT,cAAc;YACd,mBAAmB;SACpB,CAAC,CAAC;QARI,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAU;QACxB,wBAAmB,GAAnB,mBAAmB,CAAW;QAOrC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document analysis and smart suggestions functionality
|
|
3
|
+
*
|
|
4
|
+
* @deprecated This file is maintained for backward compatibility only.
|
|
5
|
+
* Import from 'shared/document-analysis/index.js' instead.
|
|
6
|
+
*
|
|
7
|
+
* The document analysis functionality has been refactored into focused modules:
|
|
8
|
+
* - index.ts: Main orchestrator and exports
|
|
9
|
+
* - related-docs.ts: Related document discovery
|
|
10
|
+
* - reference-validation.ts: Broken reference detection
|
|
11
|
+
* - keyword-utils.ts: Enhanced keyword extraction and relevance scoring
|
|
12
|
+
* - types.ts: Shared interfaces and error classes
|
|
13
|
+
*/
|
|
14
|
+
export { analyzeDocumentSuggestions, DocumentAnalysisError, type BrokenReference, type AnalysisResult } from './document-analysis/index.js';
|
|
15
|
+
//# sourceMappingURL=document-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-analysis.d.ts","sourceRoot":"","sources":["../../src/shared/document-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document analysis and smart suggestions functionality
|
|
3
|
+
*
|
|
4
|
+
* @deprecated This file is maintained for backward compatibility only.
|
|
5
|
+
* Import from 'shared/document-analysis/index.js' instead.
|
|
6
|
+
*
|
|
7
|
+
* The document analysis functionality has been refactored into focused modules:
|
|
8
|
+
* - index.ts: Main orchestrator and exports
|
|
9
|
+
* - related-docs.ts: Related document discovery
|
|
10
|
+
* - reference-validation.ts: Broken reference detection
|
|
11
|
+
* - keyword-utils.ts: Enhanced keyword extraction and relevance scoring
|
|
12
|
+
* - types.ts: Shared interfaces and error classes
|
|
13
|
+
*/
|
|
14
|
+
// Re-export everything from the modular structure for backward compatibility
|
|
15
|
+
export { analyzeDocumentSuggestions, DocumentAnalysisError } from './document-analysis/index.js';
|
|
16
|
+
//# sourceMappingURL=document-analysis.js.map
|