github can1357/oh-my-pi v16.3.13

latest releases: v16.4.0, v16.3.15, v16.3.14...
one day ago

@oh-my-pi/pi-ai

Changed

  • Changed the xAI Grok OAuth (xai-oauth) provider to use manual code-paste login by default. /login now accepts a pasted authorization code or full http://127.0.0.1:56121/callback?code=... redirect URL without starting a local callback listener (#3277 by @Jaaneek).
  • Renamed the xAI Grok OAuth provider in login and credential prompts to "xAI Grok OAuth (SuperGrok or X Premium+)" (#3277 by @Jaaneek).

Fixed

  • Fixed the generic lazy-stream idle watchdog aborting healthy cursor-agent streams with "Provider stream stalled while waiting for the next event" while a Cursor exec-channel local tool (shell/read/grep/write/MCP/…) legitimately ran longer than the idle budget. Provider streams now advertise consumer-side local work in flight and the watchdog slides its deadline instead of aborting; genuinely silent streams still time out. (#4593)
  • Fixed OpenAI Codex/Responses reasoning streams so streamed thinking content is preserved when the final output_item.done reconstructs to an empty summary (#4918).
  • Fixed Anthropic streams hanging forever when generation wedges mid-stream (notably long write tool calls on Opus 4.8 high/xhigh) while the server keeps sending ping keepalives: pings now extend the idle watchdog only within a bounded window (3x the idle timeout) since the last real stream event, so a stalled tool-call stream times out and recovers instead of hanging with no retry path (#4900).

@oh-my-pi/pi-catalog

Added

  • Added support for Grok 4.5 across multiple providers
  • Added support for GPT-5.6 series models (Luna, Sol, Terra)
  • Added Aion 3.0 and 3.0 Mini models
  • Added Kuaishou KAT-Coder v2.5 models
  • Added Nex-N2-Mini and SWE-1.7 series models
  • Added Hy3 models and free variants

Changed

  • Updated cost and token configurations for various models across providers
  • Renamed several models for consistency (e.g., MiniMax M3, Gemma 4 31B, Qwen variants)

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

Fixed

  • Fixed read and grep treating empty optional selector fields emitted by models as invalid selectors instead of behaving like omitted selectors. (#4879)
  • Fixed grep explicit line selectors on directory searches so they filter each matched file by line number instead of aborting with a single-file-only error (#4898).
  • Fixed Read tool previews dropping explicit selector arguments, so line ranges and raw modifiers render in terminal read call titles again (#4899).
  • Fixed named profiles dropping default user keybindings from ~/.omp/agent/keybindings.*; profile keybindings now inherit those defaults and override only the keys they define (#4867).
  • Fixed pi extensions calling ctx.ui.addAutocompleteProvider(...) crashing at load with TypeError: ... is not a function — a failure that, for extensions guarding init in one try/catch (e.g. @ff-labs/pi-fff), aborted the extension's entire initialization. ExtensionUIContext now implements pi's autocomplete-provider API: interactive mode stacks each registered factory on top of the built-in editor provider (re-applied on every slash-command refresh, with throwing or malformed factories skipped), while RPC/ACP/headless contexts accept the factory as a no-op. (#4919)
  • Fixed bundled reviewer and plan subagents to inherit their model roles' explicit thinking effort suffixes instead of pinning high (#4761).
  • Built-in provider model discovery now refreshes an expired stored OAuth credential before an online refresh needs it, instead of silently skipping the provider. The refresh is scoped to the providers actually being discovered (refreshProvider cannot rotate unrelated credentials), fires under online-if-uncached only when the model manager will actually fetch, and offline discovery stays peek-only (#4893).
  • Fixed Escape during an active TUI prompt requiring a second press before canceling; the first Escape now aborts the streaming turn immediately. (#4921)
  • Fixed the streamed write tool's collapsed pending tail preview leaving stale rows above the first partial-result frame in the TUI; the first result now replays the viewport like the SSH placeholder seam already did (#4477)
  • Fixed first-run setup ignoring a pre-seeded config.yaml: the settings loader now treats config.yml and config.yaml as equivalent existing main config files, writes back to the existing extension, and only creates canonical config.yml for fresh installs. (#4914)
  • Fixed extension sendUserMessage() without deliverAs surfacing AgentBusyError during active streams; omitted deliverAs now queues a steer through the normal prompt flow, and ACP/RPC skill-command prompts queue while streaming (RPC honors the prompt command's streamingBehavior, defaulting to steer) (#4923).

@oh-my-pi/pi-natives

Fixed

  • Fixed unbounded memory growth in the native bash output bridge when a command produces output faster than the JS event loop consumes it: the shell streaming path now uses a bounded chunk queue with real backpressure (pipe readers park until the JS callback catches up, parking the child on its pipe) instead of buffering the entire surplus in memory. No output is dropped — the rolling tail view, [raw output: artifact://…] lossless capture, and byte accounting are unaffected (#4078).
  • Fixed readImageFromClipboard on Windows failing with "could not be converted to the appropriate format" for screenshots taken by Qt-based tools such as PixPin and Snipaste. arboard hands their CF_DIBV5 payload (BI_RGB plus an alpha mask, rewritten to BI_BITFIELDS) to a header-less BMP decode that mis-places the pixel offset for V4/V5 bitfield headers; the native reader now falls back to decoding the raw CF_DIB clipboard bytes directly, so image paste no longer depends on the PowerShell bridge. (#3426)
  • Fixed OMP being killed outright (OOM on memory-capped hosts such as WSL) when an output-heavy bash command hit its timeout: the unbounded output-bridge backlog could grow by gigabytes before cancellation and starve the JS event loop far past the deadline; with the bounded backpressured bridge the run resolves at its deadline with flat memory (#4866).

@oh-my-pi/pi-tui

Fixed

  • Fixed late terminal appearance subscribers missing the already-detected OSC 11 light/dark result, so theme auto-detection picks up the terminal appearance even when the response arrives before the UI subscribes (#4731).
  • Fixed slash command Tab completion reopening the file autocomplete drawer after accepting no-argument commands (#4808).

Full Changelog: v16.3.12...v16.3.13

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

NewReleases is sending notifications on new releases.