@zhihaohong52/sonata 0.11.1 → 0.12.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.
Files changed (113) hide show
  1. package/dist/adapters/codex.js +6 -2
  2. package/dist/adapters/codex.js.map +1 -1
  3. package/dist/adapters/opencode.js +5 -2
  4. package/dist/adapters/opencode.js.map +1 -1
  5. package/dist/adapters/pi.js +6 -2
  6. package/dist/adapters/pi.js.map +1 -1
  7. package/dist/catalog.js +204 -34
  8. package/dist/catalog.js.map +1 -1
  9. package/dist/cli.js +43 -10
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/agents.js +22 -1
  12. package/dist/commands/agents.js.map +1 -1
  13. package/dist/commands/catalog.js +16 -7
  14. package/dist/commands/catalog.js.map +1 -1
  15. package/dist/commands/doctor.js +125 -1
  16. package/dist/commands/doctor.js.map +1 -1
  17. package/dist/commands/init.js +19 -5
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/serve.js +101 -5
  20. package/dist/commands/serve.js.map +1 -1
  21. package/dist/commands/status.js +45 -0
  22. package/dist/commands/status.js.map +1 -1
  23. package/dist/detect.js +37 -1
  24. package/dist/detect.js.map +1 -1
  25. package/dist/effort.js +39 -5
  26. package/dist/effort.js.map +1 -1
  27. package/dist/frontier.js +142 -0
  28. package/dist/frontier.js.map +1 -0
  29. package/dist/init/candidates.js +5 -3
  30. package/dist/init/candidates.js.map +1 -1
  31. package/dist/init/discover.js +13 -2
  32. package/dist/init/discover.js.map +1 -1
  33. package/dist/init/helpers.js +10 -0
  34. package/dist/init/helpers.js.map +1 -1
  35. package/dist/init/interactive-state.js +6 -2
  36. package/dist/init/interactive-state.js.map +1 -1
  37. package/dist/migrations.js +18 -6
  38. package/dist/migrations.js.map +1 -1
  39. package/dist/native/oauth-login.js +12 -5
  40. package/dist/native/oauth-login.js.map +1 -1
  41. package/dist/native/router.js +225 -18
  42. package/dist/native/router.js.map +1 -1
  43. package/dist/tui-ink/agents-app.js +29 -4
  44. package/dist/tui-ink/agents-app.js.map +1 -1
  45. package/dist/tui-ink/agents-run.js +16 -9
  46. package/dist/tui-ink/agents-run.js.map +1 -1
  47. package/dist/tui-ink/alt-screen.js +36 -0
  48. package/dist/tui-ink/alt-screen.js.map +1 -0
  49. package/dist/tui-ink/app-config.js +126 -14
  50. package/dist/tui-ink/app-config.js.map +1 -1
  51. package/dist/tui-ink/app-state.js +7 -1
  52. package/dist/tui-ink/app-state.js.map +1 -1
  53. package/dist/tui-ink/app.js +19 -7
  54. package/dist/tui-ink/app.js.map +1 -1
  55. package/dist/tui-ink/components/byok-step.js +6 -3
  56. package/dist/tui-ink/components/byok-step.js.map +1 -1
  57. package/dist/tui-ink/components/login-screen.js +3 -1
  58. package/dist/tui-ink/components/login-screen.js.map +1 -1
  59. package/dist/tui-ink/components/menu.js +44 -0
  60. package/dist/tui-ink/components/menu.js.map +1 -0
  61. package/dist/tui-ink/components/models-step.js +4 -2
  62. package/dist/tui-ink/components/models-step.js.map +1 -1
  63. package/dist/tui-ink/components/multi-select.js +6 -2
  64. package/dist/tui-ink/components/multi-select.js.map +1 -1
  65. package/dist/tui-ink/components/providers-step.js +65 -10
  66. package/dist/tui-ink/components/providers-step.js.map +1 -1
  67. package/dist/tui-ink/components/ranked-select-state.js +96 -0
  68. package/dist/tui-ink/components/ranked-select-state.js.map +1 -1
  69. package/dist/tui-ink/components/ranked-select.js +75 -8
  70. package/dist/tui-ink/components/ranked-select.js.map +1 -1
  71. package/dist/tui-ink/components/screen.js +89 -0
  72. package/dist/tui-ink/components/screen.js.map +1 -0
  73. package/dist/tui-ink/components/search-select.js +4 -2
  74. package/dist/tui-ink/components/search-select.js.map +1 -1
  75. package/dist/tui-ink/components/text-input.js +3 -1
  76. package/dist/tui-ink/components/text-input.js.map +1 -1
  77. package/dist/tui-ink/launch.js +61 -2
  78. package/dist/tui-ink/launch.js.map +1 -1
  79. package/dist/tui-ink/screens/action-rows.js +58 -2
  80. package/dist/tui-ink/screens/action-rows.js.map +1 -1
  81. package/dist/tui-ink/screens/actions.js +157 -10
  82. package/dist/tui-ink/screens/actions.js.map +1 -1
  83. package/dist/tui-ink/screens/budget.js +13 -3
  84. package/dist/tui-ink/screens/budget.js.map +1 -1
  85. package/dist/tui-ink/screens/init.js +145 -0
  86. package/dist/tui-ink/screens/init.js.map +1 -0
  87. package/dist/tui-ink/screens/key-rows.js +28 -2
  88. package/dist/tui-ink/screens/key-rows.js.map +1 -1
  89. package/dist/tui-ink/screens/keys.js +32 -8
  90. package/dist/tui-ink/screens/keys.js.map +1 -1
  91. package/dist/tui-ink/screens/models-rows.js +42 -0
  92. package/dist/tui-ink/screens/models-rows.js.map +1 -1
  93. package/dist/tui-ink/screens/models.js +24 -6
  94. package/dist/tui-ink/screens/models.js.map +1 -1
  95. package/dist/tui-ink/screens/overview-rows.js +15 -10
  96. package/dist/tui-ink/screens/overview-rows.js.map +1 -1
  97. package/dist/tui-ink/screens/overview.js +17 -7
  98. package/dist/tui-ink/screens/overview.js.map +1 -1
  99. package/dist/tui-ink/screens/providers.js +20 -5
  100. package/dist/tui-ink/screens/providers.js.map +1 -1
  101. package/dist/tui-ink/screens/status-poll.js +112 -0
  102. package/dist/tui-ink/screens/status-poll.js.map +1 -0
  103. package/dist/tui-ink/screens/status.js +145 -0
  104. package/dist/tui-ink/screens/status.js.map +1 -0
  105. package/dist/tui-ink/screens/tiers.js +33 -21
  106. package/dist/tui-ink/screens/tiers.js.map +1 -1
  107. package/dist/tui-ink/steps.js +63 -0
  108. package/dist/tui-ink/steps.js.map +1 -1
  109. package/dist/tui-ink/theme-context.js +79 -0
  110. package/dist/tui-ink/theme-context.js.map +1 -0
  111. package/dist/tui-ink/theme.js +239 -0
  112. package/dist/tui-ink/theme.js.map +1 -0
  113. package/package.json +2 -2
