@ai-coders/context 0.3.1 → 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 +269 -29
- 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/agentConfig.d.ts.map +1 -1
- package/dist/generators/agents/agentConfig.js +42 -0
- package/dist/generators/agents/agentConfig.js.map +1 -1
- package/dist/generators/agents/agentGenerator.d.ts +8 -2
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +112 -54
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/agentTypes.d.ts +1 -1
- package/dist/generators/agents/agentTypes.d.ts.map +1 -1
- package/dist/generators/agents/agentTypes.js +4 -1
- package/dist/generators/agents/agentTypes.js.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.js +2 -1
- package/dist/generators/agents/templates/indexTemplate.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 +144 -10
- 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 +5 -1
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +106 -18
- 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 +2 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js +469 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +175 -41
- 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 -33
- 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 +2 -34
- 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 -37
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/index.d.ts +4 -0
- package/dist/generators/documentation/templates/index.d.ts.map +1 -1
- package/dist/generators/documentation/templates/index.js +9 -1
- package/dist/generators/documentation/templates/index.js.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.js +1 -32
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/migrationTemplate.js +400 -0
- package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js +409 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +97 -38
- 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 -32
- 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 -33
- 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 -33
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js +270 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
- 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 +5 -13
- 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 +123 -30
- 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 +1 -1
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.js +7 -10
- package/dist/generators/shared/generatorUtils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +459 -1073
- 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/baseLLMClient.d.ts +3 -3
- package/dist/services/baseLLMClient.d.ts.map +1 -1
- package/dist/services/baseLLMClient.js +44 -5
- package/dist/services/baseLLMClient.js.map +1 -1
- package/dist/services/fill/fillService.d.ts +11 -5
- package/dist/services/fill/fillService.d.ts.map +1 -1
- package/dist/services/fill/fillService.js +152 -88
- package/dist/services/fill/fillService.js.map +1 -1
- package/dist/services/init/initService.d.ts +3 -2
- package/dist/services/init/initService.d.ts.map +1 -1
- package/dist/services/init/initService.js +54 -19
- package/dist/services/init/initService.js.map +1 -1
- package/dist/services/llmClientFactory.d.ts +37 -9
- package/dist/services/llmClientFactory.d.ts.map +1 -1
- package/dist/services/llmClientFactory.js +54 -94
- 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.d.ts +0 -3
- package/dist/services/openRouterClient.d.ts.map +1 -1
- package/dist/services/openRouterClient.js +2 -49
- 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 +5 -5
- package/dist/services/plan/planService.d.ts.map +1 -1
- package/dist/services/plan/planService.js +52 -53
- 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 +44 -57
- 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 +8 -2
- 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/fileMapper.d.ts +1 -1
- package/dist/utils/fileMapper.d.ts.map +1 -1
- package/dist/utils/fileMapper.js +40 -19
- package/dist/utils/fileMapper.js.map +1 -1
- 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 +96 -43
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +194 -88
- 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 +18 -11
- package/prompts/update_plan_prompt.md +4 -5
- package/prompts/update_scaffold_prompt.md +14 -35
- 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/agents/contextUtils.d.ts +0 -8
- package/dist/generators/agents/contextUtils.d.ts.map +0 -1
- package/dist/generators/agents/contextUtils.js +0 -15
- package/dist/generators/agents/contextUtils.js.map +0 -1
- package/dist/generators/agents/promptFormatter.d.ts +0 -9
- package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
- package/dist/generators/agents/promptFormatter.js +0 -84
- package/dist/generators/agents/promptFormatter.js.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
- package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
- package/dist/generators/analyzers/index.d.ts +0 -3
- package/dist/generators/analyzers/index.d.ts.map +0 -1
- package/dist/generators/analyzers/index.js +0 -6
- package/dist/generators/analyzers/index.js.map +0 -1
- package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
- package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTemplates.js +0 -359
- package/dist/generators/documentation/documentationTemplates.js.map +0 -1
- package/dist/generators/documentation/documentationTypes.d.ts +0 -11
- package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTypes.js +0 -22
- package/dist/generators/documentation/documentationTypes.js.map +0 -1
- package/dist/generators/documentation/documentationUtils.d.ts +0 -7
- package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
- package/dist/generators/documentation/documentationUtils.js +0 -28
- package/dist/generators/documentation/documentationUtils.js.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
- package/dist/generators/documentation/incrementalDocumentationGenerator.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/generators/documentation/templates.d.ts +0 -31
- package/dist/generators/documentation/templates.d.ts.map +0 -1
- package/dist/generators/documentation/templates.js +0 -566
- package/dist/generators/documentation/templates.js.map +0 -1
- package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
- package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
- package/dist/generators/guidelines/agentIntegration.js +0 -157
- package/dist/generators/guidelines/agentIntegration.js.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
- package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.js +0 -144
- package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
- package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
- package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
- package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
- package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
- package/dist/generators/guidelines/index.d.ts +0 -6
- package/dist/generators/guidelines/index.d.ts.map +0 -1
- package/dist/generators/guidelines/index.js +0 -16
- package/dist/generators/guidelines/index.js.map +0 -1
- package/dist/generators/moduleGrouper.d.ts +0 -14
- package/dist/generators/moduleGrouper.d.ts.map +0 -1
- package/dist/generators/moduleGrouper.js +0 -82
- package/dist/generators/moduleGrouper.js.map +0 -1
- package/dist/generators/projectAnalyzer.d.ts +0 -14
- package/dist/generators/projectAnalyzer.d.ts.map +0 -1
- package/dist/generators/projectAnalyzer.js +0 -217
- package/dist/generators/projectAnalyzer.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/changeAnalyzer.d.ts +0 -44
- package/dist/services/changeAnalyzer.d.ts.map +0 -1
- package/dist/services/changeAnalyzer.js +0 -344
- package/dist/services/changeAnalyzer.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/interactiveMode.d.ts +0 -21
- package/dist/utils/interactiveMode.d.ts.map +0 -1
- package/dist/utils/interactiveMode.js +0 -737
- package/dist/utils/interactiveMode.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
- package/dist/utils/tokenEstimator.d.ts +0 -28
- package/dist/utils/tokenEstimator.d.ts.map +0 -1
- package/dist/utils/tokenEstimator.js +0 -134
- package/dist/utils/tokenEstimator.js.map +0 -1
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlaybookAgent = void 0;
|
|
4
|
+
const ai_1 = require("ai");
|
|
5
|
+
const providerFactory_1 = require("../providerFactory");
|
|
6
|
+
const tools_1 = require("../tools");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
8
|
+
const agentEvents_1 = require("../agentEvents");
|
|
9
|
+
const semantic_1 = require("../../semantic");
|
|
10
|
+
const contentSanitizer_1 = require("../../../utils/contentSanitizer");
|
|
11
|
+
const SYSTEM_PROMPT = `You are an expert at creating AI agent playbooks for software development.
|
|
12
|
+
|
|
13
|
+
You have access to code analysis tools. Use them to understand the codebase before generating the playbook.
|
|
14
|
+
|
|
15
|
+
A good playbook includes:
|
|
16
|
+
1. Clear understanding of what files/areas the agent should focus on
|
|
17
|
+
2. Specific workflows and steps for common tasks
|
|
18
|
+
3. Best practices derived from the actual codebase
|
|
19
|
+
4. Relevant code patterns and conventions
|
|
20
|
+
5. Key files and their purposes
|
|
21
|
+
|
|
22
|
+
Use the tools to discover:
|
|
23
|
+
- Relevant source files for the agent type
|
|
24
|
+
- Test files and testing patterns
|
|
25
|
+
- Configuration files
|
|
26
|
+
- Existing documentation
|
|
27
|
+
- Code patterns and conventions
|
|
28
|
+
|
|
29
|
+
IMPORTANT OUTPUT FORMAT:
|
|
30
|
+
- Output ONLY the final playbook content in Markdown format
|
|
31
|
+
- Do NOT include your reasoning, planning, or analysis process
|
|
32
|
+
- Do NOT start with phrases like "I will...", "Let me...", "First, I need to..."
|
|
33
|
+
- Begin directly with the playbook title or content structure
|
|
34
|
+
- Your response will be saved directly to a .md file`;
|
|
35
|
+
const AGENT_TYPE_FOCUS = {
|
|
36
|
+
'code-reviewer': ['**/*.ts', '**/*.tsx', '.eslintrc*', 'tsconfig.json'],
|
|
37
|
+
'bug-fixer': ['**/*.ts', '**/*.test.ts', '**/error*', '**/exception*'],
|
|
38
|
+
'feature-developer': ['src/**/*', 'package.json', 'README.md'],
|
|
39
|
+
'refactoring-specialist': ['src/**/*.ts', 'tsconfig.json', '.eslintrc*'],
|
|
40
|
+
'test-writer': ['**/*.test.ts', '**/*.spec.ts', 'jest.config*', 'vitest.config*'],
|
|
41
|
+
'documentation-writer': ['**/*.md', 'docs/**/*', 'README.md', 'src/**/*.ts'],
|
|
42
|
+
'performance-optimizer': ['**/*.ts', 'webpack.config*', 'package.json'],
|
|
43
|
+
'security-auditor': ['**/*.ts', '.env*', 'package.json', '**/auth*', '**/security*'],
|
|
44
|
+
'backend-specialist': ['src/services/**/*', 'src/api/**/*', 'server/**/*'],
|
|
45
|
+
'frontend-specialist': ['src/components/**/*', 'src/pages/**/*', '**/*.tsx', '**/*.css'],
|
|
46
|
+
'architect-specialist': ['src/**/*', 'package.json', 'tsconfig.json', 'docs/**/*'],
|
|
47
|
+
'devops-specialist': ['Dockerfile*', 'docker-compose*', '.github/**/*', 'ci/**/*'],
|
|
48
|
+
'database-specialist': ['**/models/**/*', '**/migrations/**/*', '**/schema*', 'prisma/**/*'],
|
|
49
|
+
'mobile-specialist': ['**/*.tsx', 'app/**/*', 'expo*', 'react-native*']
|
|
50
|
+
};
|
|
51
|
+
class PlaybookAgent {
|
|
52
|
+
constructor(config) {
|
|
53
|
+
this.config = config;
|
|
54
|
+
this.providerResult = (0, providerFactory_1.createProvider)(config);
|
|
55
|
+
this.tools = (0, tools_1.getCodeAnalysisTools)();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Generate a playbook using tools for context gathering
|
|
59
|
+
*/
|
|
60
|
+
async generatePlaybook(options) {
|
|
61
|
+
const { repoPath, agentType, existingContext, maxSteps = 12, maxOutputTokens = 8000, callbacks, useSemanticContext = true, useLSP = false } = options;
|
|
62
|
+
// Emit agent start event
|
|
63
|
+
callbacks?.onAgentStart?.({ agent: 'playbook', target: agentType });
|
|
64
|
+
// Use semantic context mode for token efficiency
|
|
65
|
+
if (useSemanticContext) {
|
|
66
|
+
return this.generateWithSemanticContext(repoPath, agentType, existingContext, maxOutputTokens, callbacks, useLSP);
|
|
67
|
+
}
|
|
68
|
+
// Tool-based mode for thorough analysis
|
|
69
|
+
return this.generateWithTools(repoPath, agentType, existingContext, maxSteps, maxOutputTokens, callbacks);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate playbook using pre-computed semantic context (more token efficient)
|
|
73
|
+
*/
|
|
74
|
+
async generateWithSemanticContext(repoPath, agentType, existingContext, maxOutputTokens, callbacks, useLSP = false) {
|
|
75
|
+
const toolName = useLSP ? 'semanticAnalysis+LSP' : 'semanticAnalysis';
|
|
76
|
+
callbacks?.onToolCall?.({
|
|
77
|
+
agent: 'playbook',
|
|
78
|
+
toolName,
|
|
79
|
+
args: { repoPath, agentType, useLSP }
|
|
80
|
+
});
|
|
81
|
+
// Create context builder with LSP option
|
|
82
|
+
const contextBuilder = new semantic_1.SemanticContextBuilder({ useLSP });
|
|
83
|
+
// Pre-compute semantic context
|
|
84
|
+
const semanticContext = await contextBuilder.buildPlaybookContext(repoPath, agentType);
|
|
85
|
+
// Cleanup LSP servers if enabled
|
|
86
|
+
await contextBuilder.shutdown();
|
|
87
|
+
callbacks?.onToolResult?.({
|
|
88
|
+
agent: 'playbook',
|
|
89
|
+
toolName,
|
|
90
|
+
success: true,
|
|
91
|
+
summary: `Analyzed codebase for ${agentType}${useLSP ? ' with LSP' : ''}: ${semanticContext.length} chars of context`
|
|
92
|
+
});
|
|
93
|
+
const userPrompt = `Generate a comprehensive playbook for a ${agentType} agent.
|
|
94
|
+
|
|
95
|
+
Repository: ${repoPath}
|
|
96
|
+
|
|
97
|
+
${semanticContext}
|
|
98
|
+
|
|
99
|
+
${existingContext ? `Existing context:\n${existingContext}` : ''}
|
|
100
|
+
|
|
101
|
+
Generate a detailed, actionable playbook with:
|
|
102
|
+
1. Clear understanding of what files/areas the agent should focus on
|
|
103
|
+
2. Specific workflows and steps for common tasks
|
|
104
|
+
3. Best practices derived from the actual codebase
|
|
105
|
+
4. Key files and their purposes`;
|
|
106
|
+
const { provider, modelId } = this.providerResult;
|
|
107
|
+
const result = await (0, ai_1.generateText)({
|
|
108
|
+
model: provider(modelId),
|
|
109
|
+
system: SYSTEM_PROMPT,
|
|
110
|
+
prompt: userPrompt,
|
|
111
|
+
maxOutputTokens
|
|
112
|
+
});
|
|
113
|
+
// Emit agent complete event
|
|
114
|
+
callbacks?.onAgentComplete?.({ agent: 'playbook', toolsUsed: [toolName], steps: 1 });
|
|
115
|
+
return {
|
|
116
|
+
text: (0, contentSanitizer_1.sanitizeAIResponse)(result.text, { preserveFrontMatter: true }),
|
|
117
|
+
toolsUsed: [toolName],
|
|
118
|
+
steps: 1
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Generate playbook using multi-step tool-based exploration (more thorough)
|
|
123
|
+
*/
|
|
124
|
+
async generateWithTools(repoPath, agentType, existingContext, maxSteps, maxOutputTokens, callbacks) {
|
|
125
|
+
const focusPatterns = AGENT_TYPE_FOCUS[agentType] || ['src/**/*'];
|
|
126
|
+
const userPrompt = `Generate a comprehensive playbook for a ${agentType} agent.
|
|
127
|
+
|
|
128
|
+
Repository: ${repoPath}
|
|
129
|
+
Focus patterns: ${focusPatterns.join(', ')}
|
|
130
|
+
${existingContext ? `Existing context:\n${existingContext}` : ''}
|
|
131
|
+
|
|
132
|
+
Use the tools to analyze the codebase and identify:
|
|
133
|
+
- Relevant files for this agent type
|
|
134
|
+
- Patterns and conventions
|
|
135
|
+
- Testing strategies (if applicable)
|
|
136
|
+
- Key workflows
|
|
137
|
+
|
|
138
|
+
Then generate a detailed, actionable playbook.`;
|
|
139
|
+
const { provider, modelId } = this.providerResult;
|
|
140
|
+
let stepCount = 0;
|
|
141
|
+
const result = await (0, ai_1.generateText)({
|
|
142
|
+
model: provider(modelId),
|
|
143
|
+
system: SYSTEM_PROMPT,
|
|
144
|
+
prompt: userPrompt,
|
|
145
|
+
tools: this.tools,
|
|
146
|
+
stopWhen: (0, ai_1.stepCountIs)(maxSteps),
|
|
147
|
+
maxOutputTokens,
|
|
148
|
+
onStepFinish: (step) => {
|
|
149
|
+
stepCount++;
|
|
150
|
+
callbacks?.onAgentStep?.({ agent: 'playbook', step: stepCount });
|
|
151
|
+
for (const toolCall of step.toolCalls || []) {
|
|
152
|
+
callbacks?.onToolCall?.({
|
|
153
|
+
agent: 'playbook',
|
|
154
|
+
toolName: toolCall.toolName,
|
|
155
|
+
args: 'args' in toolCall ? toolCall.args : undefined
|
|
156
|
+
});
|
|
157
|
+
const toolResult = step.toolResults?.find((r) => 'toolCallId' in r && r.toolCallId === toolCall.toolCallId);
|
|
158
|
+
if (toolResult && 'result' in toolResult) {
|
|
159
|
+
callbacks?.onToolResult?.({
|
|
160
|
+
agent: 'playbook',
|
|
161
|
+
toolName: toolCall.toolName,
|
|
162
|
+
success: true,
|
|
163
|
+
summary: (0, agentEvents_1.summarizeToolResult)(toolCall.toolName, toolResult.result)
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
// Extract tool names used
|
|
170
|
+
const toolsUsed = new Set();
|
|
171
|
+
for (const step of result.steps || []) {
|
|
172
|
+
for (const toolCall of step.toolCalls || []) {
|
|
173
|
+
toolsUsed.add(toolCall.toolName);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const toolsUsedArray = Array.from(toolsUsed);
|
|
177
|
+
const totalSteps = result.steps?.length || 1;
|
|
178
|
+
// Emit agent complete event
|
|
179
|
+
callbacks?.onAgentComplete?.({ agent: 'playbook', toolsUsed: toolsUsedArray, steps: totalSteps });
|
|
180
|
+
return {
|
|
181
|
+
text: (0, contentSanitizer_1.sanitizeAIResponse)(result.text, { preserveFrontMatter: true }),
|
|
182
|
+
toolsUsed: toolsUsedArray,
|
|
183
|
+
steps: totalSteps
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Generate structured playbook output
|
|
188
|
+
*/
|
|
189
|
+
async generateStructuredPlaybook(options) {
|
|
190
|
+
const { repoPath, agentType, existingContext, maxSteps = 8, maxOutputTokens = 8000, callbacks } = options;
|
|
191
|
+
// Emit agent start event
|
|
192
|
+
callbacks?.onAgentStart?.({ agent: 'playbook', target: agentType });
|
|
193
|
+
const focusPatterns = AGENT_TYPE_FOCUS[agentType] || ['src/**/*'];
|
|
194
|
+
const analysisPrompt = `For a ${agentType} agent working in ${repoPath}, find:
|
|
195
|
+
1. Relevant source files (focus on: ${focusPatterns.join(', ')})
|
|
196
|
+
2. Test files and patterns
|
|
197
|
+
3. Configuration files
|
|
198
|
+
4. Documentation
|
|
199
|
+
${existingContext ? `\nExisting context: ${existingContext}` : ''}`;
|
|
200
|
+
const { provider, modelId } = this.providerResult;
|
|
201
|
+
let stepCount = 0;
|
|
202
|
+
// First gather context using tools
|
|
203
|
+
const analysisResult = await (0, ai_1.generateText)({
|
|
204
|
+
model: provider(modelId),
|
|
205
|
+
system: 'Analyze the codebase for the specified agent type.',
|
|
206
|
+
prompt: analysisPrompt,
|
|
207
|
+
tools: this.tools,
|
|
208
|
+
stopWhen: (0, ai_1.stepCountIs)(maxSteps),
|
|
209
|
+
maxOutputTokens: Math.floor(maxOutputTokens / 2),
|
|
210
|
+
onStepFinish: (step) => {
|
|
211
|
+
stepCount++;
|
|
212
|
+
callbacks?.onAgentStep?.({ agent: 'playbook', step: stepCount });
|
|
213
|
+
for (const toolCall of step.toolCalls || []) {
|
|
214
|
+
callbacks?.onToolCall?.({
|
|
215
|
+
agent: 'playbook',
|
|
216
|
+
toolName: toolCall.toolName,
|
|
217
|
+
args: 'args' in toolCall ? toolCall.args : undefined
|
|
218
|
+
});
|
|
219
|
+
const toolResult = step.toolResults?.find((r) => 'toolCallId' in r && r.toolCallId === toolCall.toolCallId);
|
|
220
|
+
if (toolResult && 'result' in toolResult) {
|
|
221
|
+
callbacks?.onToolResult?.({
|
|
222
|
+
agent: 'playbook',
|
|
223
|
+
toolName: toolCall.toolName,
|
|
224
|
+
success: true,
|
|
225
|
+
summary: (0, agentEvents_1.summarizeToolResult)(toolCall.toolName, toolResult.result)
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
// Extract tool names used
|
|
232
|
+
const toolsUsed = new Set();
|
|
233
|
+
for (const step of analysisResult.steps || []) {
|
|
234
|
+
for (const toolCall of step.toolCalls || []) {
|
|
235
|
+
toolsUsed.add(toolCall.toolName);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Then generate structured playbook
|
|
239
|
+
const playbook = await (0, ai_1.generateObject)({
|
|
240
|
+
model: provider(modelId),
|
|
241
|
+
schema: schemas_1.AgentPlaybookSchema,
|
|
242
|
+
system: 'Generate a structured agent playbook based on the analysis.',
|
|
243
|
+
prompt: `Analysis:\n${analysisResult.text}\n\nGenerate a structured playbook for: ${agentType}`,
|
|
244
|
+
maxOutputTokens: Math.floor(maxOutputTokens / 2)
|
|
245
|
+
});
|
|
246
|
+
const toolsUsedArray = Array.from(toolsUsed);
|
|
247
|
+
// Emit agent complete event
|
|
248
|
+
callbacks?.onAgentComplete?.({ agent: 'playbook', toolsUsed: toolsUsedArray, steps: stepCount });
|
|
249
|
+
return {
|
|
250
|
+
playbook: playbook.object,
|
|
251
|
+
toolsUsed: toolsUsedArray
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Get the current configuration
|
|
256
|
+
*/
|
|
257
|
+
getConfig() {
|
|
258
|
+
return {
|
|
259
|
+
provider: this.config.provider,
|
|
260
|
+
model: this.providerResult.modelId
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
exports.PlaybookAgent = PlaybookAgent;
|
|
265
|
+
//# sourceMappingURL=playbookAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbookAgent.js","sourceRoot":"","sources":["../../../../src/services/ai/agents/playbookAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ToolSet } from 'ai';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
import { BaseLLMClient } from '../baseLLMClient';
|
|
4
|
+
import type { LLMConfig } from '../../types';
|
|
5
|
+
export declare class AISdkClient extends BaseLLMClient {
|
|
6
|
+
private providerResult;
|
|
7
|
+
private config;
|
|
8
|
+
private tools;
|
|
9
|
+
constructor(config: LLMConfig);
|
|
10
|
+
/**
|
|
11
|
+
* Sets the tools available for tool-enabled generation
|
|
12
|
+
*/
|
|
13
|
+
setTools(tools: ToolSet): void;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the configured tools
|
|
16
|
+
*/
|
|
17
|
+
getTools(): ToolSet;
|
|
18
|
+
/**
|
|
19
|
+
* Basic text generation (compatible with BaseLLMClient interface)
|
|
20
|
+
*/
|
|
21
|
+
generateText(prompt: string, systemPrompt?: string): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Text generation with tool usage enabled
|
|
24
|
+
*/
|
|
25
|
+
generateWithTools(prompt: string, systemPrompt?: string, options?: {
|
|
26
|
+
enabledTools?: string[];
|
|
27
|
+
maxSteps?: number;
|
|
28
|
+
maxOutputTokens?: number;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
text: string;
|
|
31
|
+
toolCalls: Array<{
|
|
32
|
+
toolName: string;
|
|
33
|
+
args: unknown;
|
|
34
|
+
result: unknown;
|
|
35
|
+
}>;
|
|
36
|
+
steps: number;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Generate structured output conforming to a Zod schema
|
|
40
|
+
*/
|
|
41
|
+
generateStructured<T>(prompt: string, schema: z.ZodSchema<T>, systemPrompt?: string, options?: {
|
|
42
|
+
maxOutputTokens?: number;
|
|
43
|
+
}): Promise<T>;
|
|
44
|
+
/**
|
|
45
|
+
* Generate text with tools and then produce structured output
|
|
46
|
+
*/
|
|
47
|
+
generateWithToolsAndStructure<T>(prompt: string, schema: z.ZodSchema<T>, systemPrompt?: string, options?: {
|
|
48
|
+
enabledTools?: string[];
|
|
49
|
+
maxSteps?: number;
|
|
50
|
+
maxOutputTokens?: number;
|
|
51
|
+
}): Promise<{
|
|
52
|
+
object: T;
|
|
53
|
+
toolCalls: Array<{
|
|
54
|
+
toolName: string;
|
|
55
|
+
args: unknown;
|
|
56
|
+
result: unknown;
|
|
57
|
+
}>;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Get the current provider configuration
|
|
61
|
+
*/
|
|
62
|
+
getProviderConfig(): {
|
|
63
|
+
provider: string;
|
|
64
|
+
model: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=aiSdkClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiSdkClient.d.ts","sourceRoot":"","sources":["../../../src/services/ai/aiSdkClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,OAAO,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,WAAY,SAAQ,aAAa;IAC5C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAe;gBAEhB,MAAM,EAAE,SAAS;IAM7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9B;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B1E;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GACA,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACvE,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAqDF;;OAEG;IACG,kBAAkB,CAAC,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GACA,OAAO,CAAC,CAAC,CAAC;IAqBb;;OAEG;IACG,6BAA6B,CAAC,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GACA,OAAO,CAAC;QACT,MAAM,EAAE,CAAC,CAAC;QACV,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACxE,CAAC;IAmBF;;OAEG;IACH,iBAAiB,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAMzD"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AISdkClient = void 0;
|
|
4
|
+
const ai_1 = require("ai");
|
|
5
|
+
const baseLLMClient_1 = require("../baseLLMClient");
|
|
6
|
+
const providerFactory_1 = require("./providerFactory");
|
|
7
|
+
class AISdkClient extends baseLLMClient_1.BaseLLMClient {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
super(config.model);
|
|
10
|
+
this.tools = {};
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.providerResult = (0, providerFactory_1.createProvider)(config);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Sets the tools available for tool-enabled generation
|
|
16
|
+
*/
|
|
17
|
+
setTools(tools) {
|
|
18
|
+
this.tools = tools;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the configured tools
|
|
22
|
+
*/
|
|
23
|
+
getTools() {
|
|
24
|
+
return this.tools;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Basic text generation (compatible with BaseLLMClient interface)
|
|
28
|
+
*/
|
|
29
|
+
async generateText(prompt, systemPrompt) {
|
|
30
|
+
const messages = [];
|
|
31
|
+
if (systemPrompt) {
|
|
32
|
+
messages.push({ role: 'system', content: systemPrompt });
|
|
33
|
+
}
|
|
34
|
+
messages.push({ role: 'user', content: prompt });
|
|
35
|
+
const { provider, modelId } = this.providerResult;
|
|
36
|
+
const result = await (0, ai_1.generateText)({
|
|
37
|
+
model: provider(modelId),
|
|
38
|
+
messages,
|
|
39
|
+
maxOutputTokens: 4000,
|
|
40
|
+
temperature: 0.7
|
|
41
|
+
});
|
|
42
|
+
this.trackUsage({
|
|
43
|
+
prompt_tokens: result.usage?.inputTokens || 0,
|
|
44
|
+
completion_tokens: result.usage?.outputTokens || 0,
|
|
45
|
+
total_tokens: (result.usage?.inputTokens || 0) + (result.usage?.outputTokens || 0)
|
|
46
|
+
});
|
|
47
|
+
return result.text;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Text generation with tool usage enabled
|
|
51
|
+
*/
|
|
52
|
+
async generateWithTools(prompt, systemPrompt, options) {
|
|
53
|
+
const { enabledTools, maxSteps = 10, maxOutputTokens = 8000 } = options || {};
|
|
54
|
+
const activeTools = enabledTools
|
|
55
|
+
? Object.fromEntries(Object.entries(this.tools).filter(([name]) => enabledTools.includes(name)))
|
|
56
|
+
: this.tools;
|
|
57
|
+
const messages = [];
|
|
58
|
+
if (systemPrompt) {
|
|
59
|
+
messages.push({ role: 'system', content: systemPrompt });
|
|
60
|
+
}
|
|
61
|
+
messages.push({ role: 'user', content: prompt });
|
|
62
|
+
const { provider, modelId } = this.providerResult;
|
|
63
|
+
const result = await (0, ai_1.generateText)({
|
|
64
|
+
model: provider(modelId),
|
|
65
|
+
messages,
|
|
66
|
+
tools: activeTools,
|
|
67
|
+
maxOutputTokens,
|
|
68
|
+
stopWhen: (0, ai_1.stepCountIs)(maxSteps)
|
|
69
|
+
});
|
|
70
|
+
this.trackUsage({
|
|
71
|
+
prompt_tokens: result.usage?.inputTokens || 0,
|
|
72
|
+
completion_tokens: result.usage?.outputTokens || 0,
|
|
73
|
+
total_tokens: (result.usage?.inputTokens || 0) + (result.usage?.outputTokens || 0)
|
|
74
|
+
});
|
|
75
|
+
// Extract tool calls from all steps
|
|
76
|
+
const toolCalls = [];
|
|
77
|
+
for (const step of result.steps || []) {
|
|
78
|
+
for (const toolCall of step.toolCalls || []) {
|
|
79
|
+
const toolResult = step.toolResults?.find((r) => 'toolCallId' in r && r.toolCallId === toolCall.toolCallId);
|
|
80
|
+
toolCalls.push({
|
|
81
|
+
toolName: toolCall.toolName,
|
|
82
|
+
args: 'args' in toolCall ? toolCall.args : undefined,
|
|
83
|
+
result: toolResult && 'result' in toolResult ? toolResult.result : undefined
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
text: result.text,
|
|
89
|
+
toolCalls,
|
|
90
|
+
steps: result.steps?.length || 1
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Generate structured output conforming to a Zod schema
|
|
95
|
+
*/
|
|
96
|
+
async generateStructured(prompt, schema, systemPrompt, options) {
|
|
97
|
+
const { maxOutputTokens = 4000 } = options || {};
|
|
98
|
+
const { provider, modelId } = this.providerResult;
|
|
99
|
+
const result = await (0, ai_1.generateObject)({
|
|
100
|
+
model: provider(modelId),
|
|
101
|
+
schema,
|
|
102
|
+
system: systemPrompt,
|
|
103
|
+
prompt,
|
|
104
|
+
maxOutputTokens
|
|
105
|
+
});
|
|
106
|
+
this.trackUsage({
|
|
107
|
+
prompt_tokens: result.usage?.inputTokens || 0,
|
|
108
|
+
completion_tokens: result.usage?.outputTokens || 0,
|
|
109
|
+
total_tokens: (result.usage?.inputTokens || 0) + (result.usage?.outputTokens || 0)
|
|
110
|
+
});
|
|
111
|
+
return result.object;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Generate text with tools and then produce structured output
|
|
115
|
+
*/
|
|
116
|
+
async generateWithToolsAndStructure(prompt, schema, systemPrompt, options) {
|
|
117
|
+
// First, gather context using tools
|
|
118
|
+
const toolResult = await this.generateWithTools(prompt, systemPrompt, {
|
|
119
|
+
...options,
|
|
120
|
+
maxOutputTokens: (options?.maxOutputTokens || 8000) / 2
|
|
121
|
+
});
|
|
122
|
+
// Then generate structured output based on the analysis
|
|
123
|
+
const structuredPrompt = `Based on this analysis:\n\n${toolResult.text}\n\nGenerate the structured output.`;
|
|
124
|
+
const object = await this.generateStructured(structuredPrompt, schema, systemPrompt, {
|
|
125
|
+
maxOutputTokens: (options?.maxOutputTokens || 8000) / 2
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
object,
|
|
129
|
+
toolCalls: toolResult.toolCalls
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get the current provider configuration
|
|
134
|
+
*/
|
|
135
|
+
getProviderConfig() {
|
|
136
|
+
return {
|
|
137
|
+
provider: this.config.provider,
|
|
138
|
+
model: this.providerResult.modelId
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.AISdkClient = AISdkClient;
|
|
143
|
+
//# sourceMappingURL=aiSdkClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiSdkClient.js","sourceRoot":"","sources":["../../../src/services/ai/aiSdkClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AISdkClient } from './aiSdkClient';
|
|
2
|
+
export { createProvider, detectProviderFromEnv, getApiKeyFromEnv, getModelFromEnv, DEFAULT_MODELS, PROVIDER_ENV_VARS, type ProviderInstance, type ProviderResult } from './providerFactory';
|
|
3
|
+
export * from './schemas';
|
|
4
|
+
export { getCodeAnalysisTools, readFileTool, listFilesTool, analyzeSymbolsTool, getFileStructureTool, searchCodeTool, TOOL_NAMES, type ToolName } from './tools';
|
|
5
|
+
export { DocumentationAgent, PlaybookAgent, PlanAgent, type DocumentationAgentOptions, type DocumentationAgentResult, type PlaybookAgentOptions, type PlaybookAgentResult, type PlanAgentOptions, type PlanAgentResult } from './agents';
|
|
6
|
+
export { type AgentType, type AgentStartEvent, type AgentStepEvent, type ToolCallEvent, type ToolResultEvent, type AgentCompleteEvent, type AgentEventCallbacks, summarizeToolArgs, summarizeToolResult } from './agentEvents';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAG3B,cAAc,WAAW,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.summarizeToolResult = exports.summarizeToolArgs = exports.PlanAgent = exports.PlaybookAgent = exports.DocumentationAgent = exports.TOOL_NAMES = exports.searchCodeTool = exports.getFileStructureTool = exports.analyzeSymbolsTool = exports.listFilesTool = exports.readFileTool = exports.getCodeAnalysisTools = exports.PROVIDER_ENV_VARS = exports.DEFAULT_MODELS = exports.getModelFromEnv = exports.getApiKeyFromEnv = exports.detectProviderFromEnv = exports.createProvider = exports.AISdkClient = void 0;
|
|
18
|
+
// Main AI SDK client
|
|
19
|
+
var aiSdkClient_1 = require("./aiSdkClient");
|
|
20
|
+
Object.defineProperty(exports, "AISdkClient", { enumerable: true, get: function () { return aiSdkClient_1.AISdkClient; } });
|
|
21
|
+
// Provider factory
|
|
22
|
+
var providerFactory_1 = require("./providerFactory");
|
|
23
|
+
Object.defineProperty(exports, "createProvider", { enumerable: true, get: function () { return providerFactory_1.createProvider; } });
|
|
24
|
+
Object.defineProperty(exports, "detectProviderFromEnv", { enumerable: true, get: function () { return providerFactory_1.detectProviderFromEnv; } });
|
|
25
|
+
Object.defineProperty(exports, "getApiKeyFromEnv", { enumerable: true, get: function () { return providerFactory_1.getApiKeyFromEnv; } });
|
|
26
|
+
Object.defineProperty(exports, "getModelFromEnv", { enumerable: true, get: function () { return providerFactory_1.getModelFromEnv; } });
|
|
27
|
+
Object.defineProperty(exports, "DEFAULT_MODELS", { enumerable: true, get: function () { return providerFactory_1.DEFAULT_MODELS; } });
|
|
28
|
+
Object.defineProperty(exports, "PROVIDER_ENV_VARS", { enumerable: true, get: function () { return providerFactory_1.PROVIDER_ENV_VARS; } });
|
|
29
|
+
// Schemas
|
|
30
|
+
__exportStar(require("./schemas"), exports);
|
|
31
|
+
// Tools
|
|
32
|
+
var tools_1 = require("./tools");
|
|
33
|
+
Object.defineProperty(exports, "getCodeAnalysisTools", { enumerable: true, get: function () { return tools_1.getCodeAnalysisTools; } });
|
|
34
|
+
Object.defineProperty(exports, "readFileTool", { enumerable: true, get: function () { return tools_1.readFileTool; } });
|
|
35
|
+
Object.defineProperty(exports, "listFilesTool", { enumerable: true, get: function () { return tools_1.listFilesTool; } });
|
|
36
|
+
Object.defineProperty(exports, "analyzeSymbolsTool", { enumerable: true, get: function () { return tools_1.analyzeSymbolsTool; } });
|
|
37
|
+
Object.defineProperty(exports, "getFileStructureTool", { enumerable: true, get: function () { return tools_1.getFileStructureTool; } });
|
|
38
|
+
Object.defineProperty(exports, "searchCodeTool", { enumerable: true, get: function () { return tools_1.searchCodeTool; } });
|
|
39
|
+
Object.defineProperty(exports, "TOOL_NAMES", { enumerable: true, get: function () { return tools_1.TOOL_NAMES; } });
|
|
40
|
+
// Agents
|
|
41
|
+
var agents_1 = require("./agents");
|
|
42
|
+
Object.defineProperty(exports, "DocumentationAgent", { enumerable: true, get: function () { return agents_1.DocumentationAgent; } });
|
|
43
|
+
Object.defineProperty(exports, "PlaybookAgent", { enumerable: true, get: function () { return agents_1.PlaybookAgent; } });
|
|
44
|
+
Object.defineProperty(exports, "PlanAgent", { enumerable: true, get: function () { return agents_1.PlanAgent; } });
|
|
45
|
+
// Agent Events
|
|
46
|
+
var agentEvents_1 = require("./agentEvents");
|
|
47
|
+
Object.defineProperty(exports, "summarizeToolArgs", { enumerable: true, get: function () { return agentEvents_1.summarizeToolArgs; } });
|
|
48
|
+
Object.defineProperty(exports, "summarizeToolResult", { enumerable: true, get: function () { return agentEvents_1.summarizeToolResult; } });
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ai/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qBAAqB;AACrB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,mBAAmB;AACnB,qDAS2B;AARzB,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AACrB,mHAAA,gBAAgB,OAAA;AAChB,kHAAA,eAAe,OAAA;AACf,iHAAA,cAAc,OAAA;AACd,oHAAA,iBAAiB,OAAA;AAKnB,UAAU;AACV,4CAA0B;AAE1B,QAAQ;AACR,iCASiB;AARf,6GAAA,oBAAoB,OAAA;AACpB,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AACpB,uGAAA,cAAc,OAAA;AACd,mGAAA,UAAU,OAAA;AAIZ,SAAS;AACT,mCAUkB;AAThB,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AASX,eAAe;AACf,6CAUuB;AAFrB,gHAAA,iBAAiB,OAAA;AACjB,kHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createOpenAI } from '@ai-sdk/openai';
|
|
2
|
+
import { createAnthropic } from '@ai-sdk/anthropic';
|
|
3
|
+
import { createGoogleGenerativeAI } from '@ai-sdk/google';
|
|
4
|
+
import type { AIProvider, LLMConfig } from '../../types';
|
|
5
|
+
export type ProviderInstance = ReturnType<typeof createOpenAI> | ReturnType<typeof createAnthropic> | ReturnType<typeof createGoogleGenerativeAI>;
|
|
6
|
+
export interface ProviderResult {
|
|
7
|
+
provider: ProviderInstance;
|
|
8
|
+
modelId: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Default models for each provider
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEFAULT_MODELS: Record<AIProvider, string>;
|
|
14
|
+
/**
|
|
15
|
+
* Environment variable names for API keys
|
|
16
|
+
*/
|
|
17
|
+
export declare const PROVIDER_ENV_VARS: Record<AIProvider, string[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Creates a provider instance based on the configuration.
|
|
20
|
+
* OpenRouter uses OpenAI SDK with a custom base URL.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createProvider(config: LLMConfig): ProviderResult;
|
|
23
|
+
/**
|
|
24
|
+
* Detects the provider from available environment variables
|
|
25
|
+
*/
|
|
26
|
+
export declare function detectProviderFromEnv(): AIProvider | null;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the API key for a provider from environment variables
|
|
29
|
+
*/
|
|
30
|
+
export declare function getApiKeyFromEnv(provider: AIProvider): string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the model override from environment for a provider
|
|
33
|
+
*/
|
|
34
|
+
export declare function getModelFromEnv(provider: AIProvider): string | undefined;
|
|
35
|
+
//# sourceMappingURL=providerFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerFactory.d.ts","sourceRoot":"","sources":["../../../src/services/ai/providerFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GACxB,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,eAAe,CAAC,GAClC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAKrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAK1D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA4ChE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,GAAG,IAAI,CAMzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAOzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAGxE"}
|