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
|
@@ -34,6 +34,10 @@ import { tmpdir } from 'node:os';
|
|
|
34
34
|
import { execSync } from 'node:child_process';
|
|
35
35
|
import { ConfigManager } from '../config/manager.js';
|
|
36
36
|
import { getQuotaLedger } from './quota-ledger.js';
|
|
37
|
+
// Loop-arm usage accounting: the orchestrator hands back `stats`, but the loop
|
|
38
|
+
// arm does not build those — every adapter records its calls into the shared
|
|
39
|
+
// cost tracker, so `costSince` is how the loop arm's tokens/cost are measured.
|
|
40
|
+
import { costSince } from './cost-tracker.js';
|
|
37
41
|
import { Orchestrator } from '../agents/orchestrator.js';
|
|
38
42
|
import { classifyFallbackError } from './provider-fallback.js';
|
|
39
43
|
import { logger } from '../utils/logger.js';
|
|
@@ -1129,6 +1133,10 @@ export async function runEvalTask(task, _provider, providerName, model, options
|
|
|
1129
1133
|
let bounded = false;
|
|
1130
1134
|
/** Stage 2 — interruptions this run, when the arm can observe them. */
|
|
1131
1135
|
let permissionAsks;
|
|
1136
|
+
/** The model that ACTUALLY served the run (loop arm reports it; else unknown). */
|
|
1137
|
+
let servedModel;
|
|
1138
|
+
/** Loop arm: the turn ran zero tools successfully (nothing done). */
|
|
1139
|
+
let actionless = false;
|
|
1132
1140
|
try {
|
|
1133
1141
|
if (options.executeGoal) {
|
|
1134
1142
|
result = await options.executeGoal(task.goal, workspace);
|
|
@@ -1158,6 +1166,12 @@ export async function runEvalTask(task, _provider, providerName, model, options
|
|
|
1158
1166
|
// ask attempts is the honest number, and it is only available because
|
|
1159
1167
|
// the loop now reports its own trace (see learning/run-trace.ts).
|
|
1160
1168
|
permissionAsks = loopResult.runTrace?.shownAsks;
|
|
1169
|
+
// The model that actually served the turn — echoed by the executor from
|
|
1170
|
+
// the route it resolved. Kept so a substitution is visible (the report
|
|
1171
|
+
// would otherwise claim it ran the REQUESTED model).
|
|
1172
|
+
servedModel = loopResult.model;
|
|
1173
|
+
// Zero-action signal — the loop did nothing (no tool succeeded).
|
|
1174
|
+
actionless = (loopResult.successfulToolCalls?.length ?? 0) === 0;
|
|
1161
1175
|
result = {
|
|
1162
1176
|
success: !loopResult.generationFailed,
|
|
1163
1177
|
goal: task.goal,
|
|
@@ -1234,12 +1248,38 @@ export async function runEvalTask(task, _provider, providerName, model, options
|
|
|
1234
1248
|
const testPassed = testsPassed === task.hiddenTests.length && task.hiddenTests.length > 0;
|
|
1235
1249
|
const elapsedMs = Date.now() - taskStart;
|
|
1236
1250
|
const editAccuracy = computeEditAccuracy(task, workspace);
|
|
1237
|
-
|
|
1251
|
+
// ── Loop-arm usage accounting ──────────────────────────────────────────
|
|
1252
|
+
// The loop arm does not build `stats`, so it used to report 0 tokens / $0 —
|
|
1253
|
+
// which made the cost of a capability mode unmeasurable. Every adapter records
|
|
1254
|
+
// its calls into the shared cost tracker, so the arm's REAL usage is what was
|
|
1255
|
+
// recorded since this task started. Best-effort: accounting must never break a
|
|
1256
|
+
// run (and a pipeline arm keeps its own `stats`).
|
|
1257
|
+
let loopTokens = 0;
|
|
1258
|
+
let loopCostUsd = 0;
|
|
1259
|
+
if (engine === 'loop' && !options.executeGoal) {
|
|
1260
|
+
try {
|
|
1261
|
+
const usage = costSince(taskStart);
|
|
1262
|
+
loopTokens = usage.tokens;
|
|
1263
|
+
loopCostUsd = usage.costUsd;
|
|
1264
|
+
}
|
|
1265
|
+
catch {
|
|
1266
|
+
// Best-effort — a tracker read failure is not the task's failure.
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
const statsTokens = (stats?.inputTokens ?? 0) + (stats?.outputTokens ?? 0);
|
|
1270
|
+
const totalTokens = statsTokens > 0 ? statsTokens : loopTokens;
|
|
1238
1271
|
const tokenEfficiency = totalTokens > 0
|
|
1239
1272
|
? clamp01(task.tokenBudget / totalTokens)
|
|
1240
1273
|
: 0;
|
|
1274
|
+
// A task with hidden tests asks for WORK to be produced, so a turn that ran
|
|
1275
|
+
// nothing did not complete it — however cleanly it ended. This is the honesty
|
|
1276
|
+
// fix: `completed` used to be `!generationFailed`, so a one-line apology or a
|
|
1277
|
+
// restated request scored as a completed turn (composite floored at 0.25 in
|
|
1278
|
+
// every such run). Tasks with no hidden tests are left alone.
|
|
1279
|
+
const taskRequiresAction = task.hiddenTests.length > 0 || (task.referencePatterns?.length ?? 0) > 0;
|
|
1280
|
+
const completed = result.success && !(actionless && taskRequiresAction);
|
|
1241
1281
|
const metrics = {
|
|
1242
|
-
completed
|
|
1282
|
+
completed,
|
|
1243
1283
|
testPassed,
|
|
1244
1284
|
testPassRate: task.hiddenTests.length > 0 ? testsPassed / task.hiddenTests.length : 0,
|
|
1245
1285
|
timeToFixMs: firstGreenAt ?? (testPassed ? elapsedMs : Number.POSITIVE_INFINITY),
|
|
@@ -1261,6 +1301,10 @@ export async function runEvalTask(task, _provider, providerName, model, options
|
|
|
1261
1301
|
toolCallCount,
|
|
1262
1302
|
erroredToolCount,
|
|
1263
1303
|
bounded,
|
|
1304
|
+
// Model attribution + zero-action honesty (loop arm only).
|
|
1305
|
+
requestedModel: model,
|
|
1306
|
+
...(servedModel ? { servedModel } : {}),
|
|
1307
|
+
...(engine === 'loop' ? { actionless } : {}),
|
|
1264
1308
|
// Stage 2 — the interruption metric (loop arm only).
|
|
1265
1309
|
...(permissionAsks !== undefined ? { permissionAsks } : {}),
|
|
1266
1310
|
...(permissionAsks !== undefined && result.success ? { asksPerCompletedTask: permissionAsks } : {}),
|
|
@@ -1273,6 +1317,11 @@ export async function runEvalTask(task, _provider, providerName, model, options
|
|
|
1273
1317
|
catch {
|
|
1274
1318
|
// cost estimation is best-effort
|
|
1275
1319
|
}
|
|
1320
|
+
// Loop arm: prefer the cost the adapter ACTUALLY recorded over the
|
|
1321
|
+
// stats-derived estimate (which is 0 when the arm has no stats).
|
|
1322
|
+
if (engine === 'loop' && !options.executeGoal && loopCostUsd > 0) {
|
|
1323
|
+
metrics.costUsd = loopCostUsd;
|
|
1324
|
+
}
|
|
1276
1325
|
if (!options.keepWorkspaces) {
|
|
1277
1326
|
try {
|
|
1278
1327
|
rmSync(workspace, { recursive: true, force: true });
|
|
@@ -1576,6 +1625,18 @@ export function formatEvalReport(run) {
|
|
|
1576
1625
|
// Stage 2 — the behaviour metric that correctness cannot see: a task can pass
|
|
1577
1626
|
// every hidden test and still have interrupted the user four times.
|
|
1578
1627
|
lines.push(` Interruptions (avg questions shown to the user): ${s.avgPermissionAsks.toFixed(1)}`);
|
|
1628
|
+
// Model attribution — a substitution is a fact about what RAN, and a report
|
|
1629
|
+
// that hid it would credit the requested model with another model's result.
|
|
1630
|
+
const substituted = run.results.filter((r) => r.metrics.servedModel !== undefined && r.metrics.servedModel !== r.metrics.requestedModel);
|
|
1631
|
+
if (substituted.length > 0) {
|
|
1632
|
+
const pairs = [...new Set(substituted.map((r) => `${r.metrics.requestedModel} → ${r.metrics.servedModel}`))];
|
|
1633
|
+
lines.push(` 🔀 Model substituted: ${substituted.length}/${run.results.length} task(s) — ${pairs.join('; ')}`);
|
|
1634
|
+
}
|
|
1635
|
+
// Zero-action honesty — a turn that ran no tool is not a completed turn.
|
|
1636
|
+
const actionlessCount = run.results.filter((r) => r.metrics.actionless === true).length;
|
|
1637
|
+
if (actionlessCount > 0) {
|
|
1638
|
+
lines.push(` 🛠️ No action taken: ${actionlessCount}/${run.results.length} task(s) — the turn ran no tool at all (not a completion)`);
|
|
1639
|
+
}
|
|
1579
1640
|
lines.push('');
|
|
1580
1641
|
lines.push(' ── Reliability Metrics ──');
|
|
1581
1642
|
lines.push(` ✅ Task completion rate: ${(s.completionRate * 100).toFixed(0)}%`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-framework.js","sourceRoot":"","sources":["../../src/learning/eval-framework.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eval-framework.js","sourceRoot":"","sources":["../../src/learning/eval-framework.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model capability (`src/learning/model-capability.ts`) — a deterministic,
|
|
3
|
+
* provider-agnostic estimate of how much REASONING a model id implies, from its
|
|
4
|
+
* own name.
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS
|
|
7
|
+
* ---------------
|
|
8
|
+
* The registry's model ranking (`preferredModelsFor`) is a HEALTH ranking:
|
|
9
|
+
* error rate, then latency, then recency. That is the right question for "which
|
|
10
|
+
* of two known-good models wastes less of the user's time", and it is the WRONG
|
|
11
|
+
* question for "which model can actually do this work" — a 2-7B toy answers in
|
|
12
|
+
* 124ms with a 0% error rate, so it sorts FIRST, ahead of a 27B or a 120B that
|
|
13
|
+
* is slower and has ever been rate-limited once. Found live: a pinned
|
|
14
|
+
* `openai/gpt-oss-120b` was quota-parked for one window, the router repaired it
|
|
15
|
+
* to the healthiest sibling, and the "best available model" became
|
|
16
|
+
* `allam-2-7b` — the weakest model the provider serves.
|
|
17
|
+
*
|
|
18
|
+
* The router's own capability profiles live PER PROVIDER (`auto-router.ts`),
|
|
19
|
+
* which is the wrong grain here: this needs to compare two models the SAME
|
|
20
|
+
* provider is already known to serve. So this module answers exactly that one
|
|
21
|
+
* question, by name, and nothing else.
|
|
22
|
+
*
|
|
23
|
+
* IT IS A HEURISTIC, AND IT IS ONLY USED TO PREVENT A DOWNGRADE. It never
|
|
24
|
+
* upgrades a selection on its own, never excludes a model, and is never the
|
|
25
|
+
* sole reason a model is picked: it is a tie-break layer used by `model-validator`
|
|
26
|
+
* when a DEAD pin must be repaired, so "repair" cannot mean "silently replace a
|
|
27
|
+
* strong model with a weak one when a comparable sibling is right there".
|
|
28
|
+
*
|
|
29
|
+
* NOTHING HERE NAMES A MODEL. It reads parameter counts (`120b`, `27b`, `e4b`,
|
|
30
|
+
* `a4b`) and family/qualifier words (`pro`, `opus`, `sonnet`, `flash`,
|
|
31
|
+
* `flash-lite`, `mini`, `nano`, `lite`, `small`, `tiny`). A model whose name
|
|
32
|
+
* carries no signal reads as the neutral 0.55 — an unknown is not a failure,
|
|
33
|
+
* and must not be treated as one.
|
|
34
|
+
*/
|
|
35
|
+
/** Capability bands, so callers reason in human terms rather than raw floats. */
|
|
36
|
+
export type CapabilityBand = 'high' | 'medium' | 'low';
|
|
37
|
+
/** The band boundaries. `high` is the same 0.7 the router's reasoning floor uses. */
|
|
38
|
+
export declare const CAPABILITY_HIGH_MIN = 0.7;
|
|
39
|
+
export declare const CAPABILITY_MEDIUM_MIN = 0.45;
|
|
40
|
+
/** The neutral score for a model id that carries no capability signal at all. */
|
|
41
|
+
export declare const NEUTRAL_CAPABILITY = 0.55;
|
|
42
|
+
/**
|
|
43
|
+
* Estimate a model's reasoning capability from its id, as a 0–1 score.
|
|
44
|
+
*
|
|
45
|
+
* Deterministic and pure. Signals are combined by taking the STRONGEST evidence
|
|
46
|
+
* (a model is as capable as its best signal says), because a name like
|
|
47
|
+
* `gemini-3.1-pro-preview` is not discounted for lacking a parameter count.
|
|
48
|
+
*/
|
|
49
|
+
export declare function estimateModelCapability(modelId: string | undefined): number;
|
|
50
|
+
/** The band a capability score falls in. */
|
|
51
|
+
export declare function capabilityBand(score: number): CapabilityBand;
|
|
52
|
+
/** True when the model id implies a high-reasoning model. */
|
|
53
|
+
export declare function isHighCapabilityModel(modelId: string | undefined): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Filter a HEALTH-ORDERED candidate list down to the models that are at least
|
|
56
|
+
* as capable as `requestedModel` (same band or higher), preserving the input
|
|
57
|
+
* order.
|
|
58
|
+
*
|
|
59
|
+
* The purpose is narrow and deliberate: when a DEAD pin must be repaired, the
|
|
60
|
+
* replacement must not silently drop a capability band. If the health-first
|
|
61
|
+
* candidate is in a lower band than the request, the at-least-as-capable
|
|
62
|
+
* candidates are the honest set to choose from; if NO candidate reaches the
|
|
63
|
+
* requested band (the provider simply has nothing comparable — `allam-2-7b`
|
|
64
|
+
* while every strong sibling is rate-limited), the FULL list is returned so the
|
|
65
|
+
* repair still makes the best attempt and never dead-ends.
|
|
66
|
+
*
|
|
67
|
+
* Candidate order is preserved, so this only ever NARROWS the health ranking —
|
|
68
|
+
* it can never invent a preference the health ordering did not already hold.
|
|
69
|
+
*/
|
|
70
|
+
/**
|
|
71
|
+
* The candidates whose capability band is at least `requestedModel`'s — WITHOUT
|
|
72
|
+
* the non-dead-end fallback. May be empty (that emptiness is meaningful: "none
|
|
73
|
+
* of these is as capable as what was asked", which is exactly the downgrade
|
|
74
|
+
* signal verify-on-demand keys on). Order preserved.
|
|
75
|
+
*/
|
|
76
|
+
export declare function filterAtLeastCapability(requestedModel: string | undefined, candidates: readonly string[]): string[];
|
|
77
|
+
/**
|
|
78
|
+
* Filter a HEALTH-ORDERED candidate list down to the models that are at least
|
|
79
|
+
* as capable as `requestedModel` (same band or higher), preserving the input
|
|
80
|
+
* order.
|
|
81
|
+
*
|
|
82
|
+
* The purpose is narrow and deliberate: when a DEAD pin must be repaired, the
|
|
83
|
+
* replacement must not silently drop a capability band. If the health-first
|
|
84
|
+
* candidate is in a lower band than the request, the at-least-as-capable
|
|
85
|
+
* candidates are the honest set to choose from; if NO candidate reaches the
|
|
86
|
+
* requested band (the provider simply has nothing comparable — `allam-2-7b`
|
|
87
|
+
* while every strong sibling is rate-limited), the FULL list is returned so the
|
|
88
|
+
* repair still makes the best attempt and never dead-ends.
|
|
89
|
+
*
|
|
90
|
+
* Candidate order is preserved, so this only ever NARROWS the health ranking —
|
|
91
|
+
* it can never invent a preference the health ordering did not already hold.
|
|
92
|
+
*/
|
|
93
|
+
export declare function nonDowngradeCandidates(requestedModel: string | undefined, candidates: readonly string[]): string[];
|
|
94
|
+
//# sourceMappingURL=model-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-capability.d.ts","sourceRoot":"","sources":["../../src/learning/model-capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEvD,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AA0CvC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAmB3E;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAI5D;AAED,6DAA6D;AAC7D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1E;AAKD;;;;;;;;;;;;;;;GAeG;AACH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,EAAE,CAGV;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,EAAE,CAIV"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model capability (`src/learning/model-capability.ts`) — a deterministic,
|
|
3
|
+
* provider-agnostic estimate of how much REASONING a model id implies, from its
|
|
4
|
+
* own name.
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS
|
|
7
|
+
* ---------------
|
|
8
|
+
* The registry's model ranking (`preferredModelsFor`) is a HEALTH ranking:
|
|
9
|
+
* error rate, then latency, then recency. That is the right question for "which
|
|
10
|
+
* of two known-good models wastes less of the user's time", and it is the WRONG
|
|
11
|
+
* question for "which model can actually do this work" — a 2-7B toy answers in
|
|
12
|
+
* 124ms with a 0% error rate, so it sorts FIRST, ahead of a 27B or a 120B that
|
|
13
|
+
* is slower and has ever been rate-limited once. Found live: a pinned
|
|
14
|
+
* `openai/gpt-oss-120b` was quota-parked for one window, the router repaired it
|
|
15
|
+
* to the healthiest sibling, and the "best available model" became
|
|
16
|
+
* `allam-2-7b` — the weakest model the provider serves.
|
|
17
|
+
*
|
|
18
|
+
* The router's own capability profiles live PER PROVIDER (`auto-router.ts`),
|
|
19
|
+
* which is the wrong grain here: this needs to compare two models the SAME
|
|
20
|
+
* provider is already known to serve. So this module answers exactly that one
|
|
21
|
+
* question, by name, and nothing else.
|
|
22
|
+
*
|
|
23
|
+
* IT IS A HEURISTIC, AND IT IS ONLY USED TO PREVENT A DOWNGRADE. It never
|
|
24
|
+
* upgrades a selection on its own, never excludes a model, and is never the
|
|
25
|
+
* sole reason a model is picked: it is a tie-break layer used by `model-validator`
|
|
26
|
+
* when a DEAD pin must be repaired, so "repair" cannot mean "silently replace a
|
|
27
|
+
* strong model with a weak one when a comparable sibling is right there".
|
|
28
|
+
*
|
|
29
|
+
* NOTHING HERE NAMES A MODEL. It reads parameter counts (`120b`, `27b`, `e4b`,
|
|
30
|
+
* `a4b`) and family/qualifier words (`pro`, `opus`, `sonnet`, `flash`,
|
|
31
|
+
* `flash-lite`, `mini`, `nano`, `lite`, `small`, `tiny`). A model whose name
|
|
32
|
+
* carries no signal reads as the neutral 0.55 — an unknown is not a failure,
|
|
33
|
+
* and must not be treated as one.
|
|
34
|
+
*/
|
|
35
|
+
/** The band boundaries. `high` is the same 0.7 the router's reasoning floor uses. */
|
|
36
|
+
export const CAPABILITY_HIGH_MIN = 0.7;
|
|
37
|
+
export const CAPABILITY_MEDIUM_MIN = 0.45;
|
|
38
|
+
/** The neutral score for a model id that carries no capability signal at all. */
|
|
39
|
+
export const NEUTRAL_CAPABILITY = 0.55;
|
|
40
|
+
/** Family/qualifier words that imply a stronger model (added, then capped). */
|
|
41
|
+
const STRONG_QUALIFIER_RE = /\b(?:pro|opus|sonnet|max|large|xl|ultra|reasoning|think)\b/i;
|
|
42
|
+
/**
|
|
43
|
+
* Family/qualifier words that imply a SMALLER/faster model (subtracted). These
|
|
44
|
+
* are the ids that legitimately win a health ranking and must not be mistaken
|
|
45
|
+
* for a capability match: `flash-lite`, `mini`, `nano`, and friends.
|
|
46
|
+
*/
|
|
47
|
+
const SMALL_QUALIFIER_RE = /\b(?:flash[- ]?lite|mini|nano|micro|tiny|small|lite|light|instant|speed)\b/i;
|
|
48
|
+
/** A single `flash`/`fast` tier: capable-ish but deliberately cheap. */
|
|
49
|
+
const FAST_TIER_RE = /\b(?:flash|fast|turbo)\b/i;
|
|
50
|
+
/**
|
|
51
|
+
* Parameter-count candidates in a model id. Matches `120b`, `27b`, `e4b`,
|
|
52
|
+
* `a4b`, `8x7b` (the LAST group is the operative size), `70B`. Deliberately does
|
|
53
|
+
* NOT match a bare version like `3.1` — that is a release number, not a size.
|
|
54
|
+
*/
|
|
55
|
+
function parameterCount(modelId) {
|
|
56
|
+
const id = modelId.toLowerCase();
|
|
57
|
+
const matches = [...id.matchAll(/(\d+(?:\.\d+)?)\s*b\b/g)];
|
|
58
|
+
if (matches.length === 0)
|
|
59
|
+
return undefined;
|
|
60
|
+
// The LAST `<n>b` is the model's size (`mixtral-8x7b` → 7, `qwen3.8-27b` → 27).
|
|
61
|
+
const last = matches[matches.length - 1][1];
|
|
62
|
+
const n = Number.parseFloat(last);
|
|
63
|
+
return Number.isFinite(n) ? n : undefined;
|
|
64
|
+
}
|
|
65
|
+
/** A size → capability mapping aligned with the router's own calibration
|
|
66
|
+
* (`MAX_CAPABILITY_MIN_REASONING` documents "a 70B id ≈ 0.80"). */
|
|
67
|
+
function capabilityForSize(params) {
|
|
68
|
+
if (params >= 70)
|
|
69
|
+
return 0.8;
|
|
70
|
+
// A ~20-70B dense model is a genuinely capable model, in the same band the
|
|
71
|
+
// router's reasoning floor is calibrated for — a 27B must NOT read as a
|
|
72
|
+
// downgrade from a 120B, or the "don't drop a band" rule would help nothing.
|
|
73
|
+
if (params >= 20)
|
|
74
|
+
return 0.72;
|
|
75
|
+
if (params >= 8)
|
|
76
|
+
return 0.6;
|
|
77
|
+
if (params >= 4)
|
|
78
|
+
return 0.45;
|
|
79
|
+
return 0.3;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Estimate a model's reasoning capability from its id, as a 0–1 score.
|
|
83
|
+
*
|
|
84
|
+
* Deterministic and pure. Signals are combined by taking the STRONGEST evidence
|
|
85
|
+
* (a model is as capable as its best signal says), because a name like
|
|
86
|
+
* `gemini-3.1-pro-preview` is not discounted for lacking a parameter count.
|
|
87
|
+
*/
|
|
88
|
+
export function estimateModelCapability(modelId) {
|
|
89
|
+
const id = (modelId || '').trim();
|
|
90
|
+
if (!id || id === 'default')
|
|
91
|
+
return NEUTRAL_CAPABILITY;
|
|
92
|
+
const candidates = [];
|
|
93
|
+
// 1. Size, when the id names one.
|
|
94
|
+
const params = parameterCount(id);
|
|
95
|
+
if (params !== undefined)
|
|
96
|
+
candidates.push(capabilityForSize(params));
|
|
97
|
+
// 2. Family/qualifier words.
|
|
98
|
+
if (STRONG_QUALIFIER_RE.test(id))
|
|
99
|
+
candidates.push(0.85);
|
|
100
|
+
if (SMALL_QUALIFIER_RE.test(id))
|
|
101
|
+
candidates.push(0.4);
|
|
102
|
+
// A plain fast tier (not already matched by the lite/small set).
|
|
103
|
+
if (FAST_TIER_RE.test(id) && !SMALL_QUALIFIER_RE.test(id))
|
|
104
|
+
candidates.push(0.75);
|
|
105
|
+
// A name with no recognisable signal is an unknown — neutral, never low.
|
|
106
|
+
if (candidates.length === 0)
|
|
107
|
+
return NEUTRAL_CAPABILITY;
|
|
108
|
+
return Math.max(...candidates);
|
|
109
|
+
}
|
|
110
|
+
/** The band a capability score falls in. */
|
|
111
|
+
export function capabilityBand(score) {
|
|
112
|
+
if (score >= CAPABILITY_HIGH_MIN)
|
|
113
|
+
return 'high';
|
|
114
|
+
if (score >= CAPABILITY_MEDIUM_MIN)
|
|
115
|
+
return 'medium';
|
|
116
|
+
return 'low';
|
|
117
|
+
}
|
|
118
|
+
/** True when the model id implies a high-reasoning model. */
|
|
119
|
+
export function isHighCapabilityModel(modelId) {
|
|
120
|
+
return capabilityBand(estimateModelCapability(modelId)) === 'high';
|
|
121
|
+
}
|
|
122
|
+
/** Ordered rank of a band, for "at least as capable as" comparisons. */
|
|
123
|
+
const BAND_ORDER = { low: 0, medium: 1, high: 2 };
|
|
124
|
+
/**
|
|
125
|
+
* Filter a HEALTH-ORDERED candidate list down to the models that are at least
|
|
126
|
+
* as capable as `requestedModel` (same band or higher), preserving the input
|
|
127
|
+
* order.
|
|
128
|
+
*
|
|
129
|
+
* The purpose is narrow and deliberate: when a DEAD pin must be repaired, the
|
|
130
|
+
* replacement must not silently drop a capability band. If the health-first
|
|
131
|
+
* candidate is in a lower band than the request, the at-least-as-capable
|
|
132
|
+
* candidates are the honest set to choose from; if NO candidate reaches the
|
|
133
|
+
* requested band (the provider simply has nothing comparable — `allam-2-7b`
|
|
134
|
+
* while every strong sibling is rate-limited), the FULL list is returned so the
|
|
135
|
+
* repair still makes the best attempt and never dead-ends.
|
|
136
|
+
*
|
|
137
|
+
* Candidate order is preserved, so this only ever NARROWS the health ranking —
|
|
138
|
+
* it can never invent a preference the health ordering did not already hold.
|
|
139
|
+
*/
|
|
140
|
+
/**
|
|
141
|
+
* The candidates whose capability band is at least `requestedModel`'s — WITHOUT
|
|
142
|
+
* the non-dead-end fallback. May be empty (that emptiness is meaningful: "none
|
|
143
|
+
* of these is as capable as what was asked", which is exactly the downgrade
|
|
144
|
+
* signal verify-on-demand keys on). Order preserved.
|
|
145
|
+
*/
|
|
146
|
+
export function filterAtLeastCapability(requestedModel, candidates) {
|
|
147
|
+
const wantRank = BAND_ORDER[capabilityBand(estimateModelCapability(requestedModel))];
|
|
148
|
+
return candidates.filter((m) => BAND_ORDER[capabilityBand(estimateModelCapability(m))] >= wantRank);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Filter a HEALTH-ORDERED candidate list down to the models that are at least
|
|
152
|
+
* as capable as `requestedModel` (same band or higher), preserving the input
|
|
153
|
+
* order.
|
|
154
|
+
*
|
|
155
|
+
* The purpose is narrow and deliberate: when a DEAD pin must be repaired, the
|
|
156
|
+
* replacement must not silently drop a capability band. If the health-first
|
|
157
|
+
* candidate is in a lower band than the request, the at-least-as-capable
|
|
158
|
+
* candidates are the honest set to choose from; if NO candidate reaches the
|
|
159
|
+
* requested band (the provider simply has nothing comparable — `allam-2-7b`
|
|
160
|
+
* while every strong sibling is rate-limited), the FULL list is returned so the
|
|
161
|
+
* repair still makes the best attempt and never dead-ends.
|
|
162
|
+
*
|
|
163
|
+
* Candidate order is preserved, so this only ever NARROWS the health ranking —
|
|
164
|
+
* it can never invent a preference the health ordering did not already hold.
|
|
165
|
+
*/
|
|
166
|
+
export function nonDowngradeCandidates(requestedModel, candidates) {
|
|
167
|
+
if (candidates.length === 0)
|
|
168
|
+
return [];
|
|
169
|
+
const atLeast = filterAtLeastCapability(requestedModel, candidates);
|
|
170
|
+
return atLeast.length > 0 ? atLeast : [...candidates];
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=model-capability.js.map
|