@@ -6,6 +6,7 @@ import { connect } from 'node:net';
6
6
  import { reportPathFor } from '../report-contract.js';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { isReadOnlyRole } from '../config.js';
9
+ import { wireEffort } from '../effort.js';
9
10
  const run = promisify(execFile);
10
11
  /**
11
12
  * Codex model discovery.
@@ -188,8 +189,11 @@ function buildScript(input) {
188
189
  // the launch, which the ranked dispatch already reads as "try the next
189
190
  // candidate".
190
191
  const common = [`-m ${shellQuote(input.modelId)}`];
191
- if (input.effort !== undefined)
192
- common.push(`-c model_reasoning_effort="${input.effort}"`);
192
+ // `default` means "as the model ships", so no flag is passed at all — codex
193
+ // then uses its own configured default, which is the request.
194
+ const codexEffort = wireEffort(input.effort);
195
+ if (codexEffort !== undefined)
196
+ common.push(`-c model_reasoning_effort="${codexEffort}"`);
193
197
  let invocation;
194
198
  if (interactive) {
195
199
  // The user's config may set approval_policy=never globally; override it so
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { isReadOnlyRole } from '../config.js';
2
+ import { wireEffort } from '../effort.js';
2
3
  /**
3
4
  * Empty, and that is the finding rather than an omission.
4
5
  *
@@ -76,8 +77,10 @@ function buildScript(input) {
76
77
  // Safe to place before the positional message: `opencode run --help` on
77
78
  // 1.18.29 declares `--variant` as `[string]`, unlike `-f`, which is `[array]`
78
79
  // and greedily eats the next positional — the bug the note below exists for.
79
- if (input.effort !== undefined)
80
- flags.push(`--variant ${input.effort}`);
80
+ // `default` passes no `--variant`, so opencode uses the model's own default.
81
+ const variant = wireEffort(input.effort);
82
+ if (variant !== undefined)
83
+ flags.push(`--variant ${variant}`);
81
84
  // `-f` is declared as an array option, so it greedily consumes any following
82
85
  // positional. The message MUST come before `-f` or opencode treats the prompt
83
86
  // text as a second filename and exits with "File not found".
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { execFile } from 'node:child_process';
2
2
  import { promisify } from 'node:util';
3
3
  import { isReadOnlyRole } from '../config.js';
4
+ import { wireEffort } from '../effort.js';
4
5
  const run = promisify(execFile);
5
6
  /**
6
7
  * Pi adapter.
@@ -57,8 +58,11 @@ function buildScript(input) {
57
58
  // it prints `Warning: Invalid thinking level "none"` and continues at its
58
59
  // own default, so an unmapped `none` would silently run WITH thinking, the
59
60
  // opposite of what was asked for, with nothing downstream able to see it.
60
- if (input.effort !== undefined)
61
- flags.push(`--thinking ${piThinkingLevel(input.effort)}`);
61
+ // `default` passes no `--thinking`, so pi uses its own default. Distinct
62
+ // from `none`, which maps to pi's `off` and actively disables thinking.
63
+ const thinking = wireEffort(input.effort);
64
+ if (thinking !== undefined)
65
+ flags.push(`--thinking ${piThinkingLevel(thinking)}`);
62
66
  // `--tools` is an allowlist, genuinely enforced: a read-only role gets only
63
67
  // the read-side tools and cannot write even in bypassPermissions.
64
68
  if (readOnly)
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/adapters/pi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/adapters/pi.ts"],"names":[],"mappings":"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"}
package/dist/catalog.js CHANGED
@@ -11,6 +11,7 @@
11
11
  import { existsSync, readFileSync } from 'node:fs';
12
12
  import { join } from 'node:path';
13
13
  import { EFFORT_LEVELS, isEffort, joinCandidate, splitCandidate } from './effort.js';
14
+ import { frontierIndices, keptAfterGate, kneeIndex } from './frontier.js';
14
15
  export const AA_ATTRIBUTION = 'Model rankings by Artificial Analysis — https://artificialanalysis.ai';
15
16
  /** Coding Index at or above this ⇒ complex-eligible. Chosen so today's
16
17
  * mid-tier coders (deepseek-v4-flash class) sit just above the line. */
