@ai-coders/context 0.4.0 → 0.5.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/README.md +260 -22
- package/dist/fragments/compose.d.ts +30 -0
- package/dist/fragments/compose.d.ts.map +1 -0
- package/dist/fragments/compose.js +274 -0
- package/dist/fragments/compose.js.map +1 -0
- package/dist/fragments/extractors/index.d.ts +26 -0
- package/dist/fragments/extractors/index.d.ts.map +1 -0
- package/dist/fragments/extractors/index.js +58 -0
- package/dist/fragments/extractors/index.js.map +1 -0
- package/dist/fragments/extractors/module.d.ts +12 -0
- package/dist/fragments/extractors/module.d.ts.map +1 -0
- package/dist/fragments/extractors/module.js +302 -0
- package/dist/fragments/extractors/module.js.map +1 -0
- package/dist/fragments/extractors/project.d.ts +12 -0
- package/dist/fragments/extractors/project.d.ts.map +1 -0
- package/dist/fragments/extractors/project.js +274 -0
- package/dist/fragments/extractors/project.js.map +1 -0
- package/dist/fragments/extractors/semantic.d.ts +12 -0
- package/dist/fragments/extractors/semantic.d.ts.map +1 -0
- package/dist/fragments/extractors/semantic.js +329 -0
- package/dist/fragments/extractors/semantic.js.map +1 -0
- package/dist/fragments/index.d.ts +47 -0
- package/dist/fragments/index.d.ts.map +1 -0
- package/dist/fragments/index.js +75 -0
- package/dist/fragments/index.js.map +1 -0
- package/dist/fragments/query.d.ts +101 -0
- package/dist/fragments/query.d.ts.map +1 -0
- package/dist/fragments/query.js +200 -0
- package/dist/fragments/query.js.map +1 -0
- package/dist/fragments/render/compact.d.ts +15 -0
- package/dist/fragments/render/compact.d.ts.map +1 -0
- package/dist/fragments/render/compact.js +209 -0
- package/dist/fragments/render/compact.js.map +1 -0
- package/dist/fragments/render/index.d.ts +17 -0
- package/dist/fragments/render/index.d.ts.map +1 -0
- package/dist/fragments/render/index.js +40 -0
- package/dist/fragments/render/index.js.map +1 -0
- package/dist/fragments/render/json.d.ts +9 -0
- package/dist/fragments/render/json.d.ts.map +1 -0
- package/dist/fragments/render/json.js +44 -0
- package/dist/fragments/render/json.js.map +1 -0
- package/dist/fragments/render/markdown.d.ts +9 -0
- package/dist/fragments/render/markdown.d.ts.map +1 -0
- package/dist/fragments/render/markdown.js +291 -0
- package/dist/fragments/render/markdown.js.map +1 -0
- package/dist/fragments/store.d.ts +49 -0
- package/dist/fragments/store.d.ts.map +1 -0
- package/dist/fragments/store.js +161 -0
- package/dist/fragments/store.js.map +1 -0
- package/dist/fragments/types.d.ts +241 -0
- package/dist/fragments/types.d.ts.map +1 -0
- package/dist/fragments/types.js +8 -0
- package/dist/fragments/types.js.map +1 -0
- package/dist/generators/agents/agentGenerator.d.ts +8 -1
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +108 -10
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.js +143 -45
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
- package/dist/generators/agents/templates/types.d.ts +9 -1
- package/dist/generators/agents/templates/types.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +18 -3
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
- package/dist/generators/documentation/guideRegistry.js +0 -8
- package/dist/generators/documentation/guideRegistry.js.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.js +1 -22
- package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +160 -26
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.d.ts +28 -1
- package/dist/generators/documentation/templates/common.d.ts.map +1 -1
- package/dist/generators/documentation/templates/common.js +130 -10
- package/dist/generators/documentation/templates/common.js.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.js +98 -18
- package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +1 -18
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.js +51 -23
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.js +1 -18
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.js +1 -23
- package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/onboardingTemplate.js +1 -23
- package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +81 -19
- package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.js +1 -18
- package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.js +1 -19
- package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.js +2 -19
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.js +1 -23
- package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/types.d.ts +2 -1
- package/dist/generators/documentation/templates/types.d.ts.map +1 -1
- package/dist/generators/plans/planGenerator.d.ts +4 -0
- package/dist/generators/plans/planGenerator.d.ts.map +1 -1
- package/dist/generators/plans/planGenerator.js +30 -2
- package/dist/generators/plans/planGenerator.js.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.js +3 -12
- package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
- package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/planTemplate.js +54 -32
- package/dist/generators/plans/templates/planTemplate.js.map +1 -1
- package/dist/generators/plans/templates/types.d.ts +10 -0
- package/dist/generators/plans/templates/types.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.js +6 -9
- package/dist/generators/shared/generatorUtils.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +430 -90
- package/dist/index.js.map +1 -1
- package/dist/prompts/defaults.d.ts +2 -2
- package/dist/prompts/defaults.d.ts.map +1 -1
- package/dist/prompts/defaults.js +26 -56
- package/dist/prompts/defaults.js.map +1 -1
- package/dist/services/ai/agentEvents.d.ts +45 -0
- package/dist/services/ai/agentEvents.d.ts.map +1 -0
- package/dist/services/ai/agentEvents.js +61 -0
- package/dist/services/ai/agentEvents.js.map +1 -0
- package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
- package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/documentationAgent.js +243 -0
- package/dist/services/ai/agents/documentationAgent.js.map +1 -0
- package/dist/services/ai/agents/index.d.ts +7 -0
- package/dist/services/ai/agents/index.d.ts.map +1 -0
- package/dist/services/ai/agents/index.js +10 -0
- package/dist/services/ai/agents/index.js.map +1 -0
- package/dist/services/ai/agents/planAgent.d.ts +68 -0
- package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/planAgent.js +389 -0
- package/dist/services/ai/agents/planAgent.js.map +1 -0
- package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
- package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/playbookAgent.js +265 -0
- package/dist/services/ai/agents/playbookAgent.js.map +1 -0
- package/dist/services/ai/aiSdkClient.d.ts +67 -0
- package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
- package/dist/services/ai/aiSdkClient.js +143 -0
- package/dist/services/ai/aiSdkClient.js.map +1 -0
- package/dist/services/ai/index.d.ts +7 -0
- package/dist/services/ai/index.d.ts.map +1 -0
- package/dist/services/ai/index.js +49 -0
- package/dist/services/ai/index.js.map +1 -0
- package/dist/services/ai/providerFactory.d.ts +35 -0
- package/dist/services/ai/providerFactory.d.ts.map +1 -0
- package/dist/services/ai/providerFactory.js +107 -0
- package/dist/services/ai/providerFactory.js.map +1 -0
- package/dist/services/ai/schemas.d.ts +331 -0
- package/dist/services/ai/schemas.d.ts.map +1 -0
- package/dist/services/ai/schemas.js +236 -0
- package/dist/services/ai/schemas.js.map +1 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
- package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts +38 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js +259 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
- package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
- package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
- package/dist/services/ai/tools/getFileStructureTool.js +48 -0
- package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
- package/dist/services/ai/tools/index.d.ts +20 -0
- package/dist/services/ai/tools/index.d.ts.map +1 -0
- package/dist/services/ai/tools/index.js +62 -0
- package/dist/services/ai/tools/index.js.map +1 -0
- package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
- package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
- package/dist/services/ai/tools/initializeContextTool.js +121 -0
- package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
- package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
- package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
- package/dist/services/ai/tools/listFilesTool.js +34 -0
- package/dist/services/ai/tools/listFilesTool.js.map +1 -0
- package/dist/services/ai/tools/readFileTool.d.ts +17 -0
- package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
- package/dist/services/ai/tools/readFileTool.js +63 -0
- package/dist/services/ai/tools/readFileTool.js.map +1 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
- package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
- package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
- package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
- package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
- package/dist/services/ai/tools/searchCodeTool.js +96 -0
- package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
- package/dist/services/fill/fillService.d.ts +11 -1
- package/dist/services/fill/fillService.d.ts.map +1 -1
- package/dist/services/fill/fillService.js +151 -39
- package/dist/services/fill/fillService.js.map +1 -1
- package/dist/services/init/initService.d.ts +1 -0
- package/dist/services/init/initService.d.ts.map +1 -1
- package/dist/services/init/initService.js +12 -7
- package/dist/services/init/initService.js.map +1 -1
- package/dist/services/llmClientFactory.d.ts +36 -2
- package/dist/services/llmClientFactory.d.ts.map +1 -1
- package/dist/services/llmClientFactory.js +57 -11
- package/dist/services/llmClientFactory.js.map +1 -1
- package/dist/services/mcp/index.d.ts +2 -0
- package/dist/services/mcp/index.d.ts.map +1 -0
- package/dist/services/mcp/index.js +7 -0
- package/dist/services/mcp/index.js.map +1 -0
- package/dist/services/mcp/mcpServer.d.ts +45 -0
- package/dist/services/mcp/mcpServer.d.ts.map +1 -0
- package/dist/services/mcp/mcpServer.js +371 -0
- package/dist/services/mcp/mcpServer.js.map +1 -0
- package/dist/services/openRouterClient.js +1 -1
- package/dist/services/openRouterClient.js.map +1 -1
- package/dist/services/passthrough/commandRouter.d.ts +53 -0
- package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
- package/dist/services/passthrough/commandRouter.js +349 -0
- package/dist/services/passthrough/commandRouter.js.map +1 -0
- package/dist/services/passthrough/index.d.ts +7 -0
- package/dist/services/passthrough/index.d.ts.map +1 -0
- package/dist/services/passthrough/index.js +23 -0
- package/dist/services/passthrough/index.js.map +1 -0
- package/dist/services/passthrough/protocol.d.ts +269 -0
- package/dist/services/passthrough/protocol.d.ts.map +1 -0
- package/dist/services/passthrough/protocol.js +151 -0
- package/dist/services/passthrough/protocol.js.map +1 -0
- package/dist/services/passthrough/stdinReader.d.ts +42 -0
- package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
- package/dist/services/passthrough/stdinReader.js +111 -0
- package/dist/services/passthrough/stdinReader.js.map +1 -0
- package/dist/services/plan/planService.d.ts +3 -1
- package/dist/services/plan/planService.d.ts.map +1 -1
- package/dist/services/plan/planService.js +49 -41
- package/dist/services/plan/planService.js.map +1 -1
- package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
- package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
- package/dist/services/semantic/codebaseAnalyzer.js +540 -0
- package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
- package/dist/services/semantic/contextBuilder.d.ts +79 -0
- package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
- package/dist/services/semantic/contextBuilder.js +538 -0
- package/dist/services/semantic/contextBuilder.js.map +1 -0
- package/dist/services/semantic/index.d.ts +12 -0
- package/dist/services/semantic/index.d.ts.map +1 -0
- package/dist/services/semantic/index.js +33 -0
- package/dist/services/semantic/index.js.map +1 -0
- package/dist/services/semantic/lsp/index.d.ts +2 -0
- package/dist/services/semantic/lsp/index.d.ts.map +1 -0
- package/dist/services/semantic/lsp/index.js +6 -0
- package/dist/services/semantic/lsp/index.js.map +1 -0
- package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
- package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
- package/dist/services/semantic/lsp/lspLayer.js +378 -0
- package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
- package/dist/services/semantic/treeSitter/index.d.ts +2 -0
- package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
- package/dist/services/semantic/treeSitter/index.js +6 -0
- package/dist/services/semantic/treeSitter/index.js.map +1 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
- package/dist/services/semantic/types.d.ts +122 -0
- package/dist/services/semantic/types.d.ts.map +1 -0
- package/dist/services/semantic/types.js +31 -0
- package/dist/services/semantic/types.js.map +1 -0
- package/dist/services/serve/index.d.ts +2 -0
- package/dist/services/serve/index.d.ts.map +1 -0
- package/dist/services/serve/index.js +6 -0
- package/dist/services/serve/index.js.map +1 -0
- package/dist/services/serve/serveService.d.ts +38 -0
- package/dist/services/serve/serveService.d.ts.map +1 -0
- package/dist/services/serve/serveService.js +99 -0
- package/dist/services/serve/serveService.js.map +1 -0
- package/dist/services/shared/llmConfig.d.ts +19 -3
- package/dist/services/shared/llmConfig.d.ts.map +1 -1
- package/dist/services/shared/llmConfig.js +39 -10
- package/dist/services/shared/llmConfig.js.map +1 -1
- package/dist/services/sync/index.d.ts +6 -0
- package/dist/services/sync/index.d.ts.map +1 -0
- package/dist/services/sync/index.js +16 -0
- package/dist/services/sync/index.js.map +1 -0
- package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
- package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
- package/dist/services/sync/markdownReferenceHandler.js +133 -0
- package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
- package/dist/services/sync/presets.d.ts +6 -0
- package/dist/services/sync/presets.d.ts.map +1 -0
- package/dist/services/sync/presets.js +49 -0
- package/dist/services/sync/presets.js.map +1 -0
- package/dist/services/sync/symlinkHandler.d.ts +7 -0
- package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
- package/dist/services/sync/symlinkHandler.js +129 -0
- package/dist/services/sync/symlinkHandler.js.map +1 -0
- package/dist/services/sync/syncService.d.ts +15 -0
- package/dist/services/sync/syncService.d.ts.map +1 -0
- package/dist/services/sync/syncService.js +222 -0
- package/dist/services/sync/syncService.js.map +1 -0
- package/dist/services/sync/types.d.ts +62 -0
- package/dist/services/sync/types.d.ts.map +1 -0
- package/dist/services/sync/types.js +3 -0
- package/dist/services/sync/types.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/cliUI.d.ts +33 -0
- package/dist/utils/cliUI.d.ts.map +1 -1
- package/dist/utils/cliUI.js +157 -107
- package/dist/utils/cliUI.js.map +1 -1
- package/dist/utils/contentSanitizer.d.ts +42 -0
- package/dist/utils/contentSanitizer.d.ts.map +1 -0
- package/dist/utils/contentSanitizer.js +238 -0
- package/dist/utils/contentSanitizer.js.map +1 -0
- package/dist/utils/gitService.d.ts.map +1 -1
- package/dist/utils/gitService.js +12 -14
- package/dist/utils/gitService.js.map +1 -1
- package/dist/utils/i18n.d.ts +87 -13
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +176 -28
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/prompts/configSummary.d.ts +7 -0
- package/dist/utils/prompts/configSummary.d.ts.map +1 -0
- package/dist/utils/prompts/configSummary.js +63 -0
- package/dist/utils/prompts/configSummary.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +22 -0
- package/dist/utils/prompts/index.d.ts.map +1 -0
- package/dist/utils/prompts/index.js +122 -0
- package/dist/utils/prompts/index.js.map +1 -0
- package/dist/utils/prompts/llmPrompts.d.ts +11 -0
- package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
- package/dist/utils/prompts/llmPrompts.js +96 -0
- package/dist/utils/prompts/llmPrompts.js.map +1 -0
- package/dist/utils/prompts/smartDefaults.d.ts +15 -0
- package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
- package/dist/utils/prompts/smartDefaults.js +105 -0
- package/dist/utils/prompts/smartDefaults.js.map +1 -0
- package/dist/utils/prompts/types.d.ts +38 -0
- package/dist/utils/prompts/types.d.ts.map +1 -0
- package/dist/utils/prompts/types.js +3 -0
- package/dist/utils/prompts/types.js.map +1 -0
- package/dist/utils/theme.d.ts +66 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/theme.js +93 -0
- package/dist/utils/theme.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +12 -2
- package/prompts/update_scaffold_prompt.md +14 -34
- package/dist/commands/shared/agents.d.ts +0 -2
- package/dist/commands/shared/agents.d.ts.map +0 -1
- package/dist/commands/shared/agents.js +0 -15
- package/dist/commands/shared/agents.js.map +0 -1
- package/dist/commands/shared/selection.d.ts +0 -12
- package/dist/commands/shared/selection.d.ts.map +0 -1
- package/dist/commands/shared/selection.js +0 -95
- package/dist/commands/shared/selection.js.map +0 -1
- package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
- package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
- package/dist/generators/documentation/templates/frontMatter.js +0 -29
- package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
- package/dist/services/anthropicClient.d.ts +0 -12
- package/dist/services/anthropicClient.d.ts.map +0 -1
- package/dist/services/anthropicClient.js +0 -98
- package/dist/services/anthropicClient.js.map +0 -1
- package/dist/services/geminiClient.d.ts +0 -12
- package/dist/services/geminiClient.d.ts.map +0 -1
- package/dist/services/geminiClient.js +0 -96
- package/dist/services/geminiClient.js.map +0 -1
- package/dist/services/grokClient.d.ts +0 -12
- package/dist/services/grokClient.d.ts.map +0 -1
- package/dist/services/grokClient.js +0 -101
- package/dist/services/grokClient.js.map +0 -1
- package/dist/services/openaiClient.d.ts +0 -12
- package/dist/services/openaiClient.d.ts.map +0 -1
- package/dist/services/openaiClient.js +0 -98
- package/dist/services/openaiClient.js.map +0 -1
- package/dist/utils/pricing.d.ts +0 -14
- package/dist/utils/pricing.d.ts.map +0 -1
- package/dist/utils/pricing.js +0 -115
- package/dist/utils/pricing.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ToolSet } from 'ai';
|
|
2
|
+
export { readFileTool } from './readFileTool';
|
|
3
|
+
export { listFilesTool } from './listFilesTool';
|
|
4
|
+
export { analyzeSymbolsTool } from './analyzeSymbolsTool';
|
|
5
|
+
export { getFileStructureTool } from './getFileStructureTool';
|
|
6
|
+
export { searchCodeTool } from './searchCodeTool';
|
|
7
|
+
export { checkScaffoldingTool } from './checkScaffoldingTool';
|
|
8
|
+
export { initializeContextTool } from './initializeContextTool';
|
|
9
|
+
export { scaffoldPlanTool } from './scaffoldPlanTool';
|
|
10
|
+
export { fillScaffoldingTool } from './fillScaffoldingTool';
|
|
11
|
+
/**
|
|
12
|
+
* Returns all code analysis tools as a ToolSet for use with AI SDK
|
|
13
|
+
*/
|
|
14
|
+
export declare function getCodeAnalysisTools(): ToolSet;
|
|
15
|
+
/**
|
|
16
|
+
* Tool names available for selective enabling
|
|
17
|
+
*/
|
|
18
|
+
export declare const TOOL_NAMES: readonly ["readFile", "listFiles", "analyzeSymbols", "getFileStructure", "searchCode", "checkScaffolding", "initializeContext", "scaffoldPlan", "fillScaffolding"];
|
|
19
|
+
export type ToolName = (typeof TOOL_NAMES)[number];
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAWlC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAY9C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,oKAUb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOOL_NAMES = exports.fillScaffoldingTool = exports.scaffoldPlanTool = exports.initializeContextTool = exports.checkScaffoldingTool = exports.searchCodeTool = exports.getFileStructureTool = exports.analyzeSymbolsTool = exports.listFilesTool = exports.readFileTool = void 0;
|
|
4
|
+
exports.getCodeAnalysisTools = getCodeAnalysisTools;
|
|
5
|
+
const readFileTool_1 = require("./readFileTool");
|
|
6
|
+
const listFilesTool_1 = require("./listFilesTool");
|
|
7
|
+
const analyzeSymbolsTool_1 = require("./analyzeSymbolsTool");
|
|
8
|
+
const getFileStructureTool_1 = require("./getFileStructureTool");
|
|
9
|
+
const searchCodeTool_1 = require("./searchCodeTool");
|
|
10
|
+
const checkScaffoldingTool_1 = require("./checkScaffoldingTool");
|
|
11
|
+
const initializeContextTool_1 = require("./initializeContextTool");
|
|
12
|
+
const scaffoldPlanTool_1 = require("./scaffoldPlanTool");
|
|
13
|
+
const fillScaffoldingTool_1 = require("./fillScaffoldingTool");
|
|
14
|
+
var readFileTool_2 = require("./readFileTool");
|
|
15
|
+
Object.defineProperty(exports, "readFileTool", { enumerable: true, get: function () { return readFileTool_2.readFileTool; } });
|
|
16
|
+
var listFilesTool_2 = require("./listFilesTool");
|
|
17
|
+
Object.defineProperty(exports, "listFilesTool", { enumerable: true, get: function () { return listFilesTool_2.listFilesTool; } });
|
|
18
|
+
var analyzeSymbolsTool_2 = require("./analyzeSymbolsTool");
|
|
19
|
+
Object.defineProperty(exports, "analyzeSymbolsTool", { enumerable: true, get: function () { return analyzeSymbolsTool_2.analyzeSymbolsTool; } });
|
|
20
|
+
var getFileStructureTool_2 = require("./getFileStructureTool");
|
|
21
|
+
Object.defineProperty(exports, "getFileStructureTool", { enumerable: true, get: function () { return getFileStructureTool_2.getFileStructureTool; } });
|
|
22
|
+
var searchCodeTool_2 = require("./searchCodeTool");
|
|
23
|
+
Object.defineProperty(exports, "searchCodeTool", { enumerable: true, get: function () { return searchCodeTool_2.searchCodeTool; } });
|
|
24
|
+
var checkScaffoldingTool_2 = require("./checkScaffoldingTool");
|
|
25
|
+
Object.defineProperty(exports, "checkScaffoldingTool", { enumerable: true, get: function () { return checkScaffoldingTool_2.checkScaffoldingTool; } });
|
|
26
|
+
var initializeContextTool_2 = require("./initializeContextTool");
|
|
27
|
+
Object.defineProperty(exports, "initializeContextTool", { enumerable: true, get: function () { return initializeContextTool_2.initializeContextTool; } });
|
|
28
|
+
var scaffoldPlanTool_2 = require("./scaffoldPlanTool");
|
|
29
|
+
Object.defineProperty(exports, "scaffoldPlanTool", { enumerable: true, get: function () { return scaffoldPlanTool_2.scaffoldPlanTool; } });
|
|
30
|
+
var fillScaffoldingTool_2 = require("./fillScaffoldingTool");
|
|
31
|
+
Object.defineProperty(exports, "fillScaffoldingTool", { enumerable: true, get: function () { return fillScaffoldingTool_2.fillScaffoldingTool; } });
|
|
32
|
+
/**
|
|
33
|
+
* Returns all code analysis tools as a ToolSet for use with AI SDK
|
|
34
|
+
*/
|
|
35
|
+
function getCodeAnalysisTools() {
|
|
36
|
+
return {
|
|
37
|
+
readFile: readFileTool_1.readFileTool,
|
|
38
|
+
listFiles: listFilesTool_1.listFilesTool,
|
|
39
|
+
analyzeSymbols: analyzeSymbolsTool_1.analyzeSymbolsTool,
|
|
40
|
+
getFileStructure: getFileStructureTool_1.getFileStructureTool,
|
|
41
|
+
searchCode: searchCodeTool_1.searchCodeTool,
|
|
42
|
+
checkScaffolding: checkScaffoldingTool_1.checkScaffoldingTool,
|
|
43
|
+
initializeContext: initializeContextTool_1.initializeContextTool,
|
|
44
|
+
scaffoldPlan: scaffoldPlanTool_1.scaffoldPlanTool,
|
|
45
|
+
fillScaffolding: fillScaffoldingTool_1.fillScaffoldingTool
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Tool names available for selective enabling
|
|
50
|
+
*/
|
|
51
|
+
exports.TOOL_NAMES = [
|
|
52
|
+
'readFile',
|
|
53
|
+
'listFiles',
|
|
54
|
+
'analyzeSymbols',
|
|
55
|
+
'getFileStructure',
|
|
56
|
+
'searchCode',
|
|
57
|
+
'checkScaffolding',
|
|
58
|
+
'initializeContext',
|
|
59
|
+
'scaffoldPlan',
|
|
60
|
+
'fillScaffolding'
|
|
61
|
+
];
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/index.ts"],"names":[],"mappings":";;;AAwBA,oDAYC;AAnCD,iDAA8C;AAC9C,mDAAgD;AAChD,6DAA0D;AAC1D,iEAA8D;AAC9D,qDAAkD;AAClD,iEAA8D;AAC9D,mEAAgE;AAChE,yDAAsD;AACtD,+DAA4D;AAE5D,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAE5B;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO;QACL,QAAQ,EAAE,2BAAY;QACtB,SAAS,EAAE,6BAAa;QACxB,cAAc,EAAE,uCAAkB;QAClC,gBAAgB,EAAE,2CAAoB;QACtC,UAAU,EAAE,+BAAc;QAC1B,gBAAgB,EAAE,2CAAoB;QACtC,iBAAiB,EAAE,6CAAqB;QACxC,YAAY,EAAE,mCAAgB;QAC9B,eAAe,EAAE,yCAAmB;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,iBAAiB;CACT,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const initializeContextTool: import("ai").Tool<{
|
|
2
|
+
repoPath: string;
|
|
3
|
+
type?: "agents" | "docs" | "both" | undefined;
|
|
4
|
+
outputDir?: string | undefined;
|
|
5
|
+
semantic?: boolean | undefined;
|
|
6
|
+
include?: string[] | undefined;
|
|
7
|
+
exclude?: string[] | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
success: boolean;
|
|
10
|
+
outputDir: string;
|
|
11
|
+
error: string;
|
|
12
|
+
docsGenerated?: undefined;
|
|
13
|
+
agentsGenerated?: undefined;
|
|
14
|
+
generatedFiles?: undefined;
|
|
15
|
+
nextSteps?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
success: boolean;
|
|
18
|
+
docsGenerated: number;
|
|
19
|
+
agentsGenerated: number;
|
|
20
|
+
outputDir: string;
|
|
21
|
+
generatedFiles: string[];
|
|
22
|
+
nextSteps: string[];
|
|
23
|
+
error?: undefined;
|
|
24
|
+
}>;
|
|
25
|
+
//# sourceMappingURL=initializeContextTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeContextTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/initializeContextTool.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;EAoGhC,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
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.initializeContextTool = void 0;
|
|
37
|
+
const ai_1 = require("ai");
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const fs = __importStar(require("fs-extra"));
|
|
40
|
+
const schemas_1 = require("../schemas");
|
|
41
|
+
const fileMapper_1 = require("../../../utils/fileMapper");
|
|
42
|
+
const documentationGenerator_1 = require("../../../generators/documentation/documentationGenerator");
|
|
43
|
+
const agentGenerator_1 = require("../../../generators/agents/agentGenerator");
|
|
44
|
+
exports.initializeContextTool = (0, ai_1.tool)({
|
|
45
|
+
description: `Initialize .context scaffolding and create template files.
|
|
46
|
+
IMPORTANT: After scaffolding, you MUST fill the generated files with actual content by:
|
|
47
|
+
1. Use buildSemanticContext to understand the codebase
|
|
48
|
+
2. Read each generated template file
|
|
49
|
+
3. Write filled content to each file based on the codebase analysis`,
|
|
50
|
+
inputSchema: schemas_1.InitializeContextInputSchema,
|
|
51
|
+
execute: async (input) => {
|
|
52
|
+
const { repoPath, type = 'both', outputDir: customOutputDir, semantic = true, include, exclude = [] } = input;
|
|
53
|
+
const resolvedRepoPath = path.resolve(repoPath);
|
|
54
|
+
const outputDir = customOutputDir
|
|
55
|
+
? path.resolve(customOutputDir)
|
|
56
|
+
: path.resolve(resolvedRepoPath, '.context');
|
|
57
|
+
const scaffoldDocs = type === 'docs' || type === 'both';
|
|
58
|
+
const scaffoldAgents = type === 'agents' || type === 'both';
|
|
59
|
+
try {
|
|
60
|
+
// Validate repo path exists
|
|
61
|
+
if (!await fs.pathExists(resolvedRepoPath)) {
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
outputDir,
|
|
65
|
+
error: `Repository path does not exist: ${resolvedRepoPath}`
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Ensure output directory exists
|
|
69
|
+
await fs.ensureDir(outputDir);
|
|
70
|
+
// Map repository structure
|
|
71
|
+
const fileMapper = new fileMapper_1.FileMapper(exclude);
|
|
72
|
+
const repoStructure = await fileMapper.mapRepository(resolvedRepoPath, include);
|
|
73
|
+
let docsGenerated = 0;
|
|
74
|
+
let agentsGenerated = 0;
|
|
75
|
+
// Generate documentation scaffolding
|
|
76
|
+
if (scaffoldDocs) {
|
|
77
|
+
const docGenerator = new documentationGenerator_1.DocumentationGenerator();
|
|
78
|
+
docsGenerated = await docGenerator.generateDocumentation(repoStructure, outputDir, { semantic }, false // verbose
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
// Generate agent scaffolding
|
|
82
|
+
if (scaffoldAgents) {
|
|
83
|
+
const agentGenerator = new agentGenerator_1.AgentGenerator();
|
|
84
|
+
agentsGenerated = await agentGenerator.generateAgentPrompts(repoStructure, outputDir, { semantic }, false // verbose
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
// Build list of generated files for the agent to fill
|
|
88
|
+
const generatedFiles = [];
|
|
89
|
+
if (scaffoldDocs) {
|
|
90
|
+
const docsDir = path.join(outputDir, 'docs');
|
|
91
|
+
const docFiles = await fs.readdir(docsDir);
|
|
92
|
+
generatedFiles.push(...docFiles.map(f => path.join(docsDir, f)));
|
|
93
|
+
}
|
|
94
|
+
if (scaffoldAgents) {
|
|
95
|
+
const agentsDir = path.join(outputDir, 'agents');
|
|
96
|
+
const agentFiles = await fs.readdir(agentsDir);
|
|
97
|
+
generatedFiles.push(...agentFiles.map(f => path.join(agentsDir, f)));
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
success: true,
|
|
101
|
+
docsGenerated,
|
|
102
|
+
agentsGenerated,
|
|
103
|
+
outputDir,
|
|
104
|
+
generatedFiles,
|
|
105
|
+
nextSteps: [
|
|
106
|
+
'Call fillScaffolding tool to get codebase-aware content for each file',
|
|
107
|
+
'Write the suggestedContent to each file path returned',
|
|
108
|
+
'Focus on architecture.md, project-overview.md, and agent playbooks first'
|
|
109
|
+
]
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return {
|
|
114
|
+
success: false,
|
|
115
|
+
outputDir,
|
|
116
|
+
error: error instanceof Error ? error.message : String(error)
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=initializeContextTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeContextTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/initializeContextTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const listFilesTool: import("ai").Tool<{
|
|
2
|
+
pattern: string;
|
|
3
|
+
cwd?: string | undefined;
|
|
4
|
+
ignore?: string[] | undefined;
|
|
5
|
+
}, {
|
|
6
|
+
success: boolean;
|
|
7
|
+
files: string[];
|
|
8
|
+
count: number;
|
|
9
|
+
pattern: string;
|
|
10
|
+
error?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
success: boolean;
|
|
13
|
+
error: string;
|
|
14
|
+
pattern: string;
|
|
15
|
+
files?: undefined;
|
|
16
|
+
count?: undefined;
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=listFilesTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listFilesTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/listFilesTool.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;EAyBxB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listFilesTool = void 0;
|
|
4
|
+
const ai_1 = require("ai");
|
|
5
|
+
const glob_1 = require("glob");
|
|
6
|
+
const schemas_1 = require("../schemas");
|
|
7
|
+
exports.listFilesTool = (0, ai_1.tool)({
|
|
8
|
+
description: 'List files matching a glob pattern in the repository',
|
|
9
|
+
inputSchema: schemas_1.ListFilesInputSchema,
|
|
10
|
+
execute: async (input) => {
|
|
11
|
+
const { pattern, cwd, ignore } = input;
|
|
12
|
+
try {
|
|
13
|
+
const files = await (0, glob_1.glob)(pattern, {
|
|
14
|
+
cwd: cwd || process.cwd(),
|
|
15
|
+
ignore: ignore || ['node_modules/**', '.git/**', 'dist/**'],
|
|
16
|
+
absolute: false
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
success: true,
|
|
20
|
+
files,
|
|
21
|
+
count: files.length,
|
|
22
|
+
pattern
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return {
|
|
27
|
+
success: false,
|
|
28
|
+
error: error instanceof Error ? error.message : String(error),
|
|
29
|
+
pattern
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=listFilesTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listFilesTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/listFilesTool.ts"],"names":[],"mappings":";;;AAAA,2BAA0B;AAC1B,+BAA4B;AAC5B,wCAAuE;AAE1D,QAAA,aAAa,GAAG,IAAA,SAAI,EAAC;IAChC,WAAW,EAAE,sDAAsD;IACnE,WAAW,EAAE,8BAAoB;IACjC,OAAO,EAAE,KAAK,EAAE,KAAqB,EAAE,EAAE;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAC,OAAO,EAAE;gBAChC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBACzB,MAAM,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;gBAC3D,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,OAAO;aACR,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,OAAO;aACR,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const readFileTool: import("ai").Tool<{
|
|
2
|
+
filePath: string;
|
|
3
|
+
encoding?: "ascii" | "utf-8" | "binary" | undefined;
|
|
4
|
+
}, {
|
|
5
|
+
success: boolean;
|
|
6
|
+
content: string;
|
|
7
|
+
path: string;
|
|
8
|
+
size: number;
|
|
9
|
+
error?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
success: boolean;
|
|
12
|
+
error: string;
|
|
13
|
+
path: string;
|
|
14
|
+
content?: undefined;
|
|
15
|
+
size?: undefined;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=readFileTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readFileTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/readFileTool.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EAqBvB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.readFileTool = void 0;
|
|
37
|
+
const ai_1 = require("ai");
|
|
38
|
+
const fs = __importStar(require("fs-extra"));
|
|
39
|
+
const schemas_1 = require("../schemas");
|
|
40
|
+
exports.readFileTool = (0, ai_1.tool)({
|
|
41
|
+
description: 'Read the contents of a file from the filesystem',
|
|
42
|
+
inputSchema: schemas_1.ReadFileInputSchema,
|
|
43
|
+
execute: async (input) => {
|
|
44
|
+
const { filePath, encoding = 'utf-8' } = input;
|
|
45
|
+
try {
|
|
46
|
+
const content = await fs.readFile(filePath, encoding);
|
|
47
|
+
return {
|
|
48
|
+
success: true,
|
|
49
|
+
content,
|
|
50
|
+
path: filePath,
|
|
51
|
+
size: content.length
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return {
|
|
56
|
+
success: false,
|
|
57
|
+
error: error instanceof Error ? error.message : String(error),
|
|
58
|
+
path: filePath
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=readFileTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readFileTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/readFileTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA0B;AAC1B,6CAA+B;AAC/B,wCAAqE;AAExD,QAAA,YAAY,GAAG,IAAA,SAAI,EAAC;IAC/B,WAAW,EAAE,iDAAiD;IAC9D,WAAW,EAAE,6BAAmB;IAChC,OAAO,EAAE,KAAK,EAAE,KAAoB,EAAE,EAAE;QACtC,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAA0B,CAAC,CAAC;YACxE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO,CAAC,MAAM;aACrB,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,IAAI,EAAE,QAAQ;aACf,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const scaffoldPlanTool: import("ai").Tool<{
|
|
2
|
+
planName: string;
|
|
3
|
+
repoPath?: string | undefined;
|
|
4
|
+
outputDir?: string | undefined;
|
|
5
|
+
title?: string | undefined;
|
|
6
|
+
summary?: string | undefined;
|
|
7
|
+
semantic?: boolean | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
success: boolean;
|
|
10
|
+
planPath: string;
|
|
11
|
+
planContent: string;
|
|
12
|
+
error?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
success: boolean;
|
|
15
|
+
error: string;
|
|
16
|
+
planPath?: undefined;
|
|
17
|
+
planContent?: undefined;
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=scaffoldPlanTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffoldPlanTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/scaffoldPlanTool.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;EAiD3B,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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.scaffoldPlanTool = void 0;
|
|
37
|
+
const ai_1 = require("ai");
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const fs = __importStar(require("fs-extra"));
|
|
40
|
+
const schemas_1 = require("../schemas");
|
|
41
|
+
const planGenerator_1 = require("../../../generators/plans/planGenerator");
|
|
42
|
+
exports.scaffoldPlanTool = (0, ai_1.tool)({
|
|
43
|
+
description: 'Create a plan template in .context/plans/',
|
|
44
|
+
inputSchema: schemas_1.ScaffoldPlanInputSchema,
|
|
45
|
+
execute: async (input) => {
|
|
46
|
+
const { planName, repoPath: customRepoPath, outputDir: customOutputDir, title, summary, semantic = true } = input;
|
|
47
|
+
const repoPath = customRepoPath ? path.resolve(customRepoPath) : process.cwd();
|
|
48
|
+
const outputDir = customOutputDir
|
|
49
|
+
? path.resolve(customOutputDir)
|
|
50
|
+
: path.resolve(repoPath, '.context');
|
|
51
|
+
try {
|
|
52
|
+
const planGenerator = new planGenerator_1.PlanGenerator();
|
|
53
|
+
const result = await planGenerator.generatePlan({
|
|
54
|
+
planName,
|
|
55
|
+
outputDir,
|
|
56
|
+
title,
|
|
57
|
+
summary,
|
|
58
|
+
force: true, // MCP calls should always overwrite (non-interactive)
|
|
59
|
+
verbose: false,
|
|
60
|
+
semantic,
|
|
61
|
+
projectPath: semantic ? repoPath : undefined,
|
|
62
|
+
selectedAgentTypes: undefined, // Include all agents
|
|
63
|
+
selectedDocKeys: undefined // Include all docs
|
|
64
|
+
});
|
|
65
|
+
// Read the generated content to return
|
|
66
|
+
const planContent = await fs.readFile(result.planPath, 'utf-8');
|
|
67
|
+
return {
|
|
68
|
+
success: true,
|
|
69
|
+
planPath: result.planPath,
|
|
70
|
+
planContent
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return {
|
|
75
|
+
success: false,
|
|
76
|
+
error: error instanceof Error ? error.message : String(error)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=scaffoldPlanTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffoldPlanTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/scaffoldPlanTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA0B;AAC1B,2CAA6B;AAC7B,6CAA+B;AAC/B,wCAA6E;AAC7E,2EAAwE;AAE3D,QAAA,gBAAgB,GAAG,IAAA,SAAI,EAAC;IACnC,WAAW,EAAE,2CAA2C;IACxD,WAAW,EAAE,iCAAuB;IACpC,OAAO,EAAE,KAAK,EAAE,KAAwB,EAAE,EAAE;QAC1C,MAAM,EACJ,QAAQ,EACR,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,eAAe,EAC1B,KAAK,EACL,OAAO,EACP,QAAQ,GAAG,IAAI,EAChB,GAAG,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/E,MAAM,SAAS,GAAG,eAAe;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC;gBAC9C,QAAQ;gBACR,SAAS;gBACT,KAAK;gBACL,OAAO;gBACP,KAAK,EAAE,IAAI,EAAE,sDAAsD;gBACnE,OAAO,EAAE,KAAK;gBACd,QAAQ;gBACR,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC5C,kBAAkB,EAAE,SAAS,EAAE,qBAAqB;gBACpD,eAAe,EAAE,SAAS,CAAC,mBAAmB;aAC/C,CAAC,CAAC;YAEH,uCAAuC;YACvC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW;aACZ,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;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const searchCodeTool: import("ai").Tool<{
|
|
2
|
+
pattern: string;
|
|
3
|
+
maxResults: number;
|
|
4
|
+
fileGlob?: string | undefined;
|
|
5
|
+
}, {
|
|
6
|
+
success: boolean;
|
|
7
|
+
pattern: string;
|
|
8
|
+
matches: {
|
|
9
|
+
file: string;
|
|
10
|
+
line: number;
|
|
11
|
+
match: string;
|
|
12
|
+
context: string;
|
|
13
|
+
}[];
|
|
14
|
+
totalMatches: number;
|
|
15
|
+
truncated: boolean;
|
|
16
|
+
error?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
success: boolean;
|
|
19
|
+
error: string;
|
|
20
|
+
pattern: string;
|
|
21
|
+
matches?: undefined;
|
|
22
|
+
totalMatches?: undefined;
|
|
23
|
+
truncated?: undefined;
|
|
24
|
+
}>;
|
|
25
|
+
//# sourceMappingURL=searchCodeTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchCodeTool.d.ts","sourceRoot":"","sources":["../../../../src/services/ai/tools/searchCodeTool.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;;;;;;;;cAab,MAAM;cACN,MAAM;eACL,MAAM;iBACJ,MAAM;;;;;;;;;;;;EA4CrB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
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.searchCodeTool = void 0;
|
|
37
|
+
const ai_1 = require("ai");
|
|
38
|
+
const glob_1 = require("glob");
|
|
39
|
+
const fs = __importStar(require("fs-extra"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
const schemas_1 = require("../schemas");
|
|
42
|
+
exports.searchCodeTool = (0, ai_1.tool)({
|
|
43
|
+
description: 'Search for code patterns across files in the repository',
|
|
44
|
+
inputSchema: schemas_1.SearchCodeInputSchema,
|
|
45
|
+
execute: async (input) => {
|
|
46
|
+
const { pattern, fileGlob, maxResults = 50 } = input;
|
|
47
|
+
try {
|
|
48
|
+
const files = await (0, glob_1.glob)(fileGlob || '**/*.{ts,tsx,js,jsx,py,go,rs,java}', {
|
|
49
|
+
ignore: ['node_modules/**', '.git/**', 'dist/**', 'build/**'],
|
|
50
|
+
absolute: true
|
|
51
|
+
});
|
|
52
|
+
const regex = new RegExp(pattern, 'gm');
|
|
53
|
+
const matches = [];
|
|
54
|
+
for (const file of files) {
|
|
55
|
+
if (matches.length >= maxResults)
|
|
56
|
+
break;
|
|
57
|
+
try {
|
|
58
|
+
const content = await fs.readFile(file, 'utf-8');
|
|
59
|
+
const lines = content.split('\n');
|
|
60
|
+
for (let i = 0; i < lines.length && matches.length < maxResults; i++) {
|
|
61
|
+
if (regex.test(lines[i])) {
|
|
62
|
+
matches.push({
|
|
63
|
+
file: path.relative(process.cwd(), file),
|
|
64
|
+
line: i + 1,
|
|
65
|
+
match: lines[i].trim().slice(0, 200),
|
|
66
|
+
context: lines
|
|
67
|
+
.slice(Math.max(0, i - 1), i + 2)
|
|
68
|
+
.join('\n')
|
|
69
|
+
.slice(0, 500)
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
regex.lastIndex = 0; // Reset regex state
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// Skip unreadable files
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
success: true,
|
|
81
|
+
pattern,
|
|
82
|
+
matches,
|
|
83
|
+
totalMatches: matches.length,
|
|
84
|
+
truncated: matches.length >= maxResults
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return {
|
|
89
|
+
success: false,
|
|
90
|
+
error: error instanceof Error ? error.message : String(error),
|
|
91
|
+
pattern
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=searchCodeTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchCodeTool.js","sourceRoot":"","sources":["../../../../src/services/ai/tools/searchCodeTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA0B;AAC1B,+BAA4B;AAC5B,6CAA+B;AAC/B,2CAA6B;AAC7B,wCAAyE;AAE5D,QAAA,cAAc,GAAG,IAAA,SAAI,EAAC;IACjC,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE,+BAAqB;IAClC,OAAO,EAAE,KAAK,EAAE,KAAsB,EAAE,EAAE;QACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAC,QAAQ,IAAI,oCAAoC,EAAE;gBACzE,MAAM,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;gBAC7D,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,OAAO,GAKR,EAAE,CAAC;YAER,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;oBAAE,MAAM;gBAExC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzB,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;gCACxC,IAAI,EAAE,CAAC,GAAG,CAAC;gCACX,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gCACpC,OAAO,EAAE,KAAK;qCACX,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;qCAChC,IAAI,CAAC,IAAI,CAAC;qCACV,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;6BACjB,CAAC,CAAC;wBACL,CAAC;wBACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,oBAAoB;oBAC3C,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,OAAO;gBACP,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,UAAU;aACxC,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,OAAO;aACR,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|