pi 1.0.2: bump @earendil-works/pi-ai + pi-agent-core 0.87.1 → 1.0.2

All imports and Agent seams survive (verified pre-bump). Fallouts, all
catalog drift handled by the documented refresh path:
- sync-pricing.ts: catalog schema v6 keys are type-qualified (chat:id);
  price chat models only, strip the prefix so PRICES keys stay provider:id
- prices.ts regenerated (1537 keys); auth-keys gains the typesafe provider
- test pins: glm-5.3-flash contextWindow 1048576→1048575, cacheRead
  0.05→0.03 (activity-feed, model-catalog, render-activity-dock, usage)

Inherited free: at-capacity retry, unfinished-tool-call error handling,
model samplingParams no longer dropped on direct stream().
This commit is contained in:
amosblomqvist
2026-10-04 19:50:20 +03:00
parent 5653a394ac
commit 02e7840b2f
9 changed files with 252 additions and 200 deletions
+3 -3
View File
@@ -66,9 +66,9 @@ describe("the model catalog projection", () => {
assert.ok(glm, "glm-5.3-flash in catalog");
assert.deepEqual(glm!.supportedLevels, ["low", "high", "max"]);
assert.deepEqual(glm!.input, ["text", "image"]);
// pi's current glm price (0.87.1 raised it back to 0.15/0.5 — the
// 0.85.x catalog had temporarily listed 0.075/0.25/0.015)
assert.deepEqual(glm!.cost, { input: 0.15, output: 0.5, cacheRead: 0.05, cacheWrite: 0 });
// pi's current glm price (pi 1.0.2 catalog refresh: cacheRead
// corrected 0.05 → 0.03; input/output unchanged since 0.87.1)
assert.deepEqual(glm!.cost, { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 });
// model slots wave: the providers surface + the resolved slot pins
const openrouter = providers.find((p) => p.id === "openrouter");
assert.ok(openrouter && openrouter.keyPresent, "openrouter federated (key pinned above)");