@@ -59,6 +60,28 @@ export const SIMPLE_COST_CEILING = 12;
59
60
  * not signal, and cost should call it instead.
60
61
  */
61
62
  export const AA_CAPABILITY_TIE_MARGIN = 1.0;
63
+ /**
64
+ * The capability *class* a score falls in — the margin applied transitively.
65
+ *
66
+ * "Within the margin" cannot be asked pairwise. Tolerance is not transitive:
67
+ * with scores 52.1, 51.5 and 51.0 the first two are a tie and so are the last
68
+ * two, but 52.1 and 51.0 are 1.1 apart and rank outright. Add prices running
69
+ * the other way (3.0, 2.0, 1.0) and the comparator cycles — B beats A on
70
+ * price, C beats B on price, A beats C on capability. Measured on exactly
71
+ * that fixture: six input permutations produced THREE different orderings of
72
+ * the same three candidates, so the tier a user got depended on the order
73
+ * their models happened to be declared in.
74
+ *
75
+ * Quantising first makes the comparison an integer equality, which cannot
76
+ * cycle. The cost is a boundary: two scores either side of a class edge are
77
+ * separated even when closer together than the margin. That is the standard
78
+ * trade for bucketing, and it is the safe direction — it can only ever rank
79
+ * by capability where the old code ranked by price, never produce an order
80
+ * that depends on input.
81
+ */
82
+ export function capabilityClass(index) {
83
+ return Math.round(index / AA_CAPABILITY_TIE_MARGIN);
84
+ }
62
85
  /**
63
86
  * Capability, best available measure first.
64
87
  *
@@ -71,6 +94,34 @@ export const AA_CAPABILITY_TIE_MARGIN = 1.0;
71
94
  export function capabilityOf(entry) {
72
95
  return entry.agenticIndex ?? entry.codingIndex ?? entry.intelligenceIndex ?? 0;
73
96
  }
97
+ /**
98
+ * Capability as the `complex` tier measures it: reasoning first.
99
+ *
100
+ * `complex` is the one tier defined by judgement rather than throughput —
101
+ * "needs a design decision affecting other components, or is ambiguous about
102
+ * what done means" — and the agentic index does not describe that. It
103
+ * describes driving tools in a loop, which every tier does equally.
104
+ *
105
+ * The two disagree materially rather than academically. Measured 2026-09-21
106
+ * over one project's 22 complex candidates: on the agentic index
107
+ * `glm-5.3-flash` (50.9), `gpt-5.6-sol@max` (50.2) and `gpt-6-astra@max`
108
+ * (51.0) all sit inside `AA_CAPABILITY_TIE_MARGIN`, so the tie-break decided
109
+ * the top of the tier — and the tie-break is *cost*, in the one tier
110
+ * deliberately left cost-uncapped. The cheapest of the three led. On the
111
+ * intelligence index the same three are 41.8 / 47.0 / 52.7, a 10.9 spread
112
+ * the margin cannot swallow, so the ranking is decided by the measurement
113
+ * rather than by the price.
114
+ *
115
+ * `simple` and `normal` keep `capabilityOf`: they are value tiers, ranked on
116
+ * capability per task-dollar, and throughput is the right numerator there.
117
+ * Coverage is not a constraint — on the rows `init` actually offers (those
118
+ * publishing a per-task cost), intelligence is present on 100% and agentic on
119
+ * 95% — so the fallbacks exist for the odd unscored row, not as a per-role
120
+ * choice.
121
+ */
122
+ export function reasoningOf(entry) {
123
+ return entry.intelligenceIndex ?? entry.agenticIndex ?? entry.codingIndex ?? 0;
124
+ }
74
125
  /**
75
126
  * The key an AA score is stored and looked up under.
76
127
  *
@@ -258,8 +309,13 @@ export function unpinnedCandidates(config, aa, upstreamFor = configIdUpstream(co
258
309
  const gateways = Object.keys(config.native?.gateways ?? {});
259
310
  const out = [];
260
311
  for (const [role, lists] of Object.entries(config.tiers)) {
261
- for (const tier of ['simple', 'complex']) {
262
- for (const candidate of lists[tier]) {
312
+ // `normal` is included, and was missing: it was added after this refusal
313
+ // and the loop was never widened, so a bare key in `normal` alone slipped
314
+ // through the very check that exists to stop a candidate ranking on one
315
+ // row's score and then running at the gateway's default. Guarded rather
316
+ // than indexed, because `normal` is optional and absent is valid.
317
+ for (const tier of ['simple', 'normal', 'complex']) {
318
+ for (const candidate of lists[tier] ?? []) {
263
319
  const { key, effort } = splitCandidate(candidate);
264
320
  if (effort !== undefined)
265
321
  continue;
@@ -295,7 +351,7 @@ const identityUpstream = (key) => key;
295
351
  * first spelling that scores wins, so a later one can only add a score where
296
352
  * there was none, never move a model that already matches.
297
353
  */
