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

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

This PR contains the following updates:

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

⚠️ 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.13.3

Compare Source

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

Added
  • Added the interruptible tool field: when set, the agent loop may abort the tool mid-execution to deliver a queued steering message (honored only in immediate interrupt mode).
  • Added support for gemini and gemma as valid owned tool syntax values in environment configuration
Fixed
  • Fixed pruneToolOutputs blanking tiny tool results during overflow pruning: results below 50 tokens (MIN_PRUNE_TOKENS) are no longer replaced with the [Output truncated - N tokens] placeholder, which cost more tokens than the result itself and churned the prompt cache for zero savings.

@​oh-my-pi/pi-ai

Added
  • Added the gemini in-band tool-call syntax with Python-style tool_code blocks and default_api invocations
  • Added the gemma token-delimited in-band tool-call syntax using <|tool_call> and <|tool_response> blocks
  • Added gemini and gemma to owned stream tool-result token detection so their tool responses are recognized
  • Fixed truncated Gemini and Gemma tool blocks from being emitted as plain text during streaming
  • Added the Azure OpenAI provider definition (azure) to the registry; AZURE_OPENAI_API_KEY resolves as its env-var API key via the catalog provider table.
Changed
  • Gemini tool-call examples now render without the default_api. namespace prefix, keeping <example> blocks concise. The live wire format still uses default_api. per the Gemini grammar.
Fixed
  • Fixed duplicate tool call projections by deduplicating provider-native toolCall events against in-band tool_code calls and keeping only the first real channel
  • Dropped nameless native toolCall events so they no longer appear as surfaced tool calls in owned-mode streams
  • Fixed Gemini/Gemma in-band tool-call parsing around Python comments, raw/unicode string literals, and Gemma close-token text inside string values.

@​oh-my-pi/pi-catalog

Added
  • Added Azure OpenAI as a catalog provider (azure, default model gpt-5.5, env var AZURE_OPENAI_API_KEY), bundling the OpenAI-family models Azure serves over the Responses API (GPT-4/4.1/4o, GPT-5 family, o-series, Codex). Like Amazon Bedrock it is catalog-only — models ship in the bundle and become selectable once the env key is set, with the deployment base URL resolved at runtime from AZURE_OPENAI_BASE_URL/AZURE_OPENAI_RESOURCE_NAME.
  • Added models.dev-backed bundled catalogs for providers that previously shipped no offline models: Hugging Face, Kilo, Moonshot, NanoGPT, Synthetic, Venice, Ollama Cloud, and the Xiaomi Token Plan regions (ams/cn/sgp). They still discover live when credentialed; the bundle is now a non-empty baseline.
Changed
  • Updated stale provider default models to their latest bundled versions: OpenAI-family providers (azure, github-copilot, aimlapi) → GPT-5.5; Gemini providers (google, google-gemini-cli, google-vertex) → gemini-3.1-pro-preview; GLM providers (zai, zhipu-coding-plan) → glm-5.2, cerebraszai-glm-4.7; Kimi providers (fireworks, opencode-go, moonshot) → kimi-k2.7-code, kimi-codekimi-for-coding, togethermoonshotai/Kimi-K2.7-Code; alibaba-coding-planqwen3.7-plus; and Claude-Sonnet defaults (cloudflare-ai-gateway, cursor, gitlab-duo, kilo, opencode-zen, vercel-ai-gateway) → Claude Opus 4.x.
  • Restricted models.dev Azure discovery to OpenAI-family IDs (gpt-, o1, o3, o4, codex, chatgpt), excluding Foundry-hosted third parties (Claude/DeepSeek/Llama/Mistral/Phi) that Azure serves through non-Responses APIs.
  • Detected the Azure OpenAI Responses compat surface (developer role, strict tool mode, strict tool-result pairing) by provider id as well as base URL, so bundled azure models whose deployment host is only known at runtime still get the right wire behavior.
  • Renamed the Qwen3-ASR-Flash model label to Qwen3 ASR Flash
Fixed
  • Fixed tool syntax selection for Gemini-family and Gemma model IDs by routing them to dedicated gemini and gemma formats instead of generic XML
  • Fixed zhipu-coding-plan and together shipping no bundled models: their descriptors referenced non-existent models.dev keys (zhipu-coding-plan, together); pointed them at the real keys (zhipuai-coding-plan, togetherai) so they bundle their GLM and full catalogs respectively.
  • Folded the azure-openai-responses API into the OpenAI Responses thinking-inference branches so Azure reasoning models (o-series, GPT-5, Codex) resolve the discrete effort vocabulary (including xhigh) and effort-control mode instead of falling through to generic defaults.
  • Fixed ollama-cloud discovery inheriting an unsafe cross-provider contextWindow/maxTokens when /api/show returns no size metadata; it now falls back to the safe 128K context / 8K output caps.
  • Dropped internal Fireworks control-plane resource ids (accounts/fireworks/{models,routers}/…) from the bundle; only the public request ids ship.

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

