@miller-tech/uap 1.163.13 → 1.164.0
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/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +5 -4
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/deliver.d.ts +5 -3
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +95 -19
- package/dist/cli/deliver.js.map +1 -1
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +13 -1
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +9 -1
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/proxy-lifecycle.d.ts +66 -13
- package/dist/cli/proxy-lifecycle.d.ts.map +1 -1
- package/dist/cli/proxy-lifecycle.js +116 -49
- package/dist/cli/proxy-lifecycle.js.map +1 -1
- package/dist/cli/proxy.d.ts +46 -0
- package/dist/cli/proxy.d.ts.map +1 -1
- package/dist/cli/proxy.js +353 -23
- package/dist/cli/proxy.js.map +1 -1
- package/dist/cli/wizard-config.d.ts +4 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +14 -3
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/config/settings-registry.d.ts.map +1 -1
- package/dist/config/settings-registry.js +25 -0
- package/dist/config/settings-registry.js.map +1 -1
- package/dist/coordination/effort-profile.d.ts +39 -0
- package/dist/coordination/effort-profile.d.ts.map +1 -0
- package/dist/coordination/effort-profile.js +74 -0
- package/dist/coordination/effort-profile.js.map +1 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +68 -10
- package/dist/dashboard/server.js.map +1 -1
- package/dist/delivery/convergence-loop.d.ts +37 -0
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +51 -4
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/critic.d.ts +7 -0
- package/dist/delivery/critic.d.ts.map +1 -1
- package/dist/delivery/critic.js.map +1 -1
- package/dist/delivery/decompose.d.ts +9 -0
- package/dist/delivery/decompose.d.ts.map +1 -1
- package/dist/delivery/decompose.js +11 -0
- package/dist/delivery/decompose.js.map +1 -1
- package/dist/delivery/graph-safety.d.ts +75 -0
- package/dist/delivery/graph-safety.d.ts.map +1 -0
- package/dist/delivery/graph-safety.js +98 -0
- package/dist/delivery/graph-safety.js.map +1 -0
- package/dist/delivery/per-phase-escalation-controller.d.ts +37 -0
- package/dist/delivery/per-phase-escalation-controller.d.ts.map +1 -0
- package/dist/delivery/per-phase-escalation-controller.js +68 -0
- package/dist/delivery/per-phase-escalation-controller.js.map +1 -0
- package/dist/delivery/per-phase-escalation.d.ts +53 -0
- package/dist/delivery/per-phase-escalation.d.ts.map +1 -0
- package/dist/delivery/per-phase-escalation.js +57 -0
- package/dist/delivery/per-phase-escalation.js.map +1 -0
- package/dist/delivery/reflect.d.ts +56 -0
- package/dist/delivery/reflect.d.ts.map +1 -0
- package/dist/delivery/reflect.js +79 -0
- package/dist/delivery/reflect.js.map +1 -0
- package/dist/delivery/verification-provenance.d.ts +47 -0
- package/dist/delivery/verification-provenance.d.ts.map +1 -0
- package/dist/delivery/verification-provenance.js +48 -0
- package/dist/delivery/verification-provenance.js.map +1 -0
- package/dist/models/complexity.d.ts +36 -0
- package/dist/models/complexity.d.ts.map +1 -0
- package/dist/models/complexity.js +75 -0
- package/dist/models/complexity.js.map +1 -0
- package/dist/models/router.d.ts.map +1 -1
- package/dist/models/router.js +39 -10
- package/dist/models/router.js.map +1 -1
- package/dist/models/types.d.ts +60 -10
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js +128 -11
- package/dist/models/types.js.map +1 -1
- package/dist/self-tuning/prompt-variants.d.ts +93 -0
- package/dist/self-tuning/prompt-variants.d.ts.map +1 -0
- package/dist/self-tuning/prompt-variants.js +143 -0
- package/dist/self-tuning/prompt-variants.js.map +1 -0
- package/dist/tasks/types.d.ts +2 -2
- package/dist/types/config.d.ts +8 -0
- package/dist/types/config.d.ts.map +1 -1
- package/docs/INDEX.md +1 -1
- package/docs/benchmarks/COMPREHENSIVE_BENCHMARKS.md +47 -53
- package/docs/benchmarks/VALIDATION_RESULTS.md +0 -2
- package/docs/guides/COORDINATION.md +1 -1
- package/docs/guides/DEPLOY_BATCHING.md +1 -1
- package/docs/guides/DROIDS_AND_SKILLS.md +1 -1
- package/docs/guides/LOCAL_MODELS.md +1 -1
- package/docs/guides/MCP_ROUTER.md +1 -1
- package/docs/guides/MEMORY.md +2 -2
- package/docs/guides/MULTI_MODEL.md +1 -1
- package/docs/guides/POLICIES.md +1 -1
- package/docs/guides/PROXY.md +47 -4
- package/docs/guides/SANDBOX.md +1 -1
- package/docs/guides/WORKTREE_WORKFLOW.md +1 -1
- package/docs/reference/CLI.md +16 -3
- package/docs/reference/CONFIGURATION.md +1 -1
- package/docs/reference/FEATURES.md +1 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/templates/hooks/session-end.sh +9 -0
- package/templates/hooks/session-start.sh +10 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified complexity classifier (S2).
|
|
3
|
+
*
|
|
4
|
+
* Before this module UAP had two disconnected notions of complexity:
|
|
5
|
+
* - router.ts → low | medium | high | critical (keyword-driven)
|
|
6
|
+
* - query-complexity → simple | moderate | complex (heuristic scorer)
|
|
7
|
+
* bridged one-way by deliver.ts's COMPLEXITY_TO_TIER, which silently DROPPED
|
|
8
|
+
* `critical`. This module is the single source of truth: one 5-level `Tier`
|
|
9
|
+
* (adds `trivial` as a floor) that composes the existing scorer and preserves
|
|
10
|
+
* `critical` end-to-end. It is CHEAP-FIRST — a pure heuristic, no model call —
|
|
11
|
+
* so classifying a task adds no overhead. `source` leaves room for a future
|
|
12
|
+
* model-assisted tie-break in the ambiguous band without changing callers.
|
|
13
|
+
*/
|
|
14
|
+
import { measureQueryComplexity } from '../utils/query-complexity.js';
|
|
15
|
+
// Security/risk keywords force `critical` — the tier the old bridge could never
|
|
16
|
+
// emit. Scoped to genuinely security-relevant terms: `\bauth\b` matches "auth"
|
|
17
|
+
// but not "author"; generic words (token/schema/migration) are deliberately
|
|
18
|
+
// EXCLUDED — they are noise in a token-optimization/schema-diff codebase and
|
|
19
|
+
// would over-escalate benign work (review C2). `authoriz\w*`/`authenticat\w*`
|
|
20
|
+
// cover authorize/authentication without matching "author".
|
|
21
|
+
const CRITICAL_KW = /(\bsecurity\b|\bauth\b|authenticat\w*|authoriz\w*|\bauthn\b|\bauthz\b|\boauth\b|\bcredential\w*|\bsecret\w*|\bpassword\w*|\bjwt\b|\bcsrf\b|\bxss\b|\binjection\b|\bsanitiz\w*|\bprivileg\w*|\bpermission\w*|\brbac\b|\bvulnerabilit\w*|\bcve\b|\bexploit\w*|\bencrypt\w*|\bdecrypt\w*|\bpayment\w*|\bcertificate\w*|\btls\b|\bssl\b|\bcors\b|\bssrf\b|\bdeserializ\w*|\bgdpr\b|\bhipaa\b|\bpci\b|breaking\s+change)/i;
|
|
22
|
+
// High-complexity engineering signals (folded in from router.ts COMPLEXITY_KEYWORDS
|
|
23
|
+
// so the unified classifier preserves the router's `high` intent — Q2). These are
|
|
24
|
+
// architecture/systems-level terms, not security (which is `critical` above).
|
|
25
|
+
const HIGH_KW = /(architect\w*|refactor\w*|\bdistributed\b|concurren\w*|microservice\w*|algorithm\w*|optimiz\w*|\bperformance\b|scalab\w*|multi-?step|redesign\w*|\bconsensus\b)/i;
|
|
26
|
+
// Trivial keywords + short + single-file → the near-zero-overhead floor.
|
|
27
|
+
const TRIVIAL_KW = /\b(typo|rename|comment|whitespace|lint|formatting|format|bump\s+version|one[-\s]?liner|doc\s*typo)\b/i;
|
|
28
|
+
const SCORE = {
|
|
29
|
+
trivial: 0.05,
|
|
30
|
+
low: 0.25,
|
|
31
|
+
medium: 0.55,
|
|
32
|
+
high: 0.8,
|
|
33
|
+
critical: 0.95,
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Classify task complexity into one 5-level tier. PURE, no model call.
|
|
37
|
+
* Precedence: risk/critical > trivial-floor > 3-level scorer (low/medium/high),
|
|
38
|
+
* with a file-count bump.
|
|
39
|
+
*/
|
|
40
|
+
export function classifyComplexity(input) {
|
|
41
|
+
const text = input.instruction ?? '';
|
|
42
|
+
const files = input.affectedFiles?.length ?? 0;
|
|
43
|
+
const reasons = [];
|
|
44
|
+
const hasRiskFlags = (input.riskFlags?.length ?? 0) > 0;
|
|
45
|
+
const hasCriticalKw = CRITICAL_KW.test(text);
|
|
46
|
+
if (hasRiskFlags || hasCriticalKw) {
|
|
47
|
+
if (hasRiskFlags)
|
|
48
|
+
reasons.push(`riskFlags=[${input.riskFlags.join(',')}]`);
|
|
49
|
+
if (hasCriticalKw)
|
|
50
|
+
reasons.push('critical keyword');
|
|
51
|
+
return { tier: 'critical', score: SCORE.critical, reasons, source: 'heuristic' };
|
|
52
|
+
}
|
|
53
|
+
if (TRIVIAL_KW.test(text) && text.length < 200 && files <= 1) {
|
|
54
|
+
reasons.push('trivial keyword, short, ≤1 file');
|
|
55
|
+
return { tier: 'trivial', score: SCORE.trivial, reasons, source: 'heuristic' };
|
|
56
|
+
}
|
|
57
|
+
if (HIGH_KW.test(text)) {
|
|
58
|
+
reasons.push('high-complexity keyword');
|
|
59
|
+
return { tier: 'high', score: SCORE.high, reasons, source: 'heuristic' };
|
|
60
|
+
}
|
|
61
|
+
const q = measureQueryComplexity(text, { moderate: 1, complex: 2 });
|
|
62
|
+
reasons.push(`query-complexity=${q}`);
|
|
63
|
+
let tier = q === 'simple' ? 'low' : q === 'moderate' ? 'medium' : 'high';
|
|
64
|
+
// Many files raises the floor a notch (capped at high; critical is keyword-only).
|
|
65
|
+
if (files >= 5 && tier !== 'high') {
|
|
66
|
+
tier = tier === 'low' ? 'medium' : 'high';
|
|
67
|
+
reasons.push(`${files} files → bumped`);
|
|
68
|
+
}
|
|
69
|
+
return { tier, score: SCORE[tier], reasons, source: 'heuristic' };
|
|
70
|
+
}
|
|
71
|
+
/** Map the 5-level tier onto the 4-level routing scale (trivial folds to low). */
|
|
72
|
+
export function tierToRouting(tier) {
|
|
73
|
+
return tier === 'trivial' ? 'low' : tier;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=complexity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/models/complexity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/models/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,WAAW,EAEX,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,WAAW,EAEX,SAAS,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/models/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,WAAW,EAEX,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,WAAW,EAEX,SAAS,EAGV,MAAM,YAAY,CAAC;AA0FpB;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,eAAe,CAAyB;gBAEpC,MAAM,EAAE,gBAAgB;IAmBpC,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,wBAAwB;IAgF/D;;;;;;;OAOG;IACH,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,cAAc;IAwG7F;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,cAAc;IAwBtB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAqF3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiE3B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAMnF;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIlD;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAKzD;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAI7B;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG;QACvC,cAAc,EAAE,wBAAwB,CAAC;QACzC,YAAY,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,WAAW,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC7E,cAAc,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxD;IA8DD;;OAEG;WACW,mBAAmB,IAAI,gBAAgB;CAYtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAElE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAkBvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAYrD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAE7C"}
|
package/dist/models/router.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* - Cost optimization strategy
|
|
8
8
|
* - Available model capabilities
|
|
9
9
|
*/
|
|
10
|
-
import { ModelPresets, DEFAULT_ROUTING_RULES, } from './types.js';
|
|
10
|
+
import { ModelPresets, DEFAULT_ROUTING_RULES, RoutingPresets, resolvePhaseChain, } from './types.js';
|
|
11
|
+
import { classifyComplexity, tierToRouting } from './complexity.js';
|
|
11
12
|
import { createLogger } from '../utils/logger.js';
|
|
12
13
|
import { AdaptiveCache } from '../utils/adaptive-cache.js';
|
|
13
14
|
const log = createLogger('model-router-exec');
|
|
@@ -174,16 +175,17 @@ export class ModelRouter {
|
|
|
174
175
|
}
|
|
175
176
|
const lowerTask = taskDescription.toLowerCase();
|
|
176
177
|
const words = lowerTask.split(/\s+/);
|
|
177
|
-
// Detect complexity
|
|
178
|
-
|
|
178
|
+
// Detect complexity. Q2: the keyword scan is retained only for the
|
|
179
|
+
// confidence signal / matched-keywords; the AUTHORITATIVE tier comes from
|
|
180
|
+
// the unified classifier so router.classifyTask and deliver's tier lookups
|
|
181
|
+
// agree (trivial folds to low for the 4-level routing scale).
|
|
179
182
|
let maxComplexityScore = 0;
|
|
180
|
-
for (const
|
|
183
|
+
for (const keywords of Object.values(COMPLEXITY_KEYWORDS)) {
|
|
181
184
|
const score = keywords.filter((kw) => lowerTask.includes(kw)).length;
|
|
182
|
-
if (score > maxComplexityScore)
|
|
185
|
+
if (score > maxComplexityScore)
|
|
183
186
|
maxComplexityScore = score;
|
|
184
|
-
complexity = level;
|
|
185
|
-
}
|
|
186
187
|
}
|
|
188
|
+
const complexity = tierToRouting(classifyComplexity({ instruction: taskDescription }).tier);
|
|
187
189
|
// Detect task type
|
|
188
190
|
let taskType = 'coding';
|
|
189
191
|
let maxTypeScore = 0;
|
|
@@ -239,9 +241,36 @@ export class ModelRouter {
|
|
|
239
241
|
*/
|
|
240
242
|
selectModel(complexity, taskType, keywords) {
|
|
241
243
|
const strategy = this.config.routingStrategy || 'balanced';
|
|
242
|
-
//
|
|
243
|
-
//
|
|
244
|
-
//
|
|
244
|
+
// Q4: when a routing PRESET is persisted, resolve from the CANONICAL
|
|
245
|
+
// per-phase source (resolvePhaseChain) — the flat routingMatrix below is the
|
|
246
|
+
// fallback for configs that predate `routingPreset`. This keeps the preset's
|
|
247
|
+
// full per-phase intent authoritative at runtime rather than the flattened
|
|
248
|
+
// execute-primary the matrix records.
|
|
249
|
+
if (this.config.routingPreset) {
|
|
250
|
+
const preset = RoutingPresets[this.config.routingPreset];
|
|
251
|
+
// Only engage the canonical per-phase path for presets that actually carry
|
|
252
|
+
// per-complexity `tiers`. A tier-less preset (e.g. fable-local-opus) has no
|
|
253
|
+
// complexity routing, so resolvePhaseChain would return the executor role
|
|
254
|
+
// for EVERY tier — dropping the strategy's role escalation of hard tasks.
|
|
255
|
+
// Those fall through to the routingMatrix/strategy logic unchanged.
|
|
256
|
+
if (preset && preset.tiers) {
|
|
257
|
+
const modelId = resolvePhaseChain(preset, { complexity, phase: 'execute' })[0];
|
|
258
|
+
const model = this.models.get(modelId) || ModelPresets[modelId];
|
|
259
|
+
if (model) {
|
|
260
|
+
return {
|
|
261
|
+
model,
|
|
262
|
+
fallback: undefined,
|
|
263
|
+
role: 'executor',
|
|
264
|
+
reasoning: `routingPreset '${preset.id}' (canonical per-phase, tier '${complexity}'): ${model.name}`,
|
|
265
|
+
estimatedCost: this.estimateCost(model, 10000, 5000),
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// Check routingMatrix override next - user-specified per-complexity model
|
|
271
|
+
// assignments (LEGACY flat form; the preset path above supersedes it). Two
|
|
272
|
+
// accepted forms: a single model id string (tier routing) or the legacy
|
|
273
|
+
// { planner, executor } pair.
|
|
245
274
|
if (this.config.routingMatrix?.[complexity]) {
|
|
246
275
|
const matrixEntry = this.config.routingMatrix[complexity];
|
|
247
276
|
const isHigh = complexity === 'critical' || complexity === 'high';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/models/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/models/router.ts"],"names":[],"mappings":"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"}
|
package/dist/models/types.d.ts
CHANGED
|
@@ -65,6 +65,22 @@ export type ModelPresetId = keyof typeof ModelPresets;
|
|
|
65
65
|
* against Anthropic and work with a Claude Max plan via the proxy's OAuth
|
|
66
66
|
* passthrough; local roles run free on llama.cpp.
|
|
67
67
|
*/
|
|
68
|
+
/** An ordered escalation chain of model ids: index 0 is the primary; later
|
|
69
|
+
* entries are the models to escalate to on failure (consumed in S5). */
|
|
70
|
+
export type ModelChain = string[];
|
|
71
|
+
/** A lifecycle phase a task turn runs in. `reflect` is used by the GEPA reflect
|
|
72
|
+
* phase (S6); `fallback` is the last-resort model. */
|
|
73
|
+
export type Phase = 'plan' | 'execute' | 'review' | 'reflect' | 'fallback';
|
|
74
|
+
/** Per-phase model chains for one complexity tier. A phase omitted from an
|
|
75
|
+
* explicit PhaseModels tier is *skippable* (see `resolvePhaseChain` allowSkip),
|
|
76
|
+
* which is how trivial/low tiers get near-zero overhead (S4). */
|
|
77
|
+
export interface PhaseModels {
|
|
78
|
+
plan?: ModelChain;
|
|
79
|
+
execute?: ModelChain;
|
|
80
|
+
review?: ModelChain;
|
|
81
|
+
reflect?: ModelChain;
|
|
82
|
+
fallback?: ModelChain;
|
|
83
|
+
}
|
|
68
84
|
export interface RoutingPreset {
|
|
69
85
|
id: string;
|
|
70
86
|
name: string;
|
|
@@ -84,26 +100,57 @@ export interface RoutingPreset {
|
|
|
84
100
|
* map stays coherent. Consumed by `uap model routing use`, which materializes
|
|
85
101
|
* it into the router's routingMatrix.
|
|
86
102
|
*/
|
|
87
|
-
tiers?: Partial<Record<TaskComplexity, string>>;
|
|
103
|
+
tiers?: Partial<Record<TaskComplexity, string | PhaseModels>>;
|
|
88
104
|
models: string[];
|
|
89
105
|
routingStrategy?: string;
|
|
90
106
|
}
|
|
91
107
|
export declare const RoutingPresets: Record<string, RoutingPreset>;
|
|
92
108
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
109
|
+
* Resolve the ordered model chain for a (complexity, phase) pair. PURE.
|
|
110
|
+
* - string tier → it IS the execute model: `execute`→[string], other phases →
|
|
111
|
+
* the role-model (single-element chain), preserving legacy behavior.
|
|
112
|
+
* - PhaseModels → the phase's chain, or (when the phase is omitted) the
|
|
113
|
+
* role-model fallback — unless `allowSkip`, which returns [] so callers can
|
|
114
|
+
* treat the phase as skipped (S4 effort dial).
|
|
115
|
+
* - no tier → the role-model (single-element chain).
|
|
116
|
+
*/
|
|
117
|
+
export declare function resolvePhaseChain(preset: RoutingPreset, opts: {
|
|
118
|
+
complexity?: TaskComplexity;
|
|
119
|
+
phase: Phase;
|
|
120
|
+
allowSkip?: boolean;
|
|
121
|
+
}): ModelChain;
|
|
122
|
+
/**
|
|
123
|
+
* LEGACY COMPATIBILITY SHIM (Q4). Materialize a preset's complexity tiers into
|
|
124
|
+
* router.ts's single-model routingMatrix. String tiers pass through; PhaseModels
|
|
125
|
+
* tiers contribute their EXECUTE primary (losing the per-phase chain). This is
|
|
126
|
+
* DERIVED from the canonical per-phase source (resolvePhaseChain /
|
|
127
|
+
* selectPhaseModel); new code should select through those, not this flat matrix.
|
|
128
|
+
* Retained so router.ts's existing routingMatrix path keeps working. Pure.
|
|
97
129
|
*/
|
|
98
130
|
export declare function tiersToRoutingMatrix(preset: RoutingPreset): Record<string, string> | undefined;
|
|
99
131
|
/**
|
|
100
|
-
* Resolve the model for a (complexity, role) pair against a
|
|
101
|
-
*
|
|
102
|
-
*
|
|
132
|
+
* Resolve the single model for a (complexity, role/phase) pair against a
|
|
133
|
+
* preset. Returns the primary of the resolved phase chain. Pure — the source
|
|
134
|
+
* of truth for "which model does this task get". Back-compat: `{complexity,
|
|
135
|
+
* role:'executor'}` on a string tier returns that tier model, exactly as before.
|
|
103
136
|
*/
|
|
104
137
|
export declare function resolvePresetModel(preset: RoutingPreset, opts: {
|
|
105
138
|
complexity?: TaskComplexity;
|
|
106
139
|
role?: keyof RoutingPreset['roles'];
|
|
140
|
+
phase?: Phase;
|
|
141
|
+
}): string;
|
|
142
|
+
/**
|
|
143
|
+
* CANONICAL per-phase model selector (Q4). `resolvePhaseChain` is the single
|
|
144
|
+
* source of truth for "which model does this (tier, phase) get"; this returns
|
|
145
|
+
* its primary. New code should route model selection through this (or
|
|
146
|
+
* `resolvePhaseChain` for the full escalation chain), NOT through the flattened
|
|
147
|
+
* `tiersToRoutingMatrix` — that matrix is a LEGACY COMPATIBILITY SHIM for
|
|
148
|
+
* router.ts's single-model routingMatrix and loses the per-phase chain. The flat
|
|
149
|
+
* matrix is derived FROM this canonical source, never the other way round.
|
|
150
|
+
*/
|
|
151
|
+
export declare function selectPhaseModel(preset: RoutingPreset, opts: {
|
|
152
|
+
complexity?: TaskComplexity;
|
|
153
|
+
phase: Phase;
|
|
107
154
|
}): string;
|
|
108
155
|
/**
|
|
109
156
|
* Compute the `ANTHROPIC_PASSTHROUGH_MODELS` proxy env value for a routing
|
|
@@ -126,13 +173,13 @@ export declare const RoleAssignmentSchema: z.ZodObject<{
|
|
|
126
173
|
maxTokensPerRequest: z.ZodOptional<z.ZodNumber>;
|
|
127
174
|
timeout: z.ZodDefault<z.ZodNumber>;
|
|
128
175
|
}, "strip", z.ZodTypeAny, {
|
|
129
|
-
modelId: string;
|
|
130
176
|
role: "planner" | "executor" | "reviewer" | "fallback";
|
|
177
|
+
modelId: string;
|
|
131
178
|
timeout: number;
|
|
132
179
|
maxTokensPerRequest?: number | undefined;
|
|
133
180
|
}, {
|
|
134
|
-
modelId: string;
|
|
135
181
|
role: "planner" | "executor" | "reviewer" | "fallback";
|
|
182
|
+
modelId: string;
|
|
136
183
|
maxTokensPerRequest?: number | undefined;
|
|
137
184
|
timeout?: number | undefined;
|
|
138
185
|
}>;
|
|
@@ -267,6 +314,7 @@ export declare const MultiModelConfigSchema: z.ZodObject<{
|
|
|
267
314
|
executor: string;
|
|
268
315
|
}>]>>>;
|
|
269
316
|
routingStrategy: z.ZodDefault<z.ZodEnum<["cost-optimized", "performance-first", "balanced", "adaptive"]>>;
|
|
317
|
+
routingPreset: z.ZodOptional<z.ZodString>;
|
|
270
318
|
plannerSettings: z.ZodOptional<z.ZodObject<{
|
|
271
319
|
complexityThreshold: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
|
|
272
320
|
maxPlanningTokens: z.ZodDefault<z.ZodNumber>;
|
|
@@ -333,6 +381,7 @@ export declare const MultiModelConfigSchema: z.ZodObject<{
|
|
|
333
381
|
planner: string;
|
|
334
382
|
executor: string;
|
|
335
383
|
}>> | undefined;
|
|
384
|
+
routingPreset?: string | undefined;
|
|
336
385
|
plannerSettings?: {
|
|
337
386
|
complexityThreshold: "low" | "medium" | "high";
|
|
338
387
|
maxPlanningTokens: number;
|
|
@@ -383,6 +432,7 @@ export declare const MultiModelConfigSchema: z.ZodObject<{
|
|
|
383
432
|
executor: string;
|
|
384
433
|
}>> | undefined;
|
|
385
434
|
routingStrategy?: "balanced" | "performance-first" | "cost-optimized" | "adaptive" | undefined;
|
|
435
|
+
routingPreset?: string | undefined;
|
|
386
436
|
plannerSettings?: {
|
|
387
437
|
complexityThreshold?: "low" | "medium" | "high" | undefined;
|
|
388
438
|
maxPlanningTokens?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAGzE,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAGlF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAelC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmKpD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,YAAY,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
|
package/dist/models/types.js
CHANGED
|
@@ -286,6 +286,50 @@ export const RoutingPresets = {
|
|
|
286
286
|
models: ['sonnet-5', 'opus-4.8', 'qwen36-a3b'],
|
|
287
287
|
routingStrategy: 'balanced',
|
|
288
288
|
},
|
|
289
|
+
'adaptive-tiered': {
|
|
290
|
+
id: 'adaptive-tiered',
|
|
291
|
+
name: 'Adaptive per-phase (complexity × plan/execute/review escalation)',
|
|
292
|
+
description: 'Per-phase model chains that escalate on failure. Low-tier work skips ' +
|
|
293
|
+
'plan+review for near-zero overhead; high/critical add planning, a distinct ' +
|
|
294
|
+
'reviewer, a reflect model, and per-phase escalation. Execute local→cloud, ' +
|
|
295
|
+
'fall back to Opus. Requires the per-phase resolvers (resolvePhaseChain).',
|
|
296
|
+
roles: {
|
|
297
|
+
planner: 'sonnet-5',
|
|
298
|
+
executor: 'qwen36-a3b',
|
|
299
|
+
reviewer: 'sonnet-5',
|
|
300
|
+
fallback: 'opus-4.8',
|
|
301
|
+
},
|
|
302
|
+
tiers: {
|
|
303
|
+
// trivial folds to low for routing; low omits plan+review → they are
|
|
304
|
+
// skipped (overhead control), execute escalates local→cloud.
|
|
305
|
+
low: { execute: ['qwen36-a3b', 'sonnet-5'], fallback: ['sonnet-5'] },
|
|
306
|
+
medium: {
|
|
307
|
+
plan: ['sonnet-5'],
|
|
308
|
+
execute: ['sonnet-5', 'opus-4.8'],
|
|
309
|
+
review: ['sonnet-5'],
|
|
310
|
+
fallback: ['opus-4.8'],
|
|
311
|
+
},
|
|
312
|
+
high: {
|
|
313
|
+
plan: ['sonnet-5', 'opus-4.8'],
|
|
314
|
+
// execute primary is sonnet (not local qwen): hard work should not START
|
|
315
|
+
// on the weakest model, and it keeps the flattened matrix monotonic
|
|
316
|
+
// (medium→sonnet, high→sonnet) rather than inverting to qwen (review C3).
|
|
317
|
+
execute: ['sonnet-5', 'opus-4.8'],
|
|
318
|
+
review: ['sonnet-5', 'opus-4.8'],
|
|
319
|
+
reflect: ['opus-4.8'],
|
|
320
|
+
fallback: ['opus-4.8'],
|
|
321
|
+
},
|
|
322
|
+
critical: {
|
|
323
|
+
plan: ['opus-4.8'],
|
|
324
|
+
execute: ['sonnet-5', 'opus-4.8'],
|
|
325
|
+
review: ['opus-4.8'],
|
|
326
|
+
reflect: ['opus-4.8'],
|
|
327
|
+
fallback: ['opus-4.8'],
|
|
328
|
+
},
|
|
329
|
+
},
|
|
330
|
+
models: ['fable-5', 'qwen36-a3b', 'haiku-4.5', 'sonnet-5', 'opus-4.8'],
|
|
331
|
+
routingStrategy: 'adaptive',
|
|
332
|
+
},
|
|
289
333
|
};
|
|
290
334
|
/**
|
|
291
335
|
* Materialize a preset's complexity tiers into the router's routingMatrix
|
|
@@ -293,26 +337,91 @@ export const RoutingPresets = {
|
|
|
293
337
|
* the router falls back to the executor role for them — coherent by default.
|
|
294
338
|
* Exported + pure for testing and for `uap model routing use`.
|
|
295
339
|
*/
|
|
340
|
+
/** Map a lifecycle phase to the closest lifecycle role (role-model fallback). */
|
|
341
|
+
const PHASE_TO_ROLE = {
|
|
342
|
+
plan: 'planner',
|
|
343
|
+
execute: 'executor',
|
|
344
|
+
review: 'reviewer',
|
|
345
|
+
reflect: 'reviewer',
|
|
346
|
+
fallback: 'fallback',
|
|
347
|
+
};
|
|
348
|
+
/** Map a lifecycle role to its phase (for role→phase resolution). */
|
|
349
|
+
const ROLE_TO_PHASE = {
|
|
350
|
+
planner: 'plan',
|
|
351
|
+
executor: 'execute',
|
|
352
|
+
reviewer: 'review',
|
|
353
|
+
fallback: 'fallback',
|
|
354
|
+
};
|
|
355
|
+
/**
|
|
356
|
+
* Resolve the ordered model chain for a (complexity, phase) pair. PURE.
|
|
357
|
+
* - string tier → it IS the execute model: `execute`→[string], other phases →
|
|
358
|
+
* the role-model (single-element chain), preserving legacy behavior.
|
|
359
|
+
* - PhaseModels → the phase's chain, or (when the phase is omitted) the
|
|
360
|
+
* role-model fallback — unless `allowSkip`, which returns [] so callers can
|
|
361
|
+
* treat the phase as skipped (S4 effort dial).
|
|
362
|
+
* - no tier → the role-model (single-element chain).
|
|
363
|
+
*/
|
|
364
|
+
export function resolvePhaseChain(preset, opts) {
|
|
365
|
+
const { complexity, phase, allowSkip } = opts;
|
|
366
|
+
const roleModel = preset.roles[PHASE_TO_ROLE[phase]];
|
|
367
|
+
const tier = complexity ? preset.tiers?.[complexity] : undefined;
|
|
368
|
+
if (tier === undefined)
|
|
369
|
+
return [roleModel];
|
|
370
|
+
if (typeof tier === 'string') {
|
|
371
|
+
return phase === 'execute' ? [tier] : [roleModel];
|
|
372
|
+
}
|
|
373
|
+
const chain = tier[phase];
|
|
374
|
+
if (chain && chain.length > 0)
|
|
375
|
+
return [...chain];
|
|
376
|
+
return allowSkip ? [] : [roleModel];
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* LEGACY COMPATIBILITY SHIM (Q4). Materialize a preset's complexity tiers into
|
|
380
|
+
* router.ts's single-model routingMatrix. String tiers pass through; PhaseModels
|
|
381
|
+
* tiers contribute their EXECUTE primary (losing the per-phase chain). This is
|
|
382
|
+
* DERIVED from the canonical per-phase source (resolvePhaseChain /
|
|
383
|
+
* selectPhaseModel); new code should select through those, not this flat matrix.
|
|
384
|
+
* Retained so router.ts's existing routingMatrix path keeps working. Pure.
|
|
385
|
+
*/
|
|
296
386
|
export function tiersToRoutingMatrix(preset) {
|
|
297
387
|
if (!preset.tiers)
|
|
298
388
|
return undefined;
|
|
299
389
|
const matrix = {};
|
|
300
|
-
for (const [complexity,
|
|
301
|
-
if (
|
|
302
|
-
|
|
390
|
+
for (const [complexity, value] of Object.entries(preset.tiers)) {
|
|
391
|
+
if (!value)
|
|
392
|
+
continue;
|
|
393
|
+
if (typeof value === 'string') {
|
|
394
|
+
matrix[complexity] = value;
|
|
395
|
+
}
|
|
396
|
+
else if (value.execute && value.execute.length > 0) {
|
|
397
|
+
matrix[complexity] = value.execute[0];
|
|
398
|
+
}
|
|
303
399
|
}
|
|
304
400
|
return Object.keys(matrix).length > 0 ? matrix : undefined;
|
|
305
401
|
}
|
|
306
402
|
/**
|
|
307
|
-
* Resolve the model for a (complexity, role) pair against a
|
|
308
|
-
*
|
|
309
|
-
*
|
|
403
|
+
* Resolve the single model for a (complexity, role/phase) pair against a
|
|
404
|
+
* preset. Returns the primary of the resolved phase chain. Pure — the source
|
|
405
|
+
* of truth for "which model does this task get". Back-compat: `{complexity,
|
|
406
|
+
* role:'executor'}` on a string tier returns that tier model, exactly as before.
|
|
310
407
|
*/
|
|
311
408
|
export function resolvePresetModel(preset, opts) {
|
|
312
|
-
const { complexity, role = 'executor' } = opts;
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
return preset.roles[role];
|
|
409
|
+
const { complexity, role = 'executor', phase } = opts;
|
|
410
|
+
const resolvedPhase = phase ?? ROLE_TO_PHASE[role];
|
|
411
|
+
const chain = resolvePhaseChain(preset, { complexity, phase: resolvedPhase });
|
|
412
|
+
return chain[0] ?? preset.roles[role];
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* CANONICAL per-phase model selector (Q4). `resolvePhaseChain` is the single
|
|
416
|
+
* source of truth for "which model does this (tier, phase) get"; this returns
|
|
417
|
+
* its primary. New code should route model selection through this (or
|
|
418
|
+
* `resolvePhaseChain` for the full escalation chain), NOT through the flattened
|
|
419
|
+
* `tiersToRoutingMatrix` — that matrix is a LEGACY COMPATIBILITY SHIM for
|
|
420
|
+
* router.ts's single-model routingMatrix and loses the per-phase chain. The flat
|
|
421
|
+
* matrix is derived FROM this canonical source, never the other way round.
|
|
422
|
+
*/
|
|
423
|
+
export function selectPhaseModel(preset, opts) {
|
|
424
|
+
return resolvePhaseChain(preset, opts)[0] ?? preset.roles.executor;
|
|
316
425
|
}
|
|
317
426
|
/**
|
|
318
427
|
* Compute the `ANTHROPIC_PASSTHROUGH_MODELS` proxy env value for a routing
|
|
@@ -388,7 +497,10 @@ export const MultiModelConfigSchema = z.object({
|
|
|
388
497
|
fallbackThreshold: z.number().default(3),
|
|
389
498
|
})
|
|
390
499
|
.optional(),
|
|
391
|
-
// Custom routing matrix
|
|
500
|
+
// Custom routing matrix (per-complexity model). NOTE: this is a FALLBACK —
|
|
501
|
+
// when `routingPreset` is set and resolvable, the router selects from the
|
|
502
|
+
// canonical per-phase source (resolvePhaseChain) and this matrix is ignored
|
|
503
|
+
// for selection (it is retained for legacy configs and display).
|
|
392
504
|
routingMatrix: z
|
|
393
505
|
.record(z.enum(['low', 'medium', 'high', 'critical']), z.union([
|
|
394
506
|
z.string(), // new: one model id for this complexity tier
|
|
@@ -404,6 +516,11 @@ export const MultiModelConfigSchema = z.object({
|
|
|
404
516
|
'adaptive', // Learn from task results
|
|
405
517
|
])
|
|
406
518
|
.default('balanced'),
|
|
519
|
+
// Q4: the source RoutingPreset id. When set and resolvable, the router selects
|
|
520
|
+
// models from the CANONICAL per-phase source (resolvePhaseChain) rather than
|
|
521
|
+
// the flattened routingMatrix — which is demoted to a fallback for configs that
|
|
522
|
+
// predate this field. Persisted by `uap model routing use`.
|
|
523
|
+
routingPreset: z.string().optional(),
|
|
407
524
|
// Planner-specific settings
|
|
408
525
|
plannerSettings: z
|
|
409
526
|
.object({
|