github can1357/oh-my-pi v18.8.5

latest release: v18.8.6
7 hours ago

@oh-my-pi/pi-ai

Added

  • oauth.refresh(id, signal, { reason: "auth-recovery" }) forwards provider-401 recovery intent to a delegated (auth broker) refresh, and AuthStorageOptions.refreshOAuthCredentialMints marks a refreshOAuthCredential hook that exchanges tokens itself so its tokens are reused for auth recovery (#14752 by @will-bogusz)
  • SessionsApi.inherit accepts an optional filter, called with each provider and whether the source's affinity is an explicit user pin, to copy only the affinities it accepts (#14749 by @will-bogusz)

Changed

  • AuthApiKeyOptions.accountIds also matches the login email, or else the project id, of credentials that carry no account id (see oauthAccountKey), so Antigravity requests prefer accounts that serve the requested model (#14924).

Fixed

  • Fixed accounts sitting exactly at their reservePct (e.g. 70% used with a 30% reserve) still being picked and reported healthy instead of being held in reserve (#14765 by @will-bogusz)
  • Fixed oauth.accessById with forceRefresh returning the stored token unchanged while it was still valid; it now re-mints that one account (through the auth broker when configured) and returns that account's token even if another row is removed meanwhile (#14752 by @will-bogusz)
  • Fixed omp -p and other short-lived auth-broker clients missing from omp usage clients: usage still waiting for the 10-second report batch is now sent to the broker before the process exits (#14899 by @will-bogusz)
  • Fixed Cursor web fetches that were cut off by a dropped connection disappearing from resumed and rebuilt sessions; they now show as interrupted (#14819 by @jchanghong023)
  • Anthropic hosted web search can honor custom providers' OAuth-style request shaping and configured headers consistently with conversations (#14919 by @farnoy)

@oh-my-pi/pi-catalog

Breaking Changes

  • googleAntigravityModelManagerOptions takes resolveAccounts instead of oauthToken, and fetchAntigravityDiscoveryModels returns a roster or credential-rejection result instead of a bare list (#14924).

Fixed

  • Fixed Claude Haiku 5.5 on Cursor showing as unpriced; it now uses Cursor's $0.10/$0.50 rate card and 5x long-context tier above 100K input tokens (#14890 by @eggpeat).
  • Fixed Claude Haiku 5.5 on GitHub Copilot pricing cache reads and writes at $0 on both the standard and -1m long-context rows, and the -1m row billing the 5x long-context band a second time above 100K input tokens (#14890 by @eggpeat).

@oh-my-pi/pi-coding-agent

Added

  • Added per-model auto-compaction points: the /models preview shows where each model compacts, and in the Roles view k (or the Compaction limit button) sets it for the selected role's or fallback's model (90000, 90k, 1M, 80%; empty resets). Also configurable as compaction.modelThresholds with provider/model-id or provider/* keys (#14952 by @H4vC)

Fixed

  • Fixed omp usage reporting an account exactly at its reserve (e.g. 30% left with a 30% reserve) as eligible instead of inside reserve (#14765 by @will-bogusz)
  • Fixed the todo reminder pushing the agent to keep working after it offered options and asked the user to choose (#14800 by @mrmans0n)
  • Fixed the todo reminder telling the model to keep working right after it asked the user a bolded or italicised question (#12051, #14353 by @F0Rextasy)
  • Fixed short model selectors such as p/a:max or a:max dropping their explicit thinking level when a role was reassigned or used for image questions; a model whose ID literally ends in :max or :auto is still treated as that model (#14554 by @xiangnan0811)
  • Fixed starting a subagent switching the parent session's later language servers from shared to private (#14628 by @jorgoose)
  • Fixed a finishing subagent cancelling local tiny-model requests (titles, task labels, judgments) still running for the parent or other subagents (#14629 by @jorgoose)
  • Fixed rust-analyzer on Windows not running through a running lspmux server, as it already did on Linux and macOS (#14630 by @jorgoose)
  • Fixed a malformed or unreadable project plugin-overrides.json being ignored silently, which re-enabled project-disabled plugins without a trace; omp now logs a warning naming the file (#14518, #14573 by @oleg494)
  • Fixed Claude Opus 5.5 and Sonnet 5.5 disappearing with mixed-access Google Antigravity accounts; models now route to accounts that serve them, and revoked accounts no longer block catalog refresh (#14924).
  • Fixed clipboard-pasted image chips opening a nonexistent file instead of the image, including after /move (#14927).
  • Fixed clipboard-pasted image chips opening the auto-resized copy sent to the model instead of the image as pasted (#14929)
  • Fixed omp token <provider> --account N --force-refresh printing the stored token unchanged while it was still valid; it now re-mints that account. Security scans pinned to one account, including Codex Security cloud requests, refresh it after a 401 and may reuse a still-usable token minted in the previous five minutes, as omp auth-broker serve now also may for its clients' 401 recovery (#14752 by @will-bogusz)
  • Fixed revived subagents moving to the parent's automatically chosen account and re-writing their whole prompt cache instead of staying on the account that served their earlier turns; a parent's explicit /session pin still moves them (#14749 by @will-bogusz)
  • Fixed a fallback chain switching back to a usage-limited primary model every 30 minutes, failing a request each time, when the provider's usage report showed a later reset; the session now stays on the fallback until that reset (#14757 by @will-bogusz)
  • Fixed /usage, the status line usage segment and /logout treating every Google Antigravity account (and every Codex Team seat in one workspace) as the session's account, and omp usage not listing such an account when its usage fetch failed (#14900 by @will-bogusz)
  • Fixed Tern showing an agent as finished when automatic context maintenance ends partway through a turn; omp now keeps reporting the turn's working state until the turn actually ends (#14917 by @wolfiesch)
  • Fixed the terminal title and Tern busy state staying in the working state after an interrupt cancels a scheduled retry or continuation before it starts (#14917 by @wolfiesch)
  • Fixed Anthropic web search through a custom anthropic-messages provider sending a plain API-key request even though the provider's conversations use Claude Code request shaping; search now honors the model's isOAuth like the main conversation, so keys that only work with that shaping no longer fail with HTTP 429 rate_limit_error (#14919 by @farnoy)
  • Fixed Anthropic web search spreading the model's configured headers under its own without the main conversation's case-insensitive merge and enforced-header filtering, so a configured authorization header could replace the credential or join it comma-separated on the wire (#14919 by @farnoy)

Removed

  • Removed the PI_SUBPROCESS_CMD environment variable; subagents run in-process and never read it (#14632 by @jorgoose)

@oh-my-pi/pi-mnemopi

Fixed

  • Fixed new memories gaining graph links (related_to, references, ctx) to memories that were already invalidated, superseded, or expired; proactive linking and consolidation now link only to memories recall can still return, so the graph stops growing toward retired memories (#14427 by @tickernelz).

@oh-my-pi/pi-tui

Added

  • Added a Compacts at fact to the model hub preview and a Roles-view Compaction limit action (k) that edits the selected row's model limit through the new ModelBrowserSource.compactionPointFor and ModelHubCallbacks.onCompactionPointChange hooks (#14952 by @H4vC)

Fixed

  • Fixed /usage dashboard cards reordering their limit rows by usage; rows now keep the provider's window order (e.g. 5 hour → weekly → monthly) (#14953 by @H4vC)
  • Fixed Cmd+A, Cmd+C, Cmd+X and Shift+arrow selection doing nothing in the Tern prompt while Vim mode is in Insert mode (#14954 by @H4vC)

What's Changed

  • fix(coding-agent): keep Tern busy state through mid-turn compaction by @wolfiesch in #14917
  • fix(ai): report omp -p usage to the auth broker before exit by @will-bogusz in #14899
  • docs(coding-agent): correct agent() and workpool concurrency limits in eval docs by @jorgoose in #14634
  • refactor(metaharness): share the conversation dump path between the edit runner and the dashboard by @jaredlyon in #14377
  • refactor(metaharness): share the default job name between runner and server by @jaredlyon in #14384
  • fix(robomp): kept failed pr reviews out of the review-once ledger by @roboomp in #14872
  • fix(ai): pair an interrupted result for a hosted web-fetch call the transport cut short by @jchanghong023 in #14819
  • fix(coding-agent): stop marking every Antigravity account as the session's in usage views by @will-bogusz in #14900
  • fix(coding-agent): keep a fallback chain off a usage-limited primary until its reported reset by @will-bogusz in #14757
  • fix(coding-agent): keep a revived subagent on the account that holds its prompt cache by @will-bogusz in #14749
  • fix(ai): made omp token --account --force-refresh re-mint the chosen account by @will-bogusz in #14752
  • fix(coding-agent): linked pasted image chips to stable blobs by @roboomp in #14929
  • fix(catalog): unioned antigravity model rosters across oauth accounts by @roboomp in #14926
  • fix(ai,coding-agent): honor custom Anthropic providers' OAuth mode and headers in web search by @farnoy in #14919
  • fix(ai): hold accounts exactly at their reserve in reserve by @will-bogusz in #14765
  • fix(todo): pause reminders for unanswered choice prompts by @mrmans0n in #14800
  • coding-agent: treat a bolded question as a question in the todo reminder by @F0Rextasy in #14353
  • fix: preserve explicit effort in short model selectors by @xiangnan0811 in #14554
  • fix(coding-agent): keep broker-shared language servers after a subagent starts by @jorgoose in #14628
  • fix(coding-agent): only the process-owning session shuts down the tiny-model client by @jorgoose in #14629
  • fix(coding-agent): match rust-analyzer.exe paths when wrapping with lspmux by @jorgoose in #14630
  • chore(coding-agent): remove unused PI_SUBPROCESS_CMD by @jorgoose in #14632
  • fix(plugins): warn when project plugin overrides fail to load by @oleg494 in #14573
  • refactor(coding-agent): share POSIX shell argument quoting by @anatoli-tsinovoy in #14239
  • fix(mnemopi): link new memories only to valid memories by @tickernelz in #14427
  • fix(catalog): price Claude Haiku 5.5 on Cursor, gateways, and Copilot by @eggpeat in #14890
  • feat(coding-agent): per-model compaction limits set from the model hub by @H4vC in #14952
  • fix(tui): keep Tern native composer editing in Vim Insert mode by @H4vC in #14954
  • fix(tui): keep provider window order on /usage dashboard cards by @H4vC in #14953

New Contributors

Full Changelog: v18.8.4...v18.8.5

Don't miss a new oh-my-pi release

NewReleases is sending notifications on new releases.