agent-nuvira 3.3.9 → 3.3.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.
Files changed (153) hide show
  1. package/dist/agents/orchestrator.d.ts.map +1 -1
  2. package/dist/agents/orchestrator.js +6 -0
  3. package/dist/agents/orchestrator.js.map +1 -1
  4. package/dist/cli/chat.d.ts.map +1 -1
  5. package/dist/cli/chat.js +27 -17
  6. package/dist/cli/chat.js.map +1 -1
  7. package/dist/cli/config.d.ts +28 -0
  8. package/dist/cli/config.d.ts.map +1 -1
  9. package/dist/cli/config.js +155 -0
  10. package/dist/cli/config.js.map +1 -1
  11. package/dist/cli/eval.d.ts +8 -0
  12. package/dist/cli/eval.d.ts.map +1 -1
  13. package/dist/cli/eval.js +64 -0
  14. package/dist/cli/eval.js.map +1 -1
  15. package/dist/cli/loop-executor.d.ts +13 -0
  16. package/dist/cli/loop-executor.d.ts.map +1 -1
  17. package/dist/cli/loop-executor.js +22 -18
  18. package/dist/cli/loop-executor.js.map +1 -1
  19. package/dist/config/capability-mode.d.ts +122 -0
  20. package/dist/config/capability-mode.d.ts.map +1 -0
  21. package/dist/config/capability-mode.js +132 -0
  22. package/dist/config/capability-mode.js.map +1 -0
  23. package/dist/config/limits.d.ts +47 -0
  24. package/dist/config/limits.d.ts.map +1 -0
  25. package/dist/config/limits.js +64 -0
  26. package/dist/config/limits.js.map +1 -0
  27. package/dist/config/process-env.d.ts.map +1 -1
  28. package/dist/config/process-env.js +44 -0
  29. package/dist/config/process-env.js.map +1 -1
  30. package/dist/config/types.d.ts +77 -0
  31. package/dist/config/types.d.ts.map +1 -1
  32. package/dist/config/work-digest.d.ts +46 -0
  33. package/dist/config/work-digest.d.ts.map +1 -0
  34. package/dist/config/work-digest.js +80 -0
  35. package/dist/config/work-digest.js.map +1 -0
  36. package/dist/gateway/inbound-media.d.ts +18 -0
  37. package/dist/gateway/inbound-media.d.ts.map +1 -1
  38. package/dist/gateway/inbound-media.js +96 -2
  39. package/dist/gateway/inbound-media.js.map +1 -1
  40. package/dist/inference/anthropic-adapter.d.ts +6 -0
  41. package/dist/inference/anthropic-adapter.d.ts.map +1 -1
  42. package/dist/inference/anthropic-adapter.js +79 -8
  43. package/dist/inference/anthropic-adapter.js.map +1 -1
  44. package/dist/inference/gemini-adapter.d.ts +6 -0
  45. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  46. package/dist/inference/gemini-adapter.js +73 -8
  47. package/dist/inference/gemini-adapter.js.map +1 -1
  48. package/dist/inference/groq-adapter.d.ts +3 -0
  49. package/dist/inference/groq-adapter.d.ts.map +1 -1
  50. package/dist/inference/groq-adapter.js +83 -40
  51. package/dist/inference/groq-adapter.js.map +1 -1
  52. package/dist/inference/interface.d.ts +7 -0
  53. package/dist/inference/interface.d.ts.map +1 -1
  54. package/dist/inference/model-probe.d.ts +17 -0
  55. package/dist/inference/model-probe.d.ts.map +1 -1
  56. package/dist/inference/model-probe.js +58 -1
  57. package/dist/inference/model-probe.js.map +1 -1
  58. package/dist/inference/model-validator.d.ts +16 -1
  59. package/dist/inference/model-validator.d.ts.map +1 -1
  60. package/dist/inference/model-validator.js +83 -2
  61. package/dist/inference/model-validator.js.map +1 -1
  62. package/dist/inference/nim-adapter.js +4 -4
  63. package/dist/inference/nim-adapter.js.map +1 -1
  64. package/dist/inference/openai-compat-adapter.d.ts +9 -0
  65. package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
  66. package/dist/inference/openai-compat-adapter.js +101 -51
  67. package/dist/inference/openai-compat-adapter.js.map +1 -1
  68. package/dist/inference/openrouter-adapter.d.ts +3 -0
  69. package/dist/inference/openrouter-adapter.d.ts.map +1 -1
  70. package/dist/inference/openrouter-adapter.js +134 -57
  71. package/dist/inference/openrouter-adapter.js.map +1 -1
  72. package/dist/inference/reasoning-effort.d.ts +130 -0
  73. package/dist/inference/reasoning-effort.d.ts.map +1 -0
  74. package/dist/inference/reasoning-effort.js +237 -0
  75. package/dist/inference/reasoning-effort.js.map +1 -0
  76. package/dist/inference/route-resolver.d.ts +7 -0
  77. package/dist/inference/route-resolver.d.ts.map +1 -1
  78. package/dist/inference/route-resolver.js +2 -1
  79. package/dist/inference/route-resolver.js.map +1 -1
  80. package/dist/inference/sse.d.ts +6 -0
  81. package/dist/inference/sse.d.ts.map +1 -1
  82. package/dist/inference/sse.js +1 -0
  83. package/dist/inference/sse.js.map +1 -1
  84. package/dist/inference/tools.d.ts +13 -0
  85. package/dist/inference/tools.d.ts.map +1 -1
  86. package/dist/inference/tools.js +20 -2
  87. package/dist/inference/tools.js.map +1 -1
  88. package/dist/learning/autonomy-policy.d.ts +8 -0
  89. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  90. package/dist/learning/autonomy-policy.js +34 -0
  91. package/dist/learning/autonomy-policy.js.map +1 -1
  92. package/dist/learning/capability-parity.d.ts +108 -0
  93. package/dist/learning/capability-parity.d.ts.map +1 -0
  94. package/dist/learning/capability-parity.js +154 -0
  95. package/dist/learning/capability-parity.js.map +1 -0
  96. package/dist/learning/cost-tracker.d.ts +28 -4
  97. package/dist/learning/cost-tracker.d.ts.map +1 -1
  98. package/dist/learning/cost-tracker.js +58 -8
  99. package/dist/learning/cost-tracker.js.map +1 -1
  100. package/dist/learning/eval-framework.d.ts +17 -0
  101. package/dist/learning/eval-framework.d.ts.map +1 -1
  102. package/dist/learning/eval-framework.js +63 -2
  103. package/dist/learning/eval-framework.js.map +1 -1
  104. package/dist/learning/model-capability.d.ts +94 -0
  105. package/dist/learning/model-capability.d.ts.map +1 -0
  106. package/dist/learning/model-capability.js +172 -0
  107. package/dist/learning/model-capability.js.map +1 -0
  108. package/dist/learning/model-registry.d.ts +33 -0
  109. package/dist/learning/model-registry.d.ts.map +1 -1
  110. package/dist/learning/model-registry.js +79 -0
  111. package/dist/learning/model-registry.js.map +1 -1
  112. package/dist/learning/reasoning-trace.d.ts +1 -1
  113. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  114. package/dist/learning/reasoning-trace.js.map +1 -1
  115. package/dist/learning/resolve-options.d.ts.map +1 -1
  116. package/dist/learning/resolve-options.js +16 -3
  117. package/dist/learning/resolve-options.js.map +1 -1
  118. package/dist/learning/run-trace.d.ts +68 -0
  119. package/dist/learning/run-trace.d.ts.map +1 -1
  120. package/dist/learning/run-trace.js +101 -0
  121. package/dist/learning/run-trace.js.map +1 -1
  122. package/dist/tools/loop-skill-hint.d.ts +27 -0
  123. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  124. package/dist/tools/loop-skill-hint.js +189 -5
  125. package/dist/tools/loop-skill-hint.js.map +1 -1
  126. package/dist/tools/read-extract.d.ts +9 -3
  127. package/dist/tools/read-extract.d.ts.map +1 -1
  128. package/dist/tools/read-extract.js +70 -25
  129. package/dist/tools/read-extract.js.map +1 -1
  130. package/dist/tools/tool-loop.d.ts +120 -0
  131. package/dist/tools/tool-loop.d.ts.map +1 -1
  132. package/dist/tools/tool-loop.js +447 -5
  133. package/dist/tools/tool-loop.js.map +1 -1
  134. package/dist/web-dashboard/attachment-extract.d.ts +8 -1
  135. package/dist/web-dashboard/attachment-extract.d.ts.map +1 -1
  136. package/dist/web-dashboard/attachment-extract.js +14 -3
  137. package/dist/web-dashboard/attachment-extract.js.map +1 -1
  138. package/dist/web-dashboard/server.d.ts.map +1 -1
  139. package/dist/web-dashboard/server.js +160 -21
  140. package/dist/web-dashboard/server.js.map +1 -1
  141. package/dist/web-dashboard/src/types.d.ts +26 -0
  142. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  143. package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
  144. package/dist/web-dashboard/workspace-guard.js +44 -4
  145. package/dist/web-dashboard/workspace-guard.js.map +1 -1
  146. package/package.json +1 -1
  147. package/src/web-dashboard/public/assets/index-BdKf5Xw2.js +207 -0
  148. package/src/web-dashboard/public/assets/index-BdKf5Xw2.js.map +1 -0
  149. package/src/web-dashboard/public/assets/index-C9eBskc9.css +1 -0
  150. package/src/web-dashboard/public/index.html +2 -2
  151. package/src/web-dashboard/public/assets/index-Beportyl.js +0 -207
  152. package/src/web-dashboard/public/assets/index-Beportyl.js.map +0 -1
  153. package/src/web-dashboard/public/assets/index-gtQyg9nm.css +0 -1
