@ai-coders/context 0.3.0 â 0.4.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 +32 -25
- package/dist/commands/shared/agents.d.ts +2 -0
- package/dist/commands/shared/agents.d.ts.map +1 -0
- package/dist/commands/shared/agents.js +15 -0
- package/dist/commands/shared/agents.js.map +1 -0
- package/dist/commands/shared/selection.d.ts +12 -0
- package/dist/commands/shared/selection.d.ts.map +1 -0
- package/dist/commands/shared/selection.js +95 -0
- package/dist/commands/shared/selection.js.map +1 -0
- package/dist/generators/agents/agentConfig.d.ts.map +1 -1
- package/dist/generators/agents/agentConfig.js +42 -0
- package/dist/generators/agents/agentConfig.js.map +1 -1
- package/dist/generators/agents/agentGenerator.d.ts +0 -1
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +7 -47
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/agentTypes.d.ts +1 -1
- package/dist/generators/agents/agentTypes.d.ts.map +1 -1
- package/dist/generators/agents/agentTypes.js +4 -1
- package/dist/generators/agents/agentTypes.js.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.js +2 -1
- package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.js +39 -3
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts +3 -1
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +88 -15
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/guideRegistry.js +8 -8
- package/dist/generators/documentation/guideRegistry.js.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js +490 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +27 -27
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.js +2 -2
- 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 +5 -20
- 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 +5 -20
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.js +9 -23
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/index.d.ts +4 -0
- package/dist/generators/documentation/templates/index.d.ts.map +1 -1
- package/dist/generators/documentation/templates/index.js +9 -1
- package/dist/generators/documentation/templates/index.js.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.js +5 -19
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/migrationTemplate.js +422 -0
- package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js +431 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +22 -25
- 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 +5 -19
- 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 +5 -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 +6 -20
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js +292 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
- package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.js +3 -2
- 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 +96 -13
- package/dist/generators/plans/templates/planTemplate.js.map +1 -1
- package/dist/generators/shared/generatorUtils.d.ts +1 -1
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.js +1 -1
- package/dist/generators/shared/generatorUtils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -1007
- package/dist/index.js.map +1 -1
- package/dist/prompts/defaults.d.ts +3 -0
- package/dist/prompts/defaults.d.ts.map +1 -0
- package/dist/prompts/defaults.js +95 -0
- package/dist/prompts/defaults.js.map +1 -0
- package/dist/services/baseLLMClient.d.ts +3 -3
- package/dist/services/baseLLMClient.d.ts.map +1 -1
- package/dist/services/baseLLMClient.js +44 -5
- package/dist/services/baseLLMClient.js.map +1 -1
- package/dist/services/fill/fillService.d.ts +46 -0
- package/dist/services/fill/fillService.d.ts.map +1 -0
- package/dist/services/fill/fillService.js +254 -0
- package/dist/services/fill/fillService.js.map +1 -0
- package/dist/services/init/initService.d.ts +37 -0
- package/dist/services/init/initService.d.ts.map +1 -0
- package/dist/services/init/initService.js +167 -0
- package/dist/services/init/initService.js.map +1 -0
- package/dist/services/llmClientFactory.d.ts +2 -8
- package/dist/services/llmClientFactory.d.ts.map +1 -1
- package/dist/services/llmClientFactory.js +10 -96
- package/dist/services/llmClientFactory.js.map +1 -1
- package/dist/services/openRouterClient.d.ts +0 -3
- package/dist/services/openRouterClient.d.ts.map +1 -1
- package/dist/services/openRouterClient.js +2 -49
- package/dist/services/openRouterClient.js.map +1 -1
- package/dist/services/plan/planService.d.ts +57 -0
- package/dist/services/plan/planService.d.ts.map +1 -0
- package/dist/services/plan/planService.js +334 -0
- package/dist/services/plan/planService.js.map +1 -0
- package/dist/services/shared/llmConfig.d.ts +22 -0
- package/dist/services/shared/llmConfig.d.ts.map +1 -0
- package/dist/services/shared/llmConfig.js +38 -0
- package/dist/services/shared/llmConfig.js.map +1 -0
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/fileMapper.d.ts +1 -1
- package/dist/utils/fileMapper.d.ts.map +1 -1
- package/dist/utils/fileMapper.js +40 -19
- package/dist/utils/fileMapper.js.map +1 -1
- package/dist/utils/i18n.d.ts +23 -33
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +48 -68
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/promptLoader.d.ts +12 -0
- package/dist/utils/promptLoader.d.ts.map +1 -0
- package/dist/utils/promptLoader.js +81 -0
- package/dist/utils/promptLoader.js.map +1 -0
- package/dist/utils/versionChecker.d.ts +15 -0
- package/dist/utils/versionChecker.d.ts.map +1 -0
- package/dist/utils/versionChecker.js +49 -0
- package/dist/utils/versionChecker.js.map +1 -0
- package/package.json +9 -10
- package/prompts/update_plan_prompt.md +4 -5
- package/prompts/update_scaffold_prompt.md +7 -8
- package/dist/generators/agents/contextUtils.d.ts +0 -8
- package/dist/generators/agents/contextUtils.d.ts.map +0 -1
- package/dist/generators/agents/contextUtils.js +0 -15
- package/dist/generators/agents/contextUtils.js.map +0 -1
- package/dist/generators/agents/promptFormatter.d.ts +0 -9
- package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
- package/dist/generators/agents/promptFormatter.js +0 -84
- package/dist/generators/agents/promptFormatter.js.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
- package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
- package/dist/generators/analyzers/index.d.ts +0 -3
- package/dist/generators/analyzers/index.d.ts.map +0 -1
- package/dist/generators/analyzers/index.js +0 -6
- package/dist/generators/analyzers/index.js.map +0 -1
- package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
- package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTemplates.js +0 -359
- package/dist/generators/documentation/documentationTemplates.js.map +0 -1
- package/dist/generators/documentation/documentationTypes.d.ts +0 -11
- package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTypes.js +0 -22
- package/dist/generators/documentation/documentationTypes.js.map +0 -1
- package/dist/generators/documentation/documentationUtils.d.ts +0 -7
- package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
- package/dist/generators/documentation/documentationUtils.js +0 -28
- package/dist/generators/documentation/documentationUtils.js.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
- package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
- package/dist/generators/documentation/templates.d.ts +0 -31
- package/dist/generators/documentation/templates.d.ts.map +0 -1
- package/dist/generators/documentation/templates.js +0 -566
- package/dist/generators/documentation/templates.js.map +0 -1
- package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
- package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
- package/dist/generators/guidelines/agentIntegration.js +0 -157
- package/dist/generators/guidelines/agentIntegration.js.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
- package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.js +0 -144
- package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
- package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
- package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
- package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
- package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
- package/dist/generators/guidelines/index.d.ts +0 -6
- package/dist/generators/guidelines/index.d.ts.map +0 -1
- package/dist/generators/guidelines/index.js +0 -16
- package/dist/generators/guidelines/index.js.map +0 -1
- package/dist/generators/moduleGrouper.d.ts +0 -14
- package/dist/generators/moduleGrouper.d.ts.map +0 -1
- package/dist/generators/moduleGrouper.js +0 -82
- package/dist/generators/moduleGrouper.js.map +0 -1
- package/dist/generators/projectAnalyzer.d.ts +0 -14
- package/dist/generators/projectAnalyzer.d.ts.map +0 -1
- package/dist/generators/projectAnalyzer.js +0 -217
- package/dist/generators/projectAnalyzer.js.map +0 -1
- package/dist/services/changeAnalyzer.d.ts +0 -44
- package/dist/services/changeAnalyzer.d.ts.map +0 -1
- package/dist/services/changeAnalyzer.js +0 -344
- package/dist/services/changeAnalyzer.js.map +0 -1
- package/dist/utils/interactiveMode.d.ts +0 -21
- package/dist/utils/interactiveMode.d.ts.map +0 -1
- package/dist/utils/interactiveMode.js +0 -737
- package/dist/utils/interactiveMode.js.map +0 -1
- package/dist/utils/tokenEstimator.d.ts +0 -28
- package/dist/utils/tokenEstimator.d.ts.map +0 -1
- package/dist/utils/tokenEstimator.js +0 -134
- package/dist/utils/tokenEstimator.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveMode.js","sourceRoot":"","sources":["../../src/utils/interactiveMode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { RepoStructure } from '../types';
|
|
2
|
-
import { FileMapper } from './fileMapper';
|
|
3
|
-
export interface ModelPricing {
|
|
4
|
-
input: number;
|
|
5
|
-
output: number;
|
|
6
|
-
}
|
|
7
|
-
export interface TokenEstimate {
|
|
8
|
-
totalFiles: number;
|
|
9
|
-
estimatedInputTokens: number;
|
|
10
|
-
estimatedOutputTokens: number;
|
|
11
|
-
estimatedTotalTokens: number;
|
|
12
|
-
costEstimates?: {
|
|
13
|
-
inputCost: number;
|
|
14
|
-
outputCost: number;
|
|
15
|
-
totalCost: number;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
export declare class TokenEstimator {
|
|
19
|
-
private fileMapper;
|
|
20
|
-
private pricing?;
|
|
21
|
-
constructor(fileMapper: FileMapper, pricing?: ModelPricing | undefined);
|
|
22
|
-
estimateTokensForFullGeneration(repoStructure: RepoStructure): Promise<TokenEstimate>;
|
|
23
|
-
private selectSampleFiles;
|
|
24
|
-
private estimateTokensFromText;
|
|
25
|
-
private calculateCostEstimates;
|
|
26
|
-
formatTokenEstimate(estimate: TokenEstimate): string;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=tokenEstimator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenEstimator.d.ts","sourceRoot":"","sources":["../../src/utils/tokenEstimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,aAAa,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO,CAAC;gBADR,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,YAAY,YAAA;IAG1B,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAoD3F,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,sBAAsB;IAgB9B,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM;CAoDrD"}
|
|
@@ -1,134 +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.TokenEstimator = void 0;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
class TokenEstimator {
|
|
9
|
-
constructor(fileMapper, pricing) {
|
|
10
|
-
this.fileMapper = fileMapper;
|
|
11
|
-
this.pricing = pricing;
|
|
12
|
-
}
|
|
13
|
-
async estimateTokensForFullGeneration(repoStructure) {
|
|
14
|
-
const relevantFiles = repoStructure.files.filter(file => this.fileMapper.isTextFile(file.path));
|
|
15
|
-
let totalInputTokens = 0;
|
|
16
|
-
let processedFiles = 0;
|
|
17
|
-
// Sample a subset of files to estimate average tokens per file
|
|
18
|
-
const sampleSize = Math.min(relevantFiles.length, 10);
|
|
19
|
-
const sampleFiles = this.selectSampleFiles(relevantFiles, sampleSize);
|
|
20
|
-
for (const file of sampleFiles) {
|
|
21
|
-
try {
|
|
22
|
-
const content = await this.fileMapper.readFileContent(file.path);
|
|
23
|
-
const tokens = this.estimateTokensFromText(content);
|
|
24
|
-
totalInputTokens += tokens;
|
|
25
|
-
processedFiles++;
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
// Skip files that can't be read
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
// Calculate average and extrapolate
|
|
33
|
-
const averageTokensPerFile = processedFiles > 0 ? totalInputTokens / processedFiles : 0;
|
|
34
|
-
const estimatedInputTokens = Math.ceil(averageTokensPerFile * relevantFiles.length);
|
|
35
|
-
// Add overhead for system prompts, context, and instructions
|
|
36
|
-
const systemPromptOverhead = relevantFiles.length * 500; // ~500 tokens per file for prompts
|
|
37
|
-
const totalInputWithOverhead = estimatedInputTokens + systemPromptOverhead;
|
|
38
|
-
// Estimate output tokens (documentation is typically 30-50% of input size)
|
|
39
|
-
const estimatedOutputTokens = Math.ceil(totalInputWithOverhead * 0.4);
|
|
40
|
-
const estimatedTotalTokens = totalInputWithOverhead + estimatedOutputTokens;
|
|
41
|
-
const result = {
|
|
42
|
-
totalFiles: relevantFiles.length,
|
|
43
|
-
estimatedInputTokens: totalInputWithOverhead,
|
|
44
|
-
estimatedOutputTokens,
|
|
45
|
-
estimatedTotalTokens
|
|
46
|
-
};
|
|
47
|
-
// Only calculate cost estimates if pricing is provided
|
|
48
|
-
if (this.pricing) {
|
|
49
|
-
result.costEstimates = this.calculateCostEstimates(totalInputWithOverhead, estimatedOutputTokens);
|
|
50
|
-
}
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
selectSampleFiles(files, sampleSize) {
|
|
54
|
-
if (files.length <= sampleSize) {
|
|
55
|
-
return files;
|
|
56
|
-
}
|
|
57
|
-
// Select a diverse sample: some small, medium, and large files
|
|
58
|
-
const sorted = [...files].sort((a, b) => a.size - b.size);
|
|
59
|
-
const sample = [];
|
|
60
|
-
const step = Math.floor(sorted.length / sampleSize);
|
|
61
|
-
for (let i = 0; i < sampleSize; i++) {
|
|
62
|
-
const index = Math.min(i * step, sorted.length - 1);
|
|
63
|
-
sample.push(sorted[index]);
|
|
64
|
-
}
|
|
65
|
-
return sample;
|
|
66
|
-
}
|
|
67
|
-
estimateTokensFromText(text) {
|
|
68
|
-
// Rough estimation: 1 token â 4 characters for most languages
|
|
69
|
-
// This is a conservative estimate that works reasonably well for code
|
|
70
|
-
return Math.ceil(text.length / 4);
|
|
71
|
-
}
|
|
72
|
-
calculateCostEstimates(inputTokens, outputTokens) {
|
|
73
|
-
if (!this.pricing) {
|
|
74
|
-
throw new Error('Pricing information is required for cost estimation');
|
|
75
|
-
}
|
|
76
|
-
const inputCost = (inputTokens / 1000000) * this.pricing.input;
|
|
77
|
-
const outputCost = (outputTokens / 1000000) * this.pricing.output;
|
|
78
|
-
const totalCost = inputCost + outputCost;
|
|
79
|
-
return {
|
|
80
|
-
inputCost: Math.round(inputCost * 100) / 100,
|
|
81
|
-
outputCost: Math.round(outputCost * 100) / 100,
|
|
82
|
-
totalCost: Math.round(totalCost * 100) / 100
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
formatTokenEstimate(estimate) {
|
|
86
|
-
const formatNumber = (num) => num.toLocaleString();
|
|
87
|
-
const formatCost = (cost) => cost < 0.01 ? '<$0.01' : `$${cost.toFixed(2)}`;
|
|
88
|
-
let output = `\n${chalk_1.default.bold.blue('đ Token Usage Estimate for Full Documentation Generation:')}
|
|
89
|
-
${chalk_1.default.gray('âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ')}
|
|
90
|
-
|
|
91
|
-
${chalk_1.default.bold('đ Files to Process:')} ${chalk_1.default.cyan(formatNumber(estimate.totalFiles))}
|
|
92
|
-
${chalk_1.default.bold('đ¤ Estimated Input Tokens:')} ${chalk_1.default.cyan(formatNumber(estimate.estimatedInputTokens))}
|
|
93
|
-
${chalk_1.default.bold('đ Estimated Output Tokens:')} ${chalk_1.default.cyan(formatNumber(estimate.estimatedOutputTokens))}
|
|
94
|
-
${chalk_1.default.bold('đ¯ Total Estimated Tokens:')} ${chalk_1.default.cyan(formatNumber(estimate.estimatedTotalTokens))}
|
|
95
|
-
|
|
96
|
-
`;
|
|
97
|
-
if (estimate.costEstimates) {
|
|
98
|
-
const costs = estimate.costEstimates;
|
|
99
|
-
const totalColor = costs.totalCost < 0.10 ? chalk_1.default.green : costs.totalCost < 0.50 ? chalk_1.default.yellow : chalk_1.default.red;
|
|
100
|
-
output += `${chalk_1.default.bold.yellow('đ° Cost Estimate:')}
|
|
101
|
-
Input Tokens Cost: ${chalk_1.default.gray(formatCost(costs.inputCost))}
|
|
102
|
-
Output Tokens Cost: ${chalk_1.default.gray(formatCost(costs.outputCost))}
|
|
103
|
-
${chalk_1.default.bold('Total Estimated Cost:')} ${totalColor(formatCost(costs.totalCost))}
|
|
104
|
-
|
|
105
|
-
`;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
output += `${chalk_1.default.bold.yellow('đ° Cost Estimation:')}
|
|
109
|
-
${chalk_1.default.gray('No pricing information provided - cost estimation unavailable')}
|
|
110
|
-
${chalk_1.default.gray('Use --input-price and --output-price to enable cost estimation')}
|
|
111
|
-
|
|
112
|
-
`;
|
|
113
|
-
}
|
|
114
|
-
const notesSection = estimate.costEstimates
|
|
115
|
-
? `${chalk_1.default.bold.blue('âšī¸ Notes:')}
|
|
116
|
-
${chalk_1.default.gray('âĸ Token estimates are based on sampling ' + Math.min(estimate.totalFiles, 10) + ' files')}
|
|
117
|
-
${chalk_1.default.gray('âĸ Costs include system prompts and context overhead')}
|
|
118
|
-
${chalk_1.default.gray('âĸ Output tokens estimated at ~40% of input + overhead')}
|
|
119
|
-
${chalk_1.default.gray('âĸ Actual costs may vary based on content complexity')}
|
|
120
|
-
${chalk_1.default.gray('âĸ Pricing based on your provided model costs')}`
|
|
121
|
-
: `${chalk_1.default.bold.blue('âšī¸ Notes:')}
|
|
122
|
-
${chalk_1.default.gray('âĸ Token estimates are based on sampling ' + Math.min(estimate.totalFiles, 10) + ' files')}
|
|
123
|
-
${chalk_1.default.gray('âĸ Costs include system prompts and context overhead')}
|
|
124
|
-
${chalk_1.default.gray('âĸ Output tokens estimated at ~40% of input + overhead')}
|
|
125
|
-
${chalk_1.default.gray('âĸ Provide pricing information to see cost estimates')}`;
|
|
126
|
-
output += `
|
|
127
|
-
${notesSection}
|
|
128
|
-
|
|
129
|
-
${chalk_1.default.gray('âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ')}`;
|
|
130
|
-
return output;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.TokenEstimator = TokenEstimator;
|
|
134
|
-
//# sourceMappingURL=tokenEstimator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenEstimator.js","sourceRoot":"","sources":["../../src/utils/tokenEstimator.ts"],"names":[],"mappings":"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"}
|