chore(deps): update dependency can1357/oh-my-pi to v18.2.0 #180

Merged
renovate-bot merged 2 commits from renovate/can1357-oh-my-pi-18.x into main 2026-09-15 05:04:44 +00:00
Collaborator

This PR contains the following updates:

Package Update Change
can1357/oh-my-pi minor 18.1.2218.2.0

⚠️ 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)

v18.2.0

Compare Source

@​oh-my-pi/pi-ai

Added
  • Assistant turns from Anthropic-compatible hosts (direct, or via OpenRouter's reasoning_details) carry upstreamModel, the serving model id recovered from the signed thinking block, so callers can detect a router substituting a different model than requested.
Fixed
  • Fixed OpenCode Go window-limit 429s (5-hour/Weekly/Monthly usage limit reached. Resets in …) not pinning the exhausted credential to the server-stated reset; the window phrasing is now covered by a regression test over the rotation classifier. (#​12091 by @​H4vC)

@​oh-my-pi/pi-catalog

Breaking Changes
  • Removed getCatalogProviderEntry and the CATALOG_PROVIDERS constant in favor of providerEntry and providerEntries
Added
  • Added support for DeepInfra, LiteLLM, Qwen Portal, SiliconFlow, and SiliconFlow-CN providers
  • Added support for Gemini 3.8 Flash models
Changed
  • Cached provider catalogs restore policy-versioned materialized models instead of rebuilding each row on launch.
  • Model policy resolution reuses indexed rule matches and cached target results.
  • Model-aware delegation prompts reuse policy decisions until the model's identity or capabilities change.
  • Provider catalog entries (default model, env keys, discovery wiring) and the bundled fallback rows for providers that cannot be discovered at generation time (Anthropic, OpenAI Daybreak, xAI OAuth, Meta, Muse Code, Bedrock Mantle, Devin, Z.AI, Sakana, ai&, Abliteration, Yolo-Auto, GMI Cloud, Fire Pass, QwenCloud Token Plan, Cloudflare AI Gateway, GitLab Duo Workflow) now live in src/compat/rules/providers/<id>.kdl and compile into rules.json; KnownProvider is generated from them, and the generator bundles seed rows by each entry's declared bundle policy instead of per-provider code.

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

Breaking Changes
  • Settings.getGroup() now returns shallow-frozen snapshots, reused until effective settings change.
  • Removed parseSSE, MCPToolsResponse, and MCPCallResponse; callMCP() now returns the shared JsonRpcResponse with an unknown result instead of an unchecked generic payload.
Added
  • Added ollama web search provider using Ollama's hosted web search API (POST https://ollama.com/api/web_search), authenticated via OLLAMA_CLOUD_API_KEY (#​3791).
  • Added readUrl support for Ollama model pages (ollama.com/<model> and ollama.com/library/<model>), extracting descriptions, tags, and architecture metadata.
  • @upstream routing selectors accept tiered OpenRouter slugs (openrouter/google/gemini-3.8-flash@google-ai-studio/priority), and omp bench labels each routed model with its upstream.
  • /skill:<name> in the composer becomes an atomic skill chip (icon + name, linked to its SKILL.md) once you finish typing it or accept it from autocomplete — it deletes as one unit and survives draft restores, like image chips.
  • The transcript now flags a gateway serving a different Claude model than requested: a ⚠ served claude-haiku-4-5-20251001 · requested claude-opus-5 · via openrouter/Amazon Bedrock divider under the first affected turn, shown once per substitution per session.
Changed
  • Compiled binaries ship precompiled bytecode: omp boots in ~30 ms instead of ~250 ms and the interactive prompt accepts input ~300 ms sooner, at the cost of a larger binary.
  • Welcome recents refresh after first paint, and attachment bands reuse cached chip state until the draft changes.
  • Interactive startup paints its speculative frame before loading the session runtime; model/auth dialogs and browser/computer preludes load on first use.
  • Status-line redraws reuse unchanged segment output, settings groups, and tool token estimates while preserving live invalidation.
  • Skill invocations render as a normal user turn: a mid-prompt skill shows as an inline chip in the user bubble; a leading skill shows as a railed callout with the chip and prompt size, with the rest of your message rendered as full multi-line Markdown instead of a single collapsed header.
Fixed
  • hub wait on a process now reports what it was actually blocked on when it times out (process exit, the pattern, or readiness) instead of always citing the start readiness log pattern.
  • Isolated settings no longer share mutable array and record defaults.
  • Ask timeouts above 1,000 seconds now retain their configured duration.
  • Configured extension directories no longer load fallback index files when declared entries are missing.
  • Telemetry no longer sends OTLP when only a non-OTLP exporter is selected.
  • Browser response-body failures now preserve their original protocol errors.
  • Auto-retry waits past the signed 32-bit timer ceiling (e.g. a month-scale OpenCode Go reset with retry.waitForUsageReset) now elapse in full instead of overflowing the timer and retrying immediately.
  • JavaScript eval now reports startup failure if both isolated runtimes fail, instead of executing uncancellable code on the host thread.
  • CommonJS extensions now expose computed and non-enumerable named exports while preserving require/import identity and reloads.
  • Exa MCP calls now select matching responses after notifications, accept valid SSE framing, and preserve cancellation.
  • Esc-Esc rewind, /copy, and /tree's user-only filter now treat user-invoked skill and collab prompts as user turns: they are selectable, / jumps land on them, and rewinding past one restores the text you typed (with its chips) into the editor.
  • /skill:<name> followed by a newline now invokes the skill instead of sending the draft as plain text.
  • openrouter/<vendor>/<model>@upstream now resolves when the first-party provider bundles the same id (e.g. google/gemini-*), instead of failing with "model not found".
  • Kept the subagent yield tool as a direct function call instead of mounting it through xd://.
  • Git TUI staging now honors .gitattributes text/eol and clean filters, so "Stage All" no longer leaves eol=crlf files (e.g. *.cmd) dirty with no visible diff.
  • Browsers spawned via app.path into an omp-owned profile no longer trigger the macOS "wants to use your confidential information in Safe Storage" keychain dialog.
  • Reading Hugging Face file URLs (/raw/..., /resolve/..., /blob/..., /tree/...) now returns the file instead of the repo's model/dataset card.
  • Directory reads no longer append a bogus [1 results limit reached. Use limit=2 for more] notice (read has no limit); capped child directories show only their inline … N more marker, and the prompt documents paging with :N-M/:-N.

@​oh-my-pi/pi-tui

Added
  • Added Editor.textRevision for content-dependent render caches, including undo and draft restoration.
  • Added collapseToAtom method to compress text spans into UI-friendly atoms
Changed
  • Redrawing unchanged terminal rows now avoids rescanning ANSI, hyperlinks, and images.
  • Terminal UIs reach their first frame with a smaller startup module graph.

@​oh-my-pi/pi-utils

Breaking Changes
  • Removed the unused globPaths, loadGitignorePatterns, and GlobPathsOptions exports.
  • Browser helpers now manage Chrome only: removed Browser, BrowserTag, resolveBuildId(), getInstalledBrowsers(), and browser options/metadata; getDownloadUrl() now takes (platform, buildId, baseUrl?).
Added
  • Added relativePathWithinNormalizedRoot() for reusing canonical paths across containment checks.
  • Added sleepLong() and MAX_TIMER_DELAY_MS: an abortable sleep that chunks delays past the signed 32-bit timer ceiling so day-scale provider waits elapse instead of overflowing the timer.
Changed
  • Log-retention cleanup now runs after logger construction without keeping short-lived commands alive.
  • Debugger support now loads only when SIGUSR1 requests it.
Fixed
  • Fixed extractRetryHint dropping OpenCode Go's Resets in … quota window (45min, 2hr 15min, 3 days): the reset in pattern now accepts Resets phrasing, hr/day units, and compound 2hr 15min remainders, so exhausted Go credentials block for the server-stated window instead of the 60s heuristic guess. (#​12091 by @​H4vC)
  • Async file-peek callbacks now receive stable Uint8Array windows with copying slice() semantics.
  • Dotenv loading now handles multiline values and escapes consistently with Bun, preventing project values from leaking into child-shell environments.
  • SSE readers now support lone-CR line endings and CRLF split across chunks without merging or delaying events.

What's Changed

New Contributors

Full Changelog: https://github.com/can1357/oh-my-pi/compare/v18.1.22...v18.2.0


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 CLI.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [can1357/oh-my-pi](https://github.com/can1357/oh-my-pi) | minor | `18.1.22` → `18.2.0` | --- > ⚠️ **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> ### [`v18.2.0`](https://github.com/can1357/oh-my-pi/releases/tag/v18.2.0) [Compare Source](https://github.com/can1357/oh-my-pi/compare/v18.1.22...v18.2.0) #### [@&#8203;oh-my-pi/pi-ai](https://github.com/oh-my-pi/pi-ai) ##### Added - Assistant turns from Anthropic-compatible hosts (direct, or via OpenRouter's `reasoning_details`) carry `upstreamModel`, the serving model id recovered from the signed thinking block, so callers can detect a router substituting a different model than requested. ##### Fixed - Fixed OpenCode Go window-limit 429s (`5-hour`/`Weekly`/`Monthly usage limit reached. Resets in …`) not pinning the exhausted credential to the server-stated reset; the window phrasing is now covered by a regression test over the rotation classifier. ([#&#8203;12091](https://github.com/can1357/oh-my-pi/pull/12091) by [@&#8203;H4vC](https://github.com/H4vC)) #### [@&#8203;oh-my-pi/pi-catalog](https://github.com/oh-my-pi/pi-catalog) ##### Breaking Changes - Removed `getCatalogProviderEntry` and the `CATALOG_PROVIDERS` constant in favor of `providerEntry` and `providerEntries` ##### Added - Added support for DeepInfra, LiteLLM, Qwen Portal, SiliconFlow, and SiliconFlow-CN providers - Added support for Gemini 3.8 Flash models ##### Changed - Cached provider catalogs restore policy-versioned materialized models instead of rebuilding each row on launch. - Model policy resolution reuses indexed rule matches and cached target results. - Model-aware delegation prompts reuse policy decisions until the model's identity or capabilities change. - Provider catalog entries (default model, env keys, discovery wiring) and the bundled fallback rows for providers that cannot be discovered at generation time (Anthropic, OpenAI Daybreak, xAI OAuth, Meta, Muse Code, Bedrock Mantle, Devin, Z.AI, Sakana, ai&, Abliteration, Yolo-Auto, GMI Cloud, Fire Pass, QwenCloud Token Plan, Cloudflare AI Gateway, GitLab Duo Workflow) now live in `src/compat/rules/providers/<id>.kdl` and compile into `rules.json`; `KnownProvider` is generated from them, and the generator bundles seed rows by each entry's declared `bundle` policy instead of per-provider code. #### [@&#8203;oh-my-pi/pi-coding-agent](https://github.com/oh-my-pi/pi-coding-agent) ##### Breaking Changes - `Settings.getGroup()` now returns shallow-frozen snapshots, reused until effective settings change. - Removed `parseSSE`, `MCPToolsResponse`, and `MCPCallResponse`; `callMCP()` now returns the shared `JsonRpcResponse` with an `unknown` result instead of an unchecked generic payload. ##### Added - Added `ollama` web search provider using Ollama's hosted web search API (`POST https://ollama.com/api/web_search`), authenticated via `OLLAMA_CLOUD_API_KEY` ([#&#8203;3791](https://github.com/can1357/oh-my-pi/issues/3791)). - Added `readUrl` support for Ollama model pages (`ollama.com/<model>` and `ollama.com/library/<model>`), extracting descriptions, tags, and architecture metadata. - `@upstream` routing selectors accept tiered OpenRouter slugs (`openrouter/google/gemini-3.8-flash@google-ai-studio/priority`), and `omp bench` labels each routed model with its upstream. - `/skill:<name>` in the composer becomes an atomic skill chip (icon + name, linked to its SKILL.md) once you finish typing it or accept it from autocomplete — it deletes as one unit and survives draft restores, like image chips. - The transcript now flags a gateway serving a different Claude model than requested: a `⚠ served claude-haiku-4-5-20251001 · requested claude-opus-5 · via openrouter/Amazon Bedrock` divider under the first affected turn, shown once per substitution per session. ##### Changed - Compiled binaries ship precompiled bytecode: `omp` boots in \~30 ms instead of \~250 ms and the interactive prompt accepts input \~300 ms sooner, at the cost of a larger binary. - Welcome recents refresh after first paint, and attachment bands reuse cached chip state until the draft changes. - Interactive startup paints its speculative frame before loading the session runtime; model/auth dialogs and browser/computer preludes load on first use. - Status-line redraws reuse unchanged segment output, settings groups, and tool token estimates while preserving live invalidation. - Skill invocations render as a normal user turn: a mid-prompt skill shows as an inline chip in the user bubble; a leading skill shows as a railed callout with the chip and prompt size, with the rest of your message rendered as full multi-line Markdown instead of a single collapsed header. ##### Fixed - `hub wait` on a process now reports what it was actually blocked on when it times out (process exit, the `pattern`, or readiness) instead of always citing the start readiness log pattern. - Isolated settings no longer share mutable array and record defaults. - Ask timeouts above 1,000 seconds now retain their configured duration. - Configured extension directories no longer load fallback index files when declared entries are missing. - Telemetry no longer sends OTLP when only a non-OTLP exporter is selected. - Browser response-body failures now preserve their original protocol errors. - Auto-retry waits past the signed 32-bit timer ceiling (e.g. a month-scale OpenCode Go reset with `retry.waitForUsageReset`) now elapse in full instead of overflowing the timer and retrying immediately. - JavaScript eval now reports startup failure if both isolated runtimes fail, instead of executing uncancellable code on the host thread. - CommonJS extensions now expose computed and non-enumerable named exports while preserving `require`/import identity and reloads. - Exa MCP calls now select matching responses after notifications, accept valid SSE framing, and preserve cancellation. - Esc-Esc rewind, `/copy`, and `/tree`'s user-only filter now treat user-invoked skill and collab prompts as user turns: they are selectable, `←`/`→` jumps land on them, and rewinding past one restores the text you typed (with its chips) into the editor. - `/skill:<name>` followed by a newline now invokes the skill instead of sending the draft as plain text. - `openrouter/<vendor>/<model>@upstream` now resolves when the first-party provider bundles the same id (e.g. `google/gemini-*`), instead of failing with "model not found". - Kept the subagent `yield` tool as a direct function call instead of mounting it through `xd://`. - Git TUI staging now honors `.gitattributes` `text`/`eol` and clean filters, so "Stage All" no longer leaves `eol=crlf` files (e.g. `*.cmd`) dirty with no visible diff. - Browsers spawned via `app.path` into an omp-owned profile no longer trigger the macOS "wants to use your confidential information in Safe Storage" keychain dialog. - Reading Hugging Face file URLs (`/raw/...`, `/resolve/...`, `/blob/...`, `/tree/...`) now returns the file instead of the repo's model/dataset card. - Directory reads no longer append a bogus `[1 results limit reached. Use limit=2 for more]` notice (`read` has no `limit`); capped child directories show only their inline `… N more` marker, and the prompt documents paging with `:N-M`/`:-N`. #### [@&#8203;oh-my-pi/pi-tui](https://github.com/oh-my-pi/pi-tui) ##### Added - Added `Editor.textRevision` for content-dependent render caches, including undo and draft restoration. - Added collapseToAtom method to compress text spans into UI-friendly atoms ##### Changed - Redrawing unchanged terminal rows now avoids rescanning ANSI, hyperlinks, and images. - Terminal UIs reach their first frame with a smaller startup module graph. #### [@&#8203;oh-my-pi/pi-utils](https://github.com/oh-my-pi/pi-utils) ##### Breaking Changes - Removed the unused `globPaths`, `loadGitignorePatterns`, and `GlobPathsOptions` exports. - Browser helpers now manage Chrome only: removed `Browser`, `BrowserTag`, `resolveBuildId()`, `getInstalledBrowsers()`, and `browser` options/metadata; `getDownloadUrl()` now takes `(platform, buildId, baseUrl?)`. ##### Added - Added `relativePathWithinNormalizedRoot()` for reusing canonical paths across containment checks. - Added `sleepLong()` and `MAX_TIMER_DELAY_MS`: an abortable sleep that chunks delays past the signed 32-bit timer ceiling so day-scale provider waits elapse instead of overflowing the timer. ##### Changed - Log-retention cleanup now runs after logger construction without keeping short-lived commands alive. - Debugger support now loads only when SIGUSR1 requests it. ##### Fixed - Fixed `extractRetryHint` dropping OpenCode Go's `Resets in …` quota window (`45min`, `2hr 15min`, `3 days`): the `reset in` pattern now accepts `Resets` phrasing, `hr`/`day` units, and compound `2hr 15min` remainders, so exhausted Go credentials block for the server-stated window instead of the 60s heuristic guess. ([#&#8203;12091](https://github.com/can1357/oh-my-pi/pull/12091) by [@&#8203;H4vC](https://github.com/H4vC)) - Async file-peek callbacks now receive stable `Uint8Array` windows with copying `slice()` semantics. - Dotenv loading now handles multiline values and escapes consistently with Bun, preventing project values from leaking into child-shell environments. - SSE readers now support lone-CR line endings and CRLF split across chunks without merging or delaying events. #### What's Changed - feat(coding-agent): add Ollama web search provider by [@&#8203;niklasschaeffer](https://github.com/niklasschaeffer) in [#&#8203;10740](https://github.com/can1357/oh-my-pi/pull/10740) - fix(utils,ai): parse OpenCode Go Resets-in quota window for account rotation by [@&#8203;H4vC](https://github.com/H4vC) in [#&#8203;12091](https://github.com/can1357/oh-my-pi/pull/12091) #### New Contributors - [@&#8203;niklasschaeffer](https://github.com/niklasschaeffer) made their first contribution in [#&#8203;10740](https://github.com/can1357/oh-my-pi/pull/10740) **Full Changelog**: <https://github.com/can1357/oh-my-pi/compare/v18.1.22...v18.2.0> </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 CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC45MC4xIiwidXBkYXRlZEluVmVyIjoiNDQuOTAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
chore(deps): update dependency can1357/oh-my-pi to v18.2.0
All checks were successful
Update hashes / update-hashes (pull_request) Successful in 1m27s
45858572fa
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-09-15 05:03:19 +00:00
renovate-bot deleted branch renovate/can1357-oh-my-pi-18.x 2026-09-15 05:04:44 +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!180
No description provided.