Added
  • Unexpected stop detection: optional tiny/smol classifier that continues the turn when the assistant says it will act but emits no tool calls.
  • Settings features.unexpectedStopDetection and providers.unexpectedStopModel.
Changed
  • Changed the job poll to return early when a steering message is queued, draining the steer immediately instead of waiting out the poll window.
  • Capped unexpected-stop auto-continuation to three retry attempts before giving up on repeated stops
  • Updated the edit tool's hashline prompt, grammar, and docs to recommend the .= inclusive range separator (SWAP 1.=3:); the legacy .. form still parses.
  • Normalized all internal worker argv selectors under the __omp_worker_ prefix, skipping the async worker dispatch check during normal CLI startup.
Fixed
  • Filtered out whitespace-only and dot-only (. or ) assistant blocks so they are treated as empty and no longer appear as visible content in message rendering, streaming reveal counts, or session export output
  • Filtered placeholder-only thinking content from ACP notifications and message visibility checks so dot-only reasoning_content no longer triggers turn completion or read/run updates
  • Fixed ModelRegistry tests making outbound network calls by automatically stubbing fetch during test execution.
  • Fixed eval JS cells (and browser-tab worker startup) always stalling for the full init timeout — typically the cell's whole 30s budget — before silently falling back to the slower inline worker. The self-dispatching CLI host imports the worker module dynamically from its argv dispatch, so the worker's own parentPort.on("message") attached only after Bun flushed the messages the parent posted before spawn; the synchronously-posted init handshake was dropped and never answered with ready. The host now installs a buffering parentPort inbox synchronously in the entry's sync prefix (before importing the worker module) and the worker binds it on load, replaying the buffered handshake. omp --smoke-test now also spawns the JS eval worker through the host entry and asserts it handshakes on a real worker thread.
  • Fixed pre-prompt context-full compaction on OpenAI Responses sessions to use provider-anchored context usage when available, so large encrypted reasoning signatures no longer trigger automatic maintenance while the visible context percentage remains below threshold (#​2628).

@​oh-my-pi/collab-web

Fixed
  • Wrapped composer button labels to display icon-only on mobile devices for a more compact and readable layout
  • Made the connect screen, ended session card, and notification toasts fully responsive for smaller device viewports
  • Fixed mobile layout issues where the entire chat flow would overflow horizontally and text was rendered too large on iOS Safari (by setting text-size-adjust: 100%)
  • Made transcript rows stack vertically on small screens to optimize reading space, and prevented grid track expansion
  • Hid non-essential metadata (such as the model name, thinking level, and working directory path) and context gauge tracks on mobile headers to prevent overflow

@​oh-my-pi/hashline

Changed
  • Changed the recommended hashline range separator from .. to .= (e.g. SWAP 1.=3:, DEL 4.=5) so the inclusive <=-style end is self-evident. HL_RANGE_SEP is now .=; the prompt, grammar, error messages, and emitted headers all use it. The lenient parser still accepts the legacy .. (and -//space) forms.

@​oh-my-pi/omp-stats

Changed
  • Renamed __omp_stats_sync_worker to __omp_worker_stats_sync.

@​oh-my-pi/pi-utils

Added
  • Added installWorkerInbox(port) / consumeWorkerInbox() to @oh-my-pi/pi-utils/worker-host. A self-dispatching CLI host that imports a Bun worker module dynamically attaches the worker's real message listener after Bun flushes the messages the parent posted before spawn, dropping a synchronously-posted init. The host installs this buffering inbox synchronously in the entry's sync prefix so a listener exists at flush time; the worker module consumes it and binds the real handler, replaying anything buffered.

Full Changelog: https://github.com/can1357/oh-my-pi/compare/v15.13.2...v15.13.3


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.13.2` → `15.13.3` | --- > ⚠️ **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.13.3`](https://github.com/can1357/oh-my-pi/releases/tag/v15.13.3) [Compare Source](https://github.com/can1357/oh-my-pi/compare/v15.13.2...v15.13.3) #### [@&#8203;oh-my-pi/pi-agent-core](https://github.com/oh-my-pi/pi-agent-core) ##### Added - Added the `interruptible` tool field: when set, the agent loop may abort the tool mid-execution to deliver a queued steering message (honored only in `immediate` interrupt mode). - Added support for `gemini` and `gemma` as valid owned tool syntax values in environment configuration ##### Fixed - Fixed `pruneToolOutputs` blanking tiny tool results during overflow pruning: results below `50` tokens (`MIN_PRUNE_TOKENS`) are no longer replaced with the `[Output truncated - N tokens]` placeholder, which cost more tokens than the result itself and churned the prompt cache for zero savings. #### [@&#8203;oh-my-pi/pi-ai](https://github.com/oh-my-pi/pi-ai) ##### Added - Added the `gemini` in-band tool-call syntax with Python-style `tool_code` blocks and `default_api` invocations - Added the `gemma` token-delimited in-band tool-call syntax using `<|tool_call>` and `<|tool_response>` blocks - Added `gemini` and `gemma` to owned stream tool-result token detection so their tool responses are recognized - Fixed truncated Gemini and Gemma tool blocks from being emitted as plain text during streaming - Added the Azure OpenAI provider definition (`azure`) to the registry; `AZURE_OPENAI_API_KEY` resolves as its env-var API key via the catalog provider table. ##### Changed - Gemini tool-call examples now render without the `default_api.` namespace prefix, keeping `<example>` blocks concise. The live wire format still uses `default_api.` per the Gemini grammar. ##### Fixed - Fixed duplicate tool call projections by deduplicating provider-native `toolCall` events against in-band `tool_code` calls and keeping only the first real channel - Dropped nameless native `toolCall` events so they no longer appear as surfaced tool calls in owned-mode streams - Fixed Gemini/Gemma in-band tool-call parsing around Python comments, raw/unicode string literals, and Gemma close-token text inside string values. #### [@&#8203;oh-my-pi/pi-catalog](https://github.com/oh-my-pi/pi-catalog) ##### Added - Added Azure OpenAI as a catalog provider (`azure`, default model `gpt-5.5`, env var `AZURE_OPENAI_API_KEY`), bundling the OpenAI-family models Azure serves over the Responses API (GPT-4/4.1/4o, GPT-5 family, o-series, Codex). Like Amazon Bedrock it is catalog-only — models ship in the bundle and become selectable once the env key is set, with the deployment base URL resolved at runtime from `AZURE_OPENAI_BASE_URL`/`AZURE_OPENAI_RESOURCE_NAME`. - Added models.dev-backed bundled catalogs for providers that previously shipped no offline models: Hugging Face, Kilo, Moonshot, NanoGPT, Synthetic, Venice, Ollama Cloud, and the Xiaomi Token Plan regions (ams/cn/sgp). They still discover live when credentialed; the bundle is now a non-empty baseline. ##### Changed - Updated stale provider default models to their latest bundled versions: OpenAI-family providers (`azure`, `github-copilot`, `aimlapi`) → GPT-5.5; Gemini providers (`google`, `google-gemini-cli`, `google-vertex`) → `gemini-3.1-pro-preview`; GLM providers (`zai`, `zhipu-coding-plan`) → `glm-5.2`, `cerebras` → `zai-glm-4.7`; Kimi providers (`fireworks`, `opencode-go`, `moonshot`) → `kimi-k2.7-code`, `kimi-code` → `kimi-for-coding`, `together` → `moonshotai/Kimi-K2.7-Code`; `alibaba-coding-plan` → `qwen3.7-plus`; and Claude-Sonnet defaults (`cloudflare-ai-gateway`, `cursor`, `gitlab-duo`, `kilo`, `opencode-zen`, `vercel-ai-gateway`) → Claude Opus 4.x. - Restricted models.dev Azure discovery to OpenAI-family IDs (`gpt-`, `o1`, `o3`, `o4`, `codex`, `chatgpt`), excluding Foundry-hosted third parties (Claude/DeepSeek/Llama/Mistral/Phi) that Azure serves through non-Responses APIs. - Detected the Azure OpenAI Responses compat surface (developer role, strict tool mode, strict tool-result pairing) by provider id as well as base URL, so bundled `azure` models whose deployment host is only known at runtime still get the right wire behavior. - Renamed the `Qwen3-ASR-Flash` model label to `Qwen3 ASR Flash` ##### Fixed - Fixed tool syntax selection for Gemini-family and Gemma model IDs by routing them to dedicated `gemini` and `gemma` formats instead of generic XML - Fixed `zhipu-coding-plan` and `together` shipping no bundled models: their descriptors referenced non-existent models.dev keys (`zhipu-coding-plan`, `together`); pointed them at the real keys (`zhipuai-coding-plan`, `togetherai`) so they bundle their GLM and full catalogs respectively. - Folded the `azure-openai-responses` API into the OpenAI Responses thinking-inference branches so Azure reasoning models (o-series, GPT-5, Codex) resolve the discrete effort vocabulary (including `xhigh`) and effort-control mode instead of falling through to generic defaults. - Fixed `ollama-cloud` discovery inheriting an unsafe cross-provider `contextWindow`/`maxTokens` when `/api/show` returns no size metadata; it now falls back to the safe 128K context / 8K output caps. - Dropped internal Fireworks control-plane resource ids (`accounts/fireworks/{models,routers}/…`) from the bundle; only the public request ids ship. #### [@&#8203;oh-my-pi/pi-coding-agent](https://github.com/oh-my-pi/pi-coding-agent) ##### Added - Unexpected stop detection: optional tiny/smol classifier that continues the turn when the assistant says it will act but emits no tool calls. - Settings `features.unexpectedStopDetection` and `providers.unexpectedStopModel`. ##### Changed - Changed the `job` poll to return early when a steering message is queued, draining the steer immediately instead of waiting out the poll window. - Capped unexpected-stop auto-continuation to three retry attempts before giving up on repeated stops - Updated the `edit` tool's hashline prompt, grammar, and docs to recommend the `.=` inclusive range separator (`SWAP 1.=3:`); the legacy `..` form still parses. - Normalized all internal worker argv selectors under the `__omp_worker_` prefix, skipping the async worker dispatch check during normal CLI startup. ##### Fixed - Filtered out whitespace-only and dot-only (`.` or `…`) assistant blocks so they are treated as empty and no longer appear as visible content in message rendering, streaming reveal counts, or session export output - Filtered placeholder-only thinking content from ACP notifications and message visibility checks so dot-only `reasoning_content` no longer triggers turn completion or read/run updates - Fixed ModelRegistry tests making outbound network calls by automatically stubbing fetch during test execution. - Fixed `eval` JS cells (and browser-tab worker startup) always stalling for the full init timeout — typically the cell's whole 30s budget — before silently falling back to the slower inline worker. The self-dispatching CLI host imports the worker module dynamically from its argv dispatch, so the worker's own `parentPort.on("message")` attached only after Bun flushed the messages the parent posted before spawn; the synchronously-posted `init` handshake was dropped and never answered with `ready`. The host now installs a buffering `parentPort` inbox synchronously in the entry's sync prefix (before importing the worker module) and the worker binds it on load, replaying the buffered handshake. `omp --smoke-test` now also spawns the JS eval worker through the host entry and asserts it handshakes on a real worker thread. - Fixed pre-prompt context-full compaction on OpenAI Responses sessions to use provider-anchored context usage when available, so large encrypted reasoning signatures no longer trigger automatic maintenance while the visible context percentage remains below threshold ([#&#8203;2628](https://github.com/can1357/oh-my-pi/issues/2628)). #### [@&#8203;oh-my-pi/collab-web](https://github.com/oh-my-pi/collab-web) ##### Fixed - Wrapped composer button labels to display icon-only on mobile devices for a more compact and readable layout - Made the connect screen, ended session card, and notification toasts fully responsive for smaller device viewports - Fixed mobile layout issues where the entire chat flow would overflow horizontally and text was rendered too large on iOS Safari (by setting `text-size-adjust: 100%`) - Made transcript rows stack vertically on small screens to optimize reading space, and prevented grid track expansion - Hid non-essential metadata (such as the model name, thinking level, and working directory path) and context gauge tracks on mobile headers to prevent overflow #### [@&#8203;oh-my-pi/hashline](https://github.com/oh-my-pi/hashline) ##### Changed - Changed the recommended hashline range separator from `..` to `.=` (e.g. `SWAP 1.=3:`, `DEL 4.=5`) so the inclusive `<=`-style end is self-evident. `HL_RANGE_SEP` is now `.=`; the prompt, grammar, error messages, and emitted headers all use it. The lenient parser still accepts the legacy `..` (and `-`/`…`/space) forms. #### [@&#8203;oh-my-pi/omp-stats](https://github.com/oh-my-pi/omp-stats) ##### Changed - Renamed `__omp_stats_sync_worker` to `__omp_worker_stats_sync`. #### [@&#8203;oh-my-pi/pi-utils](https://github.com/oh-my-pi/pi-utils) ##### Added - Added `installWorkerInbox(port)` / `consumeWorkerInbox()` to `@oh-my-pi/pi-utils/worker-host`. A self-dispatching CLI host that imports a Bun worker module dynamically attaches the worker's real `message` listener after Bun flushes the messages the parent posted before spawn, dropping a synchronously-posted `init`. The host installs this buffering inbox synchronously in the entry's sync prefix so a listener exists at flush time; the worker module consumes it and binds the real handler, replaying anything buffered. **Full Changelog**: <https://github.com/can1357/oh-my-pi/compare/v15.13.2...v15.13.3> </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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjMuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update dependency can1357/oh-my-pi to v15.13.3
All checks were successful
Update hashes / update-hashes (pull_request) Successful in 1m27s
b2200cdfa7
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-06-15 12:03:32 +00:00
renovate-bot deleted branch renovate/can1357-oh-my-pi-15.x 2026-06-15 12:04:55 +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!71
No description provided.