context-lens 0.6.0 → 0.6.2

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/README.md +74 -4
  2. package/dist/analysis/ingest.d.ts.map +1 -1
  3. package/dist/analysis/ingest.js +4 -3
  4. package/dist/analysis/ingest.js.map +1 -1
  5. package/dist/analysis/server.js +5 -0
  6. package/dist/analysis/server.js.map +1 -1
  7. package/dist/cli-utils.d.ts +5 -0
  8. package/dist/cli-utils.d.ts.map +1 -1
  9. package/dist/cli-utils.js +59 -4
  10. package/dist/cli-utils.js.map +1 -1
  11. package/dist/cli.js +124 -34
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config.d.ts +35 -0
  14. package/dist/config.d.ts.map +1 -0
  15. package/dist/config.js +113 -0
  16. package/dist/config.js.map +1 -0
  17. package/dist/core/models.d.ts +6 -38
  18. package/dist/core/models.d.ts.map +1 -1
  19. package/dist/core/models.js +6 -213
  20. package/dist/core/models.js.map +1 -1
  21. package/dist/core/parse.d.ts.map +1 -1
  22. package/dist/core/parse.js +26 -25
  23. package/dist/core/parse.js.map +1 -1
  24. package/dist/core/routing.d.ts.map +1 -1
  25. package/dist/core/routing.js +7 -1
  26. package/dist/core/routing.js.map +1 -1
  27. package/dist/core/source.d.ts +1 -0
  28. package/dist/core/source.d.ts.map +1 -1
  29. package/dist/core/source.js +9 -1
  30. package/dist/core/source.js.map +1 -1
  31. package/dist/core/tokenizer.d.ts +30 -0
  32. package/dist/core/tokenizer.d.ts.map +1 -0
  33. package/dist/core/tokenizer.js +149 -0
  34. package/dist/core/tokenizer.js.map +1 -0
  35. package/dist/core/tokens.d.ts +11 -5
  36. package/dist/core/tokens.d.ts.map +1 -1
  37. package/dist/core/tokens.js +14 -7
  38. package/dist/core/tokens.js.map +1 -1
  39. package/dist/core.d.ts +2 -1
  40. package/dist/core.d.ts.map +1 -1
  41. package/dist/core.js +2 -1
  42. package/dist/core.js.map +1 -1
  43. package/dist/http/headers.d.ts +9 -17
  44. package/dist/http/headers.d.ts.map +1 -1
  45. package/dist/http/headers.js +10 -38
  46. package/dist/http/headers.js.map +1 -1
  47. package/dist/lhar/composition.d.ts.map +1 -1
  48. package/dist/lhar/composition.js +40 -39
  49. package/dist/lhar/composition.js.map +1 -1
  50. package/dist/lhar/export.js +1 -1
  51. package/dist/lhar/export.js.map +1 -1
  52. package/dist/proxy/config.d.ts.map +1 -1
  53. package/dist/proxy/config.js +13 -0
  54. package/dist/proxy/config.js.map +1 -1
  55. package/dist/proxy/server.js +22 -0
  56. package/dist/proxy/server.js.map +1 -1
  57. package/dist/schemas.d.ts +14 -0
  58. package/dist/schemas.d.ts.map +1 -1
  59. package/dist/schemas.js +8 -0
  60. package/dist/schemas.js.map +1 -1
  61. package/dist/server/api.d.ts.map +1 -1
  62. package/dist/server/api.js.map +1 -1
  63. package/dist/server/projection.d.ts.map +1 -1
  64. package/dist/server/projection.js +1 -0
  65. package/dist/server/projection.js.map +1 -1
  66. package/dist/server/store.d.ts.map +1 -1
  67. package/dist/server/store.js +97 -18
  68. package/dist/server/store.js.map +1 -1
  69. package/dist/server/webui.js +1 -1
  70. package/dist/server/webui.js.map +1 -1
  71. package/dist/types.d.ts +13 -1
  72. package/dist/types.d.ts.map +1 -1
  73. package/dist/version.generated.d.ts +1 -1
  74. package/dist/version.generated.js +1 -1
  75. package/mitm_addon.py +19 -10
  76. package/package.json +6 -2
  77. package/ui/dist/assets/index-C2HhFk_P.js +52 -0
  78. package/ui/dist/assets/index-xYrXQJL_.css +1 -0
  79. package/ui/dist/index.html +2 -2
  80. package/ui/dist/assets/index-CC_AtJBy.css +0 -1
  81. package/ui/dist/assets/index-If9FfL3y.js +0 -36
