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.
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +6 -0
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +27 -17
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts +28 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +155 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/eval.d.ts +8 -0
- package/dist/cli/eval.d.ts.map +1 -1
- package/dist/cli/eval.js +64 -0
- package/dist/cli/eval.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +13 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +22 -18
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/config/capability-mode.d.ts +122 -0
- package/dist/config/capability-mode.d.ts.map +1 -0
- package/dist/config/capability-mode.js +132 -0
- package/dist/config/capability-mode.js.map +1 -0
- package/dist/config/limits.d.ts +47 -0
- package/dist/config/limits.d.ts.map +1 -0
- package/dist/config/limits.js +64 -0
- package/dist/config/limits.js.map +1 -0
- package/dist/config/process-env.d.ts.map +1 -1
- package/dist/config/process-env.js +44 -0
- package/dist/config/process-env.js.map +1 -1
- package/dist/config/types.d.ts +77 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/work-digest.d.ts +46 -0
- package/dist/config/work-digest.d.ts.map +1 -0
- package/dist/config/work-digest.js +80 -0
- package/dist/config/work-digest.js.map +1 -0
- package/dist/gateway/inbound-media.d.ts +18 -0
- package/dist/gateway/inbound-media.d.ts.map +1 -1
- package/dist/gateway/inbound-media.js +96 -2
- package/dist/gateway/inbound-media.js.map +1 -1
- package/dist/inference/anthropic-adapter.d.ts +6 -0
- package/dist/inference/anthropic-adapter.d.ts.map +1 -1
- package/dist/inference/anthropic-adapter.js +79 -8
- package/dist/inference/anthropic-adapter.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts +6 -0
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +73 -8
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/groq-adapter.d.ts +3 -0
- package/dist/inference/groq-adapter.d.ts.map +1 -1
- package/dist/inference/groq-adapter.js +83 -40
- package/dist/inference/groq-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +7 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/model-probe.d.ts +17 -0
- package/dist/inference/model-probe.d.ts.map +1 -1
- package/dist/inference/model-probe.js +58 -1
- package/dist/inference/model-probe.js.map +1 -1
- package/dist/inference/model-validator.d.ts +16 -1
- package/dist/inference/model-validator.d.ts.map +1 -1
- package/dist/inference/model-validator.js +83 -2
- package/dist/inference/model-validator.js.map +1 -1
- package/dist/inference/nim-adapter.js +4 -4
- package/dist/inference/nim-adapter.js.map +1 -1
- package/dist/inference/openai-compat-adapter.d.ts +9 -0
- package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
- package/dist/inference/openai-compat-adapter.js +101 -51
- package/dist/inference/openai-compat-adapter.js.map +1 -1
- package/dist/inference/openrouter-adapter.d.ts +3 -0
- package/dist/inference/openrouter-adapter.d.ts.map +1 -1
- package/dist/inference/openrouter-adapter.js +134 -57
- package/dist/inference/openrouter-adapter.js.map +1 -1
- package/dist/inference/reasoning-effort.d.ts +130 -0
- package/dist/inference/reasoning-effort.d.ts.map +1 -0
- package/dist/inference/reasoning-effort.js +237 -0
- package/dist/inference/reasoning-effort.js.map +1 -0
- package/dist/inference/route-resolver.d.ts +7 -0
- package/dist/inference/route-resolver.d.ts.map +1 -1
- package/dist/inference/route-resolver.js +2 -1
- package/dist/inference/route-resolver.js.map +1 -1
- package/dist/inference/sse.d.ts +6 -0
- package/dist/inference/sse.d.ts.map +1 -1
- package/dist/inference/sse.js +1 -0
- package/dist/inference/sse.js.map +1 -1
- package/dist/inference/tools.d.ts +13 -0
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +20 -2
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +8 -0
- package/dist/learning/autonomy-policy.d.ts.map +1 -1
- package/dist/learning/autonomy-policy.js +34 -0
- package/dist/learning/autonomy-policy.js.map +1 -1
- package/dist/learning/capability-parity.d.ts +108 -0
- package/dist/learning/capability-parity.d.ts.map +1 -0
- package/dist/learning/capability-parity.js +154 -0
- package/dist/learning/capability-parity.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts +28 -4
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +58 -8
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/eval-framework.d.ts +17 -0
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +63 -2
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/model-capability.d.ts +94 -0
- package/dist/learning/model-capability.d.ts.map +1 -0
- package/dist/learning/model-capability.js +172 -0
- package/dist/learning/model-capability.js.map +1 -0
- package/dist/learning/model-registry.d.ts +33 -0
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +79 -0
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +1 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resolve-options.d.ts.map +1 -1
- package/dist/learning/resolve-options.js +16 -3
- package/dist/learning/resolve-options.js.map +1 -1
- package/dist/learning/run-trace.d.ts +68 -0
- package/dist/learning/run-trace.d.ts.map +1 -1
- package/dist/learning/run-trace.js +101 -0
- package/dist/learning/run-trace.js.map +1 -1
- package/dist/tools/loop-skill-hint.d.ts +27 -0
- package/dist/tools/loop-skill-hint.d.ts.map +1 -1
- package/dist/tools/loop-skill-hint.js +189 -5
- package/dist/tools/loop-skill-hint.js.map +1 -1
- package/dist/tools/read-extract.d.ts +9 -3
- package/dist/tools/read-extract.d.ts.map +1 -1
- package/dist/tools/read-extract.js +70 -25
- package/dist/tools/read-extract.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +120 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +447 -5
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/attachment-extract.d.ts +8 -1
- package/dist/web-dashboard/attachment-extract.d.ts.map +1 -1
- package/dist/web-dashboard/attachment-extract.js +14 -3
- package/dist/web-dashboard/attachment-extract.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +160 -21
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +26 -0
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.js +44 -4
- package/dist/web-dashboard/workspace-guard.js.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/index-BdKf5Xw2.js +207 -0
- package/src/web-dashboard/public/assets/index-BdKf5Xw2.js.map +1 -0
- package/src/web-dashboard/public/assets/index-C9eBskc9.css +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-Beportyl.js +0 -207
- package/src/web-dashboard/public/assets/index-Beportyl.js.map +0 -1
- 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;
|
|
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
|
|
127
|
-
|
|
128
|
-
headers: { 'Authorization': `Bearer ${apiKey}` },
|
|
149
|
+
return withReasoningFallback({
|
|
150
|
+
provider: 'groq',
|
|
129
151
|
model,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
|
157
|
-
|
|
158
|
-
headers: { 'Authorization': `Bearer ${apiKey}` },
|
|
186
|
+
return withReasoningFallback({
|
|
187
|
+
provider: 'groq',
|
|
159
188
|
model,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
|
192
|
-
|
|
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":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
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":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
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;
|
|
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
|
-
|
|
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;
|