@ai-coders/context 0.4.0 → 0.5.1
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 +117 -146
- 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 +147 -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 +3 -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 +174 -36
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.d.ts +33 -1
- package/dist/generators/documentation/templates/common.d.ts.map +1 -1
- package/dist/generators/documentation/templates/common.js +144 -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 +106 -22
- 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 +4 -19
- 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 +57 -25
- 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 +3 -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 +3 -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 +94 -28
- 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 +11 -22
- 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 +4 -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 +11 -25
- 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 +3 -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 +57 -33
- 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 +646 -114
- 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 +217 -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 +342 -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 +244 -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/prompts/index.d.ts +2 -0
- package/dist/services/ai/prompts/index.d.ts.map +1 -0
- package/dist/services/ai/prompts/index.js +12 -0
- package/dist/services/ai/prompts/index.js.map +1 -0
- package/dist/services/ai/prompts/sharedPrompts.d.ts +33 -0
- package/dist/services/ai/prompts/sharedPrompts.d.ts.map +1 -0
- package/dist/services/ai/prompts/sharedPrompts.js +136 -0
- package/dist/services/ai/prompts/sharedPrompts.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/toolRegistry.d.ts +27 -0
- package/dist/services/ai/toolRegistry.d.ts.map +1 -0
- package/dist/services/ai/toolRegistry.js +126 -0
- package/dist/services/ai/toolRegistry.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 +108 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js +463 -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 +68 -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 +157 -40
- 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 +411 -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/state/index.d.ts +2 -0
- package/dist/services/state/index.d.ts.map +1 -0
- package/dist/services/state/index.js +6 -0
- package/dist/services/state/index.js.map +1 -0
- package/dist/services/state/stateDetector.d.ts +53 -0
- package/dist/services/state/stateDetector.d.ts.map +1 -0
- package/dist/services/state/stateDetector.js +189 -0
- package/dist/services/state/stateDetector.js.map +1 -0
- 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/services/update/index.d.ts +2 -0
- package/dist/services/update/index.d.ts.map +1 -0
- package/dist/services/update/index.js +6 -0
- package/dist/services/update/index.js.map +1 -0
- package/dist/services/update/updateService.d.ts +64 -0
- package/dist/services/update/updateService.d.ts.map +1 -0
- package/dist/services/update/updateService.js +295 -0
- package/dist/services/update/updateService.js.map +1 -0
- package/dist/types.d.ts +2 -6
- 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/frontMatter.d.ts +55 -0
- package/dist/utils/frontMatter.d.ts.map +1 -0
- package/dist/utils/frontMatter.js +173 -0
- package/dist/utils/frontMatter.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 +101 -13
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +204 -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
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { LLMConfig } from '../types';
|
|
2
|
-
import { BaseLLMClient } from './baseLLMClient';
|
|
3
|
-
export declare class GeminiClient extends BaseLLMClient {
|
|
4
|
-
private client;
|
|
5
|
-
private model;
|
|
6
|
-
constructor(config: LLMConfig);
|
|
7
|
-
generateText(prompt: string, systemPrompt?: string): Promise<string>;
|
|
8
|
-
private calculateGeminiCost;
|
|
9
|
-
generateDocumentation(codeContent: string, filePath: string, context: string): Promise<string>;
|
|
10
|
-
generateAgentPrompt(repoStructure: string, fileContext: string, agentType: string): Promise<string>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=geminiClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geminiClient.d.ts","sourceRoot":"","sources":["../../src/services/geminiClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,YAAa,SAAQ,aAAa;IAC7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,SAAS;IAMvB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B1E,OAAO,CAAC,mBAAmB;IAiBrB,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAwBZ,mBAAmB,CACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CAwBnB"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GeminiClient = void 0;
|
|
4
|
-
const genai_1 = require("@google/genai");
|
|
5
|
-
const baseLLMClient_1 = require("./baseLLMClient");
|
|
6
|
-
class GeminiClient extends baseLLMClient_1.BaseLLMClient {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
super(config.model);
|
|
9
|
-
this.model = config.model;
|
|
10
|
-
this.client = new genai_1.GoogleGenAI({ apiKey: config.apiKey });
|
|
11
|
-
}
|
|
12
|
-
async generateText(prompt, systemPrompt) {
|
|
13
|
-
try {
|
|
14
|
-
const fullPrompt = systemPrompt
|
|
15
|
-
? `System: ${systemPrompt}\n\nUser: ${prompt}`
|
|
16
|
-
: prompt;
|
|
17
|
-
const response = await this.client.models.generateContent({
|
|
18
|
-
model: this.model,
|
|
19
|
-
contents: fullPrompt
|
|
20
|
-
});
|
|
21
|
-
const text = response.text || '';
|
|
22
|
-
// Google AI doesn't provide detailed usage stats in the free tier
|
|
23
|
-
// We'll estimate based on content length
|
|
24
|
-
const estimatedPromptTokens = Math.ceil(fullPrompt.length / 4);
|
|
25
|
-
const estimatedCompletionTokens = Math.ceil(text.length / 4);
|
|
26
|
-
this.trackUsage({
|
|
27
|
-
prompt_tokens: estimatedPromptTokens,
|
|
28
|
-
completion_tokens: estimatedCompletionTokens,
|
|
29
|
-
total_tokens: estimatedPromptTokens + estimatedCompletionTokens
|
|
30
|
-
}, this.calculateGeminiCost.bind(this));
|
|
31
|
-
return text;
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
throw new Error(`Gemini API error: ${error instanceof Error ? error.message : String(error)}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
calculateGeminiCost(promptTokens, completionTokens) {
|
|
38
|
-
// Google AI pricing (as of 2024) - per 1M tokens
|
|
39
|
-
const prices = {
|
|
40
|
-
'gemini-pro': { input: 0.5, output: 1.5 },
|
|
41
|
-
'gemini-1.5-pro': { input: 3.5, output: 10.5 },
|
|
42
|
-
'gemini-1.5-flash': { input: 0.075, output: 0.3 },
|
|
43
|
-
'gemini-2.0-flash-exp': { input: 0.075, output: 0.3 },
|
|
44
|
-
'gemini-2.0-flash-001': { input: 0.075, output: 0.3 }
|
|
45
|
-
};
|
|
46
|
-
const pricing = prices[this.model] || prices['gemini-pro']; // fallback
|
|
47
|
-
const inputCost = (promptTokens / 1000000) * pricing.input;
|
|
48
|
-
const outputCost = (completionTokens / 1000000) * pricing.output;
|
|
49
|
-
return inputCost + outputCost;
|
|
50
|
-
}
|
|
51
|
-
async generateDocumentation(codeContent, filePath, context) {
|
|
52
|
-
const systemPrompt = `You are a technical documentation expert. Generate clear, comprehensive documentation for the provided code file. Include:
|
|
53
|
-
1. Purpose and overview
|
|
54
|
-
2. Key components/functions
|
|
55
|
-
3. Dependencies and relationships
|
|
56
|
-
4. Usage examples where applicable
|
|
57
|
-
5. Important notes or gotchas
|
|
58
|
-
|
|
59
|
-
Focus on being practical and helpful for developers working with this codebase.`;
|
|
60
|
-
const prompt = `File: ${filePath}
|
|
61
|
-
|
|
62
|
-
Context: ${context}
|
|
63
|
-
|
|
64
|
-
Code:
|
|
65
|
-
\`\`\`
|
|
66
|
-
${codeContent}
|
|
67
|
-
\`\`\`
|
|
68
|
-
|
|
69
|
-
Generate comprehensive documentation for this file.`;
|
|
70
|
-
return this.generateText(prompt, systemPrompt);
|
|
71
|
-
}
|
|
72
|
-
async generateAgentPrompt(repoStructure, fileContext, agentType) {
|
|
73
|
-
const systemPrompt = `You are an expert at creating AI agent prompts for software development. Create a specialized prompt that would help an AI assistant understand and work effectively with this specific codebase.
|
|
74
|
-
|
|
75
|
-
The prompt should include:
|
|
76
|
-
1. Clear understanding of the codebase structure and patterns
|
|
77
|
-
2. Key conventions and best practices used in this project
|
|
78
|
-
3. Important files and their purposes
|
|
79
|
-
4. Common tasks and workflows
|
|
80
|
-
5. Specific guidance for the agent type requested
|
|
81
|
-
|
|
82
|
-
Make the prompt practical and actionable.`;
|
|
83
|
-
const prompt = `Codebase Structure:
|
|
84
|
-
${repoStructure}
|
|
85
|
-
|
|
86
|
-
File Context:
|
|
87
|
-
${fileContext}
|
|
88
|
-
|
|
89
|
-
Agent Type: ${agentType}
|
|
90
|
-
|
|
91
|
-
Generate a comprehensive agent prompt that would help an AI assistant work effectively with this codebase for ${agentType} tasks.`;
|
|
92
|
-
return this.generateText(prompt, systemPrompt);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.GeminiClient = GeminiClient;
|
|
96
|
-
//# sourceMappingURL=geminiClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geminiClient.js","sourceRoot":"","sources":["../../src/services/geminiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { LLMConfig } from '../types';
|
|
2
|
-
import { BaseLLMClient } from './baseLLMClient';
|
|
3
|
-
export declare class GrokClient extends BaseLLMClient {
|
|
4
|
-
private client;
|
|
5
|
-
private model;
|
|
6
|
-
constructor(config: LLMConfig);
|
|
7
|
-
generateText(prompt: string, systemPrompt?: string): Promise<string>;
|
|
8
|
-
private calculateGrokCost;
|
|
9
|
-
generateDocumentation(codeContent: string, filePath: string, context: string): Promise<string>;
|
|
10
|
-
generateAgentPrompt(repoStructure: string, fileContext: string, agentType: string): Promise<string>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=grokClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grokClient.d.ts","sourceRoot":"","sources":["../../src/services/grokClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,UAAW,SAAQ,aAAa;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,SAAS;IAYvB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B1E,OAAO,CAAC,iBAAiB;IAcnB,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAwBZ,mBAAmB,CACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CAwBnB"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.GrokClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const baseLLMClient_1 = require("./baseLLMClient");
|
|
9
|
-
class GrokClient extends baseLLMClient_1.BaseLLMClient {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
super(config.model);
|
|
12
|
-
this.model = config.model;
|
|
13
|
-
this.client = axios_1.default.create({
|
|
14
|
-
baseURL: config.baseUrl || 'https://api.x.ai/v1',
|
|
15
|
-
headers: {
|
|
16
|
-
'Authorization': `Bearer ${config.apiKey}`,
|
|
17
|
-
'Content-Type': 'application/json'
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async generateText(prompt, systemPrompt) {
|
|
22
|
-
try {
|
|
23
|
-
const messages = [];
|
|
24
|
-
if (systemPrompt) {
|
|
25
|
-
messages.push({ role: 'system', content: systemPrompt });
|
|
26
|
-
}
|
|
27
|
-
messages.push({ role: 'user', content: prompt });
|
|
28
|
-
const response = await this.client.post('/chat/completions', {
|
|
29
|
-
model: this.model,
|
|
30
|
-
messages,
|
|
31
|
-
max_tokens: 4000,
|
|
32
|
-
temperature: 0.7
|
|
33
|
-
});
|
|
34
|
-
// Track usage statistics
|
|
35
|
-
this.trackUsage(response.data.usage, this.calculateGrokCost.bind(this));
|
|
36
|
-
return response.data.choices[0]?.message?.content || '';
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
if (axios_1.default.isAxiosError(error)) {
|
|
40
|
-
throw new Error(`Grok API error: ${error.response?.data?.error?.message || error.message}`);
|
|
41
|
-
}
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
calculateGrokCost(promptTokens, completionTokens) {
|
|
46
|
-
// Grok pricing (as of 2024) - per 1M tokens
|
|
47
|
-
const prices = {
|
|
48
|
-
'grok-beta': { input: 5.0, output: 15.0 },
|
|
49
|
-
'grok-vision-beta': { input: 5.0, output: 15.0 }
|
|
50
|
-
};
|
|
51
|
-
const pricing = prices[this.model] || prices['grok-beta']; // fallback
|
|
52
|
-
const inputCost = (promptTokens / 1000000) * pricing.input;
|
|
53
|
-
const outputCost = (completionTokens / 1000000) * pricing.output;
|
|
54
|
-
return inputCost + outputCost;
|
|
55
|
-
}
|
|
56
|
-
async generateDocumentation(codeContent, filePath, context) {
|
|
57
|
-
const systemPrompt = `You are a technical documentation expert. Generate clear, comprehensive documentation for the provided code file. Include:
|
|
58
|
-
1. Purpose and overview
|
|
59
|
-
2. Key components/functions
|
|
60
|
-
3. Dependencies and relationships
|
|
61
|
-
4. Usage examples where applicable
|
|
62
|
-
5. Important notes or gotchas
|
|
63
|
-
|
|
64
|
-
Focus on being practical and helpful for developers working with this codebase.`;
|
|
65
|
-
const prompt = `File: ${filePath}
|
|
66
|
-
|
|
67
|
-
Context: ${context}
|
|
68
|
-
|
|
69
|
-
Code:
|
|
70
|
-
\`\`\`
|
|
71
|
-
${codeContent}
|
|
72
|
-
\`\`\`
|
|
73
|
-
|
|
74
|
-
Generate comprehensive documentation for this file.`;
|
|
75
|
-
return this.generateText(prompt, systemPrompt);
|
|
76
|
-
}
|
|
77
|
-
async generateAgentPrompt(repoStructure, fileContext, agentType) {
|
|
78
|
-
const systemPrompt = `You are an expert at creating AI agent prompts for software development. Create a specialized prompt that would help an AI assistant understand and work effectively with this specific codebase.
|
|
79
|
-
|
|
80
|
-
The prompt should include:
|
|
81
|
-
1. Clear understanding of the codebase structure and patterns
|
|
82
|
-
2. Key conventions and best practices used in this project
|
|
83
|
-
3. Important files and their purposes
|
|
84
|
-
4. Common tasks and workflows
|
|
85
|
-
5. Specific guidance for the agent type requested
|
|
86
|
-
|
|
87
|
-
Make the prompt practical and actionable.`;
|
|
88
|
-
const prompt = `Codebase Structure:
|
|
89
|
-
${repoStructure}
|
|
90
|
-
|
|
91
|
-
File Context:
|
|
92
|
-
${fileContext}
|
|
93
|
-
|
|
94
|
-
Agent Type: ${agentType}
|
|
95
|
-
|
|
96
|
-
Generate a comprehensive agent prompt that would help an AI assistant work effectively with this codebase for ${agentType} tasks.`;
|
|
97
|
-
return this.generateText(prompt, systemPrompt);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.GrokClient = GrokClient;
|
|
101
|
-
//# sourceMappingURL=grokClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grokClient.js","sourceRoot":"","sources":["../../src/services/grokClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAE7C,mDAAgD;AAEhD,MAAa,UAAW,SAAQ,6BAAa;IAI3C,YAAY,MAAiB;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,qBAAqB;YAChD,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;gBAC1C,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,YAAqB;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,IAAI,YAAY,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC3D,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ;gBACR,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;YAEH,yBAAyB;YACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAExE,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,YAAoB,EAAE,gBAAwB;QACtE,4CAA4C;QAC5C,MAAM,MAAM,GAAyD;YACnE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;YACzC,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;SACjD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;QACtE,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3D,MAAM,UAAU,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjE,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,WAAmB,EACnB,QAAgB,EAChB,OAAe;QAEf,MAAM,YAAY,GAAG;;;;;;;oFAO2D,CAAC;QAEjF,MAAM,MAAM,GAAG,SAAS,QAAQ;;WAEzB,OAAO;;;;EAIhB,WAAW;;;oDAGuC,CAAC;QAEjD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,aAAqB,EACrB,WAAmB,EACnB,SAAiB;QAEjB,MAAM,YAAY,GAAG;;;;;;;;;0CASiB,CAAC;QAEvC,MAAM,MAAM,GAAG;EACjB,aAAa;;;EAGb,WAAW;;cAEC,SAAS;;gHAEyF,SAAS,SAAS,CAAC;QAE/H,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;CACF;AAnHD,gCAmHC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { LLMConfig } from '../types';
|
|
2
|
-
import { BaseLLMClient } from './baseLLMClient';
|
|
3
|
-
export declare class OpenAIClient extends BaseLLMClient {
|
|
4
|
-
private client;
|
|
5
|
-
private model;
|
|
6
|
-
constructor(config: LLMConfig);
|
|
7
|
-
generateText(prompt: string, systemPrompt?: string): Promise<string>;
|
|
8
|
-
private calculateOpenAICost;
|
|
9
|
-
generateDocumentation(codeContent: string, filePath: string, context: string): Promise<string>;
|
|
10
|
-
generateAgentPrompt(repoStructure: string, fileContext: string, agentType: string): Promise<string>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=openaiClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openaiClient.d.ts","sourceRoot":"","sources":["../../src/services/openaiClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,YAAa,SAAQ,aAAa;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,SAAS;IASvB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B1E,OAAO,CAAC,mBAAmB;IAiBrB,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAwBZ,mBAAmB,CACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CAwBnB"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.OpenAIClient = void 0;
|
|
7
|
-
const openai_1 = __importDefault(require("openai"));
|
|
8
|
-
const baseLLMClient_1 = require("./baseLLMClient");
|
|
9
|
-
class OpenAIClient extends baseLLMClient_1.BaseLLMClient {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
super(config.model);
|
|
12
|
-
this.model = config.model;
|
|
13
|
-
this.client = new openai_1.default({
|
|
14
|
-
apiKey: config.apiKey,
|
|
15
|
-
baseURL: config.baseUrl
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
async generateText(prompt, systemPrompt) {
|
|
19
|
-
try {
|
|
20
|
-
const messages = [];
|
|
21
|
-
if (systemPrompt) {
|
|
22
|
-
messages.push({ role: 'system', content: systemPrompt });
|
|
23
|
-
}
|
|
24
|
-
messages.push({ role: 'user', content: prompt });
|
|
25
|
-
const response = await this.client.chat.completions.create({
|
|
26
|
-
model: this.model,
|
|
27
|
-
messages,
|
|
28
|
-
max_tokens: 4000,
|
|
29
|
-
temperature: 0.7
|
|
30
|
-
});
|
|
31
|
-
// Track usage statistics
|
|
32
|
-
this.trackUsage(response.usage, this.calculateOpenAICost.bind(this));
|
|
33
|
-
return response.choices[0]?.message?.content || '';
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
throw new Error(`OpenAI API error: ${error instanceof Error ? error.message : String(error)}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
calculateOpenAICost(promptTokens, completionTokens) {
|
|
40
|
-
// OpenAI pricing (as of 2024)
|
|
41
|
-
const prices = {
|
|
42
|
-
'gpt-4': { input: 30.0, output: 60.0 },
|
|
43
|
-
'gpt-4-turbo': { input: 10.0, output: 30.0 },
|
|
44
|
-
'gpt-4-turbo-preview': { input: 10.0, output: 30.0 },
|
|
45
|
-
'gpt-3.5-turbo': { input: 1.0, output: 2.0 },
|
|
46
|
-
'gpt-3.5-turbo-16k': { input: 3.0, output: 4.0 }
|
|
47
|
-
};
|
|
48
|
-
const pricing = prices[this.model] || prices['gpt-3.5-turbo']; // fallback
|
|
49
|
-
const inputCost = (promptTokens / 1000000) * pricing.input;
|
|
50
|
-
const outputCost = (completionTokens / 1000000) * pricing.output;
|
|
51
|
-
return inputCost + outputCost;
|
|
52
|
-
}
|
|
53
|
-
async generateDocumentation(codeContent, filePath, context) {
|
|
54
|
-
const systemPrompt = `You are a technical documentation expert. Generate clear, comprehensive documentation for the provided code file. Include:
|
|
55
|
-
1. Purpose and overview
|
|
56
|
-
2. Key components/functions
|
|
57
|
-
3. Dependencies and relationships
|
|
58
|
-
4. Usage examples where applicable
|
|
59
|
-
5. Important notes or gotchas
|
|
60
|
-
|
|
61
|
-
Focus on being practical and helpful for developers working with this codebase.`;
|
|
62
|
-
const prompt = `File: ${filePath}
|
|
63
|
-
|
|
64
|
-
Context: ${context}
|
|
65
|
-
|
|
66
|
-
Code:
|
|
67
|
-
\`\`\`
|
|
68
|
-
${codeContent}
|
|
69
|
-
\`\`\`
|
|
70
|
-
|
|
71
|
-
Generate comprehensive documentation for this file.`;
|
|
72
|
-
return this.generateText(prompt, systemPrompt);
|
|
73
|
-
}
|
|
74
|
-
async generateAgentPrompt(repoStructure, fileContext, agentType) {
|
|
75
|
-
const systemPrompt = `You are an expert at creating AI agent prompts for software development. Create a specialized prompt that would help an AI assistant understand and work effectively with this specific codebase.
|
|
76
|
-
|
|
77
|
-
The prompt should include:
|
|
78
|
-
1. Clear understanding of the codebase structure and patterns
|
|
79
|
-
2. Key conventions and best practices used in this project
|
|
80
|
-
3. Important files and their purposes
|
|
81
|
-
4. Common tasks and workflows
|
|
82
|
-
5. Specific guidance for the agent type requested
|
|
83
|
-
|
|
84
|
-
Make the prompt practical and actionable.`;
|
|
85
|
-
const prompt = `Codebase Structure:
|
|
86
|
-
${repoStructure}
|
|
87
|
-
|
|
88
|
-
File Context:
|
|
89
|
-
${fileContext}
|
|
90
|
-
|
|
91
|
-
Agent Type: ${agentType}
|
|
92
|
-
|
|
93
|
-
Generate a comprehensive agent prompt that would help an AI assistant work effectively with this codebase for ${agentType} tasks.`;
|
|
94
|
-
return this.generateText(prompt, systemPrompt);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.OpenAIClient = OpenAIClient;
|
|
98
|
-
//# sourceMappingURL=openaiClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openaiClient.js","sourceRoot":"","sources":["../../src/services/openaiClient.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/pricing.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface ModelPricing {
|
|
2
|
-
inputPricePerMillion: number;
|
|
3
|
-
outputPricePerMillion: number;
|
|
4
|
-
description: string;
|
|
5
|
-
}
|
|
6
|
-
export declare const MODEL_PRICING: {
|
|
7
|
-
[key: string]: ModelPricing;
|
|
8
|
-
};
|
|
9
|
-
export declare function calculateCost(model: string, promptTokens: number, completionTokens: number): number;
|
|
10
|
-
export declare function formatCurrency(amount: number): string;
|
|
11
|
-
export declare function getModelInfo(model: string): ModelPricing | null;
|
|
12
|
-
export declare function getSupportedModels(): string[];
|
|
13
|
-
export declare function estimateTokens(text: string): number;
|
|
14
|
-
//# sourceMappingURL=pricing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/utils/pricing.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAgFxD,CAAC;AAEF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAYR;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAE/D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD"}
|
package/dist/utils/pricing.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// OpenRouter pricing data - updated as of 2024
|
|
3
|
-
// Prices are per 1M tokens (input/output)
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.MODEL_PRICING = void 0;
|
|
6
|
-
exports.calculateCost = calculateCost;
|
|
7
|
-
exports.formatCurrency = formatCurrency;
|
|
8
|
-
exports.getModelInfo = getModelInfo;
|
|
9
|
-
exports.getSupportedModels = getSupportedModels;
|
|
10
|
-
exports.estimateTokens = estimateTokens;
|
|
11
|
-
exports.MODEL_PRICING = {
|
|
12
|
-
// Anthropic Claude models
|
|
13
|
-
'anthropic/claude-3-haiku': {
|
|
14
|
-
inputPricePerMillion: 0.25,
|
|
15
|
-
outputPricePerMillion: 1.25,
|
|
16
|
-
description: 'Claude 3 Haiku - Fast and efficient'
|
|
17
|
-
},
|
|
18
|
-
'anthropic/claude-3-sonnet': {
|
|
19
|
-
inputPricePerMillion: 3.0,
|
|
20
|
-
outputPricePerMillion: 15.0,
|
|
21
|
-
description: 'Claude 3 Sonnet - Balanced performance'
|
|
22
|
-
},
|
|
23
|
-
'anthropic/claude-3-opus': {
|
|
24
|
-
inputPricePerMillion: 15.0,
|
|
25
|
-
outputPricePerMillion: 75.0,
|
|
26
|
-
description: 'Claude 3 Opus - Highest quality'
|
|
27
|
-
},
|
|
28
|
-
'anthropic/claude-3.5-sonnet': {
|
|
29
|
-
inputPricePerMillion: 3.0,
|
|
30
|
-
outputPricePerMillion: 15.0,
|
|
31
|
-
description: 'Claude 3.5 Sonnet - Enhanced performance'
|
|
32
|
-
},
|
|
33
|
-
// OpenAI models
|
|
34
|
-
'openai/gpt-4': {
|
|
35
|
-
inputPricePerMillion: 30.0,
|
|
36
|
-
outputPricePerMillion: 60.0,
|
|
37
|
-
description: 'GPT-4 - High quality reasoning'
|
|
38
|
-
},
|
|
39
|
-
'openai/gpt-4-turbo': {
|
|
40
|
-
inputPricePerMillion: 10.0,
|
|
41
|
-
outputPricePerMillion: 30.0,
|
|
42
|
-
description: 'GPT-4 Turbo - Faster and cheaper'
|
|
43
|
-
},
|
|
44
|
-
'openai/gpt-3.5-turbo': {
|
|
45
|
-
inputPricePerMillion: 1.0,
|
|
46
|
-
outputPricePerMillion: 2.0,
|
|
47
|
-
description: 'GPT-3.5 Turbo - Fast and economical'
|
|
48
|
-
},
|
|
49
|
-
// Google models
|
|
50
|
-
'google/gemini-pro': {
|
|
51
|
-
inputPricePerMillion: 0.5,
|
|
52
|
-
outputPricePerMillion: 1.5,
|
|
53
|
-
description: 'Gemini Pro - Google\'s multimodal model'
|
|
54
|
-
},
|
|
55
|
-
'google/gemini-2.5-flash-preview-05-20': {
|
|
56
|
-
inputPricePerMillion: 1.25,
|
|
57
|
-
outputPricePerMillion: 5.0,
|
|
58
|
-
description: 'Gemini 2.0 Pro - Latest Google model'
|
|
59
|
-
},
|
|
60
|
-
'google/gemini-2.5-pro': {
|
|
61
|
-
inputPricePerMillion: 1.25,
|
|
62
|
-
outputPricePerMillion: 5.0,
|
|
63
|
-
description: 'Gemini 2.5 Pro - Enhanced Google model'
|
|
64
|
-
},
|
|
65
|
-
// Meta models
|
|
66
|
-
'meta-llama/llama-3.1-70b-instruct': {
|
|
67
|
-
inputPricePerMillion: 0.88,
|
|
68
|
-
outputPricePerMillion: 0.88,
|
|
69
|
-
description: 'Llama 3.1 70B - Open source model'
|
|
70
|
-
},
|
|
71
|
-
'meta-llama/llama-3.1-405b-instruct': {
|
|
72
|
-
inputPricePerMillion: 5.0,
|
|
73
|
-
outputPricePerMillion: 15.0,
|
|
74
|
-
description: 'Llama 3.1 405B - Largest open model'
|
|
75
|
-
},
|
|
76
|
-
// Mistral models
|
|
77
|
-
'mistralai/mistral-large': {
|
|
78
|
-
inputPricePerMillion: 8.0,
|
|
79
|
-
outputPricePerMillion: 24.0,
|
|
80
|
-
description: 'Mistral Large - High performance model'
|
|
81
|
-
},
|
|
82
|
-
'mistralai/mistral-medium': {
|
|
83
|
-
inputPricePerMillion: 2.7,
|
|
84
|
-
outputPricePerMillion: 8.1,
|
|
85
|
-
description: 'Mistral Medium - Balanced model'
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
function calculateCost(model, promptTokens, completionTokens) {
|
|
89
|
-
const pricing = exports.MODEL_PRICING[model];
|
|
90
|
-
if (!pricing) {
|
|
91
|
-
// Fallback pricing for unknown models (estimate based on GPT-3.5)
|
|
92
|
-
return ((promptTokens / 1000000) * 1.0) + ((completionTokens / 1000000) * 2.0);
|
|
93
|
-
}
|
|
94
|
-
const inputCost = (promptTokens / 1000000) * pricing.inputPricePerMillion;
|
|
95
|
-
const outputCost = (completionTokens / 1000000) * pricing.outputPricePerMillion;
|
|
96
|
-
return inputCost + outputCost;
|
|
97
|
-
}
|
|
98
|
-
function formatCurrency(amount) {
|
|
99
|
-
if (amount < 0.01) {
|
|
100
|
-
return `$${(amount * 100).toFixed(3)}¢`;
|
|
101
|
-
}
|
|
102
|
-
return `$${amount.toFixed(4)}`;
|
|
103
|
-
}
|
|
104
|
-
function getModelInfo(model) {
|
|
105
|
-
return exports.MODEL_PRICING[model] || null;
|
|
106
|
-
}
|
|
107
|
-
function getSupportedModels() {
|
|
108
|
-
return Object.keys(exports.MODEL_PRICING);
|
|
109
|
-
}
|
|
110
|
-
function estimateTokens(text) {
|
|
111
|
-
// Rough estimation: ~4 characters per token for English text
|
|
112
|
-
// This is approximate and varies by model and language
|
|
113
|
-
return Math.ceil(text.length / 4);
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=pricing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/utils/pricing.ts"],"names":[],"mappings":"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"}
|