@ai-coders/context 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +260 -22
- package/dist/fragments/compose.d.ts +30 -0
- package/dist/fragments/compose.d.ts.map +1 -0
- package/dist/fragments/compose.js +274 -0
- package/dist/fragments/compose.js.map +1 -0
- package/dist/fragments/extractors/index.d.ts +26 -0
- package/dist/fragments/extractors/index.d.ts.map +1 -0
- package/dist/fragments/extractors/index.js +58 -0
- package/dist/fragments/extractors/index.js.map +1 -0
- package/dist/fragments/extractors/module.d.ts +12 -0
- package/dist/fragments/extractors/module.d.ts.map +1 -0
- package/dist/fragments/extractors/module.js +302 -0
- package/dist/fragments/extractors/module.js.map +1 -0
- package/dist/fragments/extractors/project.d.ts +12 -0
- package/dist/fragments/extractors/project.d.ts.map +1 -0
- package/dist/fragments/extractors/project.js +274 -0
- package/dist/fragments/extractors/project.js.map +1 -0
- package/dist/fragments/extractors/semantic.d.ts +12 -0
- package/dist/fragments/extractors/semantic.d.ts.map +1 -0
- package/dist/fragments/extractors/semantic.js +329 -0
- package/dist/fragments/extractors/semantic.js.map +1 -0
- package/dist/fragments/index.d.ts +47 -0
- package/dist/fragments/index.d.ts.map +1 -0
- package/dist/fragments/index.js +75 -0
- package/dist/fragments/index.js.map +1 -0
- package/dist/fragments/query.d.ts +101 -0
- package/dist/fragments/query.d.ts.map +1 -0
- package/dist/fragments/query.js +200 -0
- package/dist/fragments/query.js.map +1 -0
- package/dist/fragments/render/compact.d.ts +15 -0
- package/dist/fragments/render/compact.d.ts.map +1 -0
- package/dist/fragments/render/compact.js +209 -0
- package/dist/fragments/render/compact.js.map +1 -0
- package/dist/fragments/render/index.d.ts +17 -0
- package/dist/fragments/render/index.d.ts.map +1 -0
- package/dist/fragments/render/index.js +40 -0
- package/dist/fragments/render/index.js.map +1 -0
- package/dist/fragments/render/json.d.ts +9 -0
- package/dist/fragments/render/json.d.ts.map +1 -0
- package/dist/fragments/render/json.js +44 -0
- package/dist/fragments/render/json.js.map +1 -0
- package/dist/fragments/render/markdown.d.ts +9 -0
- package/dist/fragments/render/markdown.d.ts.map +1 -0
- package/dist/fragments/render/markdown.js +291 -0
- package/dist/fragments/render/markdown.js.map +1 -0
- package/dist/fragments/store.d.ts +49 -0
- package/dist/fragments/store.d.ts.map +1 -0
- package/dist/fragments/store.js +161 -0
- package/dist/fragments/store.js.map +1 -0
- package/dist/fragments/types.d.ts +241 -0
- package/dist/fragments/types.d.ts.map +1 -0
- package/dist/fragments/types.js +8 -0
- package/dist/fragments/types.js.map +1 -0
- package/dist/generators/agents/agentGenerator.d.ts +8 -1
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +108 -10
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.js +143 -45
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
- package/dist/generators/agents/templates/types.d.ts +9 -1
- package/dist/generators/agents/templates/types.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +18 -3
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
- package/dist/generators/documentation/guideRegistry.js +0 -8
- package/dist/generators/documentation/guideRegistry.js.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.js +1 -22
- package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +160 -26
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.d.ts +28 -1
- package/dist/generators/documentation/templates/common.d.ts.map +1 -1
- package/dist/generators/documentation/templates/common.js +130 -10
- package/dist/generators/documentation/templates/common.js.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.js +98 -18
- package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +1 -18
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.js +51 -23
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.js +1 -18
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.js +1 -23
- package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/onboardingTemplate.js +1 -23
- package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +81 -19
- package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.js +1 -18
- package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.js +1 -19
- package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.js +2 -19
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.js +1 -23
- package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/types.d.ts +2 -1
- package/dist/generators/documentation/templates/types.d.ts.map +1 -1
- package/dist/generators/plans/planGenerator.d.ts +4 -0
- package/dist/generators/plans/planGenerator.d.ts.map +1 -1
- package/dist/generators/plans/planGenerator.js +30 -2
- package/dist/generators/plans/planGenerator.js.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.js +3 -12
- package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
- package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/planTemplate.js +54 -32
- package/dist/generators/plans/templates/planTemplate.js.map +1 -1
- package/dist/generators/plans/templates/types.d.ts +10 -0
- package/dist/generators/plans/templates/types.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.js +6 -9
- package/dist/generators/shared/generatorUtils.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +430 -90
- package/dist/index.js.map +1 -1
- package/dist/prompts/defaults.d.ts +2 -2
- package/dist/prompts/defaults.d.ts.map +1 -1
- package/dist/prompts/defaults.js +26 -56
- package/dist/prompts/defaults.js.map +1 -1
- package/dist/services/ai/agentEvents.d.ts +45 -0
- package/dist/services/ai/agentEvents.d.ts.map +1 -0
- package/dist/services/ai/agentEvents.js +61 -0
- package/dist/services/ai/agentEvents.js.map +1 -0
- package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
- package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/documentationAgent.js +243 -0
- package/dist/services/ai/agents/documentationAgent.js.map +1 -0
- package/dist/services/ai/agents/index.d.ts +7 -0
- package/dist/services/ai/agents/index.d.ts.map +1 -0
- package/dist/services/ai/agents/index.js +10 -0
- package/dist/services/ai/agents/index.js.map +1 -0
- package/dist/services/ai/agents/planAgent.d.ts +68 -0
- package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/planAgent.js +389 -0
- package/dist/services/ai/agents/planAgent.js.map +1 -0
- package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
- package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/playbookAgent.js +265 -0
- package/dist/services/ai/agents/playbookAgent.js.map +1 -0
- package/dist/services/ai/aiSdkClient.d.ts +67 -0
- package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
- package/dist/services/ai/aiSdkClient.js +143 -0
- package/dist/services/ai/aiSdkClient.js.map +1 -0
- package/dist/services/ai/index.d.ts +7 -0
- package/dist/services/ai/index.d.ts.map +1 -0
- package/dist/services/ai/index.js +49 -0
- package/dist/services/ai/index.js.map +1 -0
- package/dist/services/ai/providerFactory.d.ts +35 -0
- package/dist/services/ai/providerFactory.d.ts.map +1 -0
- package/dist/services/ai/providerFactory.js +107 -0
- package/dist/services/ai/providerFactory.js.map +1 -0
- package/dist/services/ai/schemas.d.ts +331 -0
- package/dist/services/ai/schemas.d.ts.map +1 -0
- package/dist/services/ai/schemas.js +236 -0
- package/dist/services/ai/schemas.js.map +1 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
- package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
- package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts +38 -0
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js +259 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
- package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
- package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
- package/dist/services/ai/tools/getFileStructureTool.js +48 -0
- package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
- package/dist/services/ai/tools/index.d.ts +20 -0
- package/dist/services/ai/tools/index.d.ts.map +1 -0
- package/dist/services/ai/tools/index.js +62 -0
- package/dist/services/ai/tools/index.js.map +1 -0
- package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
- package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
- package/dist/services/ai/tools/initializeContextTool.js +121 -0
- package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
- package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
- package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
- package/dist/services/ai/tools/listFilesTool.js +34 -0
- package/dist/services/ai/tools/listFilesTool.js.map +1 -0
- package/dist/services/ai/tools/readFileTool.d.ts +17 -0
- package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
- package/dist/services/ai/tools/readFileTool.js +63 -0
- package/dist/services/ai/tools/readFileTool.js.map +1 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
- package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
- package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
- package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
- package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
- package/dist/services/ai/tools/searchCodeTool.js +96 -0
- package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
- package/dist/services/fill/fillService.d.ts +11 -1
- package/dist/services/fill/fillService.d.ts.map +1 -1
- package/dist/services/fill/fillService.js +151 -39
- package/dist/services/fill/fillService.js.map +1 -1
- package/dist/services/init/initService.d.ts +1 -0
- package/dist/services/init/initService.d.ts.map +1 -1
- package/dist/services/init/initService.js +12 -7
- package/dist/services/init/initService.js.map +1 -1
- package/dist/services/llmClientFactory.d.ts +36 -2
- package/dist/services/llmClientFactory.d.ts.map +1 -1
- package/dist/services/llmClientFactory.js +57 -11
- package/dist/services/llmClientFactory.js.map +1 -1
- package/dist/services/mcp/index.d.ts +2 -0
- package/dist/services/mcp/index.d.ts.map +1 -0
- package/dist/services/mcp/index.js +7 -0
- package/dist/services/mcp/index.js.map +1 -0
- package/dist/services/mcp/mcpServer.d.ts +45 -0
- package/dist/services/mcp/mcpServer.d.ts.map +1 -0
- package/dist/services/mcp/mcpServer.js +371 -0
- package/dist/services/mcp/mcpServer.js.map +1 -0
- package/dist/services/openRouterClient.js +1 -1
- package/dist/services/openRouterClient.js.map +1 -1
- package/dist/services/passthrough/commandRouter.d.ts +53 -0
- package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
- package/dist/services/passthrough/commandRouter.js +349 -0
- package/dist/services/passthrough/commandRouter.js.map +1 -0
- package/dist/services/passthrough/index.d.ts +7 -0
- package/dist/services/passthrough/index.d.ts.map +1 -0
- package/dist/services/passthrough/index.js +23 -0
- package/dist/services/passthrough/index.js.map +1 -0
- package/dist/services/passthrough/protocol.d.ts +269 -0
- package/dist/services/passthrough/protocol.d.ts.map +1 -0
- package/dist/services/passthrough/protocol.js +151 -0
- package/dist/services/passthrough/protocol.js.map +1 -0
- package/dist/services/passthrough/stdinReader.d.ts +42 -0
- package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
- package/dist/services/passthrough/stdinReader.js +111 -0
- package/dist/services/passthrough/stdinReader.js.map +1 -0
- package/dist/services/plan/planService.d.ts +3 -1
- package/dist/services/plan/planService.d.ts.map +1 -1
- package/dist/services/plan/planService.js +49 -41
- package/dist/services/plan/planService.js.map +1 -1
- package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
- package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
- package/dist/services/semantic/codebaseAnalyzer.js +540 -0
- package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
- package/dist/services/semantic/contextBuilder.d.ts +79 -0
- package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
- package/dist/services/semantic/contextBuilder.js +538 -0
- package/dist/services/semantic/contextBuilder.js.map +1 -0
- package/dist/services/semantic/index.d.ts +12 -0
- package/dist/services/semantic/index.d.ts.map +1 -0
- package/dist/services/semantic/index.js +33 -0
- package/dist/services/semantic/index.js.map +1 -0
- package/dist/services/semantic/lsp/index.d.ts +2 -0
- package/dist/services/semantic/lsp/index.d.ts.map +1 -0
- package/dist/services/semantic/lsp/index.js +6 -0
- package/dist/services/semantic/lsp/index.js.map +1 -0
- package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
- package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
- package/dist/services/semantic/lsp/lspLayer.js +378 -0
- package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
- package/dist/services/semantic/treeSitter/index.d.ts +2 -0
- package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
- package/dist/services/semantic/treeSitter/index.js +6 -0
- package/dist/services/semantic/treeSitter/index.js.map +1 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
- package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
- package/dist/services/semantic/types.d.ts +122 -0
- package/dist/services/semantic/types.d.ts.map +1 -0
- package/dist/services/semantic/types.js +31 -0
- package/dist/services/semantic/types.js.map +1 -0
- package/dist/services/serve/index.d.ts +2 -0
- package/dist/services/serve/index.d.ts.map +1 -0
- package/dist/services/serve/index.js +6 -0
- package/dist/services/serve/index.js.map +1 -0
- package/dist/services/serve/serveService.d.ts +38 -0
- package/dist/services/serve/serveService.d.ts.map +1 -0
- package/dist/services/serve/serveService.js +99 -0
- package/dist/services/serve/serveService.js.map +1 -0
- package/dist/services/shared/llmConfig.d.ts +19 -3
- package/dist/services/shared/llmConfig.d.ts.map +1 -1
- package/dist/services/shared/llmConfig.js +39 -10
- package/dist/services/shared/llmConfig.js.map +1 -1
- package/dist/services/sync/index.d.ts +6 -0
- package/dist/services/sync/index.d.ts.map +1 -0
- package/dist/services/sync/index.js +16 -0
- package/dist/services/sync/index.js.map +1 -0
- package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
- package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
- package/dist/services/sync/markdownReferenceHandler.js +133 -0
- package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
- package/dist/services/sync/presets.d.ts +6 -0
- package/dist/services/sync/presets.d.ts.map +1 -0
- package/dist/services/sync/presets.js +49 -0
- package/dist/services/sync/presets.js.map +1 -0
- package/dist/services/sync/symlinkHandler.d.ts +7 -0
- package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
- package/dist/services/sync/symlinkHandler.js +129 -0
- package/dist/services/sync/symlinkHandler.js.map +1 -0
- package/dist/services/sync/syncService.d.ts +15 -0
- package/dist/services/sync/syncService.d.ts.map +1 -0
- package/dist/services/sync/syncService.js +222 -0
- package/dist/services/sync/syncService.js.map +1 -0
- package/dist/services/sync/types.d.ts +62 -0
- package/dist/services/sync/types.d.ts.map +1 -0
- package/dist/services/sync/types.js +3 -0
- package/dist/services/sync/types.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/cliUI.d.ts +33 -0
- package/dist/utils/cliUI.d.ts.map +1 -1
- package/dist/utils/cliUI.js +157 -107
- package/dist/utils/cliUI.js.map +1 -1
- package/dist/utils/contentSanitizer.d.ts +42 -0
- package/dist/utils/contentSanitizer.d.ts.map +1 -0
- package/dist/utils/contentSanitizer.js +238 -0
- package/dist/utils/contentSanitizer.js.map +1 -0
- package/dist/utils/gitService.d.ts.map +1 -1
- package/dist/utils/gitService.js +12 -14
- package/dist/utils/gitService.js.map +1 -1
- package/dist/utils/i18n.d.ts +87 -13
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +176 -28
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/prompts/configSummary.d.ts +7 -0
- package/dist/utils/prompts/configSummary.d.ts.map +1 -0
- package/dist/utils/prompts/configSummary.js +63 -0
- package/dist/utils/prompts/configSummary.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +22 -0
- package/dist/utils/prompts/index.d.ts.map +1 -0
- package/dist/utils/prompts/index.js +122 -0
- package/dist/utils/prompts/index.js.map +1 -0
- package/dist/utils/prompts/llmPrompts.d.ts +11 -0
- package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
- package/dist/utils/prompts/llmPrompts.js +96 -0
- package/dist/utils/prompts/llmPrompts.js.map +1 -0
- package/dist/utils/prompts/smartDefaults.d.ts +15 -0
- package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
- package/dist/utils/prompts/smartDefaults.js +105 -0
- package/dist/utils/prompts/smartDefaults.js.map +1 -0
- package/dist/utils/prompts/types.d.ts +38 -0
- package/dist/utils/prompts/types.d.ts.map +1 -0
- package/dist/utils/prompts/types.js +3 -0
- package/dist/utils/prompts/types.js.map +1 -0
- package/dist/utils/theme.d.ts +66 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/theme.js +93 -0
- package/dist/utils/theme.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +12 -2
- package/prompts/update_scaffold_prompt.md +14 -34
- package/dist/commands/shared/agents.d.ts +0 -2
- package/dist/commands/shared/agents.d.ts.map +0 -1
- package/dist/commands/shared/agents.js +0 -15
- package/dist/commands/shared/agents.js.map +0 -1
- package/dist/commands/shared/selection.d.ts +0 -12
- package/dist/commands/shared/selection.d.ts.map +0 -1
- package/dist/commands/shared/selection.js +0 -95
- package/dist/commands/shared/selection.js.map +0 -1
- package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
- package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
- package/dist/generators/documentation/templates/frontMatter.js +0 -29
- package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
- package/dist/services/anthropicClient.d.ts +0 -12
- package/dist/services/anthropicClient.d.ts.map +0 -1
- package/dist/services/anthropicClient.js +0 -98
- package/dist/services/anthropicClient.js.map +0 -1
- package/dist/services/geminiClient.d.ts +0 -12
- package/dist/services/geminiClient.d.ts.map +0 -1
- package/dist/services/geminiClient.js +0 -96
- package/dist/services/geminiClient.js.map +0 -1
- package/dist/services/grokClient.d.ts +0 -12
- package/dist/services/grokClient.d.ts.map +0 -1
- package/dist/services/grokClient.js +0 -101
- package/dist/services/grokClient.js.map +0 -1
- package/dist/services/openaiClient.d.ts +0 -12
- package/dist/services/openaiClient.d.ts.map +0 -1
- package/dist/services/openaiClient.js +0 -98
- package/dist/services/openaiClient.js.map +0 -1
- package/dist/utils/pricing.d.ts +0 -14
- package/dist/utils/pricing.d.ts.map +0 -1
- package/dist/utils/pricing.js +0 -115
- package/dist/utils/pricing.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-coders/context",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "CLI tool for generating codebase documentation and AI agent prompts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -47,6 +47,11 @@
|
|
|
47
47
|
"author": "",
|
|
48
48
|
"license": "MIT",
|
|
49
49
|
"dependencies": {
|
|
50
|
+
"@ai-sdk/anthropic": "^3.0.9",
|
|
51
|
+
"@ai-sdk/google": "^3.0.6",
|
|
52
|
+
"@ai-sdk/openai": "^3.0.7",
|
|
53
|
+
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
54
|
+
"ai": "^6.0.19",
|
|
50
55
|
"axios": "^1.12.2",
|
|
51
56
|
"boxen": "^5.1.2",
|
|
52
57
|
"chalk": "^4.1.2",
|
|
@@ -58,7 +63,8 @@
|
|
|
58
63
|
"glob": "^10.4.5",
|
|
59
64
|
"inquirer": "^12.6.3",
|
|
60
65
|
"ora": "^5.4.1",
|
|
61
|
-
"semver": "^7.6.3"
|
|
66
|
+
"semver": "^7.6.3",
|
|
67
|
+
"zod": "^4.3.5"
|
|
62
68
|
},
|
|
63
69
|
"devDependencies": {
|
|
64
70
|
"@types/cli-progress": "^3.11.0",
|
|
@@ -71,5 +77,9 @@
|
|
|
71
77
|
"ts-jest": "^29.4.4",
|
|
72
78
|
"tsx": "^4.20.6",
|
|
73
79
|
"typescript": "^5.9.2"
|
|
80
|
+
},
|
|
81
|
+
"optionalDependencies": {
|
|
82
|
+
"tree-sitter": "^0.21.0",
|
|
83
|
+
"tree-sitter-typescript": "^0.23.2"
|
|
74
84
|
}
|
|
75
85
|
}
|
|
@@ -1,47 +1,27 @@
|
|
|
1
1
|
# Prompt: Update Repository Documentation and Agent Playbooks
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
|
-
You are an AI assistant responsible for refreshing the documentation (`docs/`) and agent playbooks (`agents/`)
|
|
4
|
+
You are an AI assistant responsible for refreshing the documentation (`docs/`) and agent playbooks (`agents/`). Your goal is to bring every guide up to date with the latest repository state and maintain cross-references between docs and agent instructions.
|
|
5
5
|
|
|
6
|
-
## Context Gathering
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4. Check `docs/README.md` for the current document map and update AI markers (`agent-update:*`).
|
|
11
|
-
5. Identify unresolved placeholders marked as `<!-- agent-fill:* -->`.
|
|
6
|
+
## Context Gathering
|
|
7
|
+
1. Review the repository structure and recent changes.
|
|
8
|
+
2. Inspect `package.json`, CI configuration, and any release or roadmap notes.
|
|
9
|
+
3. Check `docs/README.md` for the current document map.
|
|
12
10
|
|
|
13
11
|
## Update Procedure
|
|
14
|
-
1. **
|
|
15
|
-
-
|
|
16
|
-
- Read the YAML front matter (`ai_update_goal`, `required_inputs`, `success_criteria`) and ensure you collect the listed inputs before editing.
|
|
17
|
-
|
|
18
|
-
2. **Edit Within Update Wrappers**
|
|
19
|
-
- Update content strictly inside the matching `<!-- agent-update:start:... -->` block and keep the closing `<!-- agent-update:end -->` tag.
|
|
20
|
-
- Remove or replace any `TODO` text with accurate, current information.
|
|
21
|
-
- When you complete a placeholder slot (`<!-- agent-fill:... -->`), remove the wrapper and provide the finalized description.
|
|
22
|
-
|
|
23
|
-
3. **Cross-Link Updates**
|
|
12
|
+
1. **Update Documentation**
|
|
13
|
+
- Replace TODO placeholders with accurate, current information.
|
|
24
14
|
- Verify that links between docs remain valid.
|
|
25
|
-
- If you add new guides or sections, update `docs/README.md
|
|
15
|
+
- If you add new guides or sections, update `docs/README.md`.
|
|
26
16
|
|
|
27
|
-
|
|
17
|
+
2. **Agent Playbook Alignment**
|
|
28
18
|
- For each change in `docs/`, adjust the related `agents/*.md` playbooks.
|
|
29
|
-
-
|
|
30
|
-
- Update collaboration checklists and evidence sections to reflect the latest workflows.
|
|
31
|
-
|
|
32
|
-
5. **Evidence & Traceability**
|
|
33
|
-
- Note key sources (commit hashes, issues, ADRs) in the "Evidence to Capture" or "AI Update Checklist" summary lines.
|
|
34
|
-
- If anything is ambiguous or requires human follow-up, leave a concise note clearly labelled for maintainers.
|
|
19
|
+
- Update responsibilities, best practices, and documentation touchpoints.
|
|
35
20
|
|
|
36
21
|
## Acceptance Criteria
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- Changes are self-contained, well-formatted Markdown, and reference any new external resources introduced.
|
|
22
|
+
- No unresolved TODO placeholders remain unless they require explicit human input.
|
|
23
|
+
- Agent playbooks list accurate responsibilities and best practices.
|
|
24
|
+
- Changes are self-contained, well-formatted Markdown.
|
|
41
25
|
|
|
42
26
|
## Deliverables
|
|
43
|
-
- Updated Markdown files
|
|
44
|
-
- A short changelog or PR description summarizing:
|
|
45
|
-
- Guides touched
|
|
46
|
-
- Key decisions or facts added
|
|
47
|
-
- Evidence links and any pending follow-ups
|
|
27
|
+
- Updated Markdown files.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/agents.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAW9E"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAgentFilesByTypes = getAgentFilesByTypes;
|
|
4
|
-
const agentTypes_1 = require("../../generators/agents/agentTypes");
|
|
5
|
-
function getAgentFilesByTypes(types) {
|
|
6
|
-
if (!types || types.length === 0) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
const allowed = new Set(agentTypes_1.AGENT_TYPES);
|
|
10
|
-
const files = types
|
|
11
|
-
.filter(type => allowed.has(type))
|
|
12
|
-
.map(type => `${type}.md`);
|
|
13
|
-
return files.length ? new Set(files) : undefined;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/commands/shared/agents.ts"],"names":[],"mappings":";;AAEA,oDAWC;AAbD,mEAAiE;AAEjE,SAAgB,oBAAoB,CAAC,KAAgB;IACnD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,wBAAW,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAkC,CAAC,CAAC;SAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface SelectionParseResult {
|
|
2
|
-
selected?: string[];
|
|
3
|
-
invalid: string[];
|
|
4
|
-
provided: boolean;
|
|
5
|
-
explicitNone: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function parseDocSelection(input: unknown): SelectionParseResult;
|
|
8
|
-
export declare function parseAgentSelection(input: unknown): SelectionParseResult;
|
|
9
|
-
export declare function shouldGenerateDocs(resolvedType: 'docs' | 'agents' | 'both', selection: SelectionParseResult): boolean;
|
|
10
|
-
export declare function shouldGenerateAgents(resolvedType: 'docs' | 'agents' | 'both', selection: SelectionParseResult): boolean;
|
|
11
|
-
export declare function determineScaffoldType(docSelection?: string[], agentSelection?: string[]): 'docs' | 'agents' | 'both';
|
|
12
|
-
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/selection.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAmBtE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAoBxE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAkBrH;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAkBvH;AAED,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAOpH"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDocSelection = parseDocSelection;
|
|
4
|
-
exports.parseAgentSelection = parseAgentSelection;
|
|
5
|
-
exports.shouldGenerateDocs = shouldGenerateDocs;
|
|
6
|
-
exports.shouldGenerateAgents = shouldGenerateAgents;
|
|
7
|
-
exports.determineScaffoldType = determineScaffoldType;
|
|
8
|
-
const guideRegistry_1 = require("../../generators/documentation/guideRegistry");
|
|
9
|
-
const agentTypes_1 = require("../../generators/agents/agentTypes");
|
|
10
|
-
function parseDocSelection(input) {
|
|
11
|
-
if (input === undefined) {
|
|
12
|
-
return { selected: undefined, invalid: [], provided: false, explicitNone: false };
|
|
13
|
-
}
|
|
14
|
-
if (Array.isArray(input) && input.length === 0) {
|
|
15
|
-
return { selected: [], invalid: [], provided: true, explicitNone: true };
|
|
16
|
-
}
|
|
17
|
-
const values = toStringArray(input);
|
|
18
|
-
const normalized = values.map(value => value.toLowerCase().replace(/\.md$/, ''));
|
|
19
|
-
const valid = Array.from(new Set(normalized.filter(key => guideRegistry_1.DOCUMENT_GUIDE_KEYS.includes(key))));
|
|
20
|
-
const invalid = normalized.filter(key => !guideRegistry_1.DOCUMENT_GUIDE_KEYS.includes(key));
|
|
21
|
-
if (values.length > 0 && valid.length === 0 && invalid.length > 0) {
|
|
22
|
-
return { selected: undefined, invalid, provided: true, explicitNone: false };
|
|
23
|
-
}
|
|
24
|
-
return { selected: valid.length > 0 ? valid : undefined, invalid, provided: true, explicitNone: false };
|
|
25
|
-
}
|
|
26
|
-
function parseAgentSelection(input) {
|
|
27
|
-
if (input === undefined) {
|
|
28
|
-
return { selected: undefined, invalid: [], provided: false, explicitNone: false };
|
|
29
|
-
}
|
|
30
|
-
if (Array.isArray(input) && input.length === 0) {
|
|
31
|
-
return { selected: [], invalid: [], provided: true, explicitNone: true };
|
|
32
|
-
}
|
|
33
|
-
const values = toStringArray(input);
|
|
34
|
-
const normalized = values.map(value => value.toLowerCase().replace(/\.md$/, ''));
|
|
35
|
-
const allowed = new Set(agentTypes_1.AGENT_TYPES);
|
|
36
|
-
const valid = Array.from(new Set(normalized.filter(value => allowed.has(value))));
|
|
37
|
-
const invalid = normalized.filter(value => !allowed.has(value));
|
|
38
|
-
if (values.length > 0 && valid.length === 0 && invalid.length > 0) {
|
|
39
|
-
return { selected: undefined, invalid, provided: true, explicitNone: false };
|
|
40
|
-
}
|
|
41
|
-
return { selected: valid.length > 0 ? valid : undefined, invalid, provided: true, explicitNone: false };
|
|
42
|
-
}
|
|
43
|
-
function shouldGenerateDocs(resolvedType, selection) {
|
|
44
|
-
if (selection.explicitNone) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
if (resolvedType === 'agents') {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
if (!selection.provided) {
|
|
51
|
-
return resolvedType === 'docs' || resolvedType === 'both';
|
|
52
|
-
}
|
|
53
|
-
if (selection.selected && selection.selected.length === 0) {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
return resolvedType === 'docs' || resolvedType === 'both';
|
|
57
|
-
}
|
|
58
|
-
function shouldGenerateAgents(resolvedType, selection) {
|
|
59
|
-
if (selection.explicitNone) {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
if (resolvedType === 'docs') {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
if (!selection.provided) {
|
|
66
|
-
return resolvedType === 'agents' || resolvedType === 'both';
|
|
67
|
-
}
|
|
68
|
-
if (selection.selected && selection.selected.length === 0) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
return resolvedType === 'agents' || resolvedType === 'both';
|
|
72
|
-
}
|
|
73
|
-
function determineScaffoldType(docSelection, agentSelection) {
|
|
74
|
-
const docsSelected = docSelection === undefined ? true : docSelection.length > 0;
|
|
75
|
-
const agentsSelected = agentSelection === undefined ? true : agentSelection.length > 0;
|
|
76
|
-
if (docsSelected && agentsSelected)
|
|
77
|
-
return 'both';
|
|
78
|
-
if (docsSelected)
|
|
79
|
-
return 'docs';
|
|
80
|
-
return 'agents';
|
|
81
|
-
}
|
|
82
|
-
function toStringArray(input) {
|
|
83
|
-
if (Array.isArray(input)) {
|
|
84
|
-
return input.map(item => item.toString().trim()).filter(Boolean);
|
|
85
|
-
}
|
|
86
|
-
if (input === null || input === undefined) {
|
|
87
|
-
return [];
|
|
88
|
-
}
|
|
89
|
-
return input
|
|
90
|
-
.toString()
|
|
91
|
-
.split(',')
|
|
92
|
-
.map(part => part.trim())
|
|
93
|
-
.filter(Boolean);
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=selection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/commands/shared/selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
interface FrontMatterConfig {
|
|
2
|
-
id: string;
|
|
3
|
-
goal: string;
|
|
4
|
-
requiredInputs: string[];
|
|
5
|
-
successCriteria: string[];
|
|
6
|
-
relatedAgents?: string[];
|
|
7
|
-
}
|
|
8
|
-
export declare function createFrontMatter(config: FrontMatterConfig): string;
|
|
9
|
-
export declare function escapeYaml(value: string): string;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=frontMatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontMatter.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/frontMatter.ts"],"names":[],"mappings":"AAAA,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAoBnE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFrontMatter = createFrontMatter;
|
|
4
|
-
exports.escapeYaml = escapeYaml;
|
|
5
|
-
function createFrontMatter(config) {
|
|
6
|
-
const lines = ['---'];
|
|
7
|
-
lines.push(`id: ${config.id}`);
|
|
8
|
-
lines.push(`ai_update_goal: "${escapeYaml(config.goal)}"`);
|
|
9
|
-
lines.push('required_inputs:');
|
|
10
|
-
config.requiredInputs.forEach(item => {
|
|
11
|
-
lines.push(` - "${escapeYaml(item)}"`);
|
|
12
|
-
});
|
|
13
|
-
lines.push('success_criteria:');
|
|
14
|
-
config.successCriteria.forEach(item => {
|
|
15
|
-
lines.push(` - "${escapeYaml(item)}"`);
|
|
16
|
-
});
|
|
17
|
-
if (config.relatedAgents && config.relatedAgents.length > 0) {
|
|
18
|
-
lines.push('related_agents:');
|
|
19
|
-
config.relatedAgents.forEach(agent => {
|
|
20
|
-
lines.push(` - "${escapeYaml(agent)}"`);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
lines.push('---\n');
|
|
24
|
-
return lines.join('\n');
|
|
25
|
-
}
|
|
26
|
-
function escapeYaml(value) {
|
|
27
|
-
return value.replace(/"/g, '\\"');
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=frontMatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frontMatter.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/frontMatter.ts"],"names":[],"mappings":";;AAQA,8CAoBC;AAED,gCAEC;AAxBD,SAAgB,iBAAiB,CAAC,MAAyB;IACzD,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { LLMConfig } from '../types';
|
|
2
|
-
import { BaseLLMClient } from './baseLLMClient';
|
|
3
|
-
export declare class AnthropicClient extends BaseLLMClient {
|
|
4
|
-
private client;
|
|
5
|
-
private model;
|
|
6
|
-
constructor(config: LLMConfig);
|
|
7
|
-
generateText(prompt: string, systemPrompt?: string): Promise<string>;
|
|
8
|
-
private calculateAnthropicCost;
|
|
9
|
-
generateDocumentation(codeContent: string, filePath: string, context: string): Promise<string>;
|
|
10
|
-
generateAgentPrompt(repoStructure: string, fileContext: string, agentType: string): Promise<string>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=anthropicClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anthropicClient.d.ts","sourceRoot":"","sources":["../../src/services/anthropicClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,SAAS;IASvB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB1E,OAAO,CAAC,sBAAsB;IAgBxB,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.AnthropicClient = void 0;
|
|
7
|
-
const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
|
|
8
|
-
const baseLLMClient_1 = require("./baseLLMClient");
|
|
9
|
-
class AnthropicClient extends baseLLMClient_1.BaseLLMClient {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
super(config.model);
|
|
12
|
-
this.model = config.model;
|
|
13
|
-
this.client = new sdk_1.default({
|
|
14
|
-
apiKey: config.apiKey,
|
|
15
|
-
baseURL: config.baseUrl
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
async generateText(prompt, systemPrompt) {
|
|
19
|
-
try {
|
|
20
|
-
const response = await this.client.messages.create({
|
|
21
|
-
model: this.model,
|
|
22
|
-
max_tokens: 4000,
|
|
23
|
-
temperature: 0.7,
|
|
24
|
-
system: systemPrompt,
|
|
25
|
-
messages: [
|
|
26
|
-
{
|
|
27
|
-
role: 'user',
|
|
28
|
-
content: prompt
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
});
|
|
32
|
-
// Track usage statistics
|
|
33
|
-
this.trackUsage(response.usage, this.calculateAnthropicCost.bind(this));
|
|
34
|
-
return response.content[0]?.type === 'text' ? response.content[0].text : '';
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
throw new Error(`Anthropic API error: ${error instanceof Error ? error.message : String(error)}`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
calculateAnthropicCost(promptTokens, completionTokens) {
|
|
41
|
-
// Anthropic pricing (as of 2024)
|
|
42
|
-
const prices = {
|
|
43
|
-
'claude-3-haiku-20240307': { input: 0.25, output: 1.25 },
|
|
44
|
-
'claude-3-sonnet-20240229': { input: 3.0, output: 15.0 },
|
|
45
|
-
'claude-3-opus-20240229': { input: 15.0, output: 75.0 },
|
|
46
|
-
'claude-3-5-sonnet-20241022': { input: 3.0, output: 15.0 }
|
|
47
|
-
};
|
|
48
|
-
const pricing = prices[this.model] || prices['claude-3-haiku-20240307']; // 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.AnthropicClient = AnthropicClient;
|
|
98
|
-
//# sourceMappingURL=anthropicClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anthropicClient.js","sourceRoot":"","sources":["../../src/services/anthropicClient.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 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"}
|