crosscheck-mcp 0.2.9 → 0.2.11

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.
@@ -44,99 +44,329 @@ var pricing_default = {
44
44
  _meta: {
45
45
  currency: "USD",
46
46
  unit: "per_1k_tokens",
47
- updated_at: "2026-06-07",
48
- notes: "Prices reflect public list pricing per provider. cached_per_1k applies to prompt tokens served from prompt-cache (Anthropic) or input-cache (OpenAI) when supported. Update when providers change rates. Missing models fall back to cost=0 with estimated=true. 2026-06-07: removed decommissioned gemini-2.0-flash / gemini-2.0-flash-lite (Google returns 404) and replaced the low-tier lite model with gemini-2.5-flash-lite. 2026-06-08: bumped the default Anthropic model to claude-opus-4-8. Kept gemini-2.5-pro as the Gemini default (gemini-3.1-pro-preview measured ~2.2x the cost at $2/$12 per M \u2014 output-token dominated by ~1.5k thinking tokens \u2014 so not worth it for a 1-of-4 panel voice). 2026-06-09: corrected rates verified against live provider pricing pages \u2014 gemini-2.5-pro output $5->$10/M; gemini-2.5-flash $0.15/$0.60 -> $0.30/$2.50; gpt-5 $5/$15 -> $1.25/$10 (cached $0.125); grok-4-latest input $5->$3/M (legacy grok-4 tier). Anthropic opus/sonnet/haiku rates confirmed unchanged. Older/unused models (gpt-4o, o1, o3, grok-3) not all re-verified. 2026-07-02: added claude-fable-5 as the optional reasoning-upgrade model (used only for the lead reasoning seat when the operator bumps a heavy task). 2026-07-04: set claude-fable-5 to its real pay-as-you-go API price effective 2026-07-07 \u2014 $10/M input ($0.01/1k), $50/M output ($0.05/1k), cached at 10% of input ($0.001/1k). Dropped the estimated flag. Note: Fable 5 is cheaper than opus-4-8 on both input and output. 2026-07-09: Google retired gemini-2.5-pro AND gemini-3-pro-preview (both now 404 'no longer available'). Moved the Gemini default to gemini-3.1-pro-preview ($2/M in, $12/M out, cache $0.20/M \u2014 the newest working pro; note it's a preview and may need another bump) and added gemini-3.5-flash ($1.50/M in, $9/M out, cache $0.15/M \u2014 GA) to the low/cheap tier. Removed the dead gemini-2.5-pro rate. IMPORTANT: gemini-3.x are heavy thinking models \u2014 thoughtsTokenCount (billed as output) is now folded into completion_tokens in the adapter, so cost reflects reasoning tokens. 2026-07-13: bumped the default OpenAI model to gpt-5.5 ($5/M in, $30/M out, cached $0.50/M \u2014 verified live). Note gpt-5.5 is markedly pricier than gpt-5 ($1.25/$10): ~4x input, 3x output. Kept gpt-5 in the table for cost lookups on pinned installs. 2026-07-16: added gpt-5.6 at the Sol (flagship) tier \u2014 $5/M in, $30/M out, cached $0.50/M (cache-write $6.25/M not modeled). gpt-5.6 is the second premium voice for the max-reasoning co-reasoner (runs alongside claude-fable-5 when an OpenAI key is set). Terra/Luna tiers not added (unused). 2026-07-17: added Moonshot AI (Kimi) provider with kimi-k3, base URL https://api.moonshot.ai/v1. Confirmed real rates \u2014 $3.00/M input (cache miss, $0.003/1k), $15.00/M output ($0.015/1k), $0.30/M cache-hit input ($0.0003/1k); 1M-token context. Kimi K3 is reasoning-class (temperature must be 1; uses max_completion_tokens)."
47
+ updated_at: "2026-08-04",
48
+ notes: "Prices reflect public list pricing per provider. cached_per_1k applies to prompt tokens served from prompt-cache (Anthropic) or input-cache (OpenAI) when supported. Update when providers change rates. Missing models fall back to cost=0 with estimated=true. 2026-06-07: removed decommissioned gemini-2.0-flash / gemini-2.0-flash-lite (Google returns 404) and replaced the low-tier lite model with gemini-2.5-flash-lite. 2026-06-08: bumped the default Anthropic model to claude-opus-4-8. Kept gemini-2.5-pro as the Gemini default (gemini-3.1-pro-preview measured ~2.2x the cost at $2/$12 per M \u2014 output-token dominated by ~1.5k thinking tokens \u2014 so not worth it for a 1-of-4 panel voice). 2026-06-09: corrected rates verified against live provider pricing pages \u2014 gemini-2.5-pro output $5->$10/M; gemini-2.5-flash $0.15/$0.60 -> $0.30/$2.50; gpt-5 $5/$15 -> $1.25/$10 (cached $0.125); grok-4-latest input $5->$3/M (legacy grok-4 tier). Anthropic opus/sonnet/haiku rates confirmed unchanged. Older/unused models (gpt-4o, o1, o3, grok-3) not all re-verified. 2026-07-02: added claude-fable-5 as the optional reasoning-upgrade model (used only for the lead reasoning seat when the operator bumps a heavy task). 2026-07-04: set claude-fable-5 to its real pay-as-you-go API price effective 2026-07-07 \u2014 $10/M input ($0.01/1k), $50/M output ($0.05/1k), cached at 10% of input ($0.001/1k). Dropped the estimated flag. Note: Fable 5 is cheaper than opus-4-8 on both input and output. 2026-07-09: Google retired gemini-2.5-pro AND gemini-3-pro-preview (both now 404 'no longer available'). Moved the Gemini default to gemini-3.1-pro-preview ($2/M in, $12/M out, cache $0.20/M \u2014 the newest working pro; note it's a preview and may need another bump) and added gemini-3.5-flash ($1.50/M in, $9/M out, cache $0.15/M \u2014 GA) to the low/cheap tier. Removed the dead gemini-2.5-pro rate. IMPORTANT: gemini-3.x are heavy thinking models \u2014 thoughtsTokenCount (billed as output) is now folded into completion_tokens in the adapter, so cost reflects reasoning tokens. 2026-07-13: bumped the default OpenAI model to gpt-5.5 ($5/M in, $30/M out, cached $0.50/M \u2014 verified live). Note gpt-5.5 is markedly pricier than gpt-5 ($1.25/$10): ~4x input, 3x output. Kept gpt-5 in the table for cost lookups on pinned installs. 2026-07-16: added gpt-5.6 at the Sol (flagship) tier \u2014 $5/M in, $30/M out, cached $0.50/M (cache-write $6.25/M not modeled). gpt-5.6 is the second premium voice for the max-reasoning co-reasoner (runs alongside claude-fable-5 when an OpenAI key is set). Terra/Luna tiers not added (unused). 2026-07-17: added Moonshot AI (Kimi) provider with kimi-k3, base URL https://api.moonshot.ai/v1. Confirmed real rates \u2014 $3.00/M input (cache miss, $0.003/1k), $15.00/M output ($0.015/1k), $0.30/M cache-hit input ($0.0003/1k); 1M-token context. Kimi K3 is reasoning-class (temperature must be 1; uses max_completion_tokens). 2026-07-24: added claude-opus-5 ($5/M in, $25/M out, cached $0.50/M -- 10% of input, matching this table's existing cache-discount ratio) and made it the default anthropic model (was claude-opus-4-8). Fable 5 remains the reasoning-upgrade/super-mode target, unchanged. 2026-08-04: added Alibaba Cloud Qwen provider (OpenAI-compatible, DashScope international endpoint https://dashscope-intl.aliyuncs.com/compatible-mode/v1) with default model qwen3.8-max -- confirmed business pricing $2.00/M input ($0.002/1k), $6.00/M output ($0.006/1k), cache estimated at 10% of input ($0.0002/1k, not independently confirmed). Also added qwen3.7-max as a fallback tier at $1.25/M in ($0.00125/1k) / $3.75/M out ($0.00375/1k). Note: the model string initially configured (qwen-v3.8 / qwen-v3.7) does not exist on DashScope and 404s -- live-probed the real key against qwen3.8-max, qwen3.7-max, qwen3-max, qwen-max, and qwen-plus, all of which work; corrected the default and pricing keys to qwen3.8-max/qwen3.7-max and fixed QWEN_MODEL in both .env files to match. Qwen's Max tier is a standard instruct model, not reasoning-class -- normal temperature/max_tokens handling."
49
49
  },
50
50
  anthropic: {
51
- "claude-opus-4-5": { prompt_per_1k: 0.015, completion_per_1k: 0.075, cached_per_1k: 15e-4 },
52
- "claude-opus-4-7": { prompt_per_1k: 0.015, completion_per_1k: 0.075, cached_per_1k: 15e-4 },
53
- "claude-opus-4-8": { prompt_per_1k: 0.015, completion_per_1k: 0.075, cached_per_1k: 15e-4 },
54
- "claude-fable-5": { prompt_per_1k: 0.01, completion_per_1k: 0.05, cached_per_1k: 1e-3 },
55
- "claude-sonnet-4-5": { prompt_per_1k: 3e-3, completion_per_1k: 0.015, cached_per_1k: 3e-4 },
56
- "claude-sonnet-4-6": { prompt_per_1k: 3e-3, completion_per_1k: 0.015, cached_per_1k: 3e-4 },
57
- "claude-haiku-4-5": { prompt_per_1k: 1e-3, completion_per_1k: 5e-3, cached_per_1k: 1e-4 },
58
- "claude-3-5-sonnet": { prompt_per_1k: 3e-3, completion_per_1k: 0.015, cached_per_1k: 3e-4 },
59
- "claude-3-5-haiku": { prompt_per_1k: 8e-4, completion_per_1k: 4e-3, cached_per_1k: 8e-5 }
51
+ "claude-opus-4-5": {
52
+ prompt_per_1k: 0.015,
53
+ completion_per_1k: 0.075,
54
+ cached_per_1k: 15e-4
55
+ },
56
+ "claude-opus-4-7": {
57
+ prompt_per_1k: 0.015,
58
+ completion_per_1k: 0.075,
59
+ cached_per_1k: 15e-4
60
+ },
61
+ "claude-opus-4-8": {
62
+ prompt_per_1k: 0.015,
63
+ completion_per_1k: 0.075,
64
+ cached_per_1k: 15e-4
65
+ },
66
+ "claude-opus-5": {
67
+ prompt_per_1k: 5e-3,
68
+ completion_per_1k: 0.025,
69
+ cached_per_1k: 5e-4
70
+ },
71
+ "claude-fable-5": {
72
+ prompt_per_1k: 0.01,
73
+ completion_per_1k: 0.05,
74
+ cached_per_1k: 1e-3
75
+ },
76
+ "claude-sonnet-4-5": {
77
+ prompt_per_1k: 3e-3,
78
+ completion_per_1k: 0.015,
79
+ cached_per_1k: 3e-4
80
+ },
81
+ "claude-sonnet-4-6": {
82
+ prompt_per_1k: 3e-3,
83
+ completion_per_1k: 0.015,
84
+ cached_per_1k: 3e-4
85
+ },
86
+ "claude-haiku-4-5": {
87
+ prompt_per_1k: 1e-3,
88
+ completion_per_1k: 5e-3,
89
+ cached_per_1k: 1e-4
90
+ },
91
+ "claude-3-5-sonnet": {
92
+ prompt_per_1k: 3e-3,
93
+ completion_per_1k: 0.015,
94
+ cached_per_1k: 3e-4
95
+ },
96
+ "claude-3-5-haiku": {
97
+ prompt_per_1k: 8e-4,
98
+ completion_per_1k: 4e-3,
99
+ cached_per_1k: 8e-5
100
+ }
60
101
  },
61
102
  openai: {
62
- "gpt-5.6": { prompt_per_1k: 5e-3, completion_per_1k: 0.03, cached_per_1k: 5e-4 },
63
- "gpt-5.5": { prompt_per_1k: 5e-3, completion_per_1k: 0.03, cached_per_1k: 5e-4 },
64
- "gpt-5": { prompt_per_1k: 125e-5, completion_per_1k: 0.01, cached_per_1k: 125e-6 },
65
- "gpt-5-mini": { prompt_per_1k: 5e-4, completion_per_1k: 15e-4, cached_per_1k: 25e-5 },
66
- "gpt-4o": { prompt_per_1k: 25e-4, completion_per_1k: 0.01, cached_per_1k: 125e-5 },
67
- "gpt-4o-mini": { prompt_per_1k: 15e-5, completion_per_1k: 6e-4, cached_per_1k: 75e-6 },
68
- o1: { prompt_per_1k: 0.015, completion_per_1k: 0.06, cached_per_1k: 75e-4 },
69
- "o1-mini": { prompt_per_1k: 3e-3, completion_per_1k: 0.012, cached_per_1k: 15e-4 },
70
- o3: { prompt_per_1k: 0.01, completion_per_1k: 0.04, cached_per_1k: 5e-3 },
71
- "o3-mini": { prompt_per_1k: 11e-4, completion_per_1k: 44e-4, cached_per_1k: 55e-5 }
103
+ "gpt-5.6": {
104
+ prompt_per_1k: 5e-3,
105
+ completion_per_1k: 0.03,
106
+ cached_per_1k: 5e-4
107
+ },
108
+ "gpt-5.5": {
109
+ prompt_per_1k: 5e-3,
110
+ completion_per_1k: 0.03,
111
+ cached_per_1k: 5e-4
112
+ },
113
+ "gpt-5": {
114
+ prompt_per_1k: 125e-5,
115
+ completion_per_1k: 0.01,
116
+ cached_per_1k: 125e-6
117
+ },
118
+ "gpt-5-mini": {
119
+ prompt_per_1k: 5e-4,
120
+ completion_per_1k: 15e-4,
121
+ cached_per_1k: 25e-5
122
+ },
123
+ "gpt-4o": {
124
+ prompt_per_1k: 25e-4,
125
+ completion_per_1k: 0.01,
126
+ cached_per_1k: 125e-5
127
+ },
128
+ "gpt-4o-mini": {
129
+ prompt_per_1k: 15e-5,
130
+ completion_per_1k: 6e-4,
131
+ cached_per_1k: 75e-6
132
+ },
133
+ o1: {
134
+ prompt_per_1k: 0.015,
135
+ completion_per_1k: 0.06,
136
+ cached_per_1k: 75e-4
137
+ },
138
+ "o1-mini": {
139
+ prompt_per_1k: 3e-3,
140
+ completion_per_1k: 0.012,
141
+ cached_per_1k: 15e-4
142
+ },
143
+ o3: {
144
+ prompt_per_1k: 0.01,
145
+ completion_per_1k: 0.04,
146
+ cached_per_1k: 5e-3
147
+ },
148
+ "o3-mini": {
149
+ prompt_per_1k: 11e-4,
150
+ completion_per_1k: 44e-4,
151
+ cached_per_1k: 55e-5
152
+ }
72
153
  },
73
154
  xai: {
74
- "grok-4-latest": { prompt_per_1k: 3e-3, completion_per_1k: 0.015, cached_per_1k: 75e-5 },
75
- "grok-3": { prompt_per_1k: 3e-3, completion_per_1k: 0.015, cached_per_1k: 15e-4 },
76
- "grok-3-mini": { prompt_per_1k: 3e-4, completion_per_1k: 5e-4, cached_per_1k: 15e-5 }
155
+ "grok-4-latest": {
156
+ prompt_per_1k: 3e-3,
157
+ completion_per_1k: 0.015,
158
+ cached_per_1k: 75e-5
159
+ },
160
+ "grok-3": {
161
+ prompt_per_1k: 3e-3,
162
+ completion_per_1k: 0.015,
163
+ cached_per_1k: 15e-4
164
+ },
165
+ "grok-3-mini": {
166
+ prompt_per_1k: 3e-4,
167
+ completion_per_1k: 5e-4,
168
+ cached_per_1k: 15e-5
169
+ }
77
170
  },
78
171
  gemini: {
79
- "gemini-3.1-pro-preview": { prompt_per_1k: 2e-3, completion_per_1k: 0.012, cached_per_1k: 2e-4 },
80
- "gemini-3.5-flash": { prompt_per_1k: 15e-4, completion_per_1k: 9e-3, cached_per_1k: 15e-5 },
81
- "gemini-2.5-flash": { prompt_per_1k: 3e-4, completion_per_1k: 25e-4, cached_per_1k: 75e-6 },
82
- "gemini-2.5-flash-lite": { prompt_per_1k: 1e-4, completion_per_1k: 4e-4, cached_per_1k: 25e-6 }
172
+ "gemini-3.1-pro-preview": {
173
+ prompt_per_1k: 2e-3,
174
+ completion_per_1k: 0.012,
175
+ cached_per_1k: 2e-4
176
+ },
177
+ "gemini-3.5-flash": {
178
+ prompt_per_1k: 15e-4,
179
+ completion_per_1k: 9e-3,
180
+ cached_per_1k: 15e-5
181
+ },
182
+ "gemini-2.5-flash": {
183
+ prompt_per_1k: 3e-4,
184
+ completion_per_1k: 25e-4,
185
+ cached_per_1k: 75e-6
186
+ },
187
+ "gemini-2.5-flash-lite": {
188
+ prompt_per_1k: 1e-4,
189
+ completion_per_1k: 4e-4,
190
+ cached_per_1k: 25e-6
191
+ }
83
192
  },
84
193
  mistral: {
85
- "mistral-large-latest": { prompt_per_1k: 2e-3, completion_per_1k: 6e-3, cached_per_1k: 2e-4 },
86
- "mistral-small-latest": { prompt_per_1k: 2e-4, completion_per_1k: 6e-4, cached_per_1k: 2e-5 }
194
+ "mistral-large-latest": {
195
+ prompt_per_1k: 2e-3,
196
+ completion_per_1k: 6e-3,
197
+ cached_per_1k: 2e-4
198
+ },
199
+ "mistral-small-latest": {
200
+ prompt_per_1k: 2e-4,
201
+ completion_per_1k: 6e-4,
202
+ cached_per_1k: 2e-5
203
+ }
87
204
  },
88
205
  groq: {
89
- "llama-3.3-70b-versatile": { prompt_per_1k: 59e-5, completion_per_1k: 79e-5, cached_per_1k: 295e-6 },
90
- "llama-3.1-8b-instant": { prompt_per_1k: 5e-5, completion_per_1k: 8e-5, cached_per_1k: 25e-6 }
206
+ "llama-3.3-70b-versatile": {
207
+ prompt_per_1k: 59e-5,
208
+ completion_per_1k: 79e-5,
209
+ cached_per_1k: 295e-6
210
+ },
211
+ "llama-3.1-8b-instant": {
212
+ prompt_per_1k: 5e-5,
213
+ completion_per_1k: 8e-5,
214
+ cached_per_1k: 25e-6
215
+ }
91
216
  },
92
217
  deepseek: {
93
- "deepseek-chat": { prompt_per_1k: 27e-5, completion_per_1k: 11e-4, cached_per_1k: 7e-5 },
94
- "deepseek-reasoner": { prompt_per_1k: 55e-5, completion_per_1k: 22e-4, cached_per_1k: 14e-5 }
218
+ "deepseek-chat": {
219
+ prompt_per_1k: 27e-5,
220
+ completion_per_1k: 11e-4,
221
+ cached_per_1k: 7e-5
222
+ },
223
+ "deepseek-reasoner": {
224
+ prompt_per_1k: 55e-5,
225
+ completion_per_1k: 22e-4,
226
+ cached_per_1k: 14e-5
227
+ }
95
228
  },
96
229
  kimi: {
97
- "kimi-k3": { prompt_per_1k: 3e-3, completion_per_1k: 0.015, cached_per_1k: 3e-4 }
230
+ "kimi-k3": {
231
+ prompt_per_1k: 3e-3,
232
+ completion_per_1k: 0.015,
233
+ cached_per_1k: 3e-4
234
+ }
235
+ },
236
+ qwen: {
237
+ "qwen3.8-max": {
238
+ prompt_per_1k: 2e-3,
239
+ completion_per_1k: 6e-3,
240
+ cached_per_1k: 2e-4
241
+ },
242
+ "qwen3.7-max": {
243
+ prompt_per_1k: 125e-5,
244
+ completion_per_1k: 375e-5,
245
+ cached_per_1k: 125e-6
246
+ }
98
247
  },
99
248
  _tiers: {
100
249
  low: {
101
250
  description: "Cheap, fast models for simple subtasks (extraction, formatting, short summaries).",
102
251
  models: [
103
- { provider: "openai", model: "gpt-4o-mini" },
104
- { provider: "openai", model: "gpt-5-mini" },
105
- { provider: "anthropic", model: "claude-haiku-4-5" },
106
- { provider: "anthropic", model: "claude-3-5-haiku" },
107
- { provider: "gemini", model: "gemini-3.5-flash" },
108
- { provider: "gemini", model: "gemini-2.5-flash" },
109
- { provider: "gemini", model: "gemini-2.5-flash-lite" },
110
- { provider: "xai", model: "grok-3-mini" },
111
- { provider: "groq", model: "llama-3.1-8b-instant" },
112
- { provider: "deepseek", model: "deepseek-chat" }
252
+ {
253
+ provider: "openai",
254
+ model: "gpt-4o-mini"
255
+ },
256
+ {
257
+ provider: "openai",
258
+ model: "gpt-5-mini"
259
+ },
260
+ {
261
+ provider: "anthropic",
262
+ model: "claude-haiku-4-5"
263
+ },
264
+ {
265
+ provider: "anthropic",
266
+ model: "claude-3-5-haiku"
267
+ },
268
+ {
269
+ provider: "gemini",
270
+ model: "gemini-3.5-flash"
271
+ },
272
+ {
273
+ provider: "gemini",
274
+ model: "gemini-2.5-flash"
275
+ },
276
+ {
277
+ provider: "gemini",
278
+ model: "gemini-2.5-flash-lite"
279
+ },
280
+ {
281
+ provider: "xai",
282
+ model: "grok-3-mini"
283
+ },
284
+ {
285
+ provider: "groq",
286
+ model: "llama-3.1-8b-instant"
287
+ },
288
+ {
289
+ provider: "deepseek",
290
+ model: "deepseek-chat"
291
+ }
113
292
  ]
114
293
  },
115
294
  med: {
116
295
  description: "Mid-tier models for reasoning, code, multi-step thinking.",
117
296
  models: [
118
- { provider: "anthropic", model: "claude-sonnet-4-5" },
119
- { provider: "anthropic", model: "claude-sonnet-4-6" },
120
- { provider: "openai", model: "gpt-4o" },
121
- { provider: "openai", model: "o3-mini" },
122
- { provider: "gemini", model: "gemini-3.1-pro-preview" },
123
- { provider: "xai", model: "grok-3" },
124
- { provider: "mistral", model: "mistral-large-latest" },
125
- { provider: "deepseek", model: "deepseek-reasoner" },
126
- { provider: "groq", model: "llama-3.3-70b-versatile" }
297
+ {
298
+ provider: "anthropic",
299
+ model: "claude-sonnet-4-5"
300
+ },
301
+ {
302
+ provider: "anthropic",
303
+ model: "claude-sonnet-4-6"
304
+ },
305
+ {
306
+ provider: "openai",
307
+ model: "gpt-4o"
308
+ },
309
+ {
310
+ provider: "openai",
311
+ model: "o3-mini"
312
+ },
313
+ {
314
+ provider: "gemini",
315
+ model: "gemini-3.1-pro-preview"
316
+ },
317
+ {
318
+ provider: "xai",
319
+ model: "grok-3"
320
+ },
321
+ {
322
+ provider: "mistral",
323
+ model: "mistral-large-latest"
324
+ },
325
+ {
326
+ provider: "deepseek",
327
+ model: "deepseek-reasoner"
328
+ },
329
+ {
330
+ provider: "groq",
331
+ model: "llama-3.3-70b-versatile"
332
+ }
127
333
  ]
128
334
  },
129
335
  high: {
130
336
  description: "Most capable models for hard reasoning, planning, audits.",
131
337
  models: [
132
- { provider: "anthropic", model: "claude-opus-4-5" },
133
- { provider: "anthropic", model: "claude-opus-4-7" },
134
- { provider: "anthropic", model: "claude-fable-5" },
135
- { provider: "openai", model: "gpt-5.5" },
136
- { provider: "openai", model: "gpt-5" },
137
- { provider: "openai", model: "o1" },
138
- { provider: "openai", model: "o3" },
139
- { provider: "xai", model: "grok-4-latest" }
338
+ {
339
+ provider: "anthropic",
340
+ model: "claude-opus-4-5"
341
+ },
342
+ {
343
+ provider: "anthropic",
344
+ model: "claude-opus-4-7"
345
+ },
346
+ {
347
+ provider: "anthropic",
348
+ model: "claude-fable-5"
349
+ },
350
+ {
351
+ provider: "openai",
352
+ model: "gpt-5.5"
353
+ },
354
+ {
355
+ provider: "openai",
356
+ model: "gpt-5"
357
+ },
358
+ {
359
+ provider: "openai",
360
+ model: "o1"
361
+ },
362
+ {
363
+ provider: "openai",
364
+ model: "o3"
365
+ },
366
+ {
367
+ provider: "xai",
368
+ model: "grok-4-latest"
369
+ }
140
370
  ]
141
371
  }
142
372
  }
@@ -187,7 +417,7 @@ var PROVIDER_CAPS = {
187
417
  family: "anthropic",
188
418
  system_role: "separate",
189
419
  supports_temperature: "model",
190
- reasoning_prefixes: ["claude-opus-4-7", "claude-opus-4-8", "claude-fable-5"]
420
+ reasoning_prefixes: ["claude-opus-4-7", "claude-opus-4-8", "claude-opus-5", "claude-fable-5"]
191
421
  },
192
422
  openai: {
193
423
  family: "openai_chat",
@@ -212,7 +442,11 @@ var PROVIDER_CAPS = {
212
442
  system_role: "separate",
213
443
  supports_temperature: true,
214
444
  reasoning_prefixes: ["gemini-3.1-pro", "gemini-3.5-flash", "gemini-2.5-pro"]
215
- }
445
+ },
446
+ // Qwen's "Max" tier (qwen-v3.8, qwen-v3.7) is a standard instruct/chat
447
+ // model, not a visible-reasoning model like QwQ — normal temperature and
448
+ // max_tokens handling, same as xai/mistral/groq/deepseek.
449
+ qwen: { family: "openai_chat", system_role: "inline", supports_temperature: true }
216
450
  };