@@ -1,42 +1,10 @@
1
1
  /**
2
- * Known model context limits (tokens).
2
+ * Model metadata re-exported from @contextio/core.
3
3
  *
4
- * Keys are ordered most-specific-first because `getContextLimit()` does substring matching.
4
+ * Context-lens inherits pricing, context limits, and cost estimation
5
+ * from the shared contextio package. This file is the single import
6
+ * point so the rest of the codebase doesn't import from @contextio/core
7
+ * directly.
5
8
  */
6
- export declare const CONTEXT_LIMITS: Record<string, number>;
7
- /**
8
- * Resolve an approximate context window size for a given model string.
9
- *
10
- * @param model - Model identifier (often includes version suffixes).
11
- * @returns Context limit in tokens.
12
- */
13
- export declare function getContextLimit(model: string): number;
14
- /**
15
- * Model pricing: `[inputPerMTok, outputPerMTok]` in USD.
16
- *
17
- * Keys ordered most-specific-first to avoid substring false matches
18
- * (e.g. `gpt-4o-mini` before `gpt-4o`, `o3-mini` before `o3`).
19
- *
20
- * Prices sourced from OpenRouter (openrouter.ai/api/v1/models) and reflect
21
- * standard per-token rates as of early 2026. Keys are matched as substrings
22
- * of the incoming model string, so they work for both direct-API model IDs
23
- * (e.g. `gemini-2.5-pro`) and OpenRouter-prefixed IDs
24
- * (e.g. `google/gemini-2.5-pro`).
25
- */
26
- export declare const MODEL_PRICING: Record<string, [number, number]>;
27
- /**
28
- * Estimate cost in USD for a request/response token pair using `MODEL_PRICING`.
29
- *
30
- * Cache pricing varies by provider:
31
- * - Anthropic: cache reads at 10% of base input, writes at 25%
32
- * - Gemini: cached content at 25% of base input, no write cost
33
- *
34
- * @param model - Model identifier (substring matched against known keys).
35
- * @param inputTokens - Input/prompt tokens (non-cached).
36
- * @param outputTokens - Output/completion tokens.
37
- * @param cacheReadTokens - Cache read tokens.
38
- * @param cacheWriteTokens - Cache write tokens.
39
- * @returns Cost in USD, rounded to 6 decimals; `null` if the model is unknown.
40
- */
41
- export declare function estimateCost(model: string, inputTokens: number, outputTokens: number, cacheReadTokens?: number, cacheWriteTokens?: number): number | null;
9
+ export { CONTEXT_LIMITS, estimateCost, getContextLimit, getKnownModels, MODEL_PRICING, } from "@contextio/core";
42
10
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/core/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgEjD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAiE1D,CAAC;AA4BF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,SAAI,EACnB,gBAAgB,SAAI,GACnB,MAAM,GAAG,IAAI,CAoBf"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/core/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC"}
@@ -1,217 +1,10 @@
1
1
  /**
2
- * Known model context limits (tokens).
2
+ * Model metadata re-exported from @contextio/core.
3
3
  *
4
- * Keys are ordered most-specific-first because `getContextLimit()` does substring matching.
4
+ * Context-lens inherits pricing, context limits, and cost estimation
5
+ * from the shared contextio package. This file is the single import
6
+ * point so the rest of the codebase doesn't import from @contextio/core
7
+ * directly.
5
8
  */
