Repository navigation
Tracks pi 0.99.2 (upstream pin 5806068c2).
Highlights
- Anthropic workload identity federation: sign in with your identity token, no API key needed.
- Tools with bounded numbers or formats no longer break Anthropic strict mode.
- Every built-in tool schema now matches what pi sends, byte for byte.
Details
Upstream sync 3dd803d7e → 5806068c2 (pi 0.99.2). 50 changes on the union
range, 45 first-parent (merge 8f89293a2 carries the async-SQLite PR). 30
port — 26 of them added to the Scope queue — 20 n/a, 0 decide. One release
crossed (v0.99.2), confirmed by an explicit tag fetch and by
packages/ai/package.json.
Catalog: regenerated by executing JSON.stringify(MODELS) against the 0.99.2
build, after first reproducing the outgoing 0.99.1 catalog byte for byte.
1,523 → 1,529 models (+6, −0) across an unchanged 42 providers, 862,603 →
867,163 B: Claude Sonnet 5.5 and GPT-6.1 Sol on Bedrock, GPT-6.1 Sol on GitHub
Copilot (on Responses) and OpenCode, DeepSeek V4.1 Flash Fast on Baseten;
prices and limits moved for 24 more. No thinking-level, compat or api change.
This cycle:
- Anthropic workload identity federation. With
ANTHROPIC_FEDERATION_RULE_ID,ANTHROPIC_ORGANIZATION_IDand
ANTHROPIC_IDENTITY_TOKEN_FILEset (and no key), the anthropic provider
exchanges the identity token for a short-lived access token exactly as
Anthropic's SDK 0.124.0 does, shares it across requests, refreshes it
before it expires and drops it on a 401. Keys andANTHROPIC_AUTH_TOKEN
keep precedence;ANTHROPIC_SERVICE_ACCOUNT_IDand
ANTHROPIC_WORKSPACE_IDride along when set. - Bounded tools no longer break Anthropic strict mode. A strict-prefer
tool whose schema uses a keyword Anthropic's strict mode rejects (minimum,
maximum,maxItems,uniqueItems, an unlistedformat, …) is sent
non-strict instead of failing the whole request; a strict-require tool
fails naming the keyword. - An unreadable Retry-After backs off. A
Retry-Afteror
retry-after-msthat is not a finite delay falls back to the exponential
backoff instead of retrying at once or failing fast. - Tool schemas as pi sends them. A schema serializes in TypeBox's key
order (a decoded one in its own), and keyword values its typed fields
cannot hold are kept rather than dropped. Every built-in tool schema now
matches pi's byte for byte — which also fixed read/ls/find/grep declaring
their numeric parametersintegersince the port began; pi's arenumber. - The CLI starts without an API key when the provider is configured
another way (ANTHROPIC_AUTH_TOKEN, federation), gating on the provider's
auth check as pi does.
Queued for later slices: MCP (10 deltas, row 21), the durable harness
(Packages 19–23 and async SQLite storage, row 8), codemode, tool
orchestration, the remote catalog, virtual models, and Anthropic's headless
copy-code login (row 1).
Differential harness: re-pinned to 0.99.2 and 5806068c2 at 66 PASS / 0
KNOWN / 0 FAIL, all 66 against the published build, with a new scenario for
the Anthropic strict-keyword fallback.