@plumbus/core 0.2.5 → 0.2.7
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/dist/.tsbuildinfo +1 -1
- package/dist/ai/__tests__/model-pricing.test.d.ts +2 -0
- package/dist/ai/__tests__/model-pricing.test.d.ts.map +1 -0
- package/dist/ai/__tests__/model-pricing.test.js +112 -0
- package/dist/ai/__tests__/model-pricing.test.js.map +1 -0
- package/dist/ai/__tests__/provider.test.js +15 -2
- package/dist/ai/__tests__/provider.test.js.map +1 -1
- package/dist/ai/ai-service.d.ts.map +1 -1
- package/dist/ai/ai-service.js +13 -1
- package/dist/ai/ai-service.js.map +1 -1
- package/dist/ai/index.d.ts +2 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +3 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/model-pricing.d.ts +29 -0
- package/dist/ai/model-pricing.d.ts.map +1 -0
- package/dist/ai/model-pricing.js +133 -0
- package/dist/ai/model-pricing.js.map +1 -0
- package/dist/ai/provider.d.ts +4 -0
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +4 -0
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/validation.d.ts.map +1 -1
- package/dist/ai/validation.js +2 -0
- package/dist/ai/validation.js.map +1 -1
- package/dist/api/__tests__/route-generator.test.js +112 -0
- package/dist/api/__tests__/route-generator.test.js.map +1 -1
- package/dist/api/route-generator.d.ts +12 -0
- package/dist/api/route-generator.d.ts.map +1 -1
- package/dist/api/route-generator.js +69 -1
- package/dist/api/route-generator.js.map +1 -1
- package/dist/cli/__tests__/cli.test.js +4 -1
- package/dist/cli/__tests__/cli.test.js.map +1 -1
- package/dist/cli/__tests__/create.test.js +11 -1
- package/dist/cli/__tests__/create.test.js.map +1 -1
- package/dist/cli/__tests__/generate.test.js +120 -12
- package/dist/cli/__tests__/generate.test.js.map +1 -1
- package/dist/cli/__tests__/ui.test.js +15 -1
- package/dist/cli/__tests__/ui.test.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +12 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/create.js +2 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +130 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +6 -0
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +94 -4
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +130 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/ui.d.ts +1 -0
- package/dist/cli/commands/ui.d.ts.map +1 -1
- package/dist/cli/commands/ui.js +41 -5
- package/dist/cli/commands/ui.js.map +1 -1
- package/dist/data/__tests__/repository.test.js +203 -0
- package/dist/data/__tests__/repository.test.js.map +1 -1
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +2 -0
- package/dist/data/index.js.map +1 -1
- package/dist/data/repository.d.ts +1 -1
- package/dist/data/repository.d.ts.map +1 -1
- package/dist/data/repository.js +67 -3
- package/dist/data/repository.js.map +1 -1
- package/dist/errors/__tests__/errors.test.js +30 -2
- package/dist/errors/__tests__/errors.test.js.map +1 -1
- package/dist/errors/http.d.ts +3 -3
- package/dist/errors/http.d.ts.map +1 -1
- package/dist/errors/http.js.map +1 -1
- package/dist/errors/index.d.ts +12 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +22 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/execution/__tests__/authorization.test.js +11 -0
- package/dist/execution/__tests__/authorization.test.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorization.js +4 -0
- package/dist/execution/authorization.js.map +1 -1
- package/dist/execution/capability-executor.d.ts +2 -2
- package/dist/execution/capability-executor.d.ts.map +1 -1
- package/dist/execution/capability-executor.js +8 -2
- package/dist/execution/capability-executor.js.map +1 -1
- package/dist/flows/__tests__/step-executor.test.js +62 -10
- package/dist/flows/__tests__/step-executor.test.js.map +1 -1
- package/dist/flows/engine.d.ts +12 -1
- package/dist/flows/engine.d.ts.map +1 -1
- package/dist/flows/engine.js +56 -10
- package/dist/flows/engine.js.map +1 -1
- package/dist/flows/step-executor.d.ts +5 -2
- package/dist/flows/step-executor.d.ts.map +1 -1
- package/dist/flows/step-executor.js +38 -4
- package/dist/flows/step-executor.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/server/__tests__/bootstrap.test.js +108 -0
- package/dist/server/__tests__/bootstrap.test.js.map +1 -1
- package/dist/server/bootstrap.d.ts +50 -1
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +85 -2
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/testing/__tests__/simulate-flow.test.js +10 -0
- package/dist/testing/__tests__/simulate-flow.test.js.map +1 -1
- package/dist/testing/context.d.ts.map +1 -1
- package/dist/testing/context.js +73 -6
- package/dist/testing/context.js.map +1 -1
- package/dist/testing/simulate-flow.d.ts.map +1 -1
- package/dist/testing/simulate-flow.js +31 -4
- package/dist/testing/simulate-flow.js.map +1 -1
- package/dist/types/context.d.ts +31 -7
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/errors.d.ts +6 -6
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/registry.d.ts +6 -0
- package/dist/types/registry.d.ts.map +1 -1
- package/dist/types/registry.js +3 -1
- package/dist/types/registry.js.map +1 -1
- package/dist/types/security.d.ts +2 -0
- package/dist/types/security.d.ts.map +1 -1
- package/dist/worker/__tests__/bootstrap.test.js +23 -0
- package/dist/worker/__tests__/bootstrap.test.js.map +1 -1
- package/dist/worker/bootstrap.d.ts +12 -1
- package/dist/worker/bootstrap.d.ts.map +1 -1
- package/dist/worker/bootstrap.js +47 -8
- package/dist/worker/bootstrap.js.map +1 -1
- package/instructions/ai.md +30 -4
- package/instructions/capabilities.md +4 -0
- package/instructions/cli.md +2 -0
- package/instructions/framework.md +49 -0
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-pricing.test.d.ts","sourceRoot":"","sources":["../../../src/ai/__tests__/model-pricing.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { calculateModelCost } from '../model-pricing.js';
|
|
3
|
+
describe('calculateModelCost', () => {
|
|
4
|
+
it('returns 0 for unknown models', () => {
|
|
5
|
+
expect(calculateModelCost(1000, 500, 'gpt-oss:20b')).toBe(0);
|
|
6
|
+
expect(calculateModelCost(1000, 500, 'llama-3')).toBe(0);
|
|
7
|
+
});
|
|
8
|
+
it('calculates standard cost for known models', () => {
|
|
9
|
+
// gpt-4o: input $2.5/MTok, output $10/MTok
|
|
10
|
+
// 1000 input × 2.5 + 500 output × 10 = 2500 + 5000 = 7500 / 1M = 0.0075
|
|
11
|
+
expect(calculateModelCost(1000, 500, 'gpt-4o')).toBe(0.0075);
|
|
12
|
+
});
|
|
13
|
+
it('returns non-zero cost for legacy OpenAI models', () => {
|
|
14
|
+
// gpt-4-0314: input $30/MTok, output $60/MTok
|
|
15
|
+
expect(calculateModelCost(1000, 500, 'gpt-4-0314')).toBeGreaterThan(0);
|
|
16
|
+
// gpt-4-1106-vision-preview: input $10/MTok, output $30/MTok
|
|
17
|
+
expect(calculateModelCost(1000, 500, 'gpt-4-1106-vision-preview')).toBeGreaterThan(0);
|
|
18
|
+
// gpt-3.5-turbo-0613: input $1.5/MTok, output $2/MTok
|
|
19
|
+
expect(calculateModelCost(1000, 500, 'gpt-3.5-turbo-0613')).toBeGreaterThan(0);
|
|
20
|
+
// gpt-3.5-turbo-16k-0613: input $3/MTok, output $4/MTok
|
|
21
|
+
expect(calculateModelCost(1000, 500, 'gpt-3.5-turbo-16k-0613')).toBeGreaterThan(0);
|
|
22
|
+
});
|
|
23
|
+
it('resolves date-suffixed model names', () => {
|
|
24
|
+
// claude-sonnet-4-20250514 → claude-sonnet-4
|
|
25
|
+
const cost = calculateModelCost(1000, 500, 'claude-sonnet-4-20250514');
|
|
26
|
+
const costWithoutDate = calculateModelCost(1000, 500, 'claude-sonnet-4');
|
|
27
|
+
expect(cost).toBe(costWithoutDate);
|
|
28
|
+
expect(cost).toBeGreaterThan(0);
|
|
29
|
+
});
|
|
30
|
+
describe('cached input tokens', () => {
|
|
31
|
+
it('charges cached tokens at 0.1× base input rate', () => {
|
|
32
|
+
// gpt-4o: input $2.5/MTok
|
|
33
|
+
// 1000 total input, 600 cached, 400 standard
|
|
34
|
+
// Standard: 400 × 2.5 = 1000
|
|
35
|
+
// Cached: 600 × 2.5 × 0.1 = 150
|
|
36
|
+
// Output: 500 × 10 = 5000
|
|
37
|
+
// Total = 6150 / 1M = 0.00615
|
|
38
|
+
const cost = calculateModelCost(1000, 500, 'gpt-4o', {
|
|
39
|
+
cachedInputTokens: 600,
|
|
40
|
+
});
|
|
41
|
+
expect(cost).toBe(0.00615);
|
|
42
|
+
});
|
|
43
|
+
it('is cheaper than all-standard input', () => {
|
|
44
|
+
const standardCost = calculateModelCost(10000, 1000, 'gpt-4o');
|
|
45
|
+
const cachedCost = calculateModelCost(10000, 1000, 'gpt-4o', {
|
|
46
|
+
cachedInputTokens: 8000,
|
|
47
|
+
});
|
|
48
|
+
expect(cachedCost).toBeLessThan(standardCost);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
describe('cache write tokens (Anthropic)', () => {
|
|
52
|
+
it('charges cache writes at 1.25× base input rate', () => {
|
|
53
|
+
// claude-sonnet-4: input $3/MTok
|
|
54
|
+
// 1000 total input, 500 cache-writes, 500 standard
|
|
55
|
+
// Standard: 500 × 3 = 1500
|
|
56
|
+
// Cache write: 500 × 3 × 1.25 = 1875
|
|
57
|
+
// Output: 200 × 15 = 3000
|
|
58
|
+
// Total = 6375 / 1M = 0.006375
|
|
59
|
+
const cost = calculateModelCost(1000, 200, 'claude-sonnet-4', {
|
|
60
|
+
cacheWriteTokens: 500,
|
|
61
|
+
});
|
|
62
|
+
expect(cost).toBe(0.006375);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('long context premium', () => {
|
|
66
|
+
it('applies 2× input / 1.5× output for Sonnet 4 over 200K input', () => {
|
|
67
|
+
// claude-sonnet-4: base input $3/MTok, output $15/MTok
|
|
68
|
+
// 250K input tokens (over 200K threshold)
|
|
69
|
+
// Premium: input $6/MTok, output $22.5/MTok
|
|
70
|
+
// 250000 × 6 + 10000 × 22.5 = 1_500_000 + 225_000 = 1_725_000 / 1M = 1.725
|
|
71
|
+
const cost = calculateModelCost(250_000, 10_000, 'claude-sonnet-4');
|
|
72
|
+
expect(cost).toBe(1.725);
|
|
73
|
+
});
|
|
74
|
+
it('applies premium for Sonnet 4.5 with date suffix', () => {
|
|
75
|
+
const cost = calculateModelCost(250_000, 10_000, 'claude-sonnet-4-5-20250514');
|
|
76
|
+
const costNoDate = calculateModelCost(250_000, 10_000, 'claude-sonnet-4-5');
|
|
77
|
+
expect(cost).toBe(costNoDate);
|
|
78
|
+
expect(cost).toBeGreaterThan(0);
|
|
79
|
+
});
|
|
80
|
+
it('does NOT apply premium below 200K tokens', () => {
|
|
81
|
+
// 199K tokens — no premium
|
|
82
|
+
const costBelow = calculateModelCost(199_000, 10_000, 'claude-sonnet-4');
|
|
83
|
+
// base rates: 199000 × 3 + 10000 × 15 = 597000 + 150000 = 747000 / 1M = 0.747
|
|
84
|
+
expect(costBelow).toBe(0.747);
|
|
85
|
+
});
|
|
86
|
+
it('does NOT apply premium for non-Sonnet models', () => {
|
|
87
|
+
// claude-opus-4-6 with 250K input — no premium
|
|
88
|
+
// base rates: 250000 × 5 + 10000 × 25 = 1250000 + 250000 = 1500000 / 1M = 1.5
|
|
89
|
+
const cost = calculateModelCost(250_000, 10_000, 'claude-opus-4-6');
|
|
90
|
+
expect(cost).toBe(1.5);
|
|
91
|
+
});
|
|
92
|
+
it('does NOT apply premium for Sonnet 4.6 (it has flat pricing)', () => {
|
|
93
|
+
// claude-sonnet-4-6 with 250K input — no premium
|
|
94
|
+
// base rates: 250000 × 3 + 10000 × 15 = 750000 + 150000 = 900000 / 1M = 0.9
|
|
95
|
+
const cost = calculateModelCost(250_000, 10_000, 'claude-sonnet-4-6');
|
|
96
|
+
expect(cost).toBe(0.9);
|
|
97
|
+
});
|
|
98
|
+
it('includes cached tokens in the 200K threshold calculation', () => {
|
|
99
|
+
// 150K standard + 60K cached = 210K total → triggers premium
|
|
100
|
+
// Premium rates: input $6/MTok, output $22.5/MTok
|
|
101
|
+
// Standard: (150000-60000) × 6 = 90000 × 6 = 540000
|
|
102
|
+
// Cached: 60000 × 6 × 0.1 = 36000
|
|
103
|
+
// Output: 1000 × 22.5 = 22500
|
|
104
|
+
// Total = 598500 / 1M = 0.5985
|
|
105
|
+
const cost = calculateModelCost(150_000, 1000, 'claude-sonnet-4', {
|
|
106
|
+
cachedInputTokens: 60_000,
|
|
107
|
+
});
|
|
108
|
+
expect(cost).toBe(0.5985);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=model-pricing.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-pricing.test.js","sourceRoot":"","sources":["../../../src/ai/__tests__/model-pricing.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,12 @@ describe('AI Provider Adapters', () => {
|
|
|
35
35
|
json: async () => ({
|
|
36
36
|
choices: [{ message: { content: 'Hello' }, finish_reason: 'stop' }],
|
|
37
37
|
model: 'gpt-4o',
|
|
38
|
-
usage: {
|
|
38
|
+
usage: {
|
|
39
|
+
prompt_tokens: 10,
|
|
40
|
+
completion_tokens: 5,
|
|
41
|
+
total_tokens: 15,
|
|
42
|
+
prompt_tokens_details: { cached_tokens: 4 },
|
|
43
|
+
},
|
|
39
44
|
}),
|
|
40
45
|
});
|
|
41
46
|
vi.stubGlobal('fetch', mockFetch);
|
|
@@ -45,6 +50,7 @@ describe('AI Provider Adapters', () => {
|
|
|
45
50
|
expect(result.model).toBe('gpt-4o');
|
|
46
51
|
expect(result.usage.inputTokens).toBe(10);
|
|
47
52
|
expect(result.usage.outputTokens).toBe(5);
|
|
53
|
+
expect(result.usage.cachedInputTokens).toBe(4);
|
|
48
54
|
expect(mockFetch).toHaveBeenCalledWith('https://api.openai.com/v1/chat/completions', expect.objectContaining({ method: 'POST' }));
|
|
49
55
|
vi.unstubAllGlobals();
|
|
50
56
|
});
|
|
@@ -105,7 +111,12 @@ describe('AI Provider Adapters', () => {
|
|
|
105
111
|
json: async () => ({
|
|
106
112
|
content: [{ type: 'text', text: 'Hello from Claude' }],
|
|
107
113
|
model: 'claude-sonnet-4-20250514',
|
|
108
|
-
usage: {
|
|
114
|
+
usage: {
|
|
115
|
+
input_tokens: 10,
|
|
116
|
+
output_tokens: 8,
|
|
117
|
+
cache_read_input_tokens: 3,
|
|
118
|
+
cache_creation_input_tokens: 2,
|
|
119
|
+
},
|
|
109
120
|
stop_reason: 'end_turn',
|
|
110
121
|
}),
|
|
111
122
|
});
|
|
@@ -114,6 +125,8 @@ describe('AI Provider Adapters', () => {
|
|
|
114
125
|
const result = await adapter.complete({ prompt: 'Say hello' });
|
|
115
126
|
expect(result.content).toBe('Hello from Claude');
|
|
116
127
|
expect(result.usage.totalTokens).toBe(18);
|
|
128
|
+
expect(result.usage.cachedInputTokens).toBe(3);
|
|
129
|
+
expect(result.usage.cacheWriteTokens).toBe(2);
|
|
117
130
|
expect(mockFetch).toHaveBeenCalledWith('https://api.anthropic.com/v1/messages', expect.objectContaining({
|
|
118
131
|
method: 'POST',
|
|
119
132
|
headers: expect.objectContaining({ 'x-api-key': 'ant-test' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.test.js","sourceRoot":"","sources":["../../../src/ai/__tests__/provider.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAEL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,uCAAuC;AACvC,+FAA+F;AAC/F,MAAM,UAAU,kBAAkB,CAAC,SAAsC;IACvE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,EAAE,oBAAoB;YAC7B,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7D,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,KAAK,CAAC,CAAC,MAAM;YACX,MAAM,EAAE,IAAI,EAAE,eAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACxD,MAAM,EAAE,IAAI,EAAE,MAAe,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QACxD,CAAC;QACD,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxB,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;SAC1B,CAAC,CAAC;QACH,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC1C,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACjB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;oBACnE,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"provider.test.js","sourceRoot":"","sources":["../../../src/ai/__tests__/provider.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgC,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgC,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAA+B,MAAM,eAAe,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGrF,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,0DAA0D,CAAC;IACjF,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAChF,CAAC,kCAAkC,CAAC;IACrC,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,iBAAiB,CAAC,GAC5D,eAAe,CAMjB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAiclE"}
|
package/dist/ai/ai-service.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Full ctx.ai implementation: generate, extract, classify, retrieve
|
|
3
3
|
// Integrates: provider adapter, prompt registry, validation, cost tracking, security, RAG, explainability
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { calculateModelCost } from './model-pricing.js';
|
|
5
6
|
import { checkPromptSecurity } from './security.js';
|
|
6
7
|
import { generateWithValidation } from './validation.js';
|
|
7
8
|
/** Convenience: create config from a single provider (backward compat) */
|
|
@@ -140,7 +141,18 @@ export function createAIService(config) {
|
|
|
140
141
|
latencyMs,
|
|
141
142
|
});
|
|
142
143
|
}
|
|
143
|
-
|
|
144
|
+
const resolvedModel = promptInfo.model ?? config.defaultModel ?? activeProvider.name;
|
|
145
|
+
const cost = calculateModelCost(totalUsage.inputTokens, totalUsage.outputTokens, resolvedModel, {
|
|
146
|
+
cachedInputTokens: totalUsage.cachedInputTokens,
|
|
147
|
+
cacheWriteTokens: totalUsage.cacheWriteTokens,
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
data: result,
|
|
151
|
+
usage: totalUsage,
|
|
152
|
+
model: resolvedModel,
|
|
153
|
+
provider: activeProvider.name,
|
|
154
|
+
cost,
|
|
155
|
+
};
|
|
144
156
|
}
|
|
145
157
|
return {
|
|
146
158
|
async generate(params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { createAIService, singleProviderConfig, type AIServiceConfig } from './ai-service.js';
|
|
2
2
|
export { createCostTracker, type AICostRecord, type BudgetCheckResult, type BudgetConfig, type CostTracker, type DailyUsage, type UsageSyncResult, } from './cost-tracker.js';
|
|
3
3
|
export { createExplainabilityTracker, type AIExplainabilityTracker, type AIInvocationRecord, type ExplainabilityConfig, } from './explainability.js';
|
|
4
|
+
export { calculateModelCost, findModelRate, type ModelRate } from './model-pricing.js';
|
|
4
5
|
export { PromptRegistry } from './prompt-registry.js';
|
|
5
6
|
export { createAnthropicAdapter, createOpenAIAdapter, createProviderAdapter, type AIProviderAdapter, type AnthropicAdapterConfig, type EmbeddingRequest, type EmbeddingResponse, type OpenAIAdapterConfig, type ProviderRequest, type ProviderResponse, type ProviderStreamEvent, type TokenUsage, } from './provider.js';
|
|
6
7
|
export { chunkDocument, createInMemoryVectorStore, createRAGPipeline, documentChunksTable, documentsTable, type ChunkConfig, type DocumentChunk, type IngestDocumentInput, type RAGPipeline, type RAGPipelineConfig, type RetrievalQuery, type StoredChunk, type VectorStore, } from './rag/index.js';
|
|
7
8
|
export { checkPromptSecurity, type AISecurityConfig, type SecurityCheckResult, type SecurityWarning, } from './security.js';
|
|
8
|
-
export {
|
|
9
|
+
export { UsageAPIError, createUsageAPIClient, type UsageAPIClient, type UsageClientConfig, type UsageData, type UsageEntry, } from './usage-client.js';
|
|
9
10
|
export { generateWithValidation, type ValidatedResponse, type ValidationRetryConfig, } from './validation.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ai/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC"}
|
package/dist/ai/index.js
CHANGED
|
@@ -10,6 +10,8 @@ export { createAIService, singleProviderConfig } from './ai-service.js';
|
|
|
10
10
|
export { createCostTracker, } from './cost-tracker.js';
|
|
11
11
|
// Explainability
|
|
12
12
|
export { createExplainabilityTracker, } from './explainability.js';
|
|
13
|
+
// Model pricing
|
|
14
|
+
export { calculateModelCost, findModelRate } from './model-pricing.js';
|
|
13
15
|
// Prompt registry
|
|
14
16
|
export { PromptRegistry } from './prompt-registry.js';
|
|
15
17
|
// Provider adapters
|
|
@@ -19,7 +21,7 @@ export { chunkDocument, createInMemoryVectorStore, createRAGPipeline, documentCh
|
|
|
19
21
|
// Security
|
|
20
22
|
export { checkPromptSecurity, } from './security.js';
|
|
21
23
|
// Usage API Client
|
|
22
|
-
export {
|
|
24
|
+
export { UsageAPIError, createUsageAPIClient, } from './usage-client.js';
|
|
23
25
|
// Output validation
|
|
24
26
|
export { generateWithValidation, } from './validation.js';
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,6EAA6E;AAC7E,kFAAkF;AAClF,yCAAyC;AACzC,EAAE;AACF,uFAAuF;AAEvF,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,gBAAgB;AAChB,OAAO,EACL,iBAAiB,GAOlB,MAAM,mBAAmB,CAAC;AAC3B,iBAAiB;AACjB,OAAO,EACL,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAC7B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GAUtB,MAAM,eAAe,CAAC;AACvB,eAAe;AACf,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GASf,MAAM,gBAAgB,CAAC;AACxB,WAAW;AACX,OAAO,EACL,mBAAmB,GAIpB,MAAM,eAAe,CAAC;AACvB,mBAAmB;AACnB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,6EAA6E;AAC7E,kFAAkF;AAClF,yCAAyC;AACzC,EAAE;AACF,uFAAuF;AAEvF,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AAC9F,gBAAgB;AAChB,OAAO,EACL,iBAAiB,GAOlB,MAAM,mBAAmB,CAAC;AAC3B,iBAAiB;AACjB,OAAO,EACL,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAC7B,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AACvF,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GAUtB,MAAM,eAAe,CAAC;AACvB,eAAe;AACf,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GASf,MAAM,gBAAgB,CAAC;AACxB,WAAW;AACX,OAAO,EACL,mBAAmB,GAIpB,MAAM,eAAe,CAAC;AACvB,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,sBAAsB,GAGvB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface ModelRate {
|
|
2
|
+
/** USD per 1M input tokens */
|
|
3
|
+
inputPerMTok: number;
|
|
4
|
+
/** USD per 1M output tokens */
|
|
5
|
+
outputPerMTok: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Finds the per-token rate for a model.
|
|
9
|
+
* Tries exact match first, then strips trailing date suffixes
|
|
10
|
+
* (e.g. "claude-sonnet-4-20250514" → "claude-sonnet-4").
|
|
11
|
+
* Returns null for unknown/unsupported models (Ollama, custom).
|
|
12
|
+
*/
|
|
13
|
+
export declare function findModelRate(model: string): ModelRate | null;
|
|
14
|
+
/**
|
|
15
|
+
* Calculate the USD cost for a single AI request based on published per-token rates.
|
|
16
|
+
*
|
|
17
|
+
* Pricing adjustments applied:
|
|
18
|
+
* - **Cached input tokens**: charged at 0.1× the base input rate (both providers).
|
|
19
|
+
* - **Cache write tokens**: charged at 1.25× the base input rate (Anthropic 5-min cache).
|
|
20
|
+
* - **Long context premium**: for Claude Sonnet 4 / 4.5, when total input exceeds
|
|
21
|
+
* 200K tokens the entire request is charged at 2× input / 1.5× output.
|
|
22
|
+
*
|
|
23
|
+
* Returns 0 for unknown/unsupported models (Ollama, custom endpoints).
|
|
24
|
+
*/
|
|
25
|
+
export declare function calculateModelCost(inputTokens: number, outputTokens: number, model: string, options?: {
|
|
26
|
+
cachedInputTokens?: number;
|
|
27
|
+
cacheWriteTokens?: number;
|
|
28
|
+
}): number;
|
|
29
|
+
//# sourceMappingURL=model-pricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB;AA+DD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAY7D;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,MAAM,CAgCR"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// ── Model Pricing Table ──
|
|
2
|
+
// Published per-token rates for OpenAI and Anthropic models.
|
|
3
|
+
// Rates are in USD per 1 million tokens (MTok).
|
|
4
|
+
// Source: https://developers.openai.com/api/docs/pricing
|
|
5
|
+
// https://platform.claude.com/docs/en/about-claude/pricing
|
|
6
|
+
// Last updated: 2026-03-29
|
|
7
|
+
//
|
|
8
|
+
// Unknown models (Ollama, custom endpoints) return cost $0.
|
|
9
|
+
const MODEL_PRICING = {
|
|
10
|
+
// ── OpenAI: Flagship ──
|
|
11
|
+
'gpt-5.4': { inputPerMTok: 2.5, outputPerMTok: 15 },
|
|
12
|
+
'gpt-5.4-mini': { inputPerMTok: 0.75, outputPerMTok: 4.5 },
|
|
13
|
+
'gpt-5.4-nano': { inputPerMTok: 0.2, outputPerMTok: 1.25 },
|
|
14
|
+
'gpt-5.4-pro': { inputPerMTok: 30, outputPerMTok: 180 },
|
|
15
|
+
'gpt-5.2': { inputPerMTok: 1.75, outputPerMTok: 14 },
|
|
16
|
+
'gpt-5.2-pro': { inputPerMTok: 21, outputPerMTok: 168 },
|
|
17
|
+
'gpt-5.1': { inputPerMTok: 1.25, outputPerMTok: 10 },
|
|
18
|
+
'gpt-5': { inputPerMTok: 1.25, outputPerMTok: 10 },
|
|
19
|
+
'gpt-5-mini': { inputPerMTok: 0.25, outputPerMTok: 2 },
|
|
20
|
+
'gpt-5-nano': { inputPerMTok: 0.05, outputPerMTok: 0.4 },
|
|
21
|
+
'gpt-5-pro': { inputPerMTok: 15, outputPerMTok: 120 },
|
|
22
|
+
'gpt-4.1': { inputPerMTok: 2, outputPerMTok: 8 },
|
|
23
|
+
'gpt-4.1-mini': { inputPerMTok: 0.4, outputPerMTok: 1.6 },
|
|
24
|
+
'gpt-4.1-nano': { inputPerMTok: 0.1, outputPerMTok: 0.4 },
|
|
25
|
+
'gpt-4o': { inputPerMTok: 2.5, outputPerMTok: 10 },
|
|
26
|
+
'gpt-4o-2024-05-13': { inputPerMTok: 5, outputPerMTok: 15 },
|
|
27
|
+
'gpt-4o-mini': { inputPerMTok: 0.15, outputPerMTok: 0.6 },
|
|
28
|
+
// ── OpenAI: Reasoning ──
|
|
29
|
+
o1: { inputPerMTok: 15, outputPerMTok: 60 },
|
|
30
|
+
'o1-pro': { inputPerMTok: 150, outputPerMTok: 600 },
|
|
31
|
+
'o1-mini': { inputPerMTok: 1.1, outputPerMTok: 4.4 },
|
|
32
|
+
o3: { inputPerMTok: 2, outputPerMTok: 8 },
|
|
33
|
+
'o3-pro': { inputPerMTok: 20, outputPerMTok: 80 },
|
|
34
|
+
'o3-mini': { inputPerMTok: 1.1, outputPerMTok: 4.4 },
|
|
35
|
+
'o4-mini': { inputPerMTok: 1.1, outputPerMTok: 4.4 },
|
|
36
|
+
// ── OpenAI: Legacy ──
|
|
37
|
+
'gpt-4-turbo': { inputPerMTok: 10, outputPerMTok: 30 },
|
|
38
|
+
'gpt-4-turbo-2024-04-09': { inputPerMTok: 10, outputPerMTok: 30 },
|
|
39
|
+
'gpt-4-0125-preview': { inputPerMTok: 10, outputPerMTok: 30 },
|
|
40
|
+
'gpt-4-1106-preview': { inputPerMTok: 10, outputPerMTok: 30 },
|
|
41
|
+
'gpt-4-1106-vision-preview': { inputPerMTok: 10, outputPerMTok: 30 },
|
|
42
|
+
'gpt-4-0613': { inputPerMTok: 30, outputPerMTok: 60 },
|
|
43
|
+
'gpt-4-0314': { inputPerMTok: 30, outputPerMTok: 60 },
|
|
44
|
+
'gpt-4': { inputPerMTok: 30, outputPerMTok: 60 },
|
|
45
|
+
'gpt-4-32k': { inputPerMTok: 60, outputPerMTok: 120 },
|
|
46
|
+
'gpt-3.5-turbo': { inputPerMTok: 0.5, outputPerMTok: 1.5 },
|
|
47
|
+
'gpt-3.5-turbo-0125': { inputPerMTok: 0.5, outputPerMTok: 1.5 },
|
|
48
|
+
'gpt-3.5-turbo-1106': { inputPerMTok: 1, outputPerMTok: 2 },
|
|
49
|
+
'gpt-3.5-turbo-0613': { inputPerMTok: 1.5, outputPerMTok: 2 },
|
|
50
|
+
'gpt-3.5-0301': { inputPerMTok: 1.5, outputPerMTok: 2 },
|
|
51
|
+
'gpt-3.5-turbo-instruct': { inputPerMTok: 1.5, outputPerMTok: 2 },
|
|
52
|
+
'gpt-3.5-turbo-16k-0613': { inputPerMTok: 3, outputPerMTok: 4 },
|
|
53
|
+
// ── Anthropic: Claude ──
|
|
54
|
+
'claude-opus-4-6': { inputPerMTok: 5, outputPerMTok: 25 },
|
|
55
|
+
'claude-opus-4-5': { inputPerMTok: 5, outputPerMTok: 25 },
|
|
56
|
+
'claude-opus-4-1': { inputPerMTok: 15, outputPerMTok: 75 },
|
|
57
|
+
'claude-opus-4': { inputPerMTok: 15, outputPerMTok: 75 },
|
|
58
|
+
'claude-sonnet-4-6': { inputPerMTok: 3, outputPerMTok: 15 },
|
|
59
|
+
'claude-sonnet-4-5': { inputPerMTok: 3, outputPerMTok: 15 },
|
|
60
|
+
'claude-sonnet-4': { inputPerMTok: 3, outputPerMTok: 15 },
|
|
61
|
+
'claude-3-7-sonnet': { inputPerMTok: 3, outputPerMTok: 15 },
|
|
62
|
+
'claude-3-5-sonnet': { inputPerMTok: 3, outputPerMTok: 15 },
|
|
63
|
+
'claude-haiku-4-5': { inputPerMTok: 1, outputPerMTok: 5 },
|
|
64
|
+
'claude-3-5-haiku': { inputPerMTok: 0.8, outputPerMTok: 4 },
|
|
65
|
+
'claude-3-opus': { inputPerMTok: 15, outputPerMTok: 75 },
|
|
66
|
+
'claude-3-haiku': { inputPerMTok: 0.25, outputPerMTok: 1.25 },
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Finds the per-token rate for a model.
|
|
70
|
+
* Tries exact match first, then strips trailing date suffixes
|
|
71
|
+
* (e.g. "claude-sonnet-4-20250514" → "claude-sonnet-4").
|
|
72
|
+
* Returns null for unknown/unsupported models (Ollama, custom).
|
|
73
|
+
*/
|
|
74
|
+
export function findModelRate(model) {
|
|
75
|
+
const exact = MODEL_PRICING[model];
|
|
76
|
+
if (exact)
|
|
77
|
+
return exact;
|
|
78
|
+
// Strip trailing date suffix (e.g. "-20250514")
|
|
79
|
+
const withoutDate = model.replace(/-\d{8}$/, '');
|
|
80
|
+
if (withoutDate !== model) {
|
|
81
|
+
const stripped = MODEL_PRICING[withoutDate];
|
|
82
|
+
if (stripped)
|
|
83
|
+
return stripped;
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
/** Models subject to Anthropic's long context premium (>200K input tokens). */
|
|
88
|
+
const LONG_CONTEXT_PREMIUM_MODELS = new Set(['claude-sonnet-4', 'claude-sonnet-4-5']);
|
|
89
|
+
/** Check if a model (after date-stripping) qualifies for long context premium. */
|
|
90
|
+
function hasLongContextPremium(model) {
|
|
91
|
+
if (LONG_CONTEXT_PREMIUM_MODELS.has(model))
|
|
92
|
+
return true;
|
|
93
|
+
const withoutDate = model.replace(/-\d{8}$/, '');
|
|
94
|
+
return withoutDate !== model && LONG_CONTEXT_PREMIUM_MODELS.has(withoutDate);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Calculate the USD cost for a single AI request based on published per-token rates.
|
|
98
|
+
*
|
|
99
|
+
* Pricing adjustments applied:
|
|
100
|
+
* - **Cached input tokens**: charged at 0.1× the base input rate (both providers).
|
|
101
|
+
* - **Cache write tokens**: charged at 1.25× the base input rate (Anthropic 5-min cache).
|
|
102
|
+
* - **Long context premium**: for Claude Sonnet 4 / 4.5, when total input exceeds
|
|
103
|
+
* 200K tokens the entire request is charged at 2× input / 1.5× output.
|
|
104
|
+
*
|
|
105
|
+
* Returns 0 for unknown/unsupported models (Ollama, custom endpoints).
|
|
106
|
+
*/
|
|
107
|
+
export function calculateModelCost(inputTokens, outputTokens, model, options) {
|
|
108
|
+
const rate = findModelRate(model);
|
|
109
|
+
if (!rate)
|
|
110
|
+
return 0;
|
|
111
|
+
const cached = options?.cachedInputTokens ?? 0;
|
|
112
|
+
const cacheWrites = options?.cacheWriteTokens ?? 0;
|
|
113
|
+
let inputRate = rate.inputPerMTok;
|
|
114
|
+
let outputRate = rate.outputPerMTok;
|
|
115
|
+
// Long context premium: Sonnet 4/4.5 with >200K total input tokens
|
|
116
|
+
const totalInput = inputTokens + cached + cacheWrites;
|
|
117
|
+
if (hasLongContextPremium(model) && totalInput > 200_000) {
|
|
118
|
+
inputRate *= 2;
|
|
119
|
+
outputRate *= 1.5;
|
|
120
|
+
}
|
|
121
|
+
// Standard (non-cached) input tokens
|
|
122
|
+
const standardInput = inputTokens - cached - cacheWrites;
|
|
123
|
+
const standardInputCost = Math.max(0, standardInput) * inputRate;
|
|
124
|
+
// Cached reads: 0.1× base input rate
|
|
125
|
+
const cachedCost = cached * inputRate * 0.1;
|
|
126
|
+
// Cache writes: 1.25× base input rate (Anthropic); OpenAI doesn't report these
|
|
127
|
+
const cacheWriteCost = cacheWrites * inputRate * 1.25;
|
|
128
|
+
// Output tokens at standard (or long-context-premium) rate
|
|
129
|
+
const outputCost = outputTokens * outputRate;
|
|
130
|
+
const cost = (standardInputCost + cachedCost + cacheWriteCost + outputCost) / 1_000_000;
|
|
131
|
+
return Number(cost.toFixed(6));
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=model-pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/provider.d.ts
CHANGED
|
@@ -25,6 +25,10 @@ export interface TokenUsage {
|
|
|
25
25
|
inputTokens: number;
|
|
26
26
|
outputTokens: number;
|
|
27
27
|
totalTokens: number;
|
|
28
|
+
/** Tokens served from provider cache (charged at reduced rate). */
|
|
29
|
+
cachedInputTokens?: number;
|
|
30
|
+
/** Tokens written to provider cache (charged at elevated rate — Anthropic only). */
|
|
31
|
+
cacheWriteTokens?: number;
|
|
28
32
|
}
|
|
29
33
|
export interface ProviderStreamEvent {
|
|
30
34
|
type: 'content_delta' | 'usage' | 'done' | 'error';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/provider.js
CHANGED
|
@@ -47,6 +47,7 @@ export function createOpenAIAdapter(config) {
|
|
|
47
47
|
inputTokens: data.usage.prompt_tokens,
|
|
48
48
|
outputTokens: data.usage.completion_tokens,
|
|
49
49
|
totalTokens: data.usage.total_tokens,
|
|
50
|
+
cachedInputTokens: data.usage.prompt_tokens_details?.cached_tokens ?? 0,
|
|
50
51
|
},
|
|
51
52
|
finishReason: choice.finish_reason,
|
|
52
53
|
};
|
|
@@ -153,6 +154,8 @@ export function createAnthropicAdapter(config) {
|
|
|
153
154
|
inputTokens: data.usage.input_tokens,
|
|
154
155
|
outputTokens: data.usage.output_tokens,
|
|
155
156
|
totalTokens: data.usage.input_tokens + data.usage.output_tokens,
|
|
157
|
+
cachedInputTokens: data.usage.cache_read_input_tokens ?? 0,
|
|
158
|
+
cacheWriteTokens: data.usage.cache_creation_input_tokens ?? 0,
|
|
156
159
|
},
|
|
157
160
|
finishReason: data.stop_reason,
|
|
158
161
|
};
|
|
@@ -242,6 +245,7 @@ function parseOpenAISSEChunk(_eventType, data) {
|
|
|
242
245
|
inputTokens: parsed.usage.prompt_tokens,
|
|
243
246
|
outputTokens: parsed.usage.completion_tokens,
|
|
244
247
|
totalTokens: parsed.usage.total_tokens,
|
|
248
|
+
cachedInputTokens: parsed.usage.prompt_tokens_details?.cached_tokens ?? 0,
|
|
245
249
|
},
|
|
246
250
|
};
|
|
247
251
|
}
|