feat: add Claude Fable 5.1 - #921
Conversation
|
Why is this hardcoded at the first place? I'm almost sure it is possible to fetch models dynamically... |
Upstream PR rynfar#921 bumps @anthropic-ai/claude-code to ^2.1.257 (needed for claude-fable-5-1) but only refreshes package-lock.json. The Docker image installs from bun.lock via "bun install --ignore-scripts", so the lock has to carry the same resolution or the published image keeps shipping the old CLI. Resolution pinned to 2.1.257, matching package-lock.json; @anthropic-ai/claude-agent-sdk untouched. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XsJc3ULuYEro9ztXa2EM3W
|
Thanks for this — the core of it shipped in #928 and you're credited as co-author on the merge commit. To explain why this PR is being closed rather than merged directly: Your diagnosis and the CLI bump were both correct — I verified that Three things were added on top:
Verified live on Max: real Fable 5.1 generation, correct |
|
@OpenSource03 — fair question. The short answer is there's no upstream endpoint to fetch it from on this transport.
So it's a deliberate compatibility surface for OpenAI-style UI pickers, pinned to what the vendored CLI can actually service. |
Summary
claude-fable-5-1the canonical Fable model while retainingclaude-fable-5as an explicit legacy pin/v1/modelswith Max 1M context metadata and pricing coverageValidation
npm run buildbun test src/__tests__/openai.test.ts src/__tests__/proxy-health-build.test.ts src/__tests__/proxy-env-stripping.test.ts src/__tests__/explicit-model-pins.test.ts src/__tests__/pricing-unit.test.ts(173 passed)claude-fable-5-1; legacyclaude-fable-5still succeedsKnown unrelated test issue
npm testrun still has the existingproxy-stale-uuid-retry.test.tsexpectation mismatch (expected 500, received 499)origin/mainworktree at1ea97d0