6
- export const CONTEXT_LIMITS = {
7
- // Anthropic
8
- "claude-opus-4.6": 1000000,
9
- "claude-opus-4.5": 200000,
10
- "claude-opus-4.1": 200000,
11
- "claude-opus-4": 200000,
12
- "claude-sonnet-4.6": 1000000,
13
- "claude-sonnet-4.5": 1000000,
14
- "claude-sonnet-4": 1000000,
15
- "claude-haiku-4.5": 200000,
16
- "claude-haiku-4": 200000,
17
- "claude-3-7-sonnet": 200000,
18
- "claude-3-5-sonnet": 200000,
19
- "claude-3-5-haiku": 200000,
20
- "claude-3-haiku": 200000,
21
- "claude-3-opus": 200000,
22
- // OpenAI — specific variants before generic slugs
23
- "gpt-5.2-pro": 400000,
24
- "gpt-5.2-codex": 400000,
25
- "gpt-5.2-chat": 128000,
26
- "gpt-5.2": 400000,
27
- "gpt-5.1-codex-max": 400000,
28
- "gpt-5.1-codex-mini": 400000,
29
- "gpt-5.1-codex": 400000,
30
- "gpt-5.1-chat": 128000,
31
- "gpt-5.1": 400000,
32
- "gpt-5.3-codex": 400000,
33
- "gpt-5-pro": 400000,
34
- "gpt-5-codex": 400000,
35
- "gpt-5-chat": 128000,
36
- "gpt-5-mini": 400000,
37
- "gpt-5-nano": 400000,
38
- "gpt-5": 400000,
39
- "gpt-4.1-mini": 1047576,
40
- "gpt-4.1-nano": 1047576,
41
- "gpt-4.1": 1047576,
42
- "gpt-4o-mini": 128000,
43
- "gpt-4o": 128000,
44
- "gpt-4-turbo": 128000,
45
- "gpt-4": 8192,
46
- "gpt-3.5-turbo": 16385,
47
- "o4-mini-deep-research": 200000,
48
- "o4-mini-high": 200000,
49
- "o4-mini": 200000,
50
- "o3-deep-research": 200000,
51
- "o3-pro": 200000,
52
- "o3-mini-high": 200000,
53
- "o3-mini": 200000,
54
- o3: 200000,
55
- "o1-pro": 200000,
56
- "o1-mini": 128000,
57
- o1: 200000,
58
- // Google Gemini — specific before generic
59
- "gemini-3.1-pro-preview": 1048576,
60
- "gemini-3-pro-preview": 1048576,
61
- "gemini-3-flash-preview": 1048576,
62
- "gemini-2.5-pro-preview": 1048576,
63
- "gemini-2.5-pro": 1048576,
64
- "gemini-2.5-flash-lite": 1048576,
65
- "gemini-2.5-flash": 1048576,
66
- "gemini-2.0-flash-lite": 1048576,
67
- "gemini-2.0-flash": 1048576,
68
- "gemini-1.5-pro": 2097152,
69
- "gemini-1.5-flash": 1048576,
70
- };
71
- /**
72
- * Resolve an approximate context window size for a given model string.
73
- *
74
- * @param model - Model identifier (often includes version suffixes).
75
- * @returns Context limit in tokens.
76
- */
77
- export function getContextLimit(model) {
78
- for (const [key, limit] of Object.entries(CONTEXT_LIMITS)) {
79
- if (model.includes(key))
80
- return limit;
81
- }
82
- return 128000; // default fallback
83
- }
84
- /**
85
- * Model pricing: `[inputPerMTok, outputPerMTok]` in USD.
86
- *
87
- * Keys ordered most-specific-first to avoid substring false matches
88
- * (e.g. `gpt-4o-mini` before `gpt-4o`, `o3-mini` before `o3`).
89
- *
90
- * Prices sourced from OpenRouter (openrouter.ai/api/v1/models) and reflect
91
- * standard per-token rates as of early 2026. Keys are matched as substrings
92
- * of the incoming model string, so they work for both direct-API model IDs
93
- * (e.g. `gemini-2.5-pro`) and OpenRouter-prefixed IDs
94
- * (e.g. `google/gemini-2.5-pro`).
95
- */
96
- export const MODEL_PRICING = {
97
- // Anthropic — specific point-releases before generic slugs
98
- "claude-opus-4.6": [5, 25],
99
- "claude-opus-4.5": [5, 25],
100
- "claude-opus-4.1": [15, 75],
101
- "claude-opus-4": [15, 75],
102
- "claude-sonnet-4.6": [3, 15],
103
- "claude-sonnet-4.5": [3, 15],
104
- "claude-sonnet-4": [3, 15],
105
- "claude-haiku-4.5": [1, 5],
106
- "claude-haiku-4": [0.8, 4],
107
- "claude-3-7-sonnet": [3, 15],
108
- "claude-3-5-sonnet": [3, 15],
109
- "claude-3-5-haiku": [0.8, 4],
110
- "claude-3-haiku": [0.25, 1.25],
111
- "claude-3-opus": [15, 75],
112
- // OpenAI — specific variants before generic slugs
113
- "gpt-5.2-pro": [21, 168],
114
- "gpt-5.2-codex": [1.75, 14],
115
- "gpt-5.2-chat": [1.75, 14],
116
- "gpt-5.2": [1.75, 14],
117
- "gpt-5.1-codex-max": [1.25, 10],
118
- "gpt-5.1-codex-mini": [0.25, 2],
119
- "gpt-5.1-codex": [1.25, 10],
120
- "gpt-5.1-chat": [1.25, 10],
121
- "gpt-5.1": [1.25, 10],
122
- // Codex subscription estimates
123
- "gpt-5.3-codex": [1.75, 14],
124
- "gpt-5-pro": [15, 120],
125
- "gpt-5-codex": [1.25, 10],
126
- "gpt-5-chat": [1.25, 10],
127
- "gpt-5-mini": [0.25, 2],
128
- "gpt-5-nano": [0.05, 0.4],
129
- "gpt-5": [1.25, 10],
130
- "gpt-4.1-mini": [0.4, 1.6],
131
- "gpt-4.1-nano": [0.1, 0.4],
132
- "gpt-4.1": [2.0, 8.0],
133
- "gpt-4o-mini": [0.15, 0.6],
134
- "gpt-4o": [2.5, 10],
135
- "gpt-4-turbo": [10, 30],
136
- "gpt-4": [30, 60],
137
- "gpt-3.5-turbo": [0.5, 1.5],
138
- "o4-mini-deep-research": [2, 8],
139
- "o4-mini-high": [1.1, 4.4],
140
- "o4-mini": [1.1, 4.4],
141
- "o3-deep-research": [10, 40],
142
- "o3-pro": [20, 80],
143
- "o3-mini-high": [1.1, 4.4],
144
- "o3-mini": [1.1, 4.4],
145
- o3: [2, 8],
146
- "o1-pro": [150, 600],
147
- "o1-mini": [3, 12],
148
- o1: [15, 60],
149
- // Google Gemini — specific before generic
150
- "gemini-3.1-pro-preview": [2, 12],
151
- "gemini-3-pro-preview": [2, 12],
152
- "gemini-3-flash-preview": [0.5, 3],
153
- "gemini-2.5-pro-preview": [1.25, 10],
154
- "gemini-2.5-pro": [1.25, 10],
155
- "gemini-2.5-flash-lite": [0.1, 0.4],
156
- "gemini-2.5-flash": [0.3, 2.5],
157
- "gemini-2.0-flash-lite": [0.075, 0.3],
158
- "gemini-2.0-flash": [0.1, 0.4],
159
- "gemini-1.5-pro": [1.25, 5],
160
- "gemini-1.5-flash": [0.075, 0.3],
161
- };
162
- /**
163
- * Cache pricing multipliers by provider prefix.
164
- *
165
- * Each entry maps a model key prefix to `[readMultiplier, writeMultiplier]`
166
- * relative to the base input price. For example, Anthropic charges 10% of
167
- * the base input rate for cache reads and 25% for cache writes.
168
- *
169
- * Gemini charges 25% of base input for cached content (reads). Gemini has
170
- * no separate "cache write" billing; context caching cost is handled
171
- * outside the per-request pricing.
172
- */
173
- const CACHE_PRICING = {
174
- "claude-": [0.1, 0.25],
175
- "gemini-": [0.25, 0],
176
- };
177
- /**
178
- * Look up cache pricing multipliers for a model key.
179
- */
180
- function getCacheMultipliers(modelKey) {
181
- for (const [prefix, multipliers] of Object.entries(CACHE_PRICING)) {
182
- if (modelKey.startsWith(prefix))
183
- return multipliers;
184
- }
185
- return [0, 0];
186
- }
187
- /**
188
- * Estimate cost in USD for a request/response token pair using `MODEL_PRICING`.
189
- *
190
- * Cache pricing varies by provider:
191
- * - Anthropic: cache reads at 10% of base input, writes at 25%
192
- * - Gemini: cached content at 25% of base input, no write cost
193
- *
194
- * @param model - Model identifier (substring matched against known keys).
195
- * @param inputTokens - Input/prompt tokens (non-cached).
196
- * @param outputTokens - Output/completion tokens.
197
- * @param cacheReadTokens - Cache read tokens.
198
- * @param cacheWriteTokens - Cache write tokens.
199
- * @returns Cost in USD, rounded to 6 decimals; `null` if the model is unknown.
200
- */
201
- export function estimateCost(model, inputTokens, outputTokens, cacheReadTokens = 0, cacheWriteTokens = 0) {
202
- for (const [key, [inp, out]] of Object.entries(MODEL_PRICING)) {
203
- if (model.includes(key)) {
204
- const [readMul, writeMul] = getCacheMultipliers(key);
205
- const cacheReadCost = cacheReadTokens * inp * readMul;
206
- const cacheWriteCost = cacheWriteTokens * inp * writeMul;
207
- return (Math.round(((inputTokens * inp +
208
- outputTokens * out +
209
- cacheReadCost +
210
- cacheWriteCost) /
211
- 1_000_000) *
212
- 1_000_000) / 1_000_000);
213
- }
214
- }
215
- return null;
216
- }
9
+ export { CONTEXT_LIMITS, estimateCost, getContextLimit, getKnownModels, MODEL_PRICING, } from "@contextio/core";
217
10
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/core/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/core/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/core/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAiB,MAAM,aAAa,CAAC;AAyK5E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,SAAS,EAAE,MAAM,GAChB,WAAW,CAuMb"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/core/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAiB,MAAM,aAAa,CAAC;AA4K5E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,SAAS,EAAE,MAAM,GAChB,WAAW,CA4Mb"}
@@ -5,7 +5,7 @@ import { estimateTokens } from "./tokens.js";
5
5
  * Maps typed items (function_call, function_call_output, reasoning, output_text, etc.)
