chore(deps): update dependency can1357/oh-my-pi to v15.11.8 #63

Merged
renovate-bot merged 2 commits from renovate/can1357-oh-my-pi-15.x into main 2026-06-12 11:02:11 +00:00
Collaborator

This PR contains the following updates:

Package Update Change
can1357/oh-my-pi patch 15.11.715.11.8

⚠️ Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

can1357/oh-my-pi (can1357/oh-my-pi)

v15.11.8

Compare Source

@​oh-my-pi/pi-ai

Breaking Changes
  • Removed the Codex SSE stateful transport path, so SSE turns no longer send previous_response_id with delta input and now always send the full transcript
Changed
  • Scoped x-codex-turn-state handling to within-turn continuations so only tool-loop follow-ups include the turn-state header and new user turns start without it
Removed
  • Removed the statefulResponses option from OpenAICodexResponsesOptions, and SSE stateful mode is no longer controlled by the PI_CODEX_STATEFUL-style flag
Fixed
  • Fixed the platform OpenAI Responses and Codex websocket stale-chain classifiers missing the "Unsupported parameter: previous_response_id" rejection phrasing (FastAPI-style detail body with no error.code), so a chained turn now falls back to a full-transcript replay instead of surfacing the 400
  • Fixed the HTTP-400 raw-request dump for Codex SSE to record the body actually sent on the wire instead of the pre-transport request body, which made chained-request failures look like the rejected parameter was never sent

@​oh-my-pi/pi-catalog

Fixed
  • Fixed Antigravity gemini-3.1-pro --thinking high failing with Cloud Code Assist API error (400): Request contains an invalid argument. — the upstream gemini-3.1-pro-high deployment rejects every streamGenerateContent request on both CCA endpoints while discovery still advertises it. High effort now routes to gemini-pro-agent (the same "Gemini 3.1 Pro (High)" model, verified accepting the identical request body), and the model-cache fingerprint version was bumped (merge-v2merge-v3) so existing fresh caches refetch discovery and pick up the corrected routing immediately.

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

Added
  • Updated collab link handling to accept compact roomId#key links and relay hosts without explicit scheme when joining or starting sessions
  • Added /collab stop and /collab status options to control and inspect active shared sessions
  • Added /collab, /join, and /leave for live session sharing: the host shares an end-to-end encrypted link (AES-256-GCM key only in the link fragment; the relay sees opaque bytes) and guests render the session natively in their own TUI — streaming text, tool cards, footer state, ctrl+o expansion, /dump — and can prompt or interrupt the host's agent. Guest prompts render with an author badge; session-mutating commands stay host-only. Defaults to the public relay.omp.sh relay (collab.relayUrl); a self-hostable Go relay lives in the pi-www repo as omp-collab-relay
  • Added collab.relayUrl and collab.displayName settings plus a collab status-line segment showing the participant count (host) or guest role. Guests mirror the host's real model/thinking state into their replica agent and the host's subagent ecosystem end-to-end: the live subagent HUD, the Agent Hub table with live progress, hub chat/kill/revive (routed to the host), and on-demand subagent transcript viewing
  • Added omp join <link> subcommand that launches the interactive TUI and immediately runs /join <link>
Changed
  • Moved collab live-session wire contracts into @oh-my-pi/pi-wire and stopped broadcasting unsupported session events or entries to collab guests.
  • The Ctrl+P role-cycle track and the plan-approval model slider now color segments by track position from the theme's own palette (accent/success/warning/error + markdown/syntax hues, deduplicated per theme since many themes alias them) instead of role-keyed colors with a gray fallback for custom roles
  • Interactive boot no longer blocks first paint on MCP server discovery. For UI sessions, createAgentSession returns immediately and connects to configured MCP servers in the background; their tools and slash commands stream in through the existing live-refresh channel once connected. An explicitly requested MCP tool whose server has not finished connecting resolves to a deterministic "still connecting" placeholder instead of an "unknown tool" error, and each server's instructions join the system prompt once its background connection completes — carried in on the same live-refresh that registers its tools — so server-provided instructions are preserved, not dropped. tools.discoveryMode: "auto" is re-resolved once the background connect reports the real MCP tool count, so a toolset large enough to cross the threshold flips discovery on (registering search_tool_bm25) instead of force-activating every tool, and a session disposed while servers are still connecting disconnects them instead of resurrecting their tools onto the dead session. Non-UI modes (print/rpc/acp) keep the blocking discovery path. Measured ~290 ms (≈24% of cold boot) off the first-paint critical path with MCP servers configured.
  • Assistant-message streaming is cheaper per token. During a stream the component now reuses its Markdown subtree across reveal ticks — only the growing block is re-rendered — instead of tearing down and re-lexing every block on each ~30 fps tick, and grapheme counting in the reveal controller is memoized. A completed thinking block that precedes a still-streaming answer is no longer re-highlighted every frame (~66% less render work on think-then-answer streams in benchmarks; single-block streams are unchanged).
  • Cold boot no longer builds the model catalog's canonical-equivalence index on the first-paint critical path. The ModelRegistry constructor built buildCanonicalModelIndex over the entire ~3,200-model catalog synchronously (~210 ms); it is now built lazily on first read (getCanonicalModels/getCanonicalVariants/getCanonicalId, reached by the model picker and by enabledModels/default-role pattern resolution), which a default interactive launch never touches before paint. Measured ~244 ms (≈16% of cold-boot wall) off first paint; the picker pays the one-time build on first open.
  • Repeat read summaries of an unchanged file no longer re-run the tree-sitter parse. The per-session summary is memoized on the content hash of the freshly-read bytes — the file is still read fresh on every call, so results stay correct without a staleness window — dropping a repeated same-file summary read from ~17 ms to ~2.5 ms.
  • Attributed the previously-unlabeled synchronous boot region in the PI_TIMING startup table with modelRegistry:init, buildCanonicalModelIndex, and initTelemetryExport spans.
