@zhihaohong52/sonata 0.12.0 → 0.12.2

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 (39) hide show
  1. package/dist/catalog.js +116 -29
  2. package/dist/catalog.js.map +1 -1
  3. package/dist/cli.js +17 -30
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/agents.js +2 -2
  6. package/dist/commands/agents.js.map +1 -1
  7. package/dist/commands/catalog.js +10 -1
  8. package/dist/commands/catalog.js.map +1 -1
  9. package/dist/commands/doctor.js +14 -3
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/init.js +17 -1
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/commands/sync.js +4 -0
  14. package/dist/commands/sync.js.map +1 -1
  15. package/dist/commands/usage.js +50 -0
  16. package/dist/commands/usage.js.map +1 -1
  17. package/dist/detect.js +85 -6
  18. package/dist/detect.js.map +1 -1
  19. package/dist/init/apply.js +10 -1
  20. package/dist/init/apply.js.map +1 -1
  21. package/dist/init/discover.js +5 -1
  22. package/dist/init/discover.js.map +1 -1
  23. package/dist/native/credentials.js +41 -7
  24. package/dist/native/credentials.js.map +1 -1
  25. package/dist/tui-ink/agents-app.js +4 -2
  26. package/dist/tui-ink/agents-app.js.map +1 -1
  27. package/dist/tui-ink/app-config.js +6 -2
  28. package/dist/tui-ink/app-config.js.map +1 -1
  29. package/dist/tui-ink/app.js +3 -3
  30. package/dist/tui-ink/app.js.map +1 -1
  31. package/dist/tui-ink/launch.js +24 -1
  32. package/dist/tui-ink/launch.js.map +1 -1
  33. package/dist/tui-ink/screens/usage-view.js +97 -0
  34. package/dist/tui-ink/screens/usage-view.js.map +1 -0
  35. package/dist/tui-ink/screens/usage.js +106 -0
  36. package/dist/tui-ink/screens/usage.js.map +1 -0
  37. package/dist/tui-ink/steps.js +2 -0
  38. package/dist/tui-ink/steps.js.map +1 -1
  39. package/package.json +1 -1
package/dist/catalog.js CHANGED
@@ -13,9 +13,20 @@ import { join } from 'node:path';
13
13
  import { EFFORT_LEVELS, isEffort, joinCandidate, splitCandidate } from './effort.js';
14
14
  import { frontierIndices, keptAfterGate, kneeIndex } from './frontier.js';
15
15
  export const AA_ATTRIBUTION = 'Model rankings by Artificial Analysis — https://artificialanalysis.ai';
16
- /** Coding Index at or above this ⇒ complex-eligible. Chosen so today's
17
- * mid-tier coders (deepseek-v4-flash class) sit just above the line. */
18
- export const AA_CAPABLE_CODING_INDEX = 40;
16
+ /**
17
+ * The capability an unscored model is ranked as: a mid-table stand-in, so a
18
+ * model the catalog does not know sorts among known ones rather than first or
19
+ * last.
20
+ *
21
+ * This used to be `AA_CAPABLE_CODING_INDEX`, a threshold that excluded any
22
+ * catalog-scored model with a coding index below 40 from every tier. It was
23
+ * removed: it gated on a score no tier ranks by, it excluded rather than
24
+ * demoted, it could not judge a new model (no coding index yet), and when
25
+ * every candidate failed it the fallback ranked them all anyway. Measured on
26
+ * the real catalog, the best of the 27 models it caught had under a third of
27
+ * the value of the model leading `simple`, so the frontier already sinks them.
28
+ */
29
+ export const UNSCORED_PLACEHOLDER_INDEX = 40;
19
30
  /**
20
31
  * A model may cost at most this multiple of the cheapest *selected* model's
21
32
  * per-task cost and still be eligible for a simple tier.
@@ -112,12 +123,17 @@ export function capabilityOf(entry) {
112
123
  * the margin cannot swallow, so the ranking is decided by the measurement
113
124
  * rather than by the price.
114
125
  *
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.
126
+ * **Every tier ranks on this now, `simple` and `normal` included.** They used
127
+ * `capabilityOf` (agentic first), on the reasoning that throughput is the
128
+ * right numerator for a value tier. The coverage figure that justified it —
129
+ * "agentic on 95%" — did not hold: AA publishes agentic scores days after
130
+ * intelligence, so every new model arrives without one. Measured on one real
131
+ * config: 22 of 36 candidates had an agentic score, all 36 an intelligence
132
+ * one. `capabilityOf` then fell back per model, putting two scales on one
133
+ * frontier axis, and the knee it found (`glm-5.3-flash`, agentic 50.9) was
134
+ * not even on the frontier when measured on one scale — `mimo-v2.6-pro` beats
135
+ * it on intelligence and on price. A metric only a subset of the candidates
136
+ * carry cannot rank all of them.
121
137
  */