@@ -1,14 +1,32 @@
1
1
  import { logger } from '../utils/logger.js';
2
2
  import { getModelTags } from './model-catalog.js';
3
3
  import { getCostTracker } from '../learning/cost-tracker.js';
4
+ import { getModelRegistry } from '../learning/model-registry.js';
4
5
  import { requireAdapterModel } from '../learning/model-selection.js';
5
6
  import { attachHttpContext } from './http-error.js';
7
+ import { resolveReasoningRequest, withReasoningFallback, ambientReasoningEffort, reasoningShapeForProvider, reasoningRequestBody, SHAPE_DEFAULT_PARAM, } from './reasoning-effort.js';
6
8
  import { toGeminiContents, toGeminiFunctionDeclarations, parseGeminiToolResponse, parseGeminiToolSSEChunk, } from './native-tools.js';
7
9
  const GEMINI_BASE_URL = 'https://generativelanguage.googleapis.com/v1beta/models';
8
10
  /** Flatten a thread's text content for cost metering (best-effort estimate). */
9
11
  function promptDigest(messages) {
10
12
  return messages.map((m) => m.content).filter(Boolean).join('\n');
11
13
  }
14
+ /**
15
+ * Merge a thinking-budget fragment into a Gemini request body. Gemini nests the
16
+ * control under `generationConfig.thinkingConfig`, so the flat fragment is
17
+ * placed there rather than at the top level. Returns the body unchanged when
18
+ * there is nothing to add. (Default-deny means this only fires for a model the
19
+ * registry verified accepts it — e.g. a 2.5-class model, not 2.0.)
20
+ */
21
+ function applyGeminiThinking(body, reasoningBody) {
22
+ if (!reasoningBody || Object.keys(reasoningBody).length === 0)
23
+ return body;
24
+ const thinkingConfig = reasoningBody.thinkingConfig;
25
+ if (!thinkingConfig)
26
+ return body;
27
+ const generationConfig = body.generationConfig || {};
28
+ return { ...body, generationConfig: { ...generationConfig, thinkingConfig } };
29
+ }
12
30
  /**
13
31
  * Parse a Gemini SSE streaming response line.
14
32
  * Gemini's streaming format differs from OpenAI's SSE:
@@ -40,12 +58,32 @@ export class GeminiAdapter {
40
58
  constructor(config) {
41
59
  this.config = config;
42
60
  }
61
+ /** Resolve the request-side reasoning parameter (default-deny). See reasoning-effort.ts. */
62
+ reasoningRequest(model, options) {
63
+ if (options?.reasoningProbe) {
64
+ const shape = reasoningShapeForProvider('gemini');
65
+ if (!shape)
66
+ return undefined;
67
+ const param = SHAPE_DEFAULT_PARAM[shape];
68
+ return { body: reasoningRequestBody({ param, shape }, 'low'), param, shape };
69
+ }
70
+ return resolveReasoningRequest('gemini', model, options?.reasoningEffort ?? ambientReasoningEffort(), getModelRegistry());
71
+ }
43
72
  async generate(prompt, options) {
44
73
  const apiKey = this.config.apiKey;
45
74
  if (!apiKey) {
46
75
  throw new Error('Google Gemini API key is not configured. Set GEMINI_API_KEY env var.');
47
76
  }
48
77
  const model = options?.model || requireAdapterModel('gemini', this.config.model);
78
+ return withReasoningFallback({
79
+ provider: 'gemini',
80
+ model,
81
+ request: this.reasoningRequest(model, options),
82
+ registry: getModelRegistry(),
83
+ run: (reasoningBody) => this.generateOnce(prompt, model, apiKey, options, reasoningBody),
84
+ });
85
+ }
86
+ async generateOnce(prompt, model, apiKey, options, reasoningBody) {
49
87
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
50
88
  const maxTokens = options?.maxTokens ?? this.config.maxTokens ?? 8192;
51
89
  logger.debug(`Gemini: Generating with model=${model}, temperature=${temperature}, maxTokens=${maxTokens}`);
@@ -53,13 +91,13 @@ export class GeminiAdapter {
53
91
  const response = await fetch(url, {
54
92
  method: 'POST',
55
93
  headers: { 'Content-Type': 'application/json' },
56
- body: JSON.stringify({
94
+ body: JSON.stringify(applyGeminiThinking({
57
95
  contents: [{ parts: [{ text: prompt }] }],
58
96
  generationConfig: {
59
97
  temperature,
60
98
  maxOutputTokens: maxTokens,
61
99
  },
62
- }),
100
+ }, reasoningBody)),
63
101
  });
64
102
  if (!response.ok) {
65
103
  const errorBody = await response.text();
@@ -82,6 +120,15 @@ export class GeminiAdapter {
82
120
  throw new Error('Google Gemini API key is not configured. Set GEMINI_API_KEY env var.');
83
121
  }
84
122
  const model = options?.model || requireAdapterModel('gemini', this.config.model);
123
+ return withReasoningFallback({
124
+ provider: 'gemini',
125
+ model,
126
+ request: this.reasoningRequest(model, options),
127
+ registry: getModelRegistry(),
128
+ run: (reasoningBody) => this.generateStreamOnce(prompt, model, apiKey, options, onToken, reasoningBody),
129
+ });
130
+ }
131
+ async generateStreamOnce(prompt, model, apiKey, options, onToken, reasoningBody) {
85
132
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
86
133
  const maxTokens = options?.maxTokens ?? this.config.maxTokens ?? 8192;
87
134
  logger.debug(`Gemini: Streaming with model=${model}, temperature=${temperature}, maxTokens=${maxTokens}`);
@@ -90,13 +137,13 @@ export class GeminiAdapter {
90
137
  const response = await fetch(url, {
91
138
  method: 'POST',
92
139
  headers: { 'Content-Type': 'application/json' },
93
- body: JSON.stringify({
140
+ body: JSON.stringify(applyGeminiThinking({
94
141
  contents: [{ parts: [{ text: prompt }] }],
95
142
  generationConfig: {
96
143
  temperature,
97
144
  maxOutputTokens: maxTokens,
98
145
  },
99
- }),
146
+ }, reasoningBody)),
100
147
  });
101
148
  if (!response.ok) {
102
149
  const errorBody = await response.text();
@@ -167,17 +214,26 @@ export class GeminiAdapter {
167
214
  throw new Error('Google Gemini API key is not configured. Set GEMINI_API_KEY env var.');
168
215
  }
169
216
  const model = options?.model || requireAdapterModel('gemini', this.config.model);
217
+ return withReasoningFallback({
218
+ provider: 'gemini',
219
+ model,
220
+ request: this.reasoningRequest(model, options),
221
+ registry: getModelRegistry(),
222
+ run: (reasoningBody) => this.generateToolsOnce(messages, tools, model, apiKey, options, reasoningBody),
223
+ });
224
+ }
225
+ async generateToolsOnce(messages, tools, model, apiKey, options, reasoningBody) {
170
226
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
171
227
  const maxTokens = options?.maxTokens ?? this.config.maxTokens ?? 8192;
172
228
  const { systemInstruction, contents } = toGeminiContents(messages);
173
- const body = {
229
+ const body = applyGeminiThinking({
174
230
  contents,
175
231
  tools: toGeminiFunctionDeclarations(tools),
176
232
  generationConfig: {
177
233
  temperature,
178
234
  maxOutputTokens: maxTokens,
179
235
  },
180
- };
236
+ }, reasoningBody);
181
237
  if (systemInstruction)
182
238
  body.systemInstruction = systemInstruction;
183
239
  logger.debug(`Gemini: Tool-calling with model=${model}, tools=${tools.length}`);
@@ -212,17 +268,26 @@ export class GeminiAdapter {
212
268
  throw new Error('Google Gemini API key is not configured. Set GEMINI_API_KEY env var.');
213
269
  }
214
270
  const model = options?.model || requireAdapterModel('gemini', this.config.model);
271
+ return withReasoningFallback({
272
+ provider: 'gemini',
273
+ model,
274
+ request: this.reasoningRequest(model, options),
275
+ registry: getModelRegistry(),
276
+ run: (reasoningBody) => this.generateToolsStreamOnce(messages, tools, model, apiKey, options, onToken, reasoningBody),
277
+ });
278
+ }
279
+ async generateToolsStreamOnce(messages, tools, model, apiKey, options, onToken, reasoningBody) {
215
280
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
216
281
  const maxTokens = options?.maxTokens ?? this.config.maxTokens ?? 8192;
217
282
  const { systemInstruction, contents } = toGeminiContents(messages);
218
- const body = {
283
+ const body = applyGeminiThinking({
219
284
  contents,
220
285
  tools: toGeminiFunctionDeclarations(tools),
221
286
  generationConfig: {
222
287
  temperature,
223
288
  maxOutputTokens: maxTokens,
224
289
  },
225
- };
290
+ }, reasoningBody);
226
291
  if (systemInstruction)
227
292
  body.systemInstruction = systemInstruction;
228
293
  logger.debug(`Gemini: Streaming tool-calling with model=${model}, tools=${tools.length}`);
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-adapter.js","sourceRoot":"","sources":["../../src/inference/gemini-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-adapter.js","sourceRoot":"","sources":["../../src/inference/gemini-adapter.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,10 @@ export declare class GroqAdapter implements InferenceProvider {
10
10
  /** Resolved endpoint (config.baseUrl → Groq default). */
11
11
  private baseUrl;
12
12
  constructor(config: ProviderConfig);
13
+ /** Resolve the request-side reasoning parameter (default-deny). See reasoning-effort.ts. */
14
+ private reasoningRequest;
13
15
  generate(prompt: string, options?: InferenceOptions): Promise<string>;
16
+ private generateOnce;
14
17
  /** H1 — native tool-calling via the OpenAI `tools` protocol. */
15
18
  generateTools(messages: ToolMessage[], tools: ToolSchema[], options?: InferenceOptions): Promise<ToolCallResponse>;
16
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"groq-adapter.d.ts","sourceRoot":"","sources":["../../src/inference/groq-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA6EtE;;;GAGG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,MAAM,CAAiB;IAC/B,yDAAyD;IACzD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,cAAc;IAK5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyD3E,gEAAgE;IAC1D,aAAa,CACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAyB5B;;;OAGG;IACG,mBAAmB,CACvB,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IA8BtB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,MAAM,CAAC;IAqCZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,OAAO,IAAI,MAAM;IAIX,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAgC/C"}
1
+ {"version":3,"file":"groq-adapter.d.ts","sourceRoot":"","sources":["../../src/inference/groq-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuFtE;;;GAGG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,MAAM,CAAiB;IAC/B,yDAAyD;IACzD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,cAAc;IAKlC,4FAA4F;IAC5F,OAAO,CAAC,gBAAgB;IAUlB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;YAiB7D,YAAY;IAyD1B,gEAAgE;IAC1D,aAAa,CACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAgC5B;;;OAGG;IACG,mBAAmB,CACvB,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAqCtB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,MAAM,CAAC;IA4CZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,OAAO,IAAI,MAAM;IAIX,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAgC/C"}
@@ -5,6 +5,8 @@ import { attachHttpContext } from './http-error.js';
5
5
  import { getModelTags } from './model-catalog.js';
6
6
  import { getCostTracker, recordCallWithUsage } from '../learning/cost-tracker.js';
7
7
  import { requireAdapterModel } from '../learning/model-selection.js';
8
+ import { getModelRegistry } from '../learning/model-registry.js';
9
+ import { resolveReasoningRequest, withReasoningFallback, ambientReasoningEffort, reasoningShapeForProvider, reasoningRequestBody, SHAPE_DEFAULT_PARAM, } from './reasoning-effort.js';
8
10
  /**
9
11
  * Default Groq endpoint. `providers.groq.baseUrl` overrides it — the same
10
12
  * override NIM, Anthropic and the generic OpenAI-compatible adapter honor, and
@@ -77,6 +79,17 @@ export class GroqAdapter {
77
79
  this.config = config;
78
80
  this.baseUrl = (config.baseUrl || GROQ_DEFAULT_BASE_URL).replace(/\/+$/, '');
79
81
  }
82
+ /** Resolve the request-side reasoning parameter (default-deny). See reasoning-effort.ts. */
83
+ reasoningRequest(model, options) {
84
+ if (options?.reasoningProbe) {
85
+ const shape = reasoningShapeForProvider('groq');
86
+ if (!shape)
87
+ return undefined;
88
+ const param = SHAPE_DEFAULT_PARAM[shape];
89
+ return { body: reasoningRequestBody({ param, shape }, 'low'), param, shape };
90
+ }
91
+ return resolveReasoningRequest('groq', model, options?.reasoningEffort ?? ambientReasoningEffort(), getModelRegistry());
92
+ }
80
93
  async generate(prompt, options) {
81
94
  // M2.3: options.apiKey overrides the configured key (multi-account rotation).
82
95
  const apiKey = options?.apiKey || this.config.apiKey;
@@ -84,6 +97,15 @@ export class GroqAdapter {
84
97
  throw new Error('Groq API key is not configured. Set GROQ_API_KEY env var.');
85
98
  }
86
99
  const model = options?.model || requireAdapterModel('groq', this.config.model);
100
+ return withReasoningFallback({
101
+ provider: 'groq',
102
+ model,
103
+ request: this.reasoningRequest(model, options),
104
+ registry: getModelRegistry(),
105
+ run: (reasoningBody) => this.generateOnce(prompt, model, apiKey, options, reasoningBody),
106
+ });
107
+ }
108
+ async generateOnce(prompt, model, apiKey, options, reasoningBody) {
87
109
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
88
110
  const maxTokens = Math.min(options?.maxTokens ?? this.config.maxTokens ?? 4096, groqModelMaxTokens(model));
89
111
  logger.debug(`Groq: Generating with model=${model}, temperature=${temperature}, maxTokens=${maxTokens}`);
@@ -98,6 +120,7 @@ export class GroqAdapter {
98
120
  messages: [{ role: 'user', content: prompt }],
99
121
  temperature,
100
122
  max_tokens: maxTokens,
123
+ ...reasoningBody,
101
124
  }),
102
125
  });
103
126
  if (!response.ok) {
@@ -123,25 +146,32 @@ export class GroqAdapter {
123
146
  if (!apiKey)
124
147
  throw new Error('Groq API key is not configured. Set GROQ_API_KEY env var.');
125
148
  const model = options?.model || requireAdapterModel('groq', this.config.model);
126
- return chatCompletionsWithTools({
127
- baseUrl: this.baseUrl,
128
- headers: { 'Authorization': `Bearer ${apiKey}` },
149
+ return withReasoningFallback({
150
+ provider: 'groq',
129
151
  model,
130
- messages,
131
- tools,
132
- temperature: options?.temperature ?? this.config.temperature ?? 0.7, maxTokens: Math.min(options?.maxTokens ?? this.config.maxTokens ?? 4096, groqModelMaxTokens(model)),
133
- timeoutMs: this.config.timeoutMs ?? 30_000,
134
- // P4 — external cancellation (the dashboard Cancel button).
135
- signal: options?.signal,
136
- // Cost parity with generate(): meter tool-calling turns too.
137
- onCost: (promptText, contentText) => {
138
- try {
139
- recordCallWithUsage(getCostTracker(), 'groq', model, promptText, contentText, undefined);
140
- }
141
- catch {
142
- // Non-critical.
143
- }
144
- },
152
+ request: this.reasoningRequest(model, options),
153
+ registry: getModelRegistry(),
154
+ run: (reasoningBody) => chatCompletionsWithTools({
155
+ baseUrl: this.baseUrl,
156
+ headers: { 'Authorization': `Bearer ${apiKey}` },
157
+ model,
158
+ messages,
159
+ tools,
160
+ temperature: options?.temperature ?? this.config.temperature ?? 0.7, maxTokens: Math.min(options?.maxTokens ?? this.config.maxTokens ?? 4096, groqModelMaxTokens(model)),
161
+ timeoutMs: this.config.timeoutMs ?? 30_000,
162
+ // P4 — external cancellation (the dashboard Cancel button).
163
+ signal: options?.signal,
164
+ // Cost parity with generate(): meter tool-calling turns too.
165
+ onCost: (promptText, contentText, usage) => {
166
+ try {
167
+ recordCallWithUsage(getCostTracker(), 'groq', model, promptText, contentText, usage);
168
+ }
169
+ catch {
170
+ // Non-critical.
171
+ }
172
+ },
173
+ reasoningBody,
174
+ }),
145
175
  });
146
176
  }
147
177
  /**
@@ -153,27 +183,34 @@ export class GroqAdapter {
153
183
  if (!apiKey)
154
184
  throw new Error('Groq API key is not configured. Set GROQ_API_KEY env var.');
155
185
  const model = options?.model || requireAdapterModel('groq', this.config.model);
156
- return chatCompletionsWithToolsStream({
157
- baseUrl: this.baseUrl,
158
- headers: { 'Authorization': `Bearer ${apiKey}` },
186
+ return withReasoningFallback({
187
+ provider: 'groq',
159
188
  model,
160
- messages,
161
- tools,
162
- temperature: options?.temperature ?? this.config.temperature ?? 0.7,
163
- maxTokens: Math.min(options?.maxTokens ?? this.config.maxTokens ?? 4096, groqModelMaxTokens(model)),
164
- timeoutMs: this.config.timeoutMs ?? 30_000,
165
- // P4 — external cancellation (the dashboard Cancel button).
166
- signal: options?.signal,
167
- // Cost parity with generate(): meter tool-calling turns too.
168
- onCost: (promptText, contentText) => {
169
- try {
170
- recordCallWithUsage(getCostTracker(), 'groq', model, promptText, contentText, undefined);
171
- }
172
- catch {
173
- // Non-critical.
174
- }
175
- },
176
- }, onToken);
189
+ request: this.reasoningRequest(model, options),
190
+ registry: getModelRegistry(),
191
+ run: (reasoningBody) => chatCompletionsWithToolsStream({
192
+ baseUrl: this.baseUrl,
193
+ headers: { 'Authorization': `Bearer ${apiKey}` },
194
+ model,
195
+ messages,
196
+ tools,
197
+ temperature: options?.temperature ?? this.config.temperature ?? 0.7,
198
+ maxTokens: Math.min(options?.maxTokens ?? this.config.maxTokens ?? 4096, groqModelMaxTokens(model)),
199
+ timeoutMs: this.config.timeoutMs ?? 30_000,
200
+ // P4 — external cancellation (the dashboard Cancel button).
201
+ signal: options?.signal,
202
+ // Cost parity with generate(): meter tool-calling turns too.
203
+ onCost: (promptText, contentText, usage) => {
204
+ try {
205
+ recordCallWithUsage(getCostTracker(), 'groq', model, promptText, contentText, usage);
206
+ }
207
+ catch {
208
+ // Non-critical.
209
+ }
210
+ },
211
+ reasoningBody,
212
+ }, onToken),
213
+ });
177
214
  }
178
215
  async generateStream(prompt, options, onToken) {
179
216
  // M2.3: options.apiKey overrides the configured key (multi-account rotation).
@@ -188,8 +225,14 @@ export class GroqAdapter {
188
225
  // M2.2: capture the endpoint-reported usage from the final SSE chunk
189
226
  // (OpenAI stream_options.include_usage convention) for measured cost.
190
227
  let streamUsage;
191
- const fullContent = await streamCompletion(`${this.baseUrl}/chat/completions`, { 'Authorization': `Bearer ${apiKey}` }, { model, messages: [{ role: 'user', content: prompt }], temperature, max_tokens: maxTokens }, onToken, (u) => {
192
- streamUsage = u;
228
+ const fullContent = await withReasoningFallback({
229
+ provider: 'groq',
230
+ model,
231
+ request: this.reasoningRequest(model, options),
232
+ registry: getModelRegistry(),
233
+ run: (reasoningBody) => streamCompletion(`${this.baseUrl}/chat/completions`, { 'Authorization': `Bearer ${apiKey}` }, { model, messages: [{ role: 'user', content: prompt }], temperature, max_tokens: maxTokens, ...reasoningBody }, onToken, (u) => {
234
+ streamUsage = u;
235
+ }),
193
236
  });
194
237
  // Track cost for streaming response
195
238
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"groq-adapter.js","sourceRoot":"","sources":["../../src/inference/groq-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groq-adapter.js","sourceRoot":"","sources":["../../src/inference/groq-adapter.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@ export interface ModelDescriptor {
21
21
  * context preflight uses the LIVE descriptor, not a static table.
22
22
  */
23
23
  contextWindowTokens?: number;
24
+ /**
25
+ * The provider's OWN advertised list of request parameters this model
26
+ * accepts, when the list endpoint exposes it (OpenRouter `/models`
27
+ * `supported_parameters`). Used to learn reasoning-parameter support from the
28
+ * PROVIDER rather than guessing it (see reasoning-effort.ts).
29
+ */
30
+ supportedParameters?: string[];
24
31
  }
25
32
  import { InferenceOptions } from '../config/types.js';
26
33
  /** One message in a tool-calling conversation (OpenAI wire shape). */
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/inference/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/inference/interface.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,23 @@ export declare function probeProviderList(providerType: string, configManager: C
69
69
  * Returns the outcome for callers that want to render a summary.
70
70
  */
71
71
  export declare function spotCheckModel(providerType: string, model: string, configManager: ConfigManager): Promise<'verified' | 'unavailable' | 'skipped' | 'error'>;
72
+ /**
73
+ * Establish whether a provider × model ACTUALLY accepts a reasoning parameter,
74
+ * by sending one tiny generation with it (probe mode bypasses default-deny) and
75
+ * recording the outcome. This is how a provider that does NOT advertise its
76
+ * supported parameters (Groq, DeepSeek, …) gets the same learned truth
77
+ * OpenRouter gets from its `/models` metadata — so the `max` knob works for
78
+ * every strong model, not only the ones that self-describe.
79
+ *
80
+ * Conservative by design:
81
+ * - a SUCCESS records `supported` (the model accepted it),
82
+ * - a parameter REJECTION records `learned-unsupported`,
83
+ * - anything else (rate-limit, network, generic error) learns NOTHING and
84
+ * leaves the pair unknown ⇒ the knob stays inert (default-deny).
85
+ * Already-known pairs are skipped, so this runs at most once per model.
86
+ * Never throws.
87
+ */
88
+ export declare function probeReasoningSupport(providerType: string, model: string, provider: InferenceProvider): Promise<void>;
72
89
  /** Options for a registry refresh pass. */
73
90
  export interface RefreshOptions {
74
91
  /** Restrict to these providers (default: all PROBE_PROVIDERS with keys). */
@@ -1 +1 @@
1
- {"version":3,"file":"model-probe.d.ts","sourceRoot":"","sources":["../../src/inference/model-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAQjG;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAmD,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,CAa5E;AAED,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAElE,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAOlD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAU1G;AAID;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe7G;AAID;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,CA0D3D;AA8BD,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4G7H;AA8BD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,OAAO,GAAE,cAAc,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD;IAAE,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;CAAE,CAqF7D;AAID,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"model-probe.d.ts","sourceRoot":"","sources":["../../src/inference/model-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAcjG;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAmD,CAAC;AAEhF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,CAa5E;AAED,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAElE,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAOlD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAU1G;AAID;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe7G;AAID;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,CAgE3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAwBf;AA8BD,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4G7H;AAqCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,OAAO,GAAE,cAAc,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD;IAAE,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;CAAE,CAqF7D;AAID,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -26,6 +26,8 @@ import { classifyFallbackError } from '../learning/provider-fallback.js';
26
26
  import { getEventBus, EventNames } from '../observability/event-bus.js';
27
27
  import { CATALOG_PROVIDER_IDS, isCatalogKeyless } from './provider-catalog.js';
28
28
  import { isNonChatModel } from './model-catalog.js';
29
+ import { estimateModelCapability, isHighCapabilityModel } from '../learning/model-capability.js';
30
+ import { reasoningShapeForProvider, isReasoningParamRejection, SHAPE_DEFAULT_PARAM, } from './reasoning-effort.js';
29
31
  import { logger } from '../utils/logger.js';
30
32
  // ─── Constants ──────────────────────────────────────────────────────────────
31
33
  /**
@@ -146,6 +148,12 @@ export async function spotCheckModel(providerType, model, configManager) {
146
148
  void result;
147
149
  const latencyMs = Date.now() - startedAt;
148
150
  registry.markVerified(providerType, model, 'spot-check', latencyMs, 'spot-check');
151
+ // Having proved the model SERVES, learn whether it accepts a reasoning
152
+ // parameter — but only for a strong model (where the knob matters and the
153
+ // extra request is worth it). Best-effort: never affects the verify result.
154
+ if (isHighCapabilityModel(model)) {
155
+ await probeReasoningSupport(providerType, model, provider);
156
+ }
149
157
  return 'verified';
150
158
  }
151
159
  catch (err) {
@@ -171,6 +179,47 @@ export async function spotCheckModel(providerType, model, configManager) {
171
179
  return 'error';
172
180
  }
173
181
  }
182
+ /**
183
+ * Establish whether a provider × model ACTUALLY accepts a reasoning parameter,
184
+ * by sending one tiny generation with it (probe mode bypasses default-deny) and
185
+ * recording the outcome. This is how a provider that does NOT advertise its
186
+ * supported parameters (Groq, DeepSeek, …) gets the same learned truth
187
+ * OpenRouter gets from its `/models` metadata — so the `max` knob works for
188
+ * every strong model, not only the ones that self-describe.
189
+ *
190
+ * Conservative by design:
191
+ * - a SUCCESS records `supported` (the model accepted it),
192
+ * - a parameter REJECTION records `learned-unsupported`,
193
+ * - anything else (rate-limit, network, generic error) learns NOTHING and
194
+ * leaves the pair unknown ⇒ the knob stays inert (default-deny).
195
+ * Already-known pairs are skipped, so this runs at most once per model.
196
+ * Never throws.
197
+ */
198
+ export async function probeReasoningSupport(providerType, model, provider) {
199
+ const registry = getModelRegistry();
200
+ if (registry.getReasoningCapability(providerType, model))
201
+ return;
202
+ const shape = reasoningShapeForProvider(providerType);
203
+ if (!shape)
204
+ return;
205
+ const param = SHAPE_DEFAULT_PARAM[shape];
206
+ try {
207
+ await withTimeout(provider.generate(SPOT_CHECK_PROMPT, {
208
+ model,
209
+ maxTokens: 1,
210
+ temperature: 0,
211
+ reasoningEffort: 'low',
212
+ reasoningProbe: true,
213
+ }), SPOT_CHECK_TIMEOUT_MS);
214
+ registry.markReasoningSupported(providerType, model, param, shape, 'probed');
215
+ }
216
+ catch (err) {
217
+ if (isReasoningParamRejection(err, param)) {
218
+ registry.markReasoningUnsupported(providerType, model, param);
219
+ }
220
+ // Otherwise: transient / provider-level — learn nothing (stay default-deny).
221
+ }
222
+ }
174
223
  /** 403/404 = "you can't buy/access this model" — treat as unavailable, not transient. */
175
224
  function isPermissionError(message) {
176
225
  const lower = message.toLowerCase();
@@ -315,7 +364,15 @@ function rankProbeCandidates(ids) {
315
364
  const score = (id) => {
316
365
  // Shared non-chat classifier (safety/embedding/speech/image/video) — one
317
366
  // source of truth with the registry's preferred-model ranking.
318
- let s = isNonChatModel(id) ? 100 : 0;
367
+ if (isNonChatModel(id))
368
+ return 100;
369
+ // CAPABILITY FIRST — the probe's spot-check budget is small (a handful of
370
+ // models per provider per pass), and the registry GAP is that strong models
371
+ // go unverified while cheap ones get verified, so the router substitutes
372
+ // DOWN. Spending the budget on the most capable chat models first is what
373
+ // keeps a strong model landed in the registry for `max` to route to.
374
+ let s = (1 - estimateModelCapability(id)) * 10;
375
+ // Still deprioritize preview/experimental ids (less stable to verify).
319
376
  if (/(preview|exp$|latest)/.test(id))
320
377
  s += 10;
321
378
  return s;