6
6
  * to a normalized `ParsedMessage` with a stable `role` and optional `contentBlocks`.
7
7
  */
8
- function parseResponsesItem(item) {
8
+ function parseResponsesItem(item, model) {
9
9
  const type = item.type || "";
10
10
  // Standard message with role/content (e.g. {"type":"message","role":"user","content":[...]})
11
11
  if (item.role) {
@@ -22,7 +22,7 @@ function parseResponsesItem(item) {
22
22
  else {
23
23
  content = JSON.stringify(item.content || item);
24
24
  }
25
- const tokens = estimateTokens(item.content ?? content);
25
+ const tokens = estimateTokens(item.content ?? content, model);
26
26
  return {
27
27
  message: { role: item.role, content, contentBlocks, tokens },
28
28
  tokens,
@@ -40,7 +40,7 @@ function parseResponsesItem(item) {
40
40
  ? args.slice(0, 200)
41
41
  : JSON.stringify(args).slice(0, 200)) +
42
42
  ")";
43
- const tokens = estimateTokens(item);
43
+ const tokens = estimateTokens(item, model);
44
44
  // Parse stringified arguments (OpenAI Responses API sends JSON strings)
45
45
  let parsedInput = {};
46
46
  if (typeof args === "string" && args.length > 0) {
@@ -75,7 +75,7 @@ function parseResponsesItem(item) {
75
75
  const output = typeof item.output === "string"
76
76
  ? item.output
77
77
  : JSON.stringify(item.output || "");
78
- const tokens = estimateTokens(output);
78
+ const tokens = estimateTokens(output, model);
79
79
  const block = {
80
80
  type: "tool_result",
81
81
  tool_use_id: item.call_id || "",
@@ -99,7 +99,7 @@ function parseResponsesItem(item) {
99
99
  ? item.summary.map((s) => s.text || "").join("\n")
100
100
  : "";
101
101
  const content = summary || "[reasoning]";
102
- const tokens = estimateTokens(item);
102
+ const tokens = estimateTokens(item, model);
103
103
  return {
104
104
  message: {
105
105
  role: "assistant",
@@ -115,7 +115,7 @@ function parseResponsesItem(item) {
115
115
  // output_text → assistant text
116
116
  if (type === "output_text") {
117
117
  const text = item.text || "";
118
- const tokens = estimateTokens(text);
118
+ const tokens = estimateTokens(text, model);
119
119
  return {
120
120
  message: {
121
121
  role: "assistant",
@@ -131,7 +131,7 @@ function parseResponsesItem(item) {
131
131
  // input_text → user text
132
132
  if (type === "input_text") {
133
133
  const text = item.text || "";
134
- const tokens = estimateTokens(text);
134
+ const tokens = estimateTokens(text, model);
135
135
  return {
136
136
  message: {
137
137
  role: "user",
@@ -146,7 +146,7 @@ function parseResponsesItem(item) {
146
146
  }
147
147
  // Fallback: serialize the whole item
148
148
  const content = JSON.stringify(item);
149
- const tokens = estimateTokens(content);
149
+ const tokens = estimateTokens(content, model);
150
150
  return {
151
151
  message: { role: item.role || "user", content, tokens },
152
152
  tokens,
@@ -181,6 +181,7 @@ export function parseContextInfo(provider, body, apiFormat) {
181
181
  tools: [],
182
182
  messages: [],
183
183
  };
184
+ const model = info.model;
184
185
  if (provider === "anthropic") {
185
186
  if (body.system) {
186
187
  const systemText = typeof body.system === "string"
@@ -189,11 +190,11 @@ export function parseContextInfo(provider, body, apiFormat) {
189
190
  ? body.system.map((b) => b.text || "").join("\n")
190
191
  : JSON.stringify(body.system);
191
192
  info.systemPrompts.push({ content: systemText });
192
- info.systemTokens = estimateTokens(systemText);
193
+ info.systemTokens = estimateTokens(systemText, model);
193
194
  }
194
195
  if (body.tools && Array.isArray(body.tools)) {
195
196
  info.tools = body.tools;
196
- info.toolsTokens = estimateTokens(JSON.stringify(body.tools));
197
+ info.toolsTokens = estimateTokens(JSON.stringify(body.tools), model);
197
198
  }
198
199
  if (body.messages && Array.isArray(body.messages)) {
199
200
  info.messages = body.messages.map((msg) => {
@@ -204,7 +205,7 @@ export function parseContextInfo(provider, body, apiFormat) {
204
205
  ? msg.content
205
206
  : JSON.stringify(msg.content),
206
207
  contentBlocks,
207
- tokens: estimateTokens(msg.content),
208
+ tokens: estimateTokens(msg.content, model),
208
209
  };
209
210
  });
210
211
  info.messagesTokens = info.messages.reduce((sum, m) => sum + m.tokens, 0);
@@ -213,7 +214,7 @@ export function parseContextInfo(provider, body, apiFormat) {
213
214
  else if (apiFormat === "responses" || provider === "chatgpt") {
214
215
  if (body.instructions) {
215
216
  info.systemPrompts.push({ content: body.instructions });
216
- info.systemTokens = estimateTokens(body.instructions);
217
+ info.systemTokens = estimateTokens(body.instructions, model);
217
218
  }
218
219
  if (body.system) {
219
220
  const systemText = typeof body.system === "string"
@@ -222,7 +223,7 @@ export function parseContextInfo(provider, body, apiFormat) {
222
223
  ? body.system.map((b) => b.text || "").join("\n")
223
224
  : JSON.stringify(body.system);
224
225
  info.systemPrompts.push({ content: systemText });
225
- info.systemTokens += estimateTokens(systemText);
226
+ info.systemTokens += estimateTokens(systemText, model);
226
227
  }
227
228
  const msgs = body.input || body.messages;
228
229
  if (msgs) {
@@ -230,13 +231,13 @@ export function parseContextInfo(provider, body, apiFormat) {
230
231
  info.messages.push({
231
232
  role: "user",
232
233
  content: msgs,
233
- tokens: estimateTokens(msgs),
234
+ tokens: estimateTokens(msgs, model),
234
235
  });
235
- info.messagesTokens = estimateTokens(msgs);
236
+ info.messagesTokens = estimateTokens(msgs, model);
236
237
  }
237
238
  else if (Array.isArray(msgs)) {
238
239
  msgs.forEach((item) => {
239
- const parsed = parseResponsesItem(item);
240
+ const parsed = parseResponsesItem(item, model);
240
241
  if (parsed.isSystem) {
241
242
  info.systemPrompts.push({ content: parsed.content });
242
243
  info.systemTokens += parsed.tokens;
@@ -250,7 +251,7 @@ export function parseContextInfo(provider, body, apiFormat) {
250
251
  }
251
252
  if (body.tools && Array.isArray(body.tools)) {
252
253
  info.tools = body.tools;
253
- info.toolsTokens = estimateTokens(JSON.stringify(body.tools));
254
+ info.toolsTokens = estimateTokens(JSON.stringify(body.tools), model);
254
255
  }
255
256
  }
256
257
  else if (provider === "gemini" ||
@@ -263,12 +264,12 @@ export function parseContextInfo(provider, body, apiFormat) {
263
264
  const parts = geminiBody.systemInstruction.parts || [];
264
265
  const systemText = parts.map((p) => p.text || "").join("\n");
265
266
  info.systemPrompts.push({ content: systemText });
266
- info.systemTokens = estimateTokens(systemText);
267
+ info.systemTokens = estimateTokens(systemText, model);
267
268
  }
268
269
  if (geminiBody.tools && Array.isArray(geminiBody.tools)) {
269
270
  const allDecls = geminiBody.tools.flatMap((t) => t.functionDeclarations || []);
270
271
  info.tools = allDecls;
271
- info.toolsTokens = estimateTokens(JSON.stringify(geminiBody.tools));
272
+ info.toolsTokens = estimateTokens(JSON.stringify(geminiBody.tools), model);
272
273
  }
273
274
  if (geminiBody.contents && Array.isArray(geminiBody.contents)) {
274
275
  info.messages = geminiBody.contents.map((turn) => {
@@ -322,7 +323,7 @@ export function parseContextInfo(provider, body, apiFormat) {
322
323
  }
323
324
  }
324
325
  const content = textParts.join("\n") || JSON.stringify(parts);
325
- const tokens = estimateTokens(turn);
326
+ const tokens = estimateTokens(turn, model);
326
327
  return {
327
328
  role: role === "model" ? "assistant" : role,
328
329
  content,
@@ -338,7 +339,7 @@ export function parseContextInfo(provider, body, apiFormat) {
338
339
  body.messages.forEach((msg) => {
339
340
  if (msg.role === "system" || msg.role === "developer") {
340
341
  info.systemPrompts.push({ content: msg.content });
341
- info.systemTokens += estimateTokens(msg.content);
342
+ info.systemTokens += estimateTokens(msg.content, model);
342
343
  }
343
344
  else {
344
345
  info.messages.push({
@@ -346,19 +347,19 @@ export function parseContextInfo(provider, body, apiFormat) {
346
347
  content: typeof msg.content === "string"
347
348
  ? msg.content
348
349
  : JSON.stringify(msg.content),
349
- tokens: estimateTokens(msg.content),
350
+ tokens: estimateTokens(msg.content, model),
350
351
  });
351
- info.messagesTokens += estimateTokens(msg.content);
352
+ info.messagesTokens += estimateTokens(msg.content, model);
352
353
  }
353
354
  });
354
355
  }
355
356
  if (body.tools && Array.isArray(body.tools)) {
356
357
  info.tools = body.tools;
357
- info.toolsTokens = estimateTokens(JSON.stringify(body.tools));
358
+ info.toolsTokens = estimateTokens(JSON.stringify(body.tools), model);
358
359
  }
359
360
  else if (body.functions && Array.isArray(body.functions)) {
360
361
  info.tools = body.functions;
361
- info.toolsTokens = estimateTokens(JSON.stringify(body.functions));
362
+ info.toolsTokens = estimateTokens(JSON.stringify(body.functions), model);
362
363
  }
363
364
  }
364
365
  info.totalTokens = info.systemTokens + info.toolsTokens + info.messagesTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/core/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/core/parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,IAAS,EACT,KAAc;IAOd,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAErC,6FAA6F;IAC7F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACrE,IAAI,OAAe,CAAC;QACpB,IAAI,aAAa,GAA0B,IAAI,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,aAAa,GAAG,IAAI,CAAC,OAAyB,CAAC;YAC/C,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE;YAC5D,MAAM;YACN,QAAQ;YACR,OAAO;SACR,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAClC,MAAM,OAAO,GACX,IAAI;YACJ,GAAG;YACH,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,GAAG,CAAC;QACN,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,wEAAwE;QACxE,IAAI,WAAW,GAAwB,EAAE,CAAC;QAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClD,WAAW,GAAG,MAAM,CAAC;gBACvB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACrD,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YACtB,IAAI;YACJ,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE;YACvE,MAAM;YACN,QAAQ,EAAE,KAAK;YACf,OAAO;SACR,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC1E,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC/B,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,CAAC,KAAK,CAAC;gBACtB,MAAM;aACP;YACD,MAAM;YACN,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,MAAM;SAChB,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,OAAO,IAAI,aAAa,CAAC;QACzC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,OAAO;gBACP,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAS,CAAC;gBAC/D,MAAM;aACP;YACD,MAAM;YACN,QAAQ,EAAE,KAAK;YACf,OAAO;SACR,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACvC,MAAM;aACP;YACD,MAAM;YACN,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACvC,MAAM;aACP;YACD,MAAM;YACN,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;QACvD,MAAM;QACN,QAAQ,EAAE,KAAK;QACf,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAyB,EACzB,SAAiB;IAEjB,MAAM,IAAI,GAAgB;QACxB,QAAQ;QACR,SAAS;QACT,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;QAC9B,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAiB,EAAE;gBAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtE,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;wBAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;wBACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;oBACjC,aAAa;oBACb,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;iBAC3C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpC,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;oBACzB,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC/C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrD,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACnC,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC;oBACvC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,IACL,QAAQ,KAAK,QAAQ;QACrB,QAAQ,KAAK,QAAQ;QACrB,SAAS,KAAK,QAAQ,EACtB,CAAC;QACD,2EAA2E;QAC3E,8FAA8F;QAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CACvC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CACzC,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,cAAc,CAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAChC,KAAK,CACN,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAS,EAAiB,EAAE;gBACnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAmB,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxD,CAAC;yBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC7B,aAAa,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE;4BAC9B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;4BAClC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;yBACpC,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBAC5C,oEAAoE;wBACpE,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,QAAQ;4BACtB,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ;gCAChC,CAAC,CAAC,IAAI,CAAC,MAAM;gCACb,CAAC,CAAC,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ;oCAC/B,CAAC,CAAC,IAAI,CAAC,KAAK;oCACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;wBACrC,aAAa,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;4BAC3C,OAAO,EAAE,QAAQ;yBAClB,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC3B,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBACxC,CAAC;yBAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC/B,aAAa,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;yBACrC,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACpC,aAAa,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE;yBAC5C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO;oBACL,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;oBAC3C,OAAO;oBACP,aAAa;oBACb,MAAM;iBACP,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;4BAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;4BACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;wBACjC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;qBAC3C,CAAC,CAAC;oBACH,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACV,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAY5B,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,QAAQ,CAEV;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CA0C9C;AAeD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CA+BnE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,SAAS,EAAE,SAAS,GACnB,mBAAmB,CAmCrB"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACV,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAY5B,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,QAAQ,CAEV;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CA0C9C;AAeD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CA+BnE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,SAAS,EAAE,SAAS,GACnB,mBAAmB,CA0CrB"}
@@ -157,7 +157,13 @@ export function resolveTargetUrl(parsedUrl, headers, upstreams) {
157
157
  }
158
158
  }
159
159
  else {
160
- targetUrl = upstreams.openai + parsedUrl.pathname + search;
160
+ // Codex Enterprise sets OPENAI_BASE_URL without a /v1 suffix and
161
+ // appends paths like /responses directly. Normalize /responses to
162
+ // /v1/responses so it reaches the correct endpoint on api.openai.com.
163
+ const openaiPath = parsedUrl.pathname === "/responses"
164
+ ? "/v1/responses"
165
+ : parsedUrl.pathname;
166
+ targetUrl = upstreams.openai + openaiPath + search;
161
167
  }
162
168
  }
163
169
  else if (!targetUrl.startsWith("http")) {
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/core/routing.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ export declare const SOURCE_SIGNATURES: SourceSignature[];
18
18
  * 3. system prompt signatures
19
19
  * 4. fallback to `"unknown"`
20
20
  */
21
+ export declare const PROVIDER_NAMES: Set<string>;
21
22
  export declare function detectSource(contextInfo: ContextInfo, source: string | null, headers?: Record<string, string>): string;
22
23
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/core/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CA0BR"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/core/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAC;AAEF;;;;;;;;GAQG;AAGH,eAAO,MAAM,cAAc,aAKzB,CAAC;AAEH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CA2BR"}
@@ -27,8 +27,16 @@ export const SOURCE_SIGNATURES = [
27
27
  * 3. system prompt signatures
28
28
  * 4. fallback to `"unknown"`
29
29
  */
30
+ // Provider names used as bare source tags are not tool identifiers.
31
+ // When we see one, fall through to header/system-prompt detection.
32
+ export const PROVIDER_NAMES = new Set([
33
+ "anthropic",
34
+ "openai",
35
+ "gemini",
36
+ "chatgpt",
37
+ ]);
30
38
  export function detectSource(contextInfo, source, headers) {
31
- if (source && source !== "unknown")
39
+ if (source && source !== "unknown" && !PROVIDER_NAMES.has(source))
32
40
  return source;
33
41
  // Primary: check request headers
34
42
  if (headers) {