122
138
  export function reasoningOf(entry) {
123
139
  return entry.intelligenceIndex ?? entry.agenticIndex ?? entry.codingIndex ?? 0;
@@ -402,13 +418,23 @@ const CURATED = {
402
418
  'qwen3.8-max': { capable: true },
403
419
  'ox-alpha-free': { capable: false },
404
420
  };
421
+ /**
422
+ * Whether a model may be ranked, and which source said so.
423
+ *
424
+ * An AA-scored model is always eligible: its position is the ranking's job.
425
+ * Without a score, the curated table answers, then a default.
426
+ */
405
427
  export function lookupModel(name, aa, providers = [], upstreamFor = identityUpstream) {
406
428
  const { key, effort } = splitCandidate(name);
407
429
  const normalized = normalizedFor(key, providers, upstreamFor);
408
430
  const scored = aaEntryFor(normalized, aa, effort);
409
431
  if (scored !== undefined) {
410
432
  return {
411
- capable: scored.codingIndex >= AA_CAPABLE_CODING_INDEX,
433
+ // Always eligible. A scored model's place is decided by the frontier and
434
+ // the tier's sort, which demote a weak model to the end of the list
435
+ // rather than removing it — see `UNSCORED_PLACEHOLDER_INDEX` for the
436
+ // threshold this replaced and why.
437
+ capable: true,
412
438
  source: 'aa',
413
439
  };
414
440
  }
@@ -497,6 +523,10 @@ export function candidateFacts(candidate, aa, providers = [], upstreamFor = iden
497
523
  return { key, effort };
498
524
  return { key, effort, capability: metric(entry), costPerTask: entry.costPerTask };
499
525
  }
526
+ /**
527
+ * One ranking row's text: the candidate, its intelligence score and its cost
528
+ * per task, or a note that AA publishes no per-task cost for it.
529
+ */
500
530
  export function candidateLabel(candidate, aa, providers = [], upstreamFor = identityUpstream) {
501
531
  const { key, effort } = splitCandidate(candidate);
502
532
  const head = effort === undefined ? key : `${key} @${effort}`;
@@ -505,7 +535,7 @@ export function candidateLabel(candidate, aa, providers = [], upstreamFor = iden
505
535
  return head;
506
536
  if (entry.costPerTask === undefined)
507
537
  return `${head} (AA publishes no cost-per-task — add by hand to sonata.toml)`;
508
- return `${head.padEnd(32)} ${capabilityOf(entry).toFixed(1).padStart(4)} $${entry.costPerTask.toFixed(3)}/task`;
538
+ return `${head.padEnd(32)} ${reasoningOf(entry).toFixed(1).padStart(4)} $${entry.costPerTask.toFixed(3)}/task`;
509
539
  }
510
540
  /**
511
541
  * Which of `modelKeys` the ranking catalog can actually score.
@@ -531,19 +561,21 @@ function rank(key, aa, providers = [], upstreamFor = identityUpstream, metric =
531
561
  const scored = scoreFor(key, aa, providers, upstreamFor);
532
562
  return scored !== undefined
533
563
  ? { index: metric(scored), price: scored.costPerTask ?? 0 }
534
- : { index: AA_CAPABLE_CODING_INDEX, price: 0 };
564
+ : { index: UNSCORED_PLACEHOLDER_INDEX, price: 0 };
535
565
  }
536
566
  /**
537
- * Capability per dollar — how a simple tier is ordered.
567
+ * Capability per task-dollar — how `simple` and `normal` are ordered.
538
568
  *
539
- * A simple tier exists to do grunt work cheaply, so the model that returns the
540
- * most capability per dollar wins, not the most capable model that happens to
541
- * clear a price threshold (which is what this used to do, and is backwards for
542
- * a tier whose whole purpose is cost). Price is floored before dividing so a
543
- * free model sorts first rather than dividing by zero.
569
+ * No price floor. This divided by `max(price, 0.01)`, a guard from when
570
+ * prices were per-token rates, and per-task costs now run well under a cent:
571
+ * `gpt-6-luna@low` costs $0.0045 and `gpt-5.6-luna@low` $0.0098, both floored
572
+ * to $0.01, so the halved price vanished and a 0.1-point intelligence gap
573
+ * decided `simple`'s lead the wrong way. A non-positive price is not "very
574
+ * cheap", it is missing data, and scores zero — the spec's rule that a zero
575
+ * cost per task is unscored, not free.
544
576
  */
545
577
  function valueOf(r) {
546
- return r.index / Math.max(r.price, 0.01);
578
+ return r.price > 0 ? r.index / r.price : 0;
547
579
  }
548
580
  /**
549
581
  * Rank a role's selected models into the three tiers.
@@ -580,7 +612,15 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
580
612
  // Two rankers, because the tiers measure different things. `simple` and
581
613
  // `normal` are value tiers and want throughput per dollar; `complex` is a
582
614
  // judgement tier and wants reasoning. See `reasoningOf`.
583
- const rankOf = (k) => rank(k, aa, providers, upstreamFor);
615
+ // Intelligence for every tier, not agentic for the value tiers. Agentic
616
+ // is missing for every model AA has only just scored — measured, 14 of 36
617
+ // candidates on one real config — and `capabilityOf` then fell back to
618
+ // intelligence per model, so the value frontier plotted old models by
619
+ // agentic and new ones by intelligence on one axis. That mixed axis made
620
+ // `glm-5.3-flash` the knee (agentic 50.9) although `mimo-v2.6-pro` beats
621
+ // it on intelligence AND price. Intelligence is the one score AA publishes
622
+ // for every model from day one, and the scale its own frontier chart uses.
623
+ const rankOf = (k) => rank(k, aa, providers, upstreamFor, reasoningOf);
584
624
  const rankReasoning = (k) => rank(k, aa, providers, upstreamFor, reasoningOf);
585
625
  // An avoided model sorts after every non-avoided one, whatever it scores.
586
626
  // Demotion, not exclusion: the tier keeps it as a fallback candidate, so
@@ -598,6 +638,22 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
598
638
  return effort === undefined ? -1 : EFFORT_LEVELS.indexOf(effort);
599
639
  };
600
640
  const byLevel = (a, b) => levelOf(b) - levelOf(a);
641
+ // A scored candidate with no intelligence index has only an agentic or
642
+ // coding score, and `reasoningOf` would plot that on the intelligence axis
643
+ // beside every other model. Such a candidate stays in the tier as fallback
644
+ // depth — demoted, as avoidance and the gate demote — but never sets the
645
+ // frontier and never competes with intelligence scores for a position.
646
+ // Only a MIX is off-scale: when no candidate has an intelligence score (an
647
+ // old cache, a fixture) they all share the fallback, and demoting every one
648
+ // of them would just delete the knee. Unscored candidates (no catalog)
649
+ // share the placeholder, the catalog-less path's own single scale.
650
+ const lacksIntelligence = (k) => {
651
+ const entry = scoreFor(k, aa, providers, upstreamFor);
652
+ return entry !== undefined && !Number.isFinite(entry.intelligenceIndex);
653
+ };
654
+ const mixed = candidates.some((k) => !lacksIntelligence(k));
655
+ const offScale = (k) => mixed && lacksIntelligence(k);
656
+ const scaleOrder = (a, b) => Number(offScale(a)) - Number(offScale(b));
601
657
  const capable = (k) => lookupModel(k, aa, providers, upstreamFor).capable;
602
658
  const perTask = (k) => scoreFor(k, aa, providers, upstreamFor)?.costPerTask;
603
659
  /**
@@ -617,7 +673,7 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
617
673
  * computed afterwards would inherit the gate's tuned fraction.
618
674
  */
619
675
  const geometryFor = (metric) => {
620
- const pool = candidates.filter((k) => capable(k) && (perTask(k) ?? 0) > 0);
676
+ const pool = candidates.filter((k) => capable(k) && !offScale(k) && (perTask(k) ?? 0) > 0);
621
677
  const points = pool.map((k) => ({
622
678
  capability: rank(k, aa, providers, upstreamFor, metric).index,
623
679
  cost: perTask(k) ?? 0,
@@ -638,7 +694,7 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
638
694
  kneeCapability: at === undefined ? Number.NEGATIVE_INFINITY : frontier[at].capability,
639
695
  };
640
696
  };
641
- const valueGeometry = geometryFor(capabilityOf);
697
+ const valueGeometry = geometryFor(reasoningOf);
642
698
  const powerGeometry = geometryFor(reasoningOf);
643
699
  /**
644
700
  * A gated rung sorts after every rung that pays, whatever it scores.
@@ -663,6 +719,7 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
663
719
  const ra = rankReasoning(a);
664
720
  const rb = rankReasoning(b);
665
721
  return avoidance(a, b)
722
+ || scaleOrder(a, b)
666
723
  || gateOrder(powerGeometry.wasteful)(a, b)
667
724
  // Knee-and-above leads; below-knee follows as fallback depth rather than
668
725
  // being excluded. The knee decides the lead, not membership — excluding
@@ -698,6 +755,9 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
698
755
  const byValue = (a, b) => {
699
756
  const ra = rankOf(a);
700
757
  const rb = rankOf(b);
758
+ const scaled = scaleOrder(a, b);
759
+ if (scaled !== 0)
760
+ return avoidance(a, b) || scaled;
701
761
  const gated = gateOrder(valueGeometry.wasteful)(a, b);
702
762
  if (gated !== 0)
703
763
  return avoidance(a, b) || gated;
@@ -727,8 +787,25 @@ export function proposeTiers(modelKeys, aa, providers = [], avoided = new Set(),
727
787
  && !avoided.has(bareKey(knee))
728
788
  && !valueGeometry.wasteful.has(knee)
729
789
  && valueOrdered.includes(knee);
790
+ // The knee is a point, and the frontier keeps one key per point: one model
791
+ // on two gateways is a genuine duplicate, so only one of its routes is ever
792
+ // named. Promoting that key alone left the other route at its value
793
+ // position — measured, #13 behind a dozen cheaper models — so losing the
794
+ // first gateway fell back to a different model rather than the same one.
795
+ // Every route at the knee's exact point leads, in value order, unless the
796
+ // user avoided it or it is off-scale — a fallback score that happens to
797
+ // equal the knee's intelligence is a coincidence across two scales, not
798
+ // the same point. Selected from `valueOrdered` rather than prepending the
799
+ // knee, since the frontier names the first duplicate it saw while value
800
+ // order may put another level of the same model first.
801
+ const kneePoint = (k) => kneeLeads
802
+ && !avoided.has(bareKey(k))
803
+ && !offScale(k)
804
+ && perTask(k) === perTask(knee)
805
+ && rankOf(k).index === rankOf(knee).index;
806
+ const kneeRoutes = kneeLeads ? valueOrdered.filter(kneePoint) : [];
730
807
  const normal = kneeLeads
731
- ? [knee, ...valueOrdered.filter((k) => k !== knee)]
808
+ ? [...kneeRoutes, ...valueOrdered.filter((k) => !kneeRoutes.includes(k))]
732
809
  : valueOrdered;
733
810
  // Anchor the cap to the best-value model that can actually lead. Avoided
734
811
  // models remain fallbacks but must not raise the price paid by preferred ones.
@@ -798,16 +875,26 @@ export function loadAaCatalog(home) {
798
875
  for (const [name, entry] of Object.entries(doc.models)) {
799
876
  if (entry !== null &&
800
877
  typeof entry === 'object' &&
801
- Number.isFinite(entry.codingIndex) &&
878
+ // At least one real score, not specifically a coding one: a coding
879
+ // index is optional now, and requiring it here would drop exactly
880
+ // the rows the stand-in bug was hiding — at load time instead.
881
+ [entry.codingIndex, entry.agenticIndex, entry.intelligenceIndex].some((v) => Number.isFinite(v)) &&
802
882
  Number.isFinite(entry.blendedPriceUsd)) {
803
883
  // An unknown level is a hand-edit or a foreign writer; the score is
804
884
  // still good, so keep the row and drop only the field.
805
- const { effort, costPerTask, ...rest } = entry;
885
+ const { effort, costPerTask, codingIndex, agenticIndex, intelligenceIndex, ...rest } = entry;
806
886
  // Same treatment as `effort`: the row's score is still good, so drop
807
- // only the malformed field and let the model read as uncosted.
808
- const kept = typeof costPerTask === 'number' && Number.isFinite(costPerTask)
809
- ? { ...rest, costPerTask }
810
- : rest;
887
+ // only the malformed field and let the model read as uncosted. Each
888
+ // optional score likewise: one finite score admits the row, so a
889
+ // string beside it would otherwise reach `toFixed` in a label.
890
+ const finite = (v) => typeof v === 'number' && Number.isFinite(v);
891
+ const kept = {
892
+ ...rest,
893
+ ...(finite(codingIndex) ? { codingIndex } : {}),
894
+ ...(finite(agenticIndex) ? { agenticIndex } : {}),
895
+ ...(finite(intelligenceIndex) ? { intelligenceIndex } : {}),
896
+ ...(finite(costPerTask) ? { costPerTask } : {}),
897
+ };
811
898
  models[name] = effort !== undefined && isEffort(effort) ? { ...kept, effort } : kept;
812
899
  }
813
900
  }
@@ -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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"}
package/dist/cli.js CHANGED
@@ -33,7 +33,7 @@ import { cmdCatalogUpdate, validateAaKey } from './commands/catalog.js';
33
33
  import { cmdLitellm } from './commands/litellm.js';
34
34
  import { AA_ATTRIBUTION, aaCatalogPath, loadAaCatalog } from './catalog.js';
35
35
  import { MODELS_DEV_ATTRIBUTION } from './modelsdev.js';
36
- import { cmdUsage } from './commands/usage.js';
36
+ import { cmdUsage, coveredLabel, parseUsageFlags, spentLabel } from './commands/usage.js';
37
37
  import { readRows } from './ledger.js';
38
38
  const USAGE = `sonata — foreign-model subagents for Claude Code
39
39
 
@@ -60,7 +60,7 @@ const USAGE = `sonata — foreign-model subagents for Claude Code
60
60
  sonata auth manage gateway credentials (list/add/remove/login)
61
61
  sonata catalog show or refresh the Artificial Analysis model catalog
62
62
  sonata litellm install or report sonata's own pinned LiteLLM (install|status)
63
- sonata usage report native-path token and cost usage from the ledger
63
+ sonata usage native-path token and cost usage from the ledger (live screen in a terminal)
64
64
  [--since 7d] [--by model|role|tier|effort|gateway|session|project]
65
65
  [--project <dir>] [--session <id>] [--json]
66
66
  sonata status router health and this project's last hour of routes (--global: every project)
@@ -148,13 +148,20 @@ export async function main(argv) {
148
148
  // TTY neither reaches here at all, so the plain output every script and
149
149
  // SessionStart hook depends on is untouched.
150
150
  const start = command === 'status' ? 'status'
151
- : command === 'agents' ? 'tiers'
152
- : command === 'init' ? 'init'
153
- : undefined;
151
+ : command === 'usage' ? 'usage'
152
+ : command === 'agents' ? 'tiers'
153
+ : command === 'init' ? 'init'
154
+ : undefined;
154
155
  return runConfigTui({
155
156
  cwd: process.cwd(),
156
157
  start,
157
158
  statusGlobal: command === 'status' && rest.includes('--global'),
159
+ // Parsed with the printed report's own validation, so a bad `--by` or
160
+ // `--since` fails here with its usual message instead of opening a
161
+ // screen that silently ignores it.
162
+ usage: command === 'usage'
163
+ ? (() => { const f = parseUsageFlags(rest); return { by: f.by, since: f.since, project: f.project === '.' }; })()
164
+ : undefined,
158
165
  // `shouldLaunchTui` deliberately sends this flag to the wizard — it
159
166
  // re-seeds the ranking screens — so the wizard has to receive it.
160
167
  // Dropping it here silently kept the saved rankings.
@@ -555,27 +562,11 @@ export async function main(argv) {
555
562
  return 0;
556
563
  }
557
564
  if (command === 'usage') {
558
- // parseArgs is strict by default: an unrecognized flag throws rather than
559
- // being silently ignored — for a cost report, quietly falling back to the
560
- // default window on a misspelled `--since` would be materially misleading.
561
- const { values } = parseArgs({
562
- args: rest,
563
- options: {
564
- by: { type: 'string' },
565
- since: { type: 'string' },
566
- session: { type: 'string' },
567
- project: { type: 'string' },
568
- json: { type: 'boolean', default: false },
569
- },
570
- });
571
- const by = (values.by ?? 'model');
572
- if (!['model', 'role', 'tier', 'effort', 'gateway', 'session', 'project'].includes(by)) {
573
- throw new Error('sonata usage --by must be one of: model | role | tier | effort | gateway | session | project');
574
- }
565
+ const values = parseUsageFlags(rest);
575
566
  const report = await cmdUsage({
576
567
  home: homedir(),
577
- since: values.since ?? '7d',
578
- by,
568
+ since: values.since,
569
+ by: values.by,
579
570
  session: values.session,
580
571
  // `--project` always takes a value; `parseArgs` rejects a bare flag
581
572
  // before this point, so there is no no-value case to handle. Use
@@ -603,12 +594,8 @@ export async function main(argv) {
603
594
  console.log(`${''.padEnd(labelWidth)} ${'requests'.padStart(8)} ${'input'.padStart(12)} ${'output'.padStart(10)} ${'spent'.padStart(12)} ${'covered'.padStart(12)}`);
604
595
  }
605
596
  for (const bucket of report.buckets) {
606
- const spent = bucket.costUsd === 0 && bucket.coveredUsd === 0 && bucket.unpricedRequests === bucket.requests
607
- ? '—'
608
- : bucket.costUsd === 0 && bucket.coveredRequests > 0 ? '—' : money(bucket.costUsd);
609
- const covered = anyCovered
610
- ? ` ${(bucket.coveredUsd === 0 && bucket.coveredRequests === 0 ? '—' : money(bucket.coveredUsd)).padStart(12)}`
611
- : '';
597
+ const spent = spentLabel(bucket, money);
598
+ const covered = anyCovered ? ` ${coveredLabel(bucket, money).padStart(12)}` : '';
612
599
  console.log(`${bucket.label.padEnd(labelWidth)} ${String(bucket.requests).padStart(8)} ${String(bucket.input).padStart(12)} ${String(bucket.output).padStart(10)} ${spent.padStart(12)}${covered}`);
613
600
  }
614
601
  console.log(`\npriced total $${report.pricedTotalUsd.toFixed(4)}`);