217
451
  function isReasoningModel(provider, model) {
218
452
  const caps = PROVIDER_CAPS[provider];
@@ -783,7 +1017,12 @@ var OPENAI_COMPAT_DEFAULT_URLS = {
783
1017
  groq: "https://api.groq.com/openai/v1/chat/completions",
784
1018
  deepseek: "https://api.deepseek.com/v1/chat/completions",
785
1019
  // Moonshot AI (Kimi). OpenAI-compatible chat completions endpoint.
786
- kimi: "https://api.moonshot.ai/v1/chat/completions"
1020
+ kimi: "https://api.moonshot.ai/v1/chat/completions",
1021
+ // Alibaba Cloud DashScope (Qwen). International endpoint — the mainland
1022
+ // China endpoint (dashscope.aliyuncs.com) 403s/404s from outside China in
1023
+ // a way that can look like a bad key; this is the deliberate default for
1024
+ // a US-based deployment.
1025
+ qwen: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions"
787
1026
  };
788
1027
  var OPENAI_COMPAT_NATIVE_STRUCTURED = /* @__PURE__ */ new Set([
789
1028
  "openai"
@@ -945,14 +1184,15 @@ async function sendOpenAICompatible(args) {
945
1184
 
946
1185
  // src/providers/registry.ts
947
1186
  var DEFAULT_MODELS = {
948
- anthropic: "claude-opus-4-8",
1187
+ anthropic: "claude-opus-5",
949
1188
  openai: "gpt-5.5",
950
1189
  xai: "grok-4-latest",
951
1190
  mistral: "mistral-large-latest",
952
1191
  groq: "llama-3.3-70b-versatile",
953
1192
  deepseek: "deepseek-chat",
954
1193
  gemini: "gemini-3.1-pro-preview",
955
- kimi: "kimi-k3"
1194
+ kimi: "kimi-k3",
1195
+ qwen: "qwen3.8-max"
956
1196
  };
957
1197
  function buildProviders(opts) {
958
1198
  const out = {};
@@ -967,7 +1207,8 @@ function buildProviders(opts) {
967
1207
  { name: "mistral", keyEnv: "MISTRAL_API_KEY", modelEnv: "MISTRAL_MODEL", defaultModel: DEFAULT_MODELS["mistral"] },
968
1208
  { name: "groq", keyEnv: "GROQ_API_KEY", modelEnv: "GROQ_MODEL", defaultModel: DEFAULT_MODELS["groq"] },
969
1209
  { name: "deepseek", keyEnv: "DEEPSEEK_API_KEY", modelEnv: "DEEPSEEK_MODEL", defaultModel: DEFAULT_MODELS["deepseek"] },
970
- { name: "kimi", keyEnv: "KIMI_API_KEY", modelEnv: "KIMI_MODEL", defaultModel: DEFAULT_MODELS["kimi"] }
1210
+ { name: "kimi", keyEnv: "KIMI_API_KEY", modelEnv: "KIMI_MODEL", defaultModel: DEFAULT_MODELS["kimi"] },
1211
+ { name: "qwen", keyEnv: "QWEN_API_KEY", modelEnv: "QWEN_MODEL", defaultModel: DEFAULT_MODELS["qwen"] }
971
1212
  ];
972
1213
  for (const s of openAiCompatSpec) {
973
1214
  const apiKey = opts.env[s.keyEnv];
@@ -1039,7 +1280,7 @@ var import_zod = require("zod");
1039
1280
 
1040
1281
  // src/server-meta.ts
1041
1282
  var SERVER_NAME = "crosscheck-agent";
1042
- var SERVER_VERSION = true ? "0.2.9" : "0.0.0-dev";
1283
+ var SERVER_VERSION = true ? "0.2.11" : "0.0.0-dev";
1043
1284
 
1044
1285
  // src/tools/audit.ts
1045
1286
  var import_node_fs4 = require("fs");
@@ -3888,7 +4129,9 @@ var SUPER_MODELS = {
3888
4129
  // already the default — no-op retarget
3889
4130
  gemini: DEFAULT_MODELS["gemini"],
3890
4131
  // already the default — no-op retarget
3891
- kimi: DEFAULT_MODELS["kimi"]
4132
+ kimi: DEFAULT_MODELS["kimi"],
4133
+ // already the default — no-op retarget
4134
+ qwen: DEFAULT_MODELS["qwen"]
3892
4135
  // already the default — no-op retarget
3893
4136
  };
3894
4137
  var SUPER_PROVIDER_NAMES = Object.keys(SUPER_MODELS);
@@ -9674,7 +9917,8 @@ var KNOWN_PROVIDERS6 = [
9674
9917
  "mistral",
9675
9918
  "groq",
9676
9919
  "deepseek",
9677
- "kimi"
9920
+ "kimi",
9921
+ "qwen"
9678
9922
  ];
9679
9923
  var USAGE_HINT = "Pass a 'providers' array to confer/debate/plan/review to pick an ad-hoc subset, e.g. providers=['openai','gemini']. Omit the field to use the configured active set.";
9680
9924
  function runListProviders(args, opts) {
@@ -11246,7 +11490,7 @@ var CHECK_INTERVAL_SECONDS = 3 * 24 * 60 * 60;
11246
11490
  var DEFAULT_PACKAGE = "crosscheck-cli";
11247
11491
  var FETCH_TIMEOUT_MS = 3e3;
11248
11492
  function engineVersion() {
11249
- return true ? "0.2.9" : "0.0.0-dev";
11493
+ return true ? "0.2.11" : "0.0.0-dev";
11250
11494
  }
11251
11495
  function defaultUpdateCachePath() {
11252
11496
  const base = process.env["CROSSCHECK_DATA_DIR"] || import_node_path12.default.join(import_node_os2.default.homedir() || import_node_os2.default.tmpdir(), ".crosscheck");
@@ -12867,7 +13111,8 @@ var KEY_ENV = {
12867
13111
  groq: "GROQ_API_KEY",
12868
13112
  deepseek: "DEEPSEEK_API_KEY",
12869
13113
  mistral: "MISTRAL_API_KEY",
12870
- kimi: "KIMI_API_KEY"
13114
+ kimi: "KIMI_API_KEY",
13115
+ qwen: "QWEN_API_KEY"
12871
13116
  };
12872
13117
  function createCrosscheck(opts) {
12873
13118
  const env = {};