@plumbus/core 0.6.18 → 0.7.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +5 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.d.ts +5 -0
  5. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.d.ts.map +1 -0
  6. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.js +15 -0
  7. package/dist/ai/__typecheck-fixtures__/legacy-cost-api.js.map +1 -0
  8. package/dist/ai/ai/cost-tracker.d.ts +4 -3
  9. package/dist/ai/ai/model-pricing.d.ts +14 -5
  10. package/dist/ai/ai/usage-client.d.ts +2 -0
  11. package/dist/ai/ai/usage-validation.d.ts +3 -0
  12. package/dist/ai/ai-service.d.ts.map +1 -1
  13. package/dist/ai/ai-service.js +101 -33
  14. package/dist/ai/ai-service.js.map +1 -1
  15. package/dist/ai/cost-tracker.d.ts +4 -3
  16. package/dist/ai/cost-tracker.d.ts.map +1 -1
  17. package/dist/ai/cost-tracker.js +33 -14
  18. package/dist/ai/cost-tracker.js.map +1 -1
  19. package/dist/ai/errors/data-errors.d.ts +22 -0
  20. package/dist/ai/errors/index.d.ts +21 -0
  21. package/dist/ai/errors/plumbus-error.d.ts +12 -0
  22. package/dist/ai/index.d.ts +1 -1
  23. package/dist/ai/index.d.ts.map +1 -1
  24. package/dist/ai/index.js +1 -1
  25. package/dist/ai/index.js.map +1 -1
  26. package/dist/ai/model-pricing.d.ts +14 -5
  27. package/dist/ai/model-pricing.d.ts.map +1 -1
  28. package/dist/ai/model-pricing.js +88 -45
  29. package/dist/ai/model-pricing.js.map +1 -1
  30. package/dist/ai/provider.d.ts.map +1 -1
  31. package/dist/ai/provider.js +234 -9
  32. package/dist/ai/provider.js.map +1 -1
  33. package/dist/ai/rag/pipeline.d.ts +2 -0
  34. package/dist/ai/rag/pipeline.d.ts.map +1 -1
  35. package/dist/ai/rag/pipeline.js +6 -1
  36. package/dist/ai/rag/pipeline.js.map +1 -1
  37. package/dist/ai/security.d.ts.map +1 -1
  38. package/dist/ai/security.js +1 -0
  39. package/dist/ai/security.js.map +1 -1
  40. package/dist/ai/tool-loop.d.ts +1 -0
  41. package/dist/ai/tool-loop.d.ts.map +1 -1
  42. package/dist/ai/tool-loop.js +23 -4
  43. package/dist/ai/tool-loop.js.map +1 -1
  44. package/dist/ai/types/errors.d.ts +14 -0
  45. package/dist/ai/usage-client.d.ts +2 -0
  46. package/dist/ai/usage-client.d.ts.map +1 -1
  47. package/dist/ai/usage-client.js +2 -0
  48. package/dist/ai/usage-client.js.map +1 -1
  49. package/dist/ai/usage-validation.d.ts +4 -0
  50. package/dist/ai/usage-validation.d.ts.map +1 -0
  51. package/dist/ai/usage-validation.js +23 -0
  52. package/dist/ai/usage-validation.js.map +1 -0
  53. package/dist/ai/validation.d.ts +1 -5
  54. package/dist/ai/validation.d.ts.map +1 -1
  55. package/dist/api/cookies.d.ts.map +1 -1
  56. package/dist/api/cookies.js +7 -2
  57. package/dist/api/cookies.js.map +1 -1
  58. package/dist/audit/service.d.ts.map +1 -1
  59. package/dist/audit/service.js +21 -3
  60. package/dist/audit/service.js.map +1 -1
  61. package/dist/audit/writer.d.ts.map +1 -1
  62. package/dist/audit/writer.js +7 -2
  63. package/dist/audit/writer.js.map +1 -1
  64. package/dist/auth/adapter.d.ts +5 -1
  65. package/dist/auth/adapter.d.ts.map +1 -1
  66. package/dist/auth/adapter.js +36 -6
  67. package/dist/auth/adapter.js.map +1 -1
  68. package/dist/auth/index.d.ts +1 -0
  69. package/dist/auth/index.d.ts.map +1 -1
  70. package/dist/auth/index.js +1 -0
  71. package/dist/auth/index.js.map +1 -1
  72. package/dist/auth/jwt-policy.d.ts +3 -0
  73. package/dist/auth/jwt-policy.d.ts.map +1 -0
  74. package/dist/auth/jwt-policy.js +11 -0
  75. package/dist/auth/jwt-policy.js.map +1 -0
  76. package/dist/auth/oidc-adapter.d.ts.map +1 -1
  77. package/dist/auth/oidc-adapter.js +30 -13
  78. package/dist/auth/oidc-adapter.js.map +1 -1
  79. package/dist/auth/saml-adapter.d.ts +7 -1
  80. package/dist/auth/saml-adapter.d.ts.map +1 -1
  81. package/dist/auth/saml-adapter.js +42 -5
  82. package/dist/auth/saml-adapter.js.map +1 -1
  83. package/dist/cli/commands/create.d.ts.map +1 -1
  84. package/dist/cli/commands/create.js +21 -0
  85. package/dist/cli/commands/create.js.map +1 -1
  86. package/dist/cli/commands/generate.d.ts.map +1 -1
  87. package/dist/cli/commands/generate.js +4 -3
  88. package/dist/cli/commands/generate.js.map +1 -1
  89. package/dist/cli/commands/init.d.ts +1 -1
  90. package/dist/cli/commands/init.d.ts.map +1 -1
  91. package/dist/cli/commands/init.js +7 -1
  92. package/dist/cli/commands/init.js.map +1 -1
  93. package/dist/cli/commands/mcp.d.ts.map +1 -1
  94. package/dist/cli/commands/mcp.js +4 -3
  95. package/dist/cli/commands/mcp.js.map +1 -1
  96. package/dist/cli/commands/translation.d.ts.map +1 -1
  97. package/dist/cli/commands/translation.js +8 -4
  98. package/dist/cli/commands/translation.js.map +1 -1
  99. package/dist/cli/mcp-serve-context.d.ts.map +1 -1
  100. package/dist/cli/mcp-serve-context.js +25 -6
  101. package/dist/cli/mcp-serve-context.js.map +1 -1
  102. package/dist/cli/scaffold-validation.d.ts +6 -0
  103. package/dist/cli/scaffold-validation.d.ts.map +1 -0
  104. package/dist/cli/scaffold-validation.js +57 -0
  105. package/dist/cli/scaffold-validation.js.map +1 -0
  106. package/dist/cli/scaffold-write.d.ts.map +1 -1
  107. package/dist/cli/scaffold-write.js +13 -3
  108. package/dist/cli/scaffold-write.js.map +1 -1
  109. package/dist/cli/templates/resources.d.ts.map +1 -1
  110. package/dist/cli/templates/resources.js +10 -0
  111. package/dist/cli/templates/resources.js.map +1 -1
  112. package/dist/cli/utils.d.ts +1 -1
  113. package/dist/cli/utils.d.ts.map +1 -1
  114. package/dist/cli/utils.js +13 -2
  115. package/dist/cli/utils.js.map +1 -1
  116. package/dist/config/loader.d.ts.map +1 -1
  117. package/dist/config/loader.js +7 -4
  118. package/dist/config/loader.js.map +1 -1
  119. package/dist/errors/http.d.ts.map +1 -1
  120. package/dist/errors/http.js +8 -3
  121. package/dist/errors/http.js.map +1 -1
  122. package/dist/events/queue.d.ts.map +1 -1
  123. package/dist/events/queue.js +27 -4
  124. package/dist/events/queue.js.map +1 -1
  125. package/dist/execution/capability-executor.js +2 -1
  126. package/dist/execution/capability-executor.js.map +1 -1
  127. package/dist/execution/context-factory.d.ts.map +1 -1
  128. package/dist/execution/context-factory.js +6 -2
  129. package/dist/execution/context-factory.js.map +1 -1
  130. package/dist/flows/engine.d.ts.map +1 -1
  131. package/dist/flows/engine.js +28 -18
  132. package/dist/flows/engine.js.map +1 -1
  133. package/dist/index.d.ts +1 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +1 -1
  136. package/dist/index.js.map +1 -1
  137. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  138. package/dist/runtime/start-worker-pool.js +21 -9
  139. package/dist/runtime/start-worker-pool.js.map +1 -1
  140. package/dist/server/bootstrap.d.ts.map +1 -1
  141. package/dist/server/bootstrap.js +13 -9
  142. package/dist/server/bootstrap.js.map +1 -1
  143. package/dist/testing/e2e.js +1 -1
  144. package/dist/testing/e2e.js.map +1 -1
  145. package/dist/types/audit.d.ts +2 -0
  146. package/dist/types/audit.d.ts.map +1 -1
  147. package/dist/types/context.d.ts +11 -1
  148. package/dist/types/context.d.ts.map +1 -1
  149. package/instructions/README.md +1 -0
  150. package/instructions/ai.md +11 -3
  151. package/instructions/deployment.md +5 -2
  152. package/instructions/flows.md +3 -0
  153. package/instructions/framework.md +7 -0
  154. package/instructions/mcp.md +5 -2
  155. package/instructions/peer-dependencies.md +28 -64
  156. package/instructions/security.md +8 -1
  157. package/instructions/upgrading-0.5-capabilities.md +4 -1
  158. package/instructions/upgrading-security-release.md +65 -0
  159. package/package.json +11 -10
@@ -1,22 +1,14 @@
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-08-06
7
- //
8
- // Unknown models (Ollama, custom endpoints) return cost $0.
9
- //
10
- // Only standard-tier rates are tracked (not batch, flex, or fast mode), and for
11
- // models with split short/long context pricing the short-context (base) rate is
12
- // the one recorded. `claude-sonnet-5` carries introductory pricing through
13
- // 2026-08-31; it rises to $3/$15 per MTok on 2026-09-01.
14
- //
15
- // `kind` is derived from the pricing page's section structure, not from name
16
- // patterns — see `.agents/skills/update-model-pricing/scripts/fetch-pricing.ts`.
1
+ import { validateTokenUsage } from './usage-validation.js';
17
2
  const MODEL_PRICING = {
18
3
  // ── OpenAI: Flagship ──
19
- 'gpt-5.6-sol': { kind: 'text', inputPerMTok: 5, outputPerMTok: 30 },
4
+ 'gpt-6-astra': { kind: 'text', inputPerMTok: 10, outputPerMTok: 50 },
5
+ 'gpt-5.6-sol': {
6
+ kind: 'text',
7
+ inputPerMTok: 5,
8
+ outputPerMTok: 30,
9
+ cachedInputPerMTok: 0.5,
10
+ longContextThreshold: 272_000,
11
+ },
20
12
  'gpt-5.6-terra': { kind: 'text', inputPerMTok: 2, outputPerMTok: 12 },
21
13
  'gpt-5.6-luna': { kind: 'text', inputPerMTok: 0.2, outputPerMTok: 1.2 },
22
14
  'gpt-5.5': { kind: 'text', inputPerMTok: 5, outputPerMTok: 30 },
@@ -32,20 +24,30 @@ const MODEL_PRICING = {
32
24
  'gpt-5-mini': { kind: 'text', inputPerMTok: 0.25, outputPerMTok: 2 },
33
25
  'gpt-5-nano': { kind: 'text', inputPerMTok: 0.05, outputPerMTok: 0.4 },
34
26
  'gpt-5-pro': { kind: 'text', inputPerMTok: 15, outputPerMTok: 120 },
35
- 'gpt-4.1': { kind: 'text', inputPerMTok: 2, outputPerMTok: 8 },
36
- 'gpt-4.1-mini': { kind: 'text', inputPerMTok: 0.4, outputPerMTok: 1.6 },
37
- 'gpt-4.1-nano': { kind: 'text', inputPerMTok: 0.1, outputPerMTok: 0.4 },
38
- 'gpt-4o': { kind: 'text', inputPerMTok: 2.5, outputPerMTok: 10 },
27
+ 'gpt-4.1': { kind: 'text', inputPerMTok: 2, outputPerMTok: 8, cachedInputPerMTok: 0.5 },
28
+ 'gpt-4.1-mini': { kind: 'text', inputPerMTok: 0.4, outputPerMTok: 1.6, cachedInputPerMTok: 0.1 },
29
+ 'gpt-4.1-nano': {
30
+ kind: 'text',
31
+ inputPerMTok: 0.1,
32
+ outputPerMTok: 0.4,
33
+ cachedInputPerMTok: 0.025,
34
+ },
35
+ 'gpt-4o': { kind: 'text', inputPerMTok: 2.5, outputPerMTok: 10, cachedInputPerMTok: 1.25 },
39
36
  'gpt-4o-2024-05-13': { kind: 'text', inputPerMTok: 5, outputPerMTok: 15 },
40
- 'gpt-4o-mini': { kind: 'text', inputPerMTok: 0.15, outputPerMTok: 0.6 },
37
+ 'gpt-4o-mini': {
38
+ kind: 'text',
39
+ inputPerMTok: 0.15,
40
+ outputPerMTok: 0.6,
41
+ cachedInputPerMTok: 0.075,
42
+ },
41
43
  // ── OpenAI: Reasoning ──
42
- o1: { kind: 'text', inputPerMTok: 15, outputPerMTok: 60 },
44
+ o1: { kind: 'text', inputPerMTok: 15, outputPerMTok: 60, cachedInputPerMTok: 7.5 },
43
45
  'o1-pro': { kind: 'text', inputPerMTok: 150, outputPerMTok: 600 },
44
46
  'o1-mini': { kind: 'text', inputPerMTok: 1.1, outputPerMTok: 4.4 },
45
- o3: { kind: 'text', inputPerMTok: 2, outputPerMTok: 8 },
47
+ o3: { kind: 'text', inputPerMTok: 2, outputPerMTok: 8, cachedInputPerMTok: 0.5 },
46
48
  'o3-pro': { kind: 'text', inputPerMTok: 20, outputPerMTok: 80 },
47
- 'o3-mini': { kind: 'text', inputPerMTok: 1.1, outputPerMTok: 4.4 },
48
- 'o4-mini': { kind: 'text', inputPerMTok: 1.1, outputPerMTok: 4.4 },
49
+ 'o3-mini': { kind: 'text', inputPerMTok: 1.1, outputPerMTok: 4.4, cachedInputPerMTok: 0.55 },
50
+ 'o4-mini': { kind: 'text', inputPerMTok: 1.1, outputPerMTok: 4.4, cachedInputPerMTok: 0.275 },
49
51
  // ── OpenAI: Specialized / Deep research / Computer use ──
50
52
  'o3-deep-research': { kind: 'text', inputPerMTok: 10, outputPerMTok: 40 },
51
53
  'o4-mini-deep-research': { kind: 'text', inputPerMTok: 2, outputPerMTok: 8 },
@@ -55,6 +57,7 @@ const MODEL_PRICING = {
55
57
  'gpt-5.3-chat-latest': { kind: 'text', inputPerMTok: 1.75, outputPerMTok: 14 },
56
58
  'gpt-5.2-chat-latest': { kind: 'text', inputPerMTok: 1.75, outputPerMTok: 14 },
57
59
  'gpt-5.3-codex': { kind: 'text', inputPerMTok: 1.75, outputPerMTok: 14 },
60
+ 'gpt-5.6-cyber': { kind: 'text', inputPerMTok: 12.5, outputPerMTok: 75 },
58
61
  'gpt-5.5-cyber': { kind: 'text', inputPerMTok: 12.5, outputPerMTok: 75 },
59
62
  'gpt-5-search-api': { kind: 'text', inputPerMTok: 1.25, outputPerMTok: 10 },
60
63
  // ── OpenAI: Embeddings ──
@@ -84,7 +87,19 @@ const MODEL_PRICING = {
84
87
  'davinci-002': { kind: 'text', inputPerMTok: 2, outputPerMTok: 2 },
85
88
  'babbage-002': { kind: 'text', inputPerMTok: 0.4, outputPerMTok: 0.4 },
86
89
  // ── Anthropic: Claude (all text — no embedding API) ──
90
+ 'claude-fable-5-1': {
91
+ kind: 'text',
92
+ inputPerMTok: 10,
93
+ outputPerMTok: 50,
94
+ cachedInputPerMTok: 0.25,
95
+ },
87
96
  'claude-fable-5': { kind: 'text', inputPerMTok: 10, outputPerMTok: 50 },
97
+ 'claude-mythos-5-1': {
98
+ kind: 'text',
99
+ inputPerMTok: 10,
100
+ outputPerMTok: 50,
101
+ cachedInputPerMTok: 0.25,
102
+ },
88
103
  'claude-mythos-5': { kind: 'text', inputPerMTok: 10, outputPerMTok: 50 },
89
104
  'claude-opus-5': { kind: 'text', inputPerMTok: 5, outputPerMTok: 25 },
90
105
  'claude-opus-4-8': { kind: 'text', inputPerMTok: 5, outputPerMTok: 25 },
@@ -104,6 +119,16 @@ const MODEL_PRICING = {
104
119
  'claude-3-opus': { kind: 'text', inputPerMTok: 15, outputPerMTok: 75 },
105
120
  'claude-3-haiku': { kind: 'text', inputPerMTok: 0.25, outputPerMTok: 1.25 },
106
121
  };
122
+ // OpenAI guarantees the special price at least through November 21, 2026.
123
+ // November 22 UTC is our static fallback policy, not a confirmed vendor expiry.
124
+ // Source: https://developers.openai.com/api/docs/models/gpt-5.6-sol
125
+ const SOL_SPECIAL_PRICE_END = Date.parse('2026-11-22T00:00:00.000Z');
126
+ function effectiveRate(id, rate, now) {
127
+ if (id === 'gpt-5.6-sol' && now < SOL_SPECIAL_PRICE_END) {
128
+ return { ...rate, inputPerMTok: 4, cachedInputPerMTok: 0.4, outputPerMTok: 20 };
129
+ }
130
+ return rate;
131
+ }
107
132
  /**
108
133
  * Finds the per-token rate for a model.
109
134
  * Tries exact match first, then strips trailing date suffixes
@@ -111,15 +136,19 @@ const MODEL_PRICING = {
111
136
  * Returns null for unknown/unsupported models (Ollama, custom).
112
137
  */
113
138
  export function findModelRate(model) {
114
- const exact = MODEL_PRICING[model];
115
- if (exact)
116
- return exact;
139
+ const canonical = model === 'gpt-5.6' ? 'gpt-5.6-sol' : model;
140
+ if (Object.hasOwn(MODEL_PRICING, canonical)) {
141
+ const rate = MODEL_PRICING[canonical];
142
+ return rate ? effectiveRate(canonical, rate, Date.now()) : null;
143
+ }
117
144
  // Strip trailing date suffix (e.g. "-20250514")
118
145
  const withoutDate = model.replace(/-\d{8}$/, '');
119
146
  if (withoutDate !== model) {
120
- const stripped = MODEL_PRICING[withoutDate];
121
- if (stripped)
122
- return stripped;
147
+ const canonicalWithoutDate = withoutDate === 'gpt-5.6' ? 'gpt-5.6-sol' : withoutDate;
148
+ if (Object.hasOwn(MODEL_PRICING, canonicalWithoutDate)) {
149
+ const rate = MODEL_PRICING[canonicalWithoutDate];
150
+ return rate ? effectiveRate(canonicalWithoutDate, rate, Date.now()) : null;
151
+ }
123
152
  }
124
153
  return null;
125
154
  }
@@ -129,7 +158,8 @@ export function findModelRate(model) {
129
158
  * catalog. Order is not guaranteed.
130
159
  */
131
160
  export function allKnownModels() {
132
- return Object.entries(MODEL_PRICING);
161
+ const now = Date.now();
162
+ return Object.entries(MODEL_PRICING).map(([id, rate]) => [id, effectiveRate(id, rate, now)]);
133
163
  }
134
164
  /** Models subject to Anthropic's long context premium (>200K input tokens). */
135
165
  const LONG_CONTEXT_PREMIUM_MODELS = new Set(['claude-sonnet-4', 'claude-sonnet-4-5']);
@@ -140,41 +170,54 @@ function hasLongContextPremium(model) {
140
170
  const withoutDate = model.replace(/-\d{8}$/, '');
141
171
  return withoutDate !== model && LONG_CONTEXT_PREMIUM_MODELS.has(withoutDate);
142
172
  }
173
+ /** Legacy numeric cost helper. Use estimateModelCost when unknown must differ from free. */
174
+ export function calculateModelCost(inputTokens, outputTokens, model, options) {
175
+ return estimateModelCost(inputTokens, outputTokens, model, options) ?? 0;
176
+ }
143
177
  /**
144
178
  * Calculate the USD cost for a single AI request based on published per-token rates.
145
179
  *
146
180
  * Pricing adjustments applied:
147
- * - **Cached input tokens**: charged at 0.1× the base input rate (both providers).
181
+ * - **Cached input tokens**: published per-model rate, defaulting to 0.1× input.
148
182
  * - **Cache write tokens**: charged at 1.25× the base input rate (Anthropic 5-min cache).
149
183
  * - **Long context premium**: for Claude Sonnet 4 / 4.5, when total input exceeds
150
- * 200K tokens the entire request is charged at 2× input / 1.5× output.
184
+ * 200K tokens, or GPT-5.6 Sol over 272K, charge 2× input/cache and 1.5× output.
151
185
  *
152
- * Returns 0 for unknown/unsupported models (Ollama, custom endpoints).
186
+ * Returns undefined for unknown/unsupported models; explicitly free adapters may report zero.
153
187
  */
154
- export function calculateModelCost(inputTokens, outputTokens, model, options) {
188
+ export function estimateModelCost(inputTokens, outputTokens, model, options) {
189
+ validateTokenUsage({
190
+ inputTokens,
191
+ outputTokens,
192
+ totalTokens: inputTokens + outputTokens,
193
+ ...options,
194
+ });
155
195
  const rate = findModelRate(model);
156
196
  if (!rate)
157
- return 0;
197
+ return undefined;
158
198
  const cached = options?.cachedInputTokens ?? 0;
159
199
  const cacheWrites = options?.cacheWriteTokens ?? 0;
160
200
  let inputRate = rate.inputPerMTok;
161
201
  let outputRate = rate.outputPerMTok;
162
- // Long context premium: Sonnet 4/4.5 with >200K total input tokens
163
- const totalInput = inputTokens + cached + cacheWrites;
164
- if (hasLongContextPremium(model) && totalInput > 200_000) {
202
+ let cachedInputRate = rate.cachedInputPerMTok ?? rate.inputPerMTok * 0.1;
203
+ // Model-specific long context premium; input includes cache reads and writes.
204
+ const totalInput = inputTokens; // Normalized input already includes cache reads and writes.
205
+ const longContextThreshold = rate.longContextThreshold ?? (hasLongContextPremium(model) ? 200_000 : undefined);
206
+ if (longContextThreshold != null && totalInput > longContextThreshold) {
165
207
  inputRate *= 2;
208
+ cachedInputRate *= 2;
166
209
  outputRate *= 1.5;
167
210
  }
168
211
  // Standard (non-cached) input tokens
169
212
  const standardInput = inputTokens - cached - cacheWrites;
170
213
  const standardInputCost = Math.max(0, standardInput) * inputRate;
171
- // Cached reads: 0.1× base input rate
172
- const cachedCost = cached * inputRate * 0.1;
173
- // Cache writes: 1.25× base input rate (Anthropic); OpenAI doesn't report these
214
+ // Use the published cache-read rate where it differs from the default.
215
+ const cachedCost = cached * cachedInputRate;
216
+ // Cache writes: 1.25× base input rate (five-minute cache pricing).
174
217
  const cacheWriteCost = cacheWrites * inputRate * 1.25;
175
218
  // Output tokens at standard (or long-context-premium) rate
176
219
  const outputCost = outputTokens * outputRate;
177
220
  const cost = (standardInputCost + cachedCost + cacheWriteCost + outputCost) / 1_000_000;
178
- return Number(cost.toFixed(6));
221
+ return Number(cost.toPrecision(15));
179
222
  }
180
223
  //# sourceMappingURL=model-pricing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // ── AI Provider Adapter Interface ──
2
2
  // Abstract interface for AI provider adapters (OpenAI, Anthropic, etc.)
3
3
  import { createRequire } from 'node:module';
4
- import { allKnownModels, calculateModelCost } from './model-pricing.js';
4
+ import { allKnownModels, estimateModelCost as calculateModelCost, } from './model-pricing.js';
5
5
  import { AIIncompleteOutputError, AIInvalidRequestError, AIRefusalError } from './refusal.js';
6
6
  /** Compose a request's optional user signal with a timeout, returning a single AbortSignal. */
7
7
  export function combineRequestSignals(userSignal, timeoutMs) {
@@ -272,9 +272,14 @@ function applyAnthropicReasoning(body, request) {
272
272
  }
273
273
  function anthropicUsageToTokenUsage(usage) {
274
274
  return {
275
- inputTokens: usage.input_tokens,
275
+ inputTokens: usage.input_tokens +
276
+ (usage.cache_read_input_tokens ?? 0) +
277
+ (usage.cache_creation_input_tokens ?? 0),
276
278
  outputTokens: usage.output_tokens,
277
- totalTokens: usage.input_tokens + usage.output_tokens,
279
+ totalTokens: usage.input_tokens +
280
+ (usage.cache_read_input_tokens ?? 0) +
281
+ (usage.cache_creation_input_tokens ?? 0) +
282
+ usage.output_tokens,
278
283
  cachedInputTokens: usage.cache_read_input_tokens ?? 0,
279
284
  cacheWriteTokens: usage.cache_creation_input_tokens ?? 0,
280
285
  };
@@ -438,6 +443,209 @@ function parseOpenAIToolCalls(toolCalls) {
438
443
  }
439
444
  return result;
440
445
  }
446
+ const OPENAI_RESPONSES_PROVIDER_STATE = 'openai-responses';
447
+ function hasOpenAIResponsesContinuation(request) {
448
+ return (request.messages?.some((message) => message.role === 'assistant' &&
449
+ message.providerState?.provider === OPENAI_RESPONSES_PROVIDER_STATE) === true);
450
+ }
451
+ function isGpt56Family(model) {
452
+ return /^gpt-5\.6(?:$|[-.])/.test(model.trim().toLowerCase());
453
+ }
454
+ /**
455
+ * Chat Completions cannot combine function tools with active reasoning on
456
+ * GPT-5.6. Keep every compatible request on the existing transport, but use
457
+ * Responses for explicit reasoning effort, GPT-5.6's default reasoning, and
458
+ * continuation rounds that already carry Responses output state.
459
+ */
460
+ function shouldUseOpenAIResponses(request, model) {
461
+ if (hasOpenAIResponsesContinuation(request))
462
+ return true;
463
+ if (!request.tools || request.tools.length === 0)
464
+ return false;
465
+ const reasoning = normalizeProviderRequestReasoning(request);
466
+ if (reasoning?.mode === 'disabled')
467
+ return false;
468
+ if (reasoning?.mode === 'effort' || request.reasoningEffort !== undefined)
469
+ return true;
470
+ return reasoning === undefined && isGpt56Family(model);
471
+ }
472
+ function toOpenAIResponsesInput(request) {
473
+ if (!request.messages || request.messages.length === 0) {
474
+ return [{ role: 'user', content: request.prompt }];
475
+ }
476
+ const input = [];
477
+ for (const message of request.messages) {
478
+ if (message.role === 'user') {
479
+ input.push({ role: 'user', content: message.content });
480
+ continue;
481
+ }
482
+ if (message.role === 'tool') {
483
+ input.push({
484
+ type: 'function_call_output',
485
+ call_id: message.toolCallId,
486
+ output: message.content,
487
+ });
488
+ continue;
489
+ }
490
+ if (message.providerState?.provider === OPENAI_RESPONSES_PROVIDER_STATE &&
491
+ Array.isArray(message.providerState.content)) {
492
+ input.push(...message.providerState.content);
493
+ continue;
494
+ }
495
+ if (message.content.length > 0) {
496
+ input.push({ role: 'assistant', content: message.content });
497
+ }
498
+ for (const toolCall of message.toolCalls ?? []) {
499
+ input.push({
500
+ type: 'function_call',
501
+ call_id: toolCall.id,
502
+ name: toolCall.name,
503
+ arguments: toolCall.argumentsStatus === 'parsed'
504
+ ? JSON.stringify(toolCall.arguments ?? {})
505
+ : toolCall.rawArguments,
506
+ });
507
+ }
508
+ }
509
+ return input;
510
+ }
511
+ function buildOpenAIResponsesToolChoice(toolChoice) {
512
+ if (toolChoice === undefined)
513
+ return undefined;
514
+ if (toolChoice === 'auto' || toolChoice === 'none')
515
+ return toolChoice;
516
+ return { type: 'function', name: toolChoice.function.name };
517
+ }
518
+ function applyOpenAIResponsesReasoning(body, request) {
519
+ const reasoning = normalizeProviderRequestReasoning(request);
520
+ if (!reasoning) {
521
+ if (request.reasoningEffort)
522
+ body.reasoning = { effort: request.reasoningEffort };
523
+ return;
524
+ }
525
+ if (reasoning.mode === 'budget')
526
+ unsupportedReasoning('openai', reasoning);
527
+ body.reasoning = { effort: reasoning.mode === 'disabled' ? 'none' : reasoning.effort };
528
+ }
529
+ function openAIResponsesUsageToTokenUsage(usage) {
530
+ const inputTokens = usage?.input_tokens ?? 0;
531
+ const outputTokens = usage?.output_tokens ?? 0;
532
+ return {
533
+ inputTokens,
534
+ outputTokens,
535
+ totalTokens: usage?.total_tokens ?? inputTokens + outputTokens,
536
+ cachedInputTokens: usage?.input_tokens_details?.cached_tokens ?? 0,
537
+ };
538
+ }
539
+ function extractOpenAIResponsesContent(output) {
540
+ const text = [];
541
+ let refusalText;
542
+ for (const item of output) {
543
+ if (item.type !== 'message')
544
+ continue;
545
+ for (const block of item.content ?? []) {
546
+ if (block.type === 'output_text' && typeof block.text === 'string') {
547
+ text.push(block.text);
548
+ }
549
+ else if (block.type === 'refusal' && typeof block.refusal === 'string') {
550
+ refusalText = block.refusal;
551
+ }
552
+ }
553
+ }
554
+ return { content: text.join(''), ...(refusalText ? { refusalText } : {}) };
555
+ }
556
+ function parseOpenAIResponsesToolCalls(output) {
557
+ return parseOpenAIToolCalls(output
558
+ .filter((item) => item.type === 'function_call')
559
+ .map((item) => ({
560
+ id: item.call_id ?? item.id,
561
+ type: 'function',
562
+ function: { name: item.name, arguments: item.arguments },
563
+ })));
564
+ }
565
+ async function completeOpenAIResponses(args) {
566
+ const { request, model } = args;
567
+ if (request.tools && request.tools.length > 0) {
568
+ assertNoStructuredOutputToolConflict(request);
569
+ validateCallerTools(request.tools);
570
+ }
571
+ const body = {
572
+ model,
573
+ input: toOpenAIResponsesInput(request),
574
+ store: false,
575
+ include: ['reasoning.encrypted_content'],
576
+ };
577
+ if (request.system)
578
+ body.instructions = request.system;
579
+ applyOpenAITemperature(body, model, request.temperature);
580
+ applyOpenAIResponsesReasoning(body, request);
581
+ if (request.maxTokens)
582
+ body.max_output_tokens = request.maxTokens;
583
+ if (request.tools && request.tools.length > 0) {
584
+ body.tools = request.tools.map((tool) => ({
585
+ type: 'function',
586
+ name: tool.name,
587
+ description: tool.description,
588
+ parameters: tool.parameters,
589
+ }));
590
+ const toolChoice = buildOpenAIResponsesToolChoice(request.toolChoice);
591
+ if (toolChoice !== undefined)
592
+ body.tool_choice = toolChoice;
593
+ if (request.toolExecution?.parallelToolCalls === false)
594
+ body.parallel_tool_calls = false;
595
+ }
596
+ const response = await executeRequestWithRetry({
597
+ providerName: 'openai',
598
+ errorLabel: 'OpenAI Responses API',
599
+ send: () => fetch(`${args.baseUrl}/responses`, {
600
+ method: 'POST',
601
+ headers: {
602
+ 'Content-Type': 'application/json',
603
+ Authorization: `Bearer ${args.apiKey}`,
604
+ },
605
+ body: JSON.stringify(body),
606
+ signal: combineRequestSignals(request.signal, request.timeout ?? args.defaultTimeout),
607
+ }),
608
+ });
609
+ const data = (await response.json());
610
+ const usage = openAIResponsesUsageToTokenUsage(data.usage);
611
+ const output = data.output ?? [];
612
+ const extracted = extractOpenAIResponsesContent(output);
613
+ const content = extracted.content || data.output_text || '';
614
+ const responseModel = data.model ?? model;
615
+ if (data.status === 'failed' || data.error) {
616
+ throw new ProviderAPIError({
617
+ providerName: 'openai',
618
+ retryable: false,
619
+ attempts: 1,
620
+ message: `OpenAI Responses API failed: ${data.error?.message ?? data.error?.code ?? 'unknown error'}`,
621
+ });
622
+ }
623
+ if (extracted.refusalText) {
624
+ throw new AIRefusalError({
625
+ provider: 'openai',
626
+ model: responseModel,
627
+ refusalText: extracted.refusalText,
628
+ usage,
629
+ });
630
+ }
631
+ const toolCalls = parseOpenAIResponsesToolCalls(output);
632
+ if (toolCalls.length > 0) {
633
+ return {
634
+ content,
635
+ model: responseModel,
636
+ usage,
637
+ finishReason: 'tool_calls',
638
+ toolCalls,
639
+ providerState: { provider: OPENAI_RESPONSES_PROVIDER_STATE, content: output },
640
+ };
641
+ }
642
+ const finishReason = data.status === 'incomplete' && data.incomplete_details?.reason === 'max_output_tokens'
643
+ ? 'length'
644
+ : data.status === 'completed'
645
+ ? 'stop'
646
+ : 'other';
647
+ return { content, model: responseModel, usage, finishReason };
648
+ }
441
649
  /** Map framework ChatMessage[] to Anthropic messages (tool_use / tool_result blocks). */
442
650
  function toAnthropicMessages(request) {
443
651
  if (!request.messages || request.messages.length === 0) {
@@ -528,6 +736,15 @@ export function createOpenAIAdapter(config) {
528
736
  },
529
737
  async complete(request) {
530
738
  const model = request.model ?? defaultModel;
739
+ if (shouldUseOpenAIResponses(request, model)) {
740
+ return completeOpenAIResponses({
741
+ request,
742
+ model,
743
+ baseUrl,
744
+ apiKey: config.apiKey,
745
+ defaultTimeout,
746
+ });
747
+ }
531
748
  const messages = toOpenAIMessages(request);
532
749
  const body = {
533
750
  model,
@@ -909,7 +1126,19 @@ export function createAnthropicAdapter(config) {
909
1126
  };
910
1127
  return;
911
1128
  }
912
- yield* parseSSEStream(resp, parseAnthropicSSEChunk);
1129
+ let initialUsage;
1130
+ for await (const event of parseSSEStream(resp, parseAnthropicSSEChunk)) {
1131
+ if (event.type === 'usage' && event.usage)
1132
+ initialUsage = event.usage;
1133
+ if (event.type === 'done' && event.usage && initialUsage) {
1134
+ event.usage = {
1135
+ ...initialUsage,
1136
+ outputTokens: event.usage.outputTokens,
1137
+ totalTokens: initialUsage.inputTokens + event.usage.outputTokens,
1138
+ };
1139
+ }
1140
+ yield event;
1141
+ }
913
1142
  },
914
1143
  async embed() {
915
1144
  // Anthropic doesn't have a public embedding API
@@ -1087,11 +1316,7 @@ function parseAnthropicSSEChunk(eventType, data) {
1087
1316
  if (message?.usage) {
1088
1317
  return {
1089
1318
  type: 'usage',
1090
- usage: {
1091
- inputTokens: message.usage.input_tokens,
1092
- outputTokens: message.usage.output_tokens,
1093
- totalTokens: message.usage.input_tokens + message.usage.output_tokens,
1094
- },
1319
+ usage: anthropicUsageToTokenUsage(message.usage),
1095
1320
  };
1096
1321
  }
1097
1322
  return null;