@plumbus/core 0.2.5 → 0.2.6

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.
Files changed (81) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ai/__tests__/model-pricing.test.d.ts +2 -0
  3. package/dist/ai/__tests__/model-pricing.test.d.ts.map +1 -0
  4. package/dist/ai/__tests__/model-pricing.test.js +102 -0
  5. package/dist/ai/__tests__/model-pricing.test.js.map +1 -0
  6. package/dist/ai/__tests__/provider.test.js +15 -2
  7. package/dist/ai/__tests__/provider.test.js.map +1 -1
  8. package/dist/ai/ai-service.d.ts.map +1 -1
  9. package/dist/ai/ai-service.js +13 -1
  10. package/dist/ai/ai-service.js.map +1 -1
  11. package/dist/ai/index.d.ts +2 -1
  12. package/dist/ai/index.d.ts.map +1 -1
  13. package/dist/ai/index.js +3 -1
  14. package/dist/ai/index.js.map +1 -1
  15. package/dist/ai/model-pricing.d.ts +22 -0
  16. package/dist/ai/model-pricing.d.ts.map +1 -0
  17. package/dist/ai/model-pricing.js +128 -0
  18. package/dist/ai/model-pricing.js.map +1 -0
  19. package/dist/ai/provider.d.ts +4 -0
  20. package/dist/ai/provider.d.ts.map +1 -1
  21. package/dist/ai/provider.js +4 -0
  22. package/dist/ai/provider.js.map +1 -1
  23. package/dist/ai/validation.d.ts.map +1 -1
  24. package/dist/ai/validation.js +2 -0
  25. package/dist/ai/validation.js.map +1 -1
  26. package/dist/api/route-generator.d.ts +12 -0
  27. package/dist/api/route-generator.d.ts.map +1 -1
  28. package/dist/api/route-generator.js +14 -0
  29. package/dist/api/route-generator.js.map +1 -1
  30. package/dist/cli/commands/dev.d.ts.map +1 -1
  31. package/dist/cli/commands/dev.js +104 -1
  32. package/dist/cli/commands/dev.js.map +1 -1
  33. package/dist/cli/commands/start.d.ts.map +1 -1
  34. package/dist/cli/commands/start.js +104 -1
  35. package/dist/cli/commands/start.js.map +1 -1
  36. package/dist/execution/__tests__/authorization.test.js +11 -0
  37. package/dist/execution/__tests__/authorization.test.js.map +1 -1
  38. package/dist/execution/authorization.d.ts.map +1 -1
  39. package/dist/execution/authorization.js +4 -0
  40. package/dist/execution/authorization.js.map +1 -1
  41. package/dist/execution/capability-executor.d.ts.map +1 -1
  42. package/dist/execution/capability-executor.js +8 -2
  43. package/dist/execution/capability-executor.js.map +1 -1
  44. package/dist/flows/__tests__/step-executor.test.js +62 -10
  45. package/dist/flows/__tests__/step-executor.test.js.map +1 -1
  46. package/dist/flows/engine.d.ts +12 -1
  47. package/dist/flows/engine.d.ts.map +1 -1
  48. package/dist/flows/engine.js +32 -8
  49. package/dist/flows/engine.js.map +1 -1
  50. package/dist/flows/step-executor.d.ts +5 -2
  51. package/dist/flows/step-executor.d.ts.map +1 -1
  52. package/dist/flows/step-executor.js +38 -4
  53. package/dist/flows/step-executor.js.map +1 -1
  54. package/dist/index.d.ts +2 -2
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/server/__tests__/bootstrap.test.js +108 -0
  59. package/dist/server/__tests__/bootstrap.test.js.map +1 -1
  60. package/dist/server/bootstrap.d.ts +39 -1
  61. package/dist/server/bootstrap.d.ts.map +1 -1
  62. package/dist/server/bootstrap.js +55 -2
  63. package/dist/server/bootstrap.js.map +1 -1
  64. package/dist/testing/context.d.ts.map +1 -1
  65. package/dist/testing/context.js +3 -0
  66. package/dist/testing/context.js.map +1 -1
  67. package/dist/testing/simulate-flow.d.ts.map +1 -1
  68. package/dist/testing/simulate-flow.js +18 -4
  69. package/dist/testing/simulate-flow.js.map +1 -1
  70. package/dist/types/context.d.ts +8 -0
  71. package/dist/types/context.d.ts.map +1 -1
  72. package/dist/types/security.d.ts +2 -0
  73. package/dist/types/security.d.ts.map +1 -1
  74. package/dist/worker/__tests__/bootstrap.test.js +23 -0
  75. package/dist/worker/__tests__/bootstrap.test.js.map +1 -1
  76. package/dist/worker/bootstrap.d.ts +12 -1
  77. package/dist/worker/bootstrap.d.ts.map +1 -1
  78. package/dist/worker/bootstrap.js +47 -8
  79. package/dist/worker/bootstrap.js.map +1 -1
  80. package/instructions/ai.md +30 -4
  81. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-pricing.test.d.ts.map
@@ -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,102 @@
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('resolves date-suffixed model names', () => {
14
+ // claude-sonnet-4-20250514 → claude-sonnet-4
15
+ const cost = calculateModelCost(1000, 500, 'claude-sonnet-4-20250514');
16
+ const costWithoutDate = calculateModelCost(1000, 500, 'claude-sonnet-4');
17
+ expect(cost).toBe(costWithoutDate);
18
+ expect(cost).toBeGreaterThan(0);
19
+ });
20
+ describe('cached input tokens', () => {
21
+ it('charges cached tokens at 0.1× base input rate', () => {
22
+ // gpt-4o: input $2.5/MTok
23
+ // 1000 total input, 600 cached, 400 standard
24
+ // Standard: 400 × 2.5 = 1000
25
+ // Cached: 600 × 2.5 × 0.1 = 150
26
+ // Output: 500 × 10 = 5000
27
+ // Total = 6150 / 1M = 0.00615
28
+ const cost = calculateModelCost(1000, 500, 'gpt-4o', {
29
+ cachedInputTokens: 600,
30
+ });
31
+ expect(cost).toBe(0.00615);
32
+ });
33
+ it('is cheaper than all-standard input', () => {
34
+ const standardCost = calculateModelCost(10000, 1000, 'gpt-4o');
35
+ const cachedCost = calculateModelCost(10000, 1000, 'gpt-4o', {
36
+ cachedInputTokens: 8000,
37
+ });
38
+ expect(cachedCost).toBeLessThan(standardCost);
39
+ });
40
+ });
41
+ describe('cache write tokens (Anthropic)', () => {
42
+ it('charges cache writes at 1.25× base input rate', () => {
43
+ // claude-sonnet-4: input $3/MTok
44
+ // 1000 total input, 500 cache-writes, 500 standard
45
+ // Standard: 500 × 3 = 1500
46
+ // Cache write: 500 × 3 × 1.25 = 1875
47
+ // Output: 200 × 15 = 3000
48
+ // Total = 6375 / 1M = 0.006375
49
+ const cost = calculateModelCost(1000, 200, 'claude-sonnet-4', {
50
+ cacheWriteTokens: 500,
51
+ });
52
+ expect(cost).toBe(0.006375);
53
+ });
54
+ });
55
+ describe('long context premium', () => {
56
+ it('applies 2× input / 1.5× output for Sonnet 4 over 200K input', () => {
57
+ // claude-sonnet-4: base input $3/MTok, output $15/MTok
58
+ // 250K input tokens (over 200K threshold)
59
+ // Premium: input $6/MTok, output $22.5/MTok
60
+ // 250000 × 6 + 10000 × 22.5 = 1_500_000 + 225_000 = 1_725_000 / 1M = 1.725
61
+ const cost = calculateModelCost(250_000, 10_000, 'claude-sonnet-4');
62
+ expect(cost).toBe(1.725);
63
+ });
64
+ it('applies premium for Sonnet 4.5 with date suffix', () => {
65
+ const cost = calculateModelCost(250_000, 10_000, 'claude-sonnet-4-5-20250514');
66
+ const costNoDate = calculateModelCost(250_000, 10_000, 'claude-sonnet-4-5');
67
+ expect(cost).toBe(costNoDate);
68
+ expect(cost).toBeGreaterThan(0);
69
+ });
70
+ it('does NOT apply premium below 200K tokens', () => {
71
+ // 199K tokens — no premium
72
+ const costBelow = calculateModelCost(199_000, 10_000, 'claude-sonnet-4');
73
+ // base rates: 199000 × 3 + 10000 × 15 = 597000 + 150000 = 747000 / 1M = 0.747
74
+ expect(costBelow).toBe(0.747);
75
+ });
76
+ it('does NOT apply premium for non-Sonnet models', () => {
77
+ // claude-opus-4-6 with 250K input — no premium
78
+ // base rates: 250000 × 5 + 10000 × 25 = 1250000 + 250000 = 1500000 / 1M = 1.5
79
+ const cost = calculateModelCost(250_000, 10_000, 'claude-opus-4-6');
80
+ expect(cost).toBe(1.5);
81
+ });
82
+ it('does NOT apply premium for Sonnet 4.6 (it has flat pricing)', () => {
83
+ // claude-sonnet-4-6 with 250K input — no premium
84
+ // base rates: 250000 × 3 + 10000 × 15 = 750000 + 150000 = 900000 / 1M = 0.9
85
+ const cost = calculateModelCost(250_000, 10_000, 'claude-sonnet-4-6');
86
+ expect(cost).toBe(0.9);
87
+ });
88
+ it('includes cached tokens in the 200K threshold calculation', () => {
89
+ // 150K standard + 60K cached = 210K total → triggers premium
90
+ // Premium rates: input $6/MTok, output $22.5/MTok
91
+ // Standard: (150000-60000) × 6 = 90000 × 6 = 540000
92
+ // Cached: 60000 × 6 × 0.1 = 36000
93
+ // Output: 1000 × 22.5 = 22500
94
+ // Total = 598500 / 1M = 0.5985
95
+ const cost = calculateModelCost(150_000, 1000, 'claude-sonnet-4', {
96
+ cachedInputTokens: 60_000,
97
+ });
98
+ expect(cost).toBe(0.5985);
99
+ });
100
+ });
101
+ });
102
+ //# 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: { prompt_tokens: 10, completion_tokens: 5, total_tokens: 15 },
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: { input_tokens: 10, output_tokens: 8 },
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":"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"}
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;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,eAAe,CAAC;AACxE,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,CAgblE"}
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"}
@@ -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
- return { data: result, usage: totalUsage };
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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"}
@@ -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, 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 { createUsageAPIClient, UsageAPIError, type UsageAPIClient, type UsageClientConfig, type UsageData, type UsageEntry, } from './usage-client.js';
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
@@ -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,aAAa,EACb,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"}
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,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExE,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 } 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 { createUsageAPIClient, UsageAPIError, } from './usage-client.js';
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
@@ -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,oBAAoB,EACpB,aAAa,GAKd,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,sBAAsB,GAGvB,MAAM,iBAAiB,CAAC"}
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,EAAkB,MAAM,oBAAoB,CAAC;AACxE,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,22 @@
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
+ * Calculate the USD cost for a single AI request based on published per-token rates.
9
+ *
10
+ * Pricing adjustments applied:
11
+ * - **Cached input tokens**: charged at 0.1× the base input rate (both providers).
12
+ * - **Cache write tokens**: charged at 1.25× the base input rate (Anthropic 5-min cache).
13
+ * - **Long context premium**: for Claude Sonnet 4 / 4.5, when total input exceeds
14
+ * 200K tokens the entire request is charged at 2× input / 1.5× output.
15
+ *
16
+ * Returns 0 for unknown/unsupported models (Ollama, custom endpoints).
17
+ */
18
+ export declare function calculateModelCost(inputTokens: number, outputTokens: number, model: string, options?: {
19
+ cachedInputTokens?: number;
20
+ cacheWriteTokens?: number;
21
+ }): number;
22
+ //# 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;AAwFD;;;;;;;;;;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,128 @@
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-25
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-0613': { inputPerMTok: 30, outputPerMTok: 60 },
42
+ 'gpt-4': { inputPerMTok: 30, outputPerMTok: 60 },
43
+ 'gpt-4-32k': { inputPerMTok: 60, outputPerMTok: 120 },
44
+ 'gpt-3.5-turbo': { inputPerMTok: 0.5, outputPerMTok: 1.5 },
45
+ 'gpt-3.5-turbo-0125': { inputPerMTok: 0.5, outputPerMTok: 1.5 },
46
+ 'gpt-3.5-turbo-1106': { inputPerMTok: 1, outputPerMTok: 2 },
47
+ 'gpt-3.5-turbo-instruct': { inputPerMTok: 1.5, outputPerMTok: 2 },
48
+ // ── Anthropic: Claude ──
49
+ 'claude-opus-4-6': { inputPerMTok: 5, outputPerMTok: 25 },
50
+ 'claude-opus-4-5': { inputPerMTok: 5, outputPerMTok: 25 },
51
+ 'claude-opus-4-1': { inputPerMTok: 15, outputPerMTok: 75 },
52
+ 'claude-opus-4': { inputPerMTok: 15, outputPerMTok: 75 },
53
+ 'claude-sonnet-4-6': { inputPerMTok: 3, outputPerMTok: 15 },
54
+ 'claude-sonnet-4-5': { inputPerMTok: 3, outputPerMTok: 15 },
55
+ 'claude-sonnet-4': { inputPerMTok: 3, outputPerMTok: 15 },
56
+ 'claude-3-7-sonnet': { inputPerMTok: 3, outputPerMTok: 15 },
57
+ 'claude-3-5-sonnet': { inputPerMTok: 3, outputPerMTok: 15 },
58
+ 'claude-haiku-4-5': { inputPerMTok: 1, outputPerMTok: 5 },
59
+ 'claude-3-5-haiku': { inputPerMTok: 0.8, outputPerMTok: 4 },
60
+ 'claude-3-opus': { inputPerMTok: 15, outputPerMTok: 75 },
61
+ 'claude-3-haiku': { inputPerMTok: 0.25, outputPerMTok: 1.25 },
62
+ };
63
+ /**
64
+ * Finds the per-token rate for a model.
65
+ * Tries exact match first, then strips trailing date suffixes
66
+ * (e.g. "claude-sonnet-4-20250514" → "claude-sonnet-4").
67
+ * Returns null for unknown/unsupported models (Ollama, custom).
68
+ */
69
+ function findModelRate(model) {
70
+ const exact = MODEL_PRICING[model];
71
+ if (exact)
72
+ return exact;
73
+ // Strip trailing date suffix (e.g. "-20250514")
74
+ const withoutDate = model.replace(/-\d{8}$/, '');
75
+ if (withoutDate !== model) {
76
+ const stripped = MODEL_PRICING[withoutDate];
77
+ if (stripped)
78
+ return stripped;
79
+ }
80
+ return null;
81
+ }
82
+ /** Models subject to Anthropic's long context premium (>200K input tokens). */
83
+ const LONG_CONTEXT_PREMIUM_MODELS = new Set(['claude-sonnet-4', 'claude-sonnet-4-5']);
84
+ /** Check if a model (after date-stripping) qualifies for long context premium. */
85
+ function hasLongContextPremium(model) {
86
+ if (LONG_CONTEXT_PREMIUM_MODELS.has(model))
87
+ return true;
88
+ const withoutDate = model.replace(/-\d{8}$/, '');
89
+ return withoutDate !== model && LONG_CONTEXT_PREMIUM_MODELS.has(withoutDate);
90
+ }
91
+ /**
92
+ * Calculate the USD cost for a single AI request based on published per-token rates.
93
+ *
94
+ * Pricing adjustments applied:
95
+ * - **Cached input tokens**: charged at 0.1× the base input rate (both providers).
96
+ * - **Cache write tokens**: charged at 1.25× the base input rate (Anthropic 5-min cache).
97
+ * - **Long context premium**: for Claude Sonnet 4 / 4.5, when total input exceeds
98
+ * 200K tokens the entire request is charged at 2× input / 1.5× output.
99
+ *
100
+ * Returns 0 for unknown/unsupported models (Ollama, custom endpoints).
101
+ */
102
+ export function calculateModelCost(inputTokens, outputTokens, model, options) {
103
+ const rate = findModelRate(model);
104
+ if (!rate)
105
+ return 0;
106
+ const cached = options?.cachedInputTokens ?? 0;
107
+ const cacheWrites = options?.cacheWriteTokens ?? 0;
108
+ let inputRate = rate.inputPerMTok;
109
+ let outputRate = rate.outputPerMTok;
110
+ // Long context premium: Sonnet 4/4.5 with >200K total input tokens
111
+ const totalInput = inputTokens + cached + cacheWrites;
112
+ if (hasLongContextPremium(model) && totalInput > 200_000) {
113
+ inputRate *= 2;
114
+ outputRate *= 1.5;
115
+ }
116
+ // Standard (non-cached) input tokens
117
+ const standardInput = inputTokens - cached - cacheWrites;
118
+ const standardInputCost = Math.max(0, standardInput) * inputRate;
119
+ // Cached reads: 0.1× base input rate
120
+ const cachedCost = cached * inputRate * 0.1;
121
+ // Cache writes: 1.25× base input rate (Anthropic); OpenAI doesn't report these
122
+ const cacheWriteCost = cacheWrites * inputRate * 1.25;
123
+ // Output tokens at standard (or long-context-premium) rate
124
+ const outputCost = outputTokens * outputRate;
125
+ const cost = (standardInputCost + cachedCost + cacheWriteCost + outputCost) / 1_000_000;
126
+ return Number(cost.toFixed(6));
127
+ }
128
+ //# sourceMappingURL=model-pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,6DAA6D;AAC7D,gDAAgD;AAChD,yDAAyD;AACzD,mEAAmE;AACnE,2BAA2B;AAC3B,EAAE;AACF,4DAA4D;AAS5D,MAAM,aAAa,GAAwC;IACzD,yBAAyB;IACzB,SAAS,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE;IACnD,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;IAC1D,cAAc,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1D,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE;IACvD,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE;IACpD,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE;IACvD,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE;IACpD,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE;IAClD,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE;IACtD,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;IACxD,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE;IACrD,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAChD,cAAc,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACzD,cAAc,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACzD,QAAQ,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE;IAClD,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IAC3D,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;IACzD,0BAA0B;IAC1B,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IAC3C,QAAQ,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACnD,SAAS,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACpD,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACzC,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IACjD,SAAS,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACpD,SAAS,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACpD,uBAAuB;IACvB,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IACtD,wBAAwB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IACjE,oBAAoB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IAC7D,oBAAoB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IAC7D,YAAY,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IACrD,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IAChD,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE;IACrD,eAAe,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IAC1D,oBAAoB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IAC/D,oBAAoB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IAC3D,wBAAwB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE;IAEjE,0BAA0B;IAC1B,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IACzD,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IACzD,iBAAiB,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IAC1D,eAAe,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IACxD,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IAC3D,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IAC3D,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IACzD,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IAC3D,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;IAC3D,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;IACzD,kBAAkB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE;IAC3D,eAAe,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;IACxD,gBAAgB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;CAC9D,CAAC;AAEF;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,gDAAgD;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAEtF,kFAAkF;AAClF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,IAAI,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,WAAW,KAAK,KAAK,IAAI,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,YAAoB,EACpB,KAAa,EACb,OAGC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAEpB,MAAM,MAAM,GAAG,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,EAAE,gBAAgB,IAAI,CAAC,CAAC;IAEnD,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;IAClC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;IAEpC,mEAAmE;IACnE,MAAM,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;IACtD,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,UAAU,GAAG,OAAO,EAAE,CAAC;QACzD,SAAS,IAAI,CAAC,CAAC;QACf,UAAU,IAAI,GAAG,CAAC;IACpB,CAAC;IAED,qCAAqC;IACrC,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;IACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IAEjE,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;IAE5C,+EAA+E;IAC/E,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IAEtD,2DAA2D;IAC3D,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;IAE7C,MAAM,IAAI,GAAG,CAAC,iBAAiB,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC;IACxF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -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;CACrB;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9D,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAErE,oCAAoC;IACpC,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC9D;AAGD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,CAqIlF;AAGD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,CA+FxF;AAiJD,qEAAqE;AACrE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,gBAAgB,GAC/B,iBAAiB,CAiBnB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
@@ -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
  }