@dotcontext/cli 0.8.2 → 0.9.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 +1 -1
- package/README.md +234 -135
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/generators/documentation/codebaseMapGenerator.d.ts +29 -46
- package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/codebaseMapGenerator.js +148 -244
- package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +13 -8
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/index.d.ts +1 -1
- package/dist/generators/documentation/index.d.ts.map +1 -1
- package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -1
- package/dist/generators/shared/structures/documentation/architecture.js +9 -9
- package/dist/generators/shared/structures/documentation/architecture.js.map +1 -1
- package/dist/generators/shared/structures/documentation/dataFlow.js +2 -2
- package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -1
- package/dist/generators/shared/structures/documentation/glossary.js +2 -2
- package/dist/generators/shared/structures/documentation/glossary.js.map +1 -1
- package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -1
- package/dist/generators/shared/structures/documentation/projectOverview.js +10 -11
- package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -1
- package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -1
- package/dist/generators/shared/structures/skills/factory.js +19 -15
- package/dist/generators/shared/structures/skills/factory.js.map +1 -1
- package/dist/generators/skills/skillGenerator.d.ts +2 -1
- package/dist/generators/skills/skillGenerator.d.ts.map +1 -1
- package/dist/generators/skills/skillGenerator.js +47 -6
- package/dist/generators/skills/skillGenerator.js.map +1 -1
- package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/skills/templates/indexTemplate.js +22 -15
- package/dist/generators/skills/templates/indexTemplate.js.map +1 -1
- package/dist/harness/index.d.ts +11 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +33 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/index.js +365 -339
- package/dist/index.js.map +1 -1
- package/dist/mcp/bin.d.ts +19 -0
- package/dist/mcp/bin.d.ts.map +1 -0
- package/dist/mcp/bin.js +189 -0
- package/dist/mcp/bin.js.map +1 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +28 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/services/autoFill/autoFillService.d.ts.map +1 -1
- package/dist/services/autoFill/autoFillService.js +7 -6
- package/dist/services/autoFill/autoFillService.js.map +1 -1
- package/dist/services/cli/index.d.ts +8 -0
- package/dist/services/cli/index.d.ts.map +1 -0
- package/dist/services/cli/index.js +17 -0
- package/dist/services/cli/index.js.map +1 -0
- package/dist/services/cli/mcpInstallService.d.ts +57 -0
- package/dist/services/cli/mcpInstallService.d.ts.map +1 -0
- package/dist/services/cli/mcpInstallService.js +607 -0
- package/dist/services/cli/mcpInstallService.js.map +1 -0
- package/dist/services/cli/stateDetector.d.ts +55 -0
- package/dist/services/cli/stateDetector.d.ts.map +1 -0
- package/dist/services/cli/stateDetector.js +191 -0
- package/dist/services/cli/stateDetector.js.map +1 -0
- package/dist/services/export/contextExportService.js +3 -3
- package/dist/services/export/contextExportService.js.map +1 -1
- package/dist/services/export/exportRulesService.d.ts +1 -0
- package/dist/services/export/exportRulesService.d.ts.map +1 -1
- package/dist/services/export/exportRulesService.js +20 -8
- package/dist/services/export/exportRulesService.js.map +1 -1
- package/dist/services/export/skillExportService.d.ts.map +1 -1
- package/dist/services/export/skillExportService.js +4 -1
- package/dist/services/export/skillExportService.js.map +1 -1
- package/dist/services/harness/agentsService.d.ts +31 -0
- package/dist/services/harness/agentsService.d.ts.map +1 -0
- package/dist/services/harness/agentsService.js +135 -0
- package/dist/services/harness/agentsService.js.map +1 -0
- package/dist/services/harness/contextService.d.ts +167 -0
- package/dist/services/harness/contextService.d.ts.map +1 -0
- package/dist/services/harness/contextService.js +403 -0
- package/dist/services/harness/contextService.js.map +1 -0
- package/dist/services/harness/contextTools.d.ts +95 -0
- package/dist/services/harness/contextTools.d.ts.map +1 -0
- package/dist/services/harness/contextTools.js +990 -0
- package/dist/services/harness/contextTools.js.map +1 -0
- package/dist/services/harness/datasetService.d.ts +63 -0
- package/dist/services/harness/datasetService.d.ts.map +1 -0
- package/dist/services/harness/datasetService.js +261 -0
- package/dist/services/harness/datasetService.js.map +1 -0
- package/dist/services/harness/executionService.d.ts +74 -0
- package/dist/services/harness/executionService.d.ts.map +1 -0
- package/dist/services/harness/executionService.js +213 -0
- package/dist/services/harness/executionService.js.map +1 -0
- package/dist/services/harness/index.d.ts +21 -0
- package/dist/services/harness/index.d.ts.map +1 -0
- package/dist/services/harness/index.js +52 -0
- package/dist/services/harness/index.js.map +1 -0
- package/dist/services/harness/plansService.d.ts +45 -0
- package/dist/services/harness/plansService.d.ts.map +1 -0
- package/dist/services/harness/plansService.js +251 -0
- package/dist/services/harness/plansService.js.map +1 -0
- package/dist/services/harness/policyService.d.ts +116 -0
- package/dist/services/harness/policyService.d.ts.map +1 -0
- package/dist/services/harness/policyService.js +510 -0
- package/dist/services/harness/policyService.js.map +1 -0
- package/dist/services/harness/replayService.d.ts +63 -0
- package/dist/services/harness/replayService.d.ts.map +1 -0
- package/dist/services/harness/replayService.js +242 -0
- package/dist/services/harness/replayService.js.map +1 -0
- package/dist/services/harness/runtimeStateService.d.ts +120 -0
- package/dist/services/harness/runtimeStateService.d.ts.map +1 -0
- package/dist/services/harness/runtimeStateService.js +316 -0
- package/dist/services/harness/runtimeStateService.js.map +1 -0
- package/dist/services/harness/sensorCatalogService.d.ts +50 -0
- package/dist/services/harness/sensorCatalogService.d.ts.map +1 -0
- package/dist/services/harness/sensorCatalogService.js +308 -0
- package/dist/services/harness/sensorCatalogService.js.map +1 -0
- package/dist/services/harness/sensorsService.d.ts +64 -0
- package/dist/services/harness/sensorsService.d.ts.map +1 -0
- package/dist/services/harness/sensorsService.js +88 -0
- package/dist/services/harness/sensorsService.js.map +1 -0
- package/dist/services/harness/skillsService.d.ts +31 -0
- package/dist/services/harness/skillsService.d.ts.map +1 -0
- package/dist/services/harness/skillsService.js +296 -0
- package/dist/services/harness/skillsService.js.map +1 -0
- package/dist/services/harness/taskContractsService.d.ts +88 -0
- package/dist/services/harness/taskContractsService.d.ts.map +1 -0
- package/dist/services/harness/taskContractsService.js +210 -0
- package/dist/services/harness/taskContractsService.js.map +1 -0
- package/dist/services/harness/workflowStateService.d.ts +51 -0
- package/dist/services/harness/workflowStateService.d.ts.map +1 -0
- package/dist/services/harness/workflowStateService.js +215 -0
- package/dist/services/harness/workflowStateService.js.map +1 -0
- package/dist/services/import/agentsDetector.d.ts.map +1 -1
- package/dist/services/import/agentsDetector.js +14 -8
- package/dist/services/import/agentsDetector.js.map +1 -1
- package/dist/services/import/importAgentsService.d.ts +2 -2
- package/dist/services/import/importAgentsService.d.ts.map +1 -1
- package/dist/services/import/importAgentsService.js +8 -1
- package/dist/services/import/importAgentsService.js.map +1 -1
- package/dist/services/import/importRulesService.d.ts +2 -2
- package/dist/services/import/importRulesService.d.ts.map +1 -1
- package/dist/services/import/importRulesService.js +8 -1
- package/dist/services/import/importRulesService.js.map +1 -1
- package/dist/services/import/presets.js +2 -2
- package/dist/services/import/presets.js.map +1 -1
- package/dist/services/import/rulesDetector.d.ts.map +1 -1
- package/dist/services/import/rulesDetector.js +16 -1
- package/dist/services/import/rulesDetector.js.map +1 -1
- package/dist/services/import/types.d.ts +1 -1
- package/dist/services/import/types.d.ts.map +1 -1
- package/dist/services/mcp/actionLogger.d.ts +2 -1
- package/dist/services/mcp/actionLogger.d.ts.map +1 -1
- package/dist/services/mcp/actionLogger.js +76 -15
- package/dist/services/mcp/actionLogger.js.map +1 -1
- package/dist/services/mcp/gateway/agent.d.ts.map +1 -1
- package/dist/services/mcp/gateway/agent.js +15 -104
- package/dist/services/mcp/gateway/agent.js.map +1 -1
- package/dist/services/mcp/gateway/context.d.ts.map +1 -1
- package/dist/services/mcp/gateway/context.js +60 -172
- package/dist/services/mcp/gateway/context.js.map +1 -1
- package/dist/services/mcp/gateway/explore.js +6 -6
- package/dist/services/mcp/gateway/explore.js.map +1 -1
- package/dist/services/mcp/gateway/harness.d.ts +7 -0
- package/dist/services/mcp/gateway/harness.d.ts.map +1 -0
- package/dist/services/mcp/gateway/harness.js +337 -0
- package/dist/services/mcp/gateway/harness.js.map +1 -0
- package/dist/services/mcp/gateway/index.d.ts +3 -2
- package/dist/services/mcp/gateway/index.d.ts.map +1 -1
- package/dist/services/mcp/gateway/index.js +4 -2
- package/dist/services/mcp/gateway/index.js.map +1 -1
- package/dist/services/mcp/gateway/metrics.d.ts.map +1 -1
- package/dist/services/mcp/gateway/metrics.js +8 -8
- package/dist/services/mcp/gateway/metrics.js.map +1 -1
- package/dist/services/mcp/gateway/plan.d.ts.map +1 -1
- package/dist/services/mcp/gateway/plan.js +23 -211
- package/dist/services/mcp/gateway/plan.js.map +1 -1
- package/dist/services/mcp/gateway/shared.d.ts +1 -32
- package/dist/services/mcp/gateway/shared.d.ts.map +1 -1
- package/dist/services/mcp/gateway/shared.js +4 -30
- package/dist/services/mcp/gateway/shared.js.map +1 -1
- package/dist/services/mcp/gateway/skill.d.ts.map +1 -1
- package/dist/services/mcp/gateway/skill.js +14 -281
- package/dist/services/mcp/gateway/skill.js.map +1 -1
- package/dist/services/mcp/gateway/types.d.ts +74 -3
- package/dist/services/mcp/gateway/types.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowAdvance.js +37 -9
- package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -1
- package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowInit.js +8 -2
- package/dist/services/mcp/gateway/workflowInit.js.map +1 -1
- package/dist/services/mcp/gateway/workflowManage.d.ts +17 -1
- package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowManage.js +155 -10
- package/dist/services/mcp/gateway/workflowManage.js.map +1 -1
- package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowStatus.js +5 -3
- package/dist/services/mcp/gateway/workflowStatus.js.map +1 -1
- package/dist/services/mcp/gatewayTools.d.ts +1 -1
- package/dist/services/mcp/gatewayTools.d.ts.map +1 -1
- package/dist/services/mcp/gatewayTools.js +2 -1
- package/dist/services/mcp/gatewayTools.js.map +1 -1
- package/dist/services/mcp/index.d.ts +10 -4
- package/dist/services/mcp/index.d.ts.map +1 -1
- package/dist/services/mcp/index.js +9 -3
- package/dist/services/mcp/index.js.map +1 -1
- package/dist/services/mcp/mcpInstallService.d.ts +4 -52
- package/dist/services/mcp/mcpInstallService.d.ts.map +1 -1
- package/dist/services/mcp/mcpInstallService.js +5 -596
- package/dist/services/mcp/mcpInstallService.js.map +1 -1
- package/dist/services/mcp/mcpServer.d.ts +5 -6
- package/dist/services/mcp/mcpServer.d.ts.map +1 -1
- package/dist/services/mcp/mcpServer.js +220 -28
- package/dist/services/mcp/mcpServer.js.map +1 -1
- package/dist/services/qa/patternInferer.d.ts +2 -31
- package/dist/services/qa/patternInferer.d.ts.map +1 -1
- package/dist/services/qa/patternInferer.js +4 -353
- package/dist/services/qa/patternInferer.js.map +1 -1
- package/dist/services/qa/qaService.d.ts +6 -10
- package/dist/services/qa/qaService.d.ts.map +1 -1
- package/dist/services/qa/qaService.js +17 -53
- package/dist/services/qa/qaService.js.map +1 -1
- package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -1
- package/dist/services/reverseSync/importSkillsService.js +4 -1
- package/dist/services/reverseSync/importSkillsService.js.map +1 -1
- package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -1
- package/dist/services/reverseSync/reverseQuickSyncService.js +10 -6
- package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -1
- package/dist/services/reverseSync/skillsDetector.js +2 -2
- package/dist/services/reverseSync/skillsDetector.js.map +1 -1
- package/dist/services/reverseSync/toolDetector.d.ts.map +1 -1
- package/dist/services/reverseSync/toolDetector.js +3 -0
- package/dist/services/reverseSync/toolDetector.js.map +1 -1
- package/dist/services/semantic/index.d.ts +1 -0
- package/dist/services/semantic/index.d.ts.map +1 -1
- package/dist/services/semantic/index.js +3 -1
- package/dist/services/semantic/index.js.map +1 -1
- package/dist/services/semantic/semanticSnapshotService.d.ts +86 -0
- package/dist/services/semantic/semanticSnapshotService.d.ts.map +1 -0
- package/dist/services/semantic/semanticSnapshotService.js +573 -0
- package/dist/services/semantic/semanticSnapshotService.js.map +1 -0
- package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -1
- package/dist/services/shared/contentTypeRegistry.js +9 -0
- package/dist/services/shared/contentTypeRegistry.js.map +1 -1
- package/dist/services/shared/contextLayout.d.ts +18 -0
- package/dist/services/shared/contextLayout.d.ts.map +1 -0
- package/dist/services/shared/contextLayout.js +139 -0
- package/dist/services/shared/contextLayout.js.map +1 -0
- package/dist/services/shared/executionContext.d.ts +38 -0
- package/dist/services/shared/executionContext.d.ts.map +1 -0
- package/dist/services/shared/executionContext.js +39 -0
- package/dist/services/shared/executionContext.js.map +1 -0
- package/dist/services/shared/index.d.ts +2 -0
- package/dist/services/shared/index.d.ts.map +1 -1
- package/dist/services/shared/index.js +11 -1
- package/dist/services/shared/index.js.map +1 -1
- package/dist/services/shared/toolRegistry.d.ts +6 -0
- package/dist/services/shared/toolRegistry.d.ts.map +1 -1
- package/dist/services/shared/toolRegistry.js +34 -20
- package/dist/services/shared/toolRegistry.js.map +1 -1
- package/dist/services/stack/scaffoldFilter.d.ts +3 -3
- package/dist/services/state/stateDetector.d.ts +4 -49
- package/dist/services/state/stateDetector.d.ts.map +1 -1
- package/dist/services/state/stateDetector.js +9 -182
- package/dist/services/state/stateDetector.js.map +1 -1
- package/dist/services/sync/index.d.ts +1 -1
- package/dist/services/sync/index.d.ts.map +1 -1
- package/dist/services/sync/index.js.map +1 -1
- package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -1
- package/dist/services/sync/markdownReferenceHandler.js +7 -2
- package/dist/services/sync/markdownReferenceHandler.js.map +1 -1
- package/dist/services/sync/presets.d.ts.map +1 -1
- package/dist/services/sync/presets.js +1 -0
- package/dist/services/sync/presets.js.map +1 -1
- package/dist/services/sync/symlinkHandler.d.ts.map +1 -1
- package/dist/services/sync/symlinkHandler.js +7 -2
- package/dist/services/sync/symlinkHandler.js.map +1 -1
- package/dist/services/sync/syncService.d.ts +2 -2
- package/dist/services/sync/syncService.d.ts.map +1 -1
- package/dist/services/sync/syncService.js +17 -3
- package/dist/services/sync/syncService.js.map +1 -1
- package/dist/services/sync/types.d.ts +9 -1
- package/dist/services/sync/types.d.ts.map +1 -1
- package/dist/services/workflow/index.d.ts +1 -1
- package/dist/services/workflow/index.d.ts.map +1 -1
- package/dist/services/workflow/index.js +2 -1
- package/dist/services/workflow/index.js.map +1 -1
- package/dist/services/workflow/workflowService.d.ts +68 -0
- package/dist/services/workflow/workflowService.d.ts.map +1 -1
- package/dist/services/workflow/workflowService.js +416 -1
- package/dist/services/workflow/workflowService.js.map +1 -1
- package/dist/utils/gitignoreManager.d.ts +8 -0
- package/dist/utils/gitignoreManager.d.ts.map +1 -1
- package/dist/utils/gitignoreManager.js +40 -0
- package/dist/utils/gitignoreManager.js.map +1 -1
- package/dist/utils/i18n.d.ts +1 -1
- package/dist/utils/i18n.js +2 -2
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/processShutdown.d.ts +20 -0
- package/dist/utils/processShutdown.d.ts.map +1 -0
- package/dist/utils/processShutdown.js +47 -0
- package/dist/utils/processShutdown.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +1 -1
- package/dist/utils/prompts/index.d.ts.map +1 -1
- package/dist/utils/prompts/index.js +1 -3
- package/dist/utils/prompts/index.js.map +1 -1
- package/dist/utils/prompts/smartDefaults.d.ts +0 -9
- package/dist/utils/prompts/smartDefaults.d.ts.map +1 -1
- package/dist/utils/prompts/smartDefaults.js +0 -23
- package/dist/utils/prompts/smartDefaults.js.map +1 -1
- package/dist/utils/prompts/types.d.ts +0 -11
- package/dist/utils/prompts/types.d.ts.map +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +6 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/orchestrator.d.ts.map +1 -1
- package/dist/workflow/orchestrator.js +3 -14
- package/dist/workflow/orchestrator.js.map +1 -1
- package/dist/workflow/plans/planLinker.d.ts +13 -0
- package/dist/workflow/plans/planLinker.d.ts.map +1 -1
- package/dist/workflow/plans/planLinker.js +77 -2
- package/dist/workflow/plans/planLinker.js.map +1 -1
- package/dist/workflow/plans/types.d.ts +6 -0
- package/dist/workflow/plans/types.d.ts.map +1 -1
- package/dist/workflow/skills/frontmatter.d.ts +9 -0
- package/dist/workflow/skills/frontmatter.d.ts.map +1 -1
- package/dist/workflow/skills/frontmatter.js +16 -0
- package/dist/workflow/skills/frontmatter.js.map +1 -1
- package/dist/workflow/skills/index.d.ts +1 -1
- package/dist/workflow/skills/index.d.ts.map +1 -1
- package/dist/workflow/skills/index.js +3 -1
- package/dist/workflow/skills/index.js.map +1 -1
- package/dist/workflow/skills/skillRegistry.d.ts.map +1 -1
- package/dist/workflow/skills/skillRegistry.js +4 -1
- package/dist/workflow/skills/skillRegistry.js.map +1 -1
- package/dist/workflow/skills/skillTemplates.d.ts.map +1 -1
- package/dist/workflow/skills/skillTemplates.js +69 -30
- package/dist/workflow/skills/skillTemplates.js.map +1 -1
- package/dist/workflow/status/statusManager.d.ts +8 -3
- package/dist/workflow/status/statusManager.d.ts.map +1 -1
- package/dist/workflow/status/statusManager.js +60 -21
- package/dist/workflow/status/statusManager.js.map +1 -1
- package/dist/workflow/types.d.ts +1 -1
- package/package.json +16 -7
- package/dist/services/ai/aiSdkClient.d.ts +0 -67
- package/dist/services/ai/aiSdkClient.d.ts.map +0 -1
- package/dist/services/ai/aiSdkClient.js +0 -143
- package/dist/services/ai/aiSdkClient.js.map +0 -1
- package/dist/services/ai/index.d.ts +0 -5
- package/dist/services/ai/index.d.ts.map +0 -1
- package/dist/services/ai/index.js +0 -40
- package/dist/services/ai/index.js.map +0 -1
- package/dist/services/ai/providerFactory.d.ts +0 -35
- package/dist/services/ai/providerFactory.d.ts.map +0 -1
- package/dist/services/ai/providerFactory.js +0 -107
- package/dist/services/ai/providerFactory.js.map +0 -1
- package/dist/services/ai/schemas.d.ts +0 -557
- package/dist/services/ai/schemas.d.ts.map +0 -1
- package/dist/services/ai/schemas.js +0 -357
- package/dist/services/ai/schemas.js.map +0 -1
- package/dist/services/ai/toolRegistry.d.ts +0 -27
- package/dist/services/ai/toolRegistry.d.ts.map +0 -1
- package/dist/services/ai/toolRegistry.js +0 -151
- package/dist/services/ai/toolRegistry.js.map +0 -1
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +0 -33
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +0 -1
- package/dist/services/ai/tools/analyzeSymbolsTool.js +0 -57
- package/dist/services/ai/tools/analyzeSymbolsTool.js.map +0 -1
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts +0 -18
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +0 -1
- package/dist/services/ai/tools/checkScaffoldingTool.js +0 -89
- package/dist/services/ai/tools/checkScaffoldingTool.js.map +0 -1
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts +0 -124
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +0 -1
- package/dist/services/ai/tools/fillScaffoldingTool.js +0 -397
- package/dist/services/ai/tools/fillScaffoldingTool.js.map +0 -1
- package/dist/services/ai/tools/getCodebaseMapTool.d.ts +0 -17
- package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +0 -1
- package/dist/services/ai/tools/getCodebaseMapTool.js +0 -122
- package/dist/services/ai/tools/getCodebaseMapTool.js.map +0 -1
- package/dist/services/ai/tools/getFileStructureTool.d.ts +0 -29
- package/dist/services/ai/tools/getFileStructureTool.d.ts.map +0 -1
- package/dist/services/ai/tools/getFileStructureTool.js +0 -48
- package/dist/services/ai/tools/getFileStructureTool.js.map +0 -1
- package/dist/services/ai/tools/index.d.ts +0 -21
- package/dist/services/ai/tools/index.d.ts.map +0 -1
- package/dist/services/ai/tools/index.js +0 -75
- package/dist/services/ai/tools/index.js.map +0 -1
- package/dist/services/ai/tools/initializeContextTool.d.ts +0 -135
- package/dist/services/ai/tools/initializeContextTool.d.ts.map +0 -1
- package/dist/services/ai/tools/initializeContextTool.js +0 -447
- package/dist/services/ai/tools/initializeContextTool.js.map +0 -1
- package/dist/services/ai/tools/listFilesTool.d.ts +0 -18
- package/dist/services/ai/tools/listFilesTool.d.ts.map +0 -1
- package/dist/services/ai/tools/listFilesTool.js +0 -34
- package/dist/services/ai/tools/listFilesTool.js.map +0 -1
- package/dist/services/ai/tools/readFileTool.d.ts +0 -17
- package/dist/services/ai/tools/readFileTool.d.ts.map +0 -1
- package/dist/services/ai/tools/readFileTool.js +0 -63
- package/dist/services/ai/tools/readFileTool.js.map +0 -1
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts +0 -41
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +0 -1
- package/dist/services/ai/tools/scaffoldPlanTool.js +0 -183
- package/dist/services/ai/tools/scaffoldPlanTool.js.map +0 -1
- package/dist/services/ai/tools/searchCodeTool.d.ts +0 -25
- package/dist/services/ai/tools/searchCodeTool.d.ts.map +0 -1
- package/dist/services/ai/tools/searchCodeTool.js +0 -96
- package/dist/services/ai/tools/searchCodeTool.js.map +0 -1
- package/dist/services/baseLLMClient.d.ts +0 -12
- package/dist/services/baseLLMClient.d.ts.map +0 -1
- package/dist/services/baseLLMClient.js +0 -80
- package/dist/services/baseLLMClient.js.map +0 -1
|
@@ -1,397 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.fillScaffoldingTool = exports.fillSingleFileTool = exports.listFilesToFillTool = void 0;
|
|
37
|
-
exports.getOrBuildContext = getOrBuildContext;
|
|
38
|
-
exports.cleanupSharedContext = cleanupSharedContext;
|
|
39
|
-
const ai_1 = require("ai");
|
|
40
|
-
const path = __importStar(require("path"));
|
|
41
|
-
const fs = __importStar(require("fs-extra"));
|
|
42
|
-
const zod_1 = require("zod");
|
|
43
|
-
const contextBuilder_1 = require("../../semantic/contextBuilder");
|
|
44
|
-
const types_1 = require("../../semantic/types");
|
|
45
|
-
const scaffoldStructures_1 = require("../../../generators/shared/scaffoldStructures");
|
|
46
|
-
// Shared context builder instance for efficiency
|
|
47
|
-
let sharedContextBuilder = null;
|
|
48
|
-
let cachedContext = null;
|
|
49
|
-
/**
|
|
50
|
-
* Get or build semantic context for a repository.
|
|
51
|
-
* Caches the context for efficiency when processing multiple files.
|
|
52
|
-
* Loads user-provided exclude patterns from .context/config.json if available.
|
|
53
|
-
*/
|
|
54
|
-
async function getOrBuildContext(repoPath) {
|
|
55
|
-
if (cachedContext && cachedContext.repoPath === repoPath) {
|
|
56
|
-
return cachedContext.context;
|
|
57
|
-
}
|
|
58
|
-
// Cleanup existing builder before creating new one (cache invalidation)
|
|
59
|
-
// This releases LSP language server child processes
|
|
60
|
-
if (sharedContextBuilder) {
|
|
61
|
-
await sharedContextBuilder.shutdown();
|
|
62
|
-
sharedContextBuilder = null;
|
|
63
|
-
}
|
|
64
|
-
// Load user-provided exclude patterns persisted during init
|
|
65
|
-
let options = {};
|
|
66
|
-
const configPath = path.join(repoPath, '.context', 'config.json');
|
|
67
|
-
if (await fs.pathExists(configPath)) {
|
|
68
|
-
try {
|
|
69
|
-
const config = await fs.readJson(configPath);
|
|
70
|
-
if (Array.isArray(config.exclude) && config.exclude.length > 0) {
|
|
71
|
-
// Merge user excludes with defaults — the spread in SemanticContextBuilder
|
|
72
|
-
// replaces rather than merges, so we combine them here
|
|
73
|
-
options = { exclude: [...new Set([...types_1.DEFAULT_EXCLUDE_PATTERNS, ...config.exclude])] };
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
// Ignore config read errors — fall back to defaults
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
sharedContextBuilder = new contextBuilder_1.SemanticContextBuilder(options);
|
|
81
|
-
const context = await sharedContextBuilder.buildDocumentationContext(repoPath);
|
|
82
|
-
cachedContext = { repoPath, context };
|
|
83
|
-
return context;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Cleanup shared context builder resources.
|
|
87
|
-
* Call this during server/process shutdown to release LSP processes.
|
|
88
|
-
*/
|
|
89
|
-
async function cleanupSharedContext() {
|
|
90
|
-
if (sharedContextBuilder) {
|
|
91
|
-
await sharedContextBuilder.shutdown();
|
|
92
|
-
sharedContextBuilder = null;
|
|
93
|
-
cachedContext = null;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// ============================================
|
|
97
|
-
// listFilesToFill - Lightweight file listing
|
|
98
|
-
// ============================================
|
|
99
|
-
const ListFilesToFillInputSchema = zod_1.z.object({
|
|
100
|
-
repoPath: zod_1.z.string().describe('Repository path'),
|
|
101
|
-
outputDir: zod_1.z.string().optional().describe('Scaffold directory (default: ./.context)'),
|
|
102
|
-
target: zod_1.z.enum(['docs', 'agents', 'plans', 'all']).default('all').optional()
|
|
103
|
-
.describe('Which scaffolding to list')
|
|
104
|
-
});
|
|
105
|
-
exports.listFilesToFillTool = (0, ai_1.tool)({
|
|
106
|
-
description: `List scaffold files that need to be filled. Returns only file paths (no content) for efficient listing.
|
|
107
|
-
Use this first to get the list, then call fillSingleFile for each file.`,
|
|
108
|
-
inputSchema: ListFilesToFillInputSchema,
|
|
109
|
-
execute: async (input) => {
|
|
110
|
-
const { repoPath, outputDir: customOutputDir, target = 'all' } = input;
|
|
111
|
-
const resolvedRepoPath = path.resolve(repoPath);
|
|
112
|
-
const outputDir = customOutputDir
|
|
113
|
-
? path.resolve(customOutputDir)
|
|
114
|
-
: path.resolve(resolvedRepoPath, '.context');
|
|
115
|
-
try {
|
|
116
|
-
if (!await fs.pathExists(outputDir)) {
|
|
117
|
-
return {
|
|
118
|
-
success: false,
|
|
119
|
-
error: `Scaffold directory does not exist: ${outputDir}. Run initializeContext first.`
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
const files = [];
|
|
123
|
-
// Collect docs
|
|
124
|
-
if (target === 'all' || target === 'docs') {
|
|
125
|
-
const docsDir = path.join(outputDir, 'docs');
|
|
126
|
-
if (await fs.pathExists(docsDir)) {
|
|
127
|
-
const docFiles = await fs.readdir(docsDir);
|
|
128
|
-
for (const file of docFiles) {
|
|
129
|
-
if (!file.endsWith('.md'))
|
|
130
|
-
continue;
|
|
131
|
-
files.push({
|
|
132
|
-
path: path.join(docsDir, file),
|
|
133
|
-
relativePath: `docs/${file}`,
|
|
134
|
-
type: 'doc'
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
// Collect agents
|
|
140
|
-
if (target === 'all' || target === 'agents') {
|
|
141
|
-
const agentsDir = path.join(outputDir, 'agents');
|
|
142
|
-
if (await fs.pathExists(agentsDir)) {
|
|
143
|
-
const agentFiles = await fs.readdir(agentsDir);
|
|
144
|
-
for (const file of agentFiles) {
|
|
145
|
-
if (!file.endsWith('.md') || file.toLowerCase() === 'readme.md')
|
|
146
|
-
continue;
|
|
147
|
-
files.push({
|
|
148
|
-
path: path.join(agentsDir, file),
|
|
149
|
-
relativePath: `agents/${file}`,
|
|
150
|
-
type: 'agent'
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// Collect plans
|
|
156
|
-
if (target === 'all' || target === 'plans') {
|
|
157
|
-
const plansDir = path.join(outputDir, 'plans');
|
|
158
|
-
if (await fs.pathExists(plansDir)) {
|
|
159
|
-
const planFiles = await fs.readdir(plansDir);
|
|
160
|
-
for (const file of planFiles) {
|
|
161
|
-
if (!file.endsWith('.md') || file.toLowerCase() === 'readme.md')
|
|
162
|
-
continue;
|
|
163
|
-
files.push({
|
|
164
|
-
path: path.join(plansDir, file),
|
|
165
|
-
relativePath: `plans/${file}`,
|
|
166
|
-
type: 'plan'
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return {
|
|
172
|
-
success: true,
|
|
173
|
-
files,
|
|
174
|
-
totalCount: files.length,
|
|
175
|
-
instructions: `Found ${files.length} files to fill. Call fillSingleFile for each file path to get suggested content.`
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
return {
|
|
180
|
-
success: false,
|
|
181
|
-
error: error instanceof Error ? error.message : String(error)
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
// ============================================
|
|
187
|
-
// fillSingleFile - Process one file at a time
|
|
188
|
-
// ============================================
|
|
189
|
-
const FillSingleFileInputSchema = zod_1.z.object({
|
|
190
|
-
repoPath: zod_1.z.string().describe('Repository path'),
|
|
191
|
-
filePath: zod_1.z.string().describe('Absolute path to the scaffold file to fill')
|
|
192
|
-
});
|
|
193
|
-
exports.fillSingleFileTool = (0, ai_1.tool)({
|
|
194
|
-
description: `Get context and structure guidance for filling a single scaffold file.
|
|
195
|
-
Returns semantic context (codebase analysis) and scaffold structure (section guidance, tone, audience).
|
|
196
|
-
Use this context to generate intelligent content, then write the content to the file path.`,
|
|
197
|
-
inputSchema: FillSingleFileInputSchema,
|
|
198
|
-
execute: async (input) => {
|
|
199
|
-
const { repoPath, filePath } = input;
|
|
200
|
-
const resolvedRepoPath = path.resolve(repoPath);
|
|
201
|
-
const resolvedFilePath = path.resolve(filePath);
|
|
202
|
-
try {
|
|
203
|
-
if (!await fs.pathExists(resolvedFilePath)) {
|
|
204
|
-
return {
|
|
205
|
-
success: false,
|
|
206
|
-
error: `File does not exist: ${resolvedFilePath}`
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
// Get or build semantic context (cached)
|
|
210
|
-
const semanticContext = await getOrBuildContext(resolvedRepoPath);
|
|
211
|
-
// Read current content (frontmatter/template)
|
|
212
|
-
const currentContent = await fs.readFile(resolvedFilePath, 'utf-8');
|
|
213
|
-
const fileName = path.basename(resolvedFilePath);
|
|
214
|
-
const parentDir = path.basename(path.dirname(resolvedFilePath));
|
|
215
|
-
// Determine file type and get scaffold structure
|
|
216
|
-
let fileType;
|
|
217
|
-
let documentName;
|
|
218
|
-
if (parentDir === 'docs') {
|
|
219
|
-
fileType = 'doc';
|
|
220
|
-
documentName = path.basename(fileName, '.md');
|
|
221
|
-
}
|
|
222
|
-
else if (parentDir === 'agents') {
|
|
223
|
-
fileType = 'agent';
|
|
224
|
-
documentName = path.basename(fileName, '.md');
|
|
225
|
-
}
|
|
226
|
-
else if (parentDir === 'plans') {
|
|
227
|
-
fileType = 'plan';
|
|
228
|
-
documentName = path.basename(fileName, '.md');
|
|
229
|
-
}
|
|
230
|
-
else if (parentDir === 'skills') {
|
|
231
|
-
fileType = 'skill';
|
|
232
|
-
documentName = path.basename(fileName, '.md');
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
fileType = 'doc';
|
|
236
|
-
documentName = path.basename(fileName, '.md');
|
|
237
|
-
}
|
|
238
|
-
// Get scaffold structure and serialize for AI
|
|
239
|
-
const structure = (0, scaffoldStructures_1.getScaffoldStructure)(documentName);
|
|
240
|
-
const scaffoldStructure = structure ? (0, scaffoldStructures_1.serializeStructureForAI)(structure) : undefined;
|
|
241
|
-
return {
|
|
242
|
-
success: true,
|
|
243
|
-
filePath: resolvedFilePath,
|
|
244
|
-
fileType,
|
|
245
|
-
documentName,
|
|
246
|
-
// Context for intelligent generation
|
|
247
|
-
semanticContext,
|
|
248
|
-
scaffoldStructure,
|
|
249
|
-
currentContent,
|
|
250
|
-
// Instructions for the calling LLM
|
|
251
|
-
instructions: `Generate content for "${fileName}" using the provided semanticContext and scaffoldStructure. Follow the structure's tone (${structure?.tone || 'technical'}), audience (${structure?.audience || 'developers'}), and section guidance. Write the complete markdown content (without frontmatter) to ${resolvedFilePath}.`
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
catch (error) {
|
|
255
|
-
return {
|
|
256
|
-
success: false,
|
|
257
|
-
error: error instanceof Error ? error.message : String(error)
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
});
|
|
262
|
-
// ============================================
|
|
263
|
-
// fillScaffolding - Original tool with pagination
|
|
264
|
-
// ============================================
|
|
265
|
-
const FillScaffoldingInputSchema = zod_1.z.object({
|
|
266
|
-
repoPath: zod_1.z.string().describe('Repository path'),
|
|
267
|
-
outputDir: zod_1.z.string().optional().describe('Scaffold directory (default: ./.context)'),
|
|
268
|
-
target: zod_1.z.enum(['docs', 'agents', 'plans', 'all']).default('all').optional()
|
|
269
|
-
.describe('Which scaffolding to fill'),
|
|
270
|
-
offset: zod_1.z.number().optional().describe('Skip first N files (for pagination)'),
|
|
271
|
-
limit: zod_1.z.number().optional().describe('Max files to return (default: 3, use 0 for all)')
|
|
272
|
-
});
|
|
273
|
-
exports.fillScaffoldingTool = (0, ai_1.tool)({
|
|
274
|
-
description: `Get context and structure guidance for filling multiple scaffold files.
|
|
275
|
-
Returns semantic context (shared) and scaffold structure per file for intelligent content generation.
|
|
276
|
-
Supports pagination with offset/limit. Generate content for each file using its scaffoldStructure, then write to its path.`,
|
|
277
|
-
inputSchema: FillScaffoldingInputSchema,
|
|
278
|
-
execute: async (input) => {
|
|
279
|
-
const { repoPath, outputDir: customOutputDir, target = 'all', offset = 0, limit = 3 } = input;
|
|
280
|
-
const resolvedRepoPath = path.resolve(repoPath);
|
|
281
|
-
const outputDir = customOutputDir
|
|
282
|
-
? path.resolve(customOutputDir)
|
|
283
|
-
: path.resolve(resolvedRepoPath, '.context');
|
|
284
|
-
try {
|
|
285
|
-
// Validate paths exist
|
|
286
|
-
if (!await fs.pathExists(resolvedRepoPath)) {
|
|
287
|
-
return {
|
|
288
|
-
success: false,
|
|
289
|
-
error: `Repository path does not exist: ${resolvedRepoPath}`
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
if (!await fs.pathExists(outputDir)) {
|
|
293
|
-
return {
|
|
294
|
-
success: false,
|
|
295
|
-
error: `Scaffold directory does not exist: ${outputDir}. Run initializeContext first.`
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
// Get or build semantic context (cached for efficiency)
|
|
299
|
-
const semanticContext = await getOrBuildContext(resolvedRepoPath);
|
|
300
|
-
// Collect all file paths first
|
|
301
|
-
const allFiles = [];
|
|
302
|
-
// Collect docs
|
|
303
|
-
if (target === 'all' || target === 'docs') {
|
|
304
|
-
const docsDir = path.join(outputDir, 'docs');
|
|
305
|
-
if (await fs.pathExists(docsDir)) {
|
|
306
|
-
const docFiles = await fs.readdir(docsDir);
|
|
307
|
-
for (const file of docFiles) {
|
|
308
|
-
if (!file.endsWith('.md'))
|
|
309
|
-
continue;
|
|
310
|
-
allFiles.push({
|
|
311
|
-
path: path.join(docsDir, file),
|
|
312
|
-
relativePath: path.relative(outputDir, path.join(docsDir, file)),
|
|
313
|
-
type: 'doc'
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
// Collect agents
|
|
319
|
-
if (target === 'all' || target === 'agents') {
|
|
320
|
-
const agentsDir = path.join(outputDir, 'agents');
|
|
321
|
-
if (await fs.pathExists(agentsDir)) {
|
|
322
|
-
const agentFiles = await fs.readdir(agentsDir);
|
|
323
|
-
for (const file of agentFiles) {
|
|
324
|
-
if (!file.endsWith('.md') || file.toLowerCase() === 'readme.md')
|
|
325
|
-
continue;
|
|
326
|
-
allFiles.push({
|
|
327
|
-
path: path.join(agentsDir, file),
|
|
328
|
-
relativePath: path.relative(outputDir, path.join(agentsDir, file)),
|
|
329
|
-
type: 'agent'
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
// Collect plans
|
|
335
|
-
if (target === 'all' || target === 'plans') {
|
|
336
|
-
const plansDir = path.join(outputDir, 'plans');
|
|
337
|
-
if (await fs.pathExists(plansDir)) {
|
|
338
|
-
const planFiles = await fs.readdir(plansDir);
|
|
339
|
-
for (const file of planFiles) {
|
|
340
|
-
if (!file.endsWith('.md') || file.toLowerCase() === 'readme.md')
|
|
341
|
-
continue;
|
|
342
|
-
allFiles.push({
|
|
343
|
-
path: path.join(plansDir, file),
|
|
344
|
-
relativePath: path.relative(outputDir, path.join(plansDir, file)),
|
|
345
|
-
type: 'plan'
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
const totalCount = allFiles.length;
|
|
351
|
-
// Apply pagination (limit=0 means all files)
|
|
352
|
-
const effectiveLimit = limit === 0 ? totalCount : limit;
|
|
353
|
-
const paginatedFiles = allFiles.slice(offset, offset + effectiveLimit);
|
|
354
|
-
// Build context info for paginated files
|
|
355
|
-
const filesToFill = [];
|
|
356
|
-
for (const fileInfo of paginatedFiles) {
|
|
357
|
-
const currentContent = await fs.readFile(fileInfo.path, 'utf-8');
|
|
358
|
-
const documentName = path.basename(fileInfo.path, '.md');
|
|
359
|
-
// Get scaffold structure for this file
|
|
360
|
-
const structure = (0, scaffoldStructures_1.getScaffoldStructure)(documentName);
|
|
361
|
-
const scaffoldStructure = structure ? (0, scaffoldStructures_1.serializeStructureForAI)(structure) : undefined;
|
|
362
|
-
filesToFill.push({
|
|
363
|
-
path: fileInfo.path,
|
|
364
|
-
relativePath: fileInfo.relativePath,
|
|
365
|
-
type: fileInfo.type,
|
|
366
|
-
documentName,
|
|
367
|
-
scaffoldStructure,
|
|
368
|
-
currentContent
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
const hasMore = offset + paginatedFiles.length < totalCount;
|
|
372
|
-
return {
|
|
373
|
-
success: true,
|
|
374
|
-
// Shared semantic context for all files
|
|
375
|
-
semanticContext,
|
|
376
|
-
filesToFill,
|
|
377
|
-
pagination: {
|
|
378
|
-
offset,
|
|
379
|
-
limit: effectiveLimit,
|
|
380
|
-
returned: filesToFill.length,
|
|
381
|
-
totalCount,
|
|
382
|
-
hasMore
|
|
383
|
-
},
|
|
384
|
-
instructions: hasMore
|
|
385
|
-
? `Returned ${filesToFill.length} of ${totalCount} files. Generate content for each file using semanticContext + its scaffoldStructure. Call again with offset=${offset + paginatedFiles.length} to continue.`
|
|
386
|
-
: `All ${totalCount} files ready. Generate content for each file using semanticContext + its scaffoldStructure. Write each generated content to its file path.`
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
catch (error) {
|
|
390
|
-
return {
|
|
391
|
-
success: false,
|
|
392
|
-
error: error instanceof Error ? error.message : String(error)
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
});
|
|
397
|
-
//# sourceMappingURL=fillScaffoldingTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fillScaffoldingTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/fillScaffoldingTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get Codebase Map Tool
|
|
3
|
-
*
|
|
4
|
-
* Retrieves specific sections of the codebase-map.json file to allow
|
|
5
|
-
* LLMs to query only the parts they need, reducing token usage.
|
|
6
|
-
*/
|
|
7
|
-
export declare const getCodebaseMapTool: import("ai").Tool<{
|
|
8
|
-
repoPath?: string | undefined;
|
|
9
|
-
section?: "stack" | "all" | "symbols" | "structure" | "architecture" | "symbols.classes" | "symbols.interfaces" | "symbols.functions" | "symbols.types" | "symbols.enums" | "publicAPI" | "dependencies" | "stats" | "keyFiles" | "navigation" | undefined;
|
|
10
|
-
}, {
|
|
11
|
-
success: boolean;
|
|
12
|
-
section: string;
|
|
13
|
-
data?: unknown;
|
|
14
|
-
mapPath?: string | undefined;
|
|
15
|
-
error?: string | undefined;
|
|
16
|
-
}>;
|
|
17
|
-
//# sourceMappingURL=getCodebaseMapTool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCodebaseMapTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/getCodebaseMapTool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,eAAO,MAAM,kBAAkB;;;;;;;;;EAuC7B,CAAC"}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Get Codebase Map Tool
|
|
4
|
-
*
|
|
5
|
-
* Retrieves specific sections of the codebase-map.json file to allow
|
|
6
|
-
* LLMs to query only the parts they need, reducing token usage.
|
|
7
|
-
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.getCodebaseMapTool = void 0;
|
|
43
|
-
const ai_1 = require("ai");
|
|
44
|
-
const fs = __importStar(require("fs-extra"));
|
|
45
|
-
const path = __importStar(require("path"));
|
|
46
|
-
const schemas_1 = require("../schemas");
|
|
47
|
-
exports.getCodebaseMapTool = (0, ai_1.tool)({
|
|
48
|
-
description: 'Get codebase map data (structure, symbols, architecture, keyFiles, navigation) from the pre-generated JSON. Use specific sections to reduce token usage. Available sections: all, stack, structure, architecture, symbols, symbols.*, publicAPI, dependencies, stats, keyFiles, navigation',
|
|
49
|
-
inputSchema: schemas_1.GetCodebaseMapInputSchema,
|
|
50
|
-
execute: async (input) => {
|
|
51
|
-
if (!input.repoPath) {
|
|
52
|
-
throw new Error('repoPath is required for getCodebaseMap');
|
|
53
|
-
}
|
|
54
|
-
const repoPath = input.repoPath;
|
|
55
|
-
const section = input.section || 'all';
|
|
56
|
-
try {
|
|
57
|
-
const mapPath = path.join(repoPath, '.context', 'docs', 'codebase-map.json');
|
|
58
|
-
if (!await fs.pathExists(mapPath)) {
|
|
59
|
-
return {
|
|
60
|
-
success: false,
|
|
61
|
-
section,
|
|
62
|
-
error: `Codebase map not found at ${mapPath}. Run initialization with --semantic flag first.`
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
const codebaseMap = await fs.readJson(mapPath);
|
|
66
|
-
const data = extractSection(codebaseMap, section);
|
|
67
|
-
return {
|
|
68
|
-
success: true,
|
|
69
|
-
section,
|
|
70
|
-
data,
|
|
71
|
-
mapPath
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
return {
|
|
76
|
-
success: false,
|
|
77
|
-
section,
|
|
78
|
-
error: error instanceof Error ? error.message : String(error)
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
/**
|
|
84
|
-
* Extract a specific section from the codebase map
|
|
85
|
-
*/
|
|
86
|
-
function extractSection(map, section) {
|
|
87
|
-
switch (section) {
|
|
88
|
-
case 'all':
|
|
89
|
-
return map;
|
|
90
|
-
case 'stack':
|
|
91
|
-
return map.stack;
|
|
92
|
-
case 'structure':
|
|
93
|
-
return map.structure;
|
|
94
|
-
case 'architecture':
|
|
95
|
-
return map.architecture;
|
|
96
|
-
case 'symbols':
|
|
97
|
-
return map.symbols;
|
|
98
|
-
case 'symbols.classes':
|
|
99
|
-
return map.symbols.classes;
|
|
100
|
-
case 'symbols.interfaces':
|
|
101
|
-
return map.symbols.interfaces;
|
|
102
|
-
case 'symbols.functions':
|
|
103
|
-
return map.symbols.functions;
|
|
104
|
-
case 'symbols.types':
|
|
105
|
-
return map.symbols.types;
|
|
106
|
-
case 'symbols.enums':
|
|
107
|
-
return map.symbols.enums;
|
|
108
|
-
case 'publicAPI':
|
|
109
|
-
return map.publicAPI;
|
|
110
|
-
case 'dependencies':
|
|
111
|
-
return map.dependencies;
|
|
112
|
-
case 'stats':
|
|
113
|
-
return map.stats;
|
|
114
|
-
case 'keyFiles':
|
|
115
|
-
return map.keyFiles ?? [];
|
|
116
|
-
case 'navigation':
|
|
117
|
-
return map.navigation ?? {};
|
|
118
|
-
default:
|
|
119
|
-
return map;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=getCodebaseMapTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCodebaseMapTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/getCodebaseMapTool.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2BAA0B;AAC1B,6CAA+B;AAC/B,2CAA6B;AAC7B,wCAA4G;AAG/F,QAAA,kBAAkB,GAAG,IAAA,SAAI,EAAC;IACrC,WAAW,EAAE,4RAA4R;IACzS,WAAW,EAAE,mCAAyB;IACtC,OAAO,EAAE,KAAK,EAAE,KAA0B,EAAiC,EAAE;QAC3E,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAE7E,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO;oBACP,KAAK,EAAE,6BAA6B,OAAO,kDAAkD;iBAC9F,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAElD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,IAAI;gBACJ,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,cAAc,CAAC,GAAgB,EAAE,OAAe;IACvD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,GAAG,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,KAAK,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,SAAS,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,YAAY,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,KAAK,iBAAiB;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7B,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;QAChC,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/B,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3B,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3B,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,SAAS,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,YAAY,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,KAAK,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5B,KAAK,YAAY;YACf,OAAO,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9B;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export declare const getFileStructureTool: import("ai").Tool<{
|
|
2
|
-
rootPath: string;
|
|
3
|
-
maxDepth: number;
|
|
4
|
-
includePatterns?: string[] | undefined;
|
|
5
|
-
}, {
|
|
6
|
-
success: boolean;
|
|
7
|
-
rootPath: string;
|
|
8
|
-
totalFiles: number;
|
|
9
|
-
totalSize: number;
|
|
10
|
-
topLevelDirs: {
|
|
11
|
-
name: string;
|
|
12
|
-
fileCount: number;
|
|
13
|
-
}[];
|
|
14
|
-
files: {
|
|
15
|
-
path: string;
|
|
16
|
-
extension: string;
|
|
17
|
-
size: number;
|
|
18
|
-
}[];
|
|
19
|
-
error?: undefined;
|
|
20
|
-
} | {
|
|
21
|
-
success: boolean;
|
|
22
|
-
error: string;
|
|
23
|
-
rootPath: string;
|
|
24
|
-
totalFiles?: undefined;
|
|
25
|
-
totalSize?: undefined;
|
|
26
|
-
topLevelDirs?: undefined;
|
|
27
|
-
files?: undefined;
|
|
28
|
-
}>;
|
|
29
|
-
//# sourceMappingURL=getFileStructureTool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFileStructureTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/getFileStructureTool.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC/B,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFileStructureTool = void 0;
|
|
4
|
-
const ai_1 = require("ai");
|
|
5
|
-
const fileMapper_1 = require("../../../utils/fileMapper");
|
|
6
|
-
const schemas_1 = require("../schemas");
|
|
7
|
-
exports.getFileStructureTool = (0, ai_1.tool)({
|
|
8
|
-
description: 'Get the directory structure and file listing of a repository',
|
|
9
|
-
inputSchema: schemas_1.GetFileStructureInputSchema,
|
|
10
|
-
execute: async (input) => {
|
|
11
|
-
const { rootPath, maxDepth = 3, includePatterns } = input;
|
|
12
|
-
try {
|
|
13
|
-
const mapper = new fileMapper_1.FileMapper([]);
|
|
14
|
-
const structure = await mapper.mapRepository(rootPath, includePatterns || undefined);
|
|
15
|
-
// Filter files by depth
|
|
16
|
-
const filterByDepth = (relativePath) => {
|
|
17
|
-
const depth = relativePath.split('/').length;
|
|
18
|
-
return depth <= maxDepth;
|
|
19
|
-
};
|
|
20
|
-
return {
|
|
21
|
-
success: true,
|
|
22
|
-
rootPath: structure.rootPath,
|
|
23
|
-
totalFiles: structure.totalFiles,
|
|
24
|
-
totalSize: structure.totalSize,
|
|
25
|
-
topLevelDirs: structure.topLevelDirectoryStats.map((s) => ({
|
|
26
|
-
name: s.name,
|
|
27
|
-
fileCount: s.fileCount
|
|
28
|
-
})),
|
|
29
|
-
files: structure.files
|
|
30
|
-
.filter((f) => filterByDepth(f.relativePath))
|
|
31
|
-
.slice(0, 200)
|
|
32
|
-
.map((f) => ({
|
|
33
|
-
path: f.relativePath,
|
|
34
|
-
extension: f.extension,
|
|
35
|
-
size: f.size
|
|
36
|
-
}))
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
return {
|
|
41
|
-
success: false,
|
|
42
|
-
error: error instanceof Error ? error.message : String(error),
|
|
43
|
-
rootPath
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=getFileStructureTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFileStructureTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/getFileStructureTool.ts"],"names":[],"mappings":";;;AAAA,2BAA0B;AAC1B,0DAAuD;AACvD,wCAAqF;AAExE,QAAA,oBAAoB,GAAG,IAAA,SAAI,EAAC;IACvC,WAAW,EAAE,8DAA8D;IAC3E,WAAW,EAAE,qCAA2B;IACxC,OAAO,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;QAC9C,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,IAAI,SAAS,CAAC,CAAC;YAErF,wBAAwB;YACxB,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAW,EAAE;gBACtD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC7C,OAAO,KAAK,IAAI,QAAQ,CAAC;YAC3B,CAAC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,YAAY,EAAE,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC,CAAC;gBACH,KAAK,EAAE,SAAS,CAAC,KAAK;qBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;qBAC5C,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,YAAY;oBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC;aACN,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ;aACT,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|