Skip to content

0.9.134

Choose a tag to compare

@michael-denyer michael-denyer released this 10 Nov 17:42
· 9 commits to main since this release
a691bd3

On Pi, the anthropic provider's fable role runs claude-fable-5-2, where it ran claude-fable-5-1. A session on a provider that has no table of its own uses the anthropic table, so its fable role changes too. Claude Code sessions need no change, because Claude Code 2.1.321 moved its own fable alias to Fable 5.2. The model first appears in Pi 1.5.1's catalog. Pi 1.5.0 does not have it. It warns Model "claude-fable-5-2" not found for provider "anthropic". Using custom model id. and runs that ID with the context window, pricing, and thinking settings of the provider's default model. To stay on Fable 5.1, add the line pi models: fable=anthropic/claude-fable-5-1 to the override sheet.

Pi 1.5.1 is now the oldest Pi that the port supports. CI typechecks the Pi extension against Pi 1.5.1, where it used Pi 1.1.0, and checks the model catalog, child startup, and slash expansion against it. CONTRIBUTING.md asks for the local Pi checks on Pi 1.5.1. No CI job runs on Pi 1.1.0 through 1.5.0 any longer. The copy of Pi that the tests load the extension against moves from 1.5.0 to 1.5.2.

Pi 1.5.1 changed how it splits the arguments of a prompt template, and the extension's copy of that code in pi/slash.ts now does the same. The extension uses the copy when a wake-up prompt that the agent scheduled names a prompt template. A quote opens only at the start of an argument, so --title="fix bug" gives the template --title="fix and bug", where it gave --title=fix bug. Inside a quoted argument, a backslash before the same kind of quote keeps the quote as text. A quote that never closes is text, and the words after it split at each space, so open "quote here gives open, "quote, and here, where it gave open and quote here. On Pi 1.5.0 and older, Pi itself still splits such arguments the old way. A local bun test tests/ reads the installed Pi, so against Pi 1.5.0 or older tests/pi/slash.test.mjs and tests/pi/catalog.test.mjs each fail one test. Set PI_PACKAGE_DIR to a Pi 1.5.1 package to run them.