Oh My Pi v18.12.4
@oh-my-pi/pi-agent-core Fixed Enabled native compaction for supported Bedrock Claude models (#16343 by @anatoli-tsinovoy) @oh-my-pi/pi-ai Added Added opt-in reclaimAbovePct to auth.accountPolicies: sessions automatically moved to a lower-priority account…
Read full notes
@oh-my-pi/pi-agent-core
Fixed
- Enabled native compaction for supported Bedrock Claude models (#16343 by @anatoli-tsinovoy)
@oh-my-pi/pi-ai
Added
- Added opt-in
reclaimAbovePcttoauth.accountPolicies: sessions automatically moved to a lower-priority account return to the preferred one once it has that much quota left (#14237 by @will-bogusz) - Added
reachesBudgetedHost(): whether the catalog's host request budgets (inline image bytes, official image count) apply to a request, true on a model's official endpoint and on Factory Droid's own hosts (#16288 by @will-bogusz) - Added Inception API-key login (
/login inception) andINCEPTION_API_KEYenvironment authentication (#16439 by @eggpeat) - Added image support for native OpenAI Decisions and Workers AI judgments, prompted vision chat, and auth-gateway System One requests; images exceeding a judgment API's documented caps (e.g. Clef's 4 images, 4 MiB each) are rejected locally (#15471 by @anatoli-tsinovoy).
isSurvivingAssistantinproviders/transform-messages: whether an assistant turn reaches a replay, malformed tool calls dropped first, so callers outsidetransformMessagespick the same latest turn (#15791 by @will-bogusz)- Broker account-pool files (
OMP_AUTH_BROKER_ACCOUNT_POOL_FILE) can hide whole providers and API keys:"*": falsemakes the file an allow-list, and an entry can betrue,false, or{ "accounts": [...], "apiKeys": false }(#14235 by @will-bogusz)
Changed
cursorRawReadPath()writes a bare start line asraw:N-(file:10→file:raw:10-), so Cursor exec reads of such a path still read from lineNonward now thatreadtakesN:rawas one line (#16438 by @will-bogusz)
Fixed
- Fixed Anthropic and Bedrock logging one warning per dropped thinking block (hundreds for one request) after a conversation change; the drop now logs one warning with the count (#16392 by @will-bogusz)
- Fixed Factory Droid Core models (Kimi, GLM, DeepSeek and others) dropping calls to tools with names over 64 characters and their results from later requests; such names now shorten to 64 characters, and shorter names are sent unchanged (#16384 by @will-bogusz)
- Fixed Devin
/usageshowing no data for accounts signed in with/login devin, and Devin chat sending a failing extra auth request for legacy Windsurf Enterprise keys (#13677 by @will-bogusz) - Turns stopped for a thinking loop now keep the tokens and cost the provider had reported, the response id, the request's start time, and its time to first token and duration, instead of recording zero usage and no timing (#16437 by @will-bogusz)
- Fixed Claude requests answering a turn whose attachment is a video, PDF, HEIC or other format sent outside a JPEG/PNG/GIF/WebP image as if nothing were attached; the turn now fails with an error naming the format (#16407 by @will-bogusz)
- Fixed the repeated-tool-call guard missing a loop the model interleaves with a
waitthat elapses with nothing new; a wait that returns finished work still ends the repetition (#11874 by @dickyudhandika) - Fixed Google Antigravity chat and image requests failing with false 429 quota-exhausted errors (#11849 by @jotafurtado)
- Fixed the stream loop guard never stopping a model stuck repeating punctuation or symbols (
?!?!,✓✓✓) until the output limit; such runs now trip once they repeat for 1 KB, while digit and whitespace runs such as padding and hexdumps are left alone (#14436 by @F0Rextasy) - Fixed native remote compaction for supported Bedrock Claude models without changing ordinary Converse turns; a custom non-AWS
baseUrlneedsremoteCompaction.enabled: true(#16343 by @anatoli-tsinovoy) - Fixed Anthropic compaction blocks dropping their signed
tool_changes, which made the replayed block fail its signature (#16343 by @anatoli-tsinovoy)
@oh-my-pi/pi-catalog
Added
- Added native Inception support with Mercury 3, Mercury 2.5, and Mercury 2, live chat-model discovery, API-key login, reasoning controls, and Mercury 3 launch pricing while its catalog reports none; Mercury 3 waits up to 10 minutes for its first output, since high-effort reasoning streams nothing (#16439 by @eggpeat)
Changed
- Changed Devin model discovery to send legacy Windsurf Enterprise keys unprefixed in one request, dropping the Windsurf-editor retry that returned a smaller model list (#13677 by @will-bogusz)
Fixed
- Factory Droid now carries Droid's 3.5 MB inline-image budget (
inline-image-byte-budget) for its hosted routes, under their 4.5 MB request limit, and the newrequest-body-byte-limitaxis (resolveRequestBodyByteLimit) records that limit; it applies on Factory's own hosts through pi-ai'sreachesBudgetedHost(#16288 by @will-bogusz) - DeepSeek V4.1 Flash images are now priced by DeepSeek's own billing (994 tokens for a snapcompact frame) instead of a GPT or Claude rate (2,882 to 3,136), so a 25-frame archive no longer counts about 50k tokens the provider never bills and triggers compaction early (#16418 by @will-bogusz)
- Fixed Amazon Bedrock Kimi K3 (
global./us.moonshotai.kimi-k3) offering Anthropic-style thinking budgets it ignores; it now offerslow,highandmaxeffort, defaulting tomax(#13697 by @alblez) - Marked supported Bedrock Claude models as eligible for native compaction (#16343 by @anatoli-tsinovoy)
@oh-my-pi/pi-coding-agent
Added
bashtool commands now seePI_SESSION_IDandPI_SESSION_FILE, so a script can find the running session's ID and transcript path (#16442 by @johnrichardrinehart
…