Fixed
  • Fixed remote (SSH) image attachment silently inserting the local-machine path as plain text: when omp runs over SSH and the terminal forwards a bracketed-paste image path, the path is unreachable from the remote host. The path-as-text fallback is gone for unreachable paths and the status now points the user at the clipboard image-paste shortcut so the bytes actually cross the connection (#​2375).
Security
  • Rejected non-local ws:// relay URLs and invalid room keys when parsing collab links to prevent insecure or malformed session joins

@​oh-my-pi/collab-web

Added
  • Added deep-link auto-connection support from #<roomId>#<key> URLs when opening the web app
  • Added subagent-focused UI with a side rail and detail drawer that surfaces each subagent’s lifecycle, running progress, and per-subagent transcript
  • Added session status controls in the shell, including connection banners, toast notifications, and rejoin/new-link actions after a session ends
  • Added the collab web package with the browser guest client, mock host, local relay, and relay contract tests.
Changed
  • Changed relay socket behavior to retry transient disconnections with exponential backoff while treating terminal relay-close conditions and decryption failures as non-retriable
  • Changed subagent transcript decoding to handle streamed JSONL payload chunks incrementally by preserving carry-over data across chunks
  • Replaced the vendored collab wire type mirror with shared @oh-my-pi/pi-wire protocol contracts.
Security
  • Hardened transcript Markdown rendering by escaping embedded HTML and allowing only safe link schemes

@​oh-my-pi/pi-tui

Changed
  • Markdown rendering during streaming re-lexes only the grown tail instead of the whole buffer on every reveal tick. marked has no resumable lexer, but block tokenization is local across a blank-line boundary with balanced fences, so the largest blank-line-bounded prefix's block tokens are frozen and reused (lex(prefix) ++ lex(tail)), with a full-lex fallback for non-append edits, reference-link definitions, and CRLF input. The output is byte-identical to a full lex (covered by a contract test), turning the O(N²) cost of revealing a long single-block message into O(N): a 6,000-grapheme reveal dropped from ~575 ms to ~89 ms of CPU in benchmarks.

@​oh-my-pi/pi-wire

Added
  • Added shared collab live-session wire contracts for the host CLI and browser guest client.

What's Changed

  • perf: cut cold-boot latency and streaming/render bottlenecks by @​metaphorics in #​2182
  • fix(coding-agent): surface unreachable image-path pastes over SSH instead of silently inserting the local path by @​roboomp in #​2376
  • feat(pi-shell): extend minimizer filter coverages and enhance machanisms by @​metaphorics in #​2319

Full Changelog: https://github.com/can1357/oh-my-pi/compare/v15.11.7...v15.11.8


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [can1357/oh-my-pi](https://github.com/can1357/oh-my-pi) | patch | `15.11.7` → `15.11.8` | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the warning logs for more information. --- ### Release Notes <details> <summary>can1357/oh-my-pi (can1357/oh-my-pi)</summary> ### [`v15.11.8`](https://github.com/can1357/oh-my-pi/releases/tag/v15.11.8) [Compare Source](https://github.com/can1357/oh-my-pi/compare/v15.11.7...v15.11.8) #### [@&#8203;oh-my-pi/pi-ai](https://github.com/oh-my-pi/pi-ai) ##### Breaking Changes - Removed the Codex SSE stateful transport path, so SSE turns no longer send `previous_response_id` with delta input and now always send the full transcript ##### Changed - Scoped `x-codex-turn-state` handling to within-turn continuations so only tool-loop follow-ups include the turn-state header and new user turns start without it ##### Removed - Removed the `statefulResponses` option from `OpenAICodexResponsesOptions`, and SSE stateful mode is no longer controlled by the `PI_CODEX_STATEFUL`-style flag ##### Fixed - Fixed the platform OpenAI Responses and Codex websocket stale-chain classifiers missing the "Unsupported parameter: previous\_response\_id" rejection phrasing (FastAPI-style `detail` body with no `error.code`), so a chained turn now falls back to a full-transcript replay instead of surfacing the 400 - Fixed the HTTP-400 raw-request dump for Codex SSE to record the body actually sent on the wire instead of the pre-transport request body, which made chained-request failures look like the rejected parameter was never sent #### [@&#8203;oh-my-pi/pi-catalog](https://github.com/oh-my-pi/pi-catalog) ##### Fixed - Fixed Antigravity `gemini-3.1-pro --thinking high` failing with `Cloud Code Assist API error (400): Request contains an invalid argument.` — the upstream `gemini-3.1-pro-high` deployment rejects every `streamGenerateContent` request on both CCA endpoints while discovery still advertises it. High effort now routes to `gemini-pro-agent` (the same "Gemini 3.1 Pro (High)" model, verified accepting the identical request body), and the model-cache fingerprint version was bumped (`merge-v2` → `merge-v3`) so existing fresh caches refetch discovery and pick up the corrected routing immediately. #### [@&#8203;oh-my-pi/pi-coding-agent](https://github.com/oh-my-pi/pi-coding-agent) ##### Added - Updated collab link handling to accept compact `roomId#key` links and relay hosts without explicit scheme when joining or starting sessions - Added `/collab stop` and `/collab status` options to control and inspect active shared sessions - Added `/collab`, `/join`, and `/leave` for live session sharing: the host shares an end-to-end encrypted link (AES-256-GCM key only in the link fragment; the relay sees opaque bytes) and guests render the session natively in their own TUI — streaming text, tool cards, footer state, ctrl+o expansion, `/dump` — and can prompt or interrupt the host's agent. Guest prompts render with an author badge; session-mutating commands stay host-only. Defaults to the public `relay.omp.sh` relay (`collab.relayUrl`); a self-hostable Go relay lives in the pi-www repo as `omp-collab-relay` - Added `collab.relayUrl` and `collab.displayName` settings plus a `collab` status-line segment showing the participant count (host) or guest role. Guests mirror the host's real model/thinking state into their replica agent and the host's subagent ecosystem end-to-end: the live subagent HUD, the Agent Hub table with live progress, hub chat/kill/revive (routed to the host), and on-demand subagent transcript viewing - Added `omp join <link>` subcommand that launches the interactive TUI and immediately runs `/join <link>` ##### Changed - Moved collab live-session wire contracts into `@oh-my-pi/pi-wire` and stopped broadcasting unsupported session events or entries to collab guests. - The Ctrl+P role-cycle track and the plan-approval model slider now color segments by track position from the theme's own palette (accent/success/warning/error + markdown/syntax hues, deduplicated per theme since many themes alias them) instead of role-keyed colors with a gray fallback for custom roles - Interactive boot no longer blocks first paint on MCP server discovery. For UI sessions, `createAgentSession` returns immediately and connects to configured MCP servers in the background; their tools and slash commands stream in through the existing live-refresh channel once connected. An explicitly requested MCP tool whose server has not finished connecting resolves to a deterministic "still connecting" placeholder instead of an "unknown tool" error, and each server's instructions join the system prompt once its background connection completes — carried in on the same live-refresh that registers its tools — so server-provided instructions are preserved, not dropped. `tools.discoveryMode: "auto"` is re-resolved once the background connect reports the real MCP tool count, so a toolset large enough to cross the threshold flips discovery on (registering `search_tool_bm25`) instead of force-activating every tool, and a session disposed while servers are still connecting disconnects them instead of resurrecting their tools onto the dead session. Non-UI modes (`print`/`rpc`/`acp`) keep the blocking discovery path. Measured \~290 ms (≈24% of cold boot) off the first-paint critical path with MCP servers configured. - Assistant-message streaming is cheaper per token. During a stream the component now reuses its `Markdown` subtree across reveal ticks — only the growing block is re-rendered — instead of tearing down and re-lexing every block on each \~30 fps tick, and grapheme counting in the reveal controller is memoized. A completed thinking block that precedes a still-streaming answer is no longer re-highlighted every frame (\~66% less render work on think-then-answer streams in benchmarks; single-block streams are unchanged). - Cold boot no longer builds the model catalog's canonical-equivalence index on the first-paint critical path. The `ModelRegistry` constructor built `buildCanonicalModelIndex` over the entire \~3,200-model catalog synchronously (\~210 ms); it is now built lazily on first read (`getCanonicalModels`/`getCanonicalVariants`/`getCanonicalId`, reached by the model picker and by `enabledModels`/default-role pattern resolution), which a default interactive launch never touches before paint. Measured \~244 ms (≈16% of cold-boot wall) off first paint; the picker pays the one-time build on first open. - Repeat `read` summaries of an unchanged file no longer re-run the tree-sitter parse. The per-session summary is memoized on the content hash of the freshly-read bytes — the file is still read fresh on every call, so results stay correct without a staleness window — dropping a repeated same-file summary read from \~17 ms to \~2.5 ms. - Attributed the previously-unlabeled synchronous boot region in the `PI_TIMING` startup table with `modelRegistry:init`, `buildCanonicalModelIndex`, and `initTelemetryExport` spans. ##### Fixed - Fixed remote (SSH) image attachment silently inserting the local-machine path as plain text: when omp runs over SSH and the terminal forwards a bracketed-paste image path, the path is unreachable from the remote host. The path-as-text fallback is gone for unreachable paths and the status now points the user at the clipboard image-paste shortcut so the bytes actually cross the connection ([#&#8203;2375](https://github.com/can1357/oh-my-pi/issues/2375)). ##### Security - Rejected non-local `ws://` relay URLs and invalid room keys when parsing collab links to prevent insecure or malformed session joins #### [@&#8203;oh-my-pi/collab-web](https://github.com/oh-my-pi/collab-web) ##### Added - Added deep-link auto-connection support from `#<roomId>#<key>` URLs when opening the web app - Added subagent-focused UI with a side rail and detail drawer that surfaces each subagent’s lifecycle, running progress, and per-subagent transcript - Added session status controls in the shell, including connection banners, toast notifications, and rejoin/new-link actions after a session ends - Added the collab web package with the browser guest client, mock host, local relay, and relay contract tests. ##### Changed - Changed relay socket behavior to retry transient disconnections with exponential backoff while treating terminal relay-close conditions and decryption failures as non-retriable - Changed subagent transcript decoding to handle streamed JSONL payload chunks incrementally by preserving carry-over data across chunks - Replaced the vendored collab wire type mirror with shared `@oh-my-pi/pi-wire` protocol contracts. ##### Security - Hardened transcript Markdown rendering by escaping embedded HTML and allowing only safe link schemes #### [@&#8203;oh-my-pi/pi-tui](https://github.com/oh-my-pi/pi-tui) ##### Changed - Markdown rendering during streaming re-lexes only the grown tail instead of the whole buffer on every reveal tick. marked has no resumable lexer, but block tokenization is local across a blank-line boundary with balanced fences, so the largest blank-line-bounded prefix's block tokens are frozen and reused (`lex(prefix) ++ lex(tail)`), with a full-lex fallback for non-append edits, reference-link definitions, and CRLF input. The output is byte-identical to a full lex (covered by a contract test), turning the O(N²) cost of revealing a long single-block message into O(N): a 6,000-grapheme reveal dropped from \~575 ms to \~89 ms of CPU in benchmarks. #### [@&#8203;oh-my-pi/pi-wire](https://github.com/oh-my-pi/pi-wire) ##### Added - Added shared collab live-session wire contracts for the host CLI and browser guest client. #### What's Changed - perf: cut cold-boot latency and streaming/render bottlenecks by [@&#8203;metaphorics](https://github.com/metaphorics) in [#&#8203;2182](https://github.com/can1357/oh-my-pi/pull/2182) - fix(coding-agent): surface unreachable image-path pastes over SSH instead of silently inserting the local path by [@&#8203;roboomp](https://github.com/roboomp) in [#&#8203;2376](https://github.com/can1357/oh-my-pi/pull/2376) - feat(pi-shell): extend minimizer filter coverages and enhance machanisms by [@&#8203;metaphorics](https://github.com/metaphorics) in [#&#8203;2319](https://github.com/can1357/oh-my-pi/pull/2319) **Full Changelog**: <https://github.com/can1357/oh-my-pi/compare/v15.11.7...v15.11.8> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update dependency can1357/oh-my-pi to v15.11.8
All checks were successful
Update hashes / update-hashes (pull_request) Successful in 1m22s
b08936e412
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-06-12 11:00:52 +00:00
renovate-bot deleted branch renovate/can1357-oh-my-pi-15.x 2026-06-12 11:02:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mandlm/omp-nix!63
No description provided.