298
- function normalizedFor(key, providers, upstreamFor) {
354
+ export function normalizedFor(key, providers, upstreamFor) {
299
355
  const upstream = upstreamFor(key);
300
356
  const spellings = typeof upstream === 'string' ? [upstream] : upstream;
301
357
  // Each spelling is offered stripped of the configured gateway names, then
@@ -433,12 +489,14 @@ export function unpinnedVariants(saved, aa, providers = [], upstreamFor = identi
433
489
  return expanded.length > 1 || expanded[0] !== candidate ? expanded : [];
434
490
  });
435
491
  }
436
- /**
437
- * A ranking row: `<key> @<effort>`, then the capability and the cost the
438
- * ranking actually sorts on, so a user comparing two rows sees the numbers
439
- * that ordered them. Per-task cost where AA costed the model, else the
440
- * per-1M blend — labelled, because the two are different units.
441
- */
492
+ /** A candidate's measurements for the ranking board — capability on the given metric and cost per task — or just its key and effort when the catalog does not score it. */
493
+ export function candidateFacts(candidate, aa, providers = [], upstreamFor = identityUpstream, metric = capabilityOf) {
494
+ const { key, effort } = splitCandidate(candidate);
495
+ const entry = scoreFor(candidate, aa, providers, upstreamFor);
496
+ if (entry === undefined)
497
+ return { key, effort };
498
+ return { key, effort, capability: metric(entry), costPerTask: entry.costPerTask };
499
+ }
442
500
  export function candidateLabel(candidate, aa, providers = [], upstreamFor = identityUpstream) {
443
501
  const { key, effort } = splitCandidate(candidate);
444
502
  const head = effort === undefined ? key : `${key} @${effort}`;
@@ -469,10 +527,10 @@ export function catalogCoverage(modelKeys, aa, providers = [], upstreamFor = ide
469
527
  }
470
528
  /** Rank for ordering within a tier: the role's AA score when known, else a
471
529
  * fixed mid score so curated/default models interleave stably. */
472
- function rank(key, aa, providers = [], upstreamFor = identityUpstream) {
530
+ function rank(key, aa, providers = [], upstreamFor = identityUpstream, metric = capabilityOf) {
473
531
  const scored = scoreFor(key, aa, providers, upstreamFor);
474
532
  return scored !== undefined
475
- ? { index: capabilityOf(scored), price: scored.costPerTask ?? 0 }
533
+ ? { index: metric(scored), price: scored.costPerTask ?? 0 }
476
534
  : { index: AA_CAPABLE_CODING_INDEX, price: 0 };
477
535
  }
478
536
  /**
@@ -519,16 +577,16 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
519
577
  // built-in proposal path usable because there is no exclusion data yet.
520
578
  const candidates = taskCostedCandidates(expandCandidates(modelKeys, aa, providers, upstreamFor), aa, providers, upstreamFor);
521
579
  const bareKey = (candidate) => splitCandidate(candidate).key;
580
+ // Two rankers, because the tiers measure different things. `simple` and
581
+ // `normal` are value tiers and want throughput per dollar; `complex` is a
582
+ // judgement tier and wants reasoning. See `reasoningOf`.
522
583
  const rankOf = (k) => rank(k, aa, providers, upstreamFor);
584
+ const rankReasoning = (k) => rank(k, aa, providers, upstreamFor, reasoningOf);
523
585
  // An avoided model sorts after every non-avoided one, whatever it scores.
524
586
  // Demotion, not exclusion: the tier keeps it as a fallback candidate, so
525
587
  // avoiding a gateway costs preference rather than the depth a ranked list
526
588
  // exists to provide.
527
589
  const avoidance = (a, b) => Number(avoided.has(bareKey(a))) - Number(avoided.has(bareKey(b)));
528
- // Complex work wants the most capable model, cost breaking ties — including
529
- // a near-tie: a capability gap within AA_CAPABILITY_TIE_MARGIN is treated as
530
- // noise rather than a real edge, so price decides it the same as an exact
531
- // tie would. A real edge (bigger than the margin) still wins outright.
532
590
  // When capability and price both tie, the higher effort level leads. The
533
591
  // levels of one model are the case: AA prices a level-less row per 1M
534
592
  // tokens, so every level shares one price, and adjacent levels sit inside
@@ -540,12 +598,95 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
540
598
  return effort === undefined ? -1 : EFFORT_LEVELS.indexOf(effort);
541
599
  };
542
600
  const byLevel = (a, b) => levelOf(b) - levelOf(a);
601
+ const capable = (k) => lookupModel(k, aa, providers, upstreamFor).capable;
602
+ const perTask = (k) => scoreFor(k, aa, providers, upstreamFor)?.costPerTask;
603
+ /**
604
+ * The frontier geometry for one metric.
605
+ *
606
+ * Computed per tier rather than once, because the tiers measure different
607
+ * things — `capabilityOf` is throughput and `reasoningOf` is judgement, a
608
+ * split `catalog.ts` already makes for measured reasons — and bounding a
609
+ * value tier with a knee derived from a metric it does not rank on is the
610
+ * same unit-mixing error as comparing a per-task cost with a per-token one.
611
+ * They genuinely differ: on one real config the agentic knee is
612
+ * `glm-5.3-flash` and the intelligence knee is `mimo-v2.6-pro`.
613
+ *
614
+ * The knee is taken from the FULL frontier and the gate applied after, never
615
+ * the reverse. `kneeIndex` records why: Kneedle measures against a chord
616
+ * between the endpoints, the gate removes the far endpoint, and a knee
617
+ * computed afterwards would inherit the gate's tuned fraction.
618
+ */
619
+ const geometryFor = (metric) => {
620
+ const pool = candidates.filter((k) => capable(k) && (perTask(k) ?? 0) > 0);
621
+ const points = pool.map((k) => ({
622
+ capability: rank(k, aa, providers, upstreamFor, metric).index,
623
+ cost: perTask(k) ?? 0,
624
+ }));
625
+ const order = frontierIndices(points);
626
+ const frontier = order.map((i) => points[i]);
627
+ // `undefined` when the frontier has no knee (too few points, or no
628
+ // tradeoff to find). Then there is nothing to promote in `normal`, and
629
+ // `complex`'s floor is -Infinity so every candidate counts as at-or-above
630
+ // it — plain capability order, which is what the spec's degradation says.
631
+ const at = kneeIndex(frontier);
632
+ const knee = at === undefined ? undefined : pool[order[at]];
633
+ const kept = keptAfterGate(frontier);
634
+ const wasteful = new Set(order.slice(kept).map((i) => pool[i]));
635
+ return {
636
+ knee,
637
+ wasteful,
638
+ kneeCapability: at === undefined ? Number.NEGATIVE_INFINITY : frontier[at].capability,
639
+ };
640
+ };
641
+ const valueGeometry = geometryFor(capabilityOf);
642
+ const powerGeometry = geometryFor(reasoningOf);
643
+ /**
644
+ * A gated rung sorts after every rung that pays, whatever it scores.
645
+ *
646
+ * Demotion rather than exclusion, exactly as `avoid_gateways` demotes: the
647
+ * tier keeps it as a last-resort candidate, so declining to pay for it costs
648
+ * preference rather than the depth a ranked list exists to provide. Ordered
649
+ * after the avoidance term, since a gate is sonata's judgement and avoidance
650
+ * is the user's.
651
+ */
652
+ const gateOrder = (set) => (a, b) => Number(set.has(a)) - Number(set.has(b));
653
+ /**
654
+ * Dominated candidates need no term of their own, and that is provable: if X
655
+ * dominates Y then X is at least as capable AND costs no more, so `byValue`
656
+ * and `byCapability` both already place X first. Checked exhaustively
657
+ * against a real catalog — 1762 dominating pairs, zero violations under
658
+ * either key. An explicit demotion pass was not merely redundant, it
659
+ * introduced an inversion that ranked a weaker frontier rung above a
660
+ * stronger dominated one inside a capability-ordered tier.
661
+ */
543
662
  const byCapability = (a, b) => {
544
- const ra = rankOf(a);
545
- const rb = rankOf(b);
546
- const gap = Math.abs(rb.index - ra.index) <= AA_CAPABILITY_TIE_MARGIN ? 0 : rb.index - ra.index;
547
- const byPrice = ra.price - rb.price;
548
- return avoidance(a, b) || gap || byPrice || byLevel(a, b);
663
+ const ra = rankReasoning(a);
664
+ const rb = rankReasoning(b);
665
+ return avoidance(a, b)
666
+ || gateOrder(powerGeometry.wasteful)(a, b)
667
+ // Knee-and-above leads; below-knee follows as fallback depth rather than
668
+ // being excluded. The knee decides the lead, not membership — excluding
669
+ // left one real config's `complex` with five live candidates, so a
670
+ // provider-wide 402 would exhaust it while capable models sat unused.
671
+ || Number(ra.index < powerGeometry.kneeCapability) - Number(rb.index < powerGeometry.kneeCapability)
672
+ // The tie margin survives the band's deletion, and it has to: the gate
673
+ // cannot reach this case. Measured — `qwen3.8-max` (58.4) outranked
674
+ // `glm-5.3-flash` (58.2) on a 0.2-point edge while costing 10.5x as
675
+ // much per task. Both sit on the frontier (dearer AND better), and a
676
+ // two-point frontier can never be gated, so raw capability order alone
677
+ // pays ten times over for a gap that is benchmark noise.
678
+ //
679
+ // Compared as a quantised CLASS rather than a pairwise tolerance,
680
+ // because a pairwise one is not transitive: it produced a genuine
681
+ // 3-cycle on a real fixture, which made the sort depend on input order
682
+ // and the tier differ run to run.
683
+ || capabilityClass(rb.index) - capabilityClass(ra.index)
684
+ || ra.price - rb.price
685
+ // A real capability edge breaks an equal price, after the class has had
686
+ // its say: where there is no money to save there is nothing to trade,
687
+ // and suppressing the difference would pick the worse rung for nothing.
688
+ || rb.index - ra.index
689
+ || byLevel(a, b);
549
690
  };
550
691
  // Simple work wants the most capability per dollar, capability breaking
551
692
  // ties. At one price, value *is* capability, so a score inside the tie
@@ -557,31 +698,58 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
557
698
  const byValue = (a, b) => {
558
699
  const ra = rankOf(a);
559
700
  const rb = rankOf(b);
560
- if (ra.price === rb.price && Math.abs(rb.index - ra.index) <= AA_CAPABILITY_TIE_MARGIN) {
701
+ const gated = gateOrder(valueGeometry.wasteful)(a, b);
702
+ if (gated !== 0)
703
+ return avoidance(a, b) || gated;
704
+ if (ra.price === rb.price && capabilityClass(ra.index) === capabilityClass(rb.index)) {
561
705
  return avoidance(a, b) || byLevel(a, b);
562
706
  }
563
707
  return avoidance(a, b) || valueOf(rb) - valueOf(ra) || rb.index - ra.index || byLevel(a, b);
564
708
  };
565
- const capable = (k) => lookupModel(k, aa, providers, upstreamFor).capable;
566
- const perTask = (k) => scoreFor(k, aa, providers, upstreamFor)?.costPerTask;
567
709
  const complex = candidates.filter(capable).sort(byCapability);
568
- const normal = candidates.filter(capable).sort(byValue);
710
+ const valueOrdered = candidates.filter(capable).sort(byValue);
711
+ /**
712
+ * `normal` leads with the knee, and that is the point of computing one.
713
+ *
714
+ * Used only as a boundary, the best balance point on the frontier led
715
+ * nothing — the analysis was performed and then discarded. `normal` is the
716
+ * *default* tier and means "you know what to change but not exactly how";
717
+ * leading it with the cheapest thing on offer is not a sensible default, and
718
+ * it also gave `simple` and `normal` the same lead, which is the collapse
719
+ * `SIMPLE_CAPABILITY_FLOOR` caused and was deleted for.
720
+ *
721
+ * An avoided or gated knee does not lead: those two judgements outrank this
722
+ * one, and promoting a model the user asked to avoid would make
723
+ * `avoid_gateways` a suggestion.
724
+ */
725
+ const knee = valueGeometry.knee;
726
+ const kneeLeads = knee !== undefined
727
+ && !avoided.has(bareKey(knee))
728
+ && !valueGeometry.wasteful.has(knee)
729
+ && valueOrdered.includes(knee);
730
+ const normal = kneeLeads
731
+ ? [knee, ...valueOrdered.filter((k) => k !== knee)]
732
+ : valueOrdered;
569
733
  // Anchor the cap to the best-value model that can actually lead. Avoided
570
734
  // models remain fallbacks but must not raise the price paid by preferred ones.
571
- const anchor = normal.find((k) => !avoided.has(bareKey(k))) ?? normal[0];
735
+ //
736
+ // Anchored on the VALUE order rather than on `normal`, because `normal` now
737
+ // leads with the knee — which is deliberately not the cheapest model, so
738
+ // using it would raise the cap by whatever the knee costs and let `simple`
739
+ // reach models it exists to exclude.
740
+ const anchor = valueOrdered.find((k) => !avoided.has(bareKey(k))) ?? valueOrdered[0];
572
741
  const anchorCost = anchor === undefined ? undefined : perTask(anchor);
573
742
  const ceiling = anchorCost === undefined ? undefined : anchorCost * SIMPLE_COST_CEILING;
574
- // Filtering `normal` rather than sorting again is what stops `simple`
743
+ // Filtering the value order rather than sorting again is what stops `simple`
575
744
  // disagreeing with it about order: it never does its own sort.
576
745
  //
577
- // The result is a **subsequence, not a prefix**. `normal` is ordered by
578
- // value, and value is not monotonic in cost — a dearer model with a much
579
- // better score outranks a cheap weak one — so an over-ceiling candidate can
580
- // sit ahead of an under-ceiling one and the filter skips past it.
581
- // Truncating at the first over-ceiling candidate would make it a true
582
- // prefix and would drop the qualifying cheap models behind it, which is the
583
- // opposite of what a cheap tier is for.
584
- const simple = ceiling === undefined ? [] : normal.filter((k) => {
746
+ // The result is a **subsequence, not a prefix**. Value is not monotonic in
747
+ // cost — a dearer model with a much better score outranks a cheap weak one —
748
+ // so an over-ceiling candidate can sit ahead of an under-ceiling one and the
749
+ // filter skips past it. Truncating at the first over-ceiling candidate would
750
+ // drop the qualifying cheap models behind it, the opposite of what a cheap
751
+ // tier is for.
752
+ const simple = ceiling === undefined ? [] : valueOrdered.filter((k) => {
585
753
  const cost = perTask(k);
586
754
  return cost !== undefined && cost <= ceiling;
587
755
  });
@@ -608,9 +776,11 @@ export function aaCatalogAgeDays(fetchedAt, now) {
608
776
  // as negative age; treat it as current.
609
777
  return Math.max(0, Math.floor((now.getTime() - at) / 86_400_000));
610
778
  }
779
+ /** Where the cached Artificial Analysis catalog lives under a home directory. */
611
780
  export function aaCatalogPath(home) {
612
781
  return join(home, '.config', 'sonata', 'catalog.json');
613
782
  }
783
+ /** Read the cached Artificial Analysis catalog, or `undefined` when there is none or it will not parse. */
614
784
  export function loadAaCatalog(home) {
615
785
  const path = aaCatalogPath(home);
616
786
  if (!existsSync(path))
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}