fix(deps): update dependency @earendil-works/pi-coding-agent to v1.4.0 #369

Open
renovate-bot wants to merge 1 commit from renovate-earendil-works-pi-coding-agent-1.x into main
Member

This PR contains the following updates:

Package Change Age Confidence
@earendil-works/pi-coding-agent (source) 1.3.0 → 1.4.0 age confidence

Release Notes

earendil-works/pi (@​earendil-works/pi-coding-agent)

v1.4.0

Compare Source

New Features
  • Image input for classifiers: codemode models.classify() accepts images for TypeSafe's Jev and Cloudflare's Clef models on typesafe, cloudflare-workers-ai, and OpenRouter. See Use classifier models and Codemode.
  • Models Configuration reference: every provider, model, model override, and compatibility field of models.json, generated from its schema. See Models Configuration.
  • Summaries without a fixed output cap: compaction and branch summaries use the model's output limit, so long reasoning no longer makes them fail. See Compaction.
  • Codemode waits for a free worker: parallel scripts and in-process subagents queue instead of failing, and PI_CODEMODE_MAX_WORKERS raises the limit. See Codemode limits.
  • Rex terminal support: OSC 8 hyperlinks, truecolor, and inline images.
Added
  • Added a Models Configuration reference generated from the models.json schema, listing all provider, model, model override, and compatibility fields (#​10790)
  • Codemode models.classify() now accepts images for TypeSafe's Jev and Cloudflare's Clef models on typesafe, cloudflare-workers-ai, and OpenRouter, and lists Clef Omni and Jev 1.14 on Workers AI.
  • Provider-level compat in models.json now also applies to classifier models, with the System One fields imageInput and sendImageOptInHeader for proxies that serve another service's classifiers. Extension classifier models accept compat too.
  • Added MiniMax-M3.1-Flash to the minimax and minimax-cn providers, with thinking levels low through max (#​11121)
  • Added support for the Rex terminal: OSC 8 hyperlinks, truecolor, and inline images (#​11131, #​11150 by @​petrroll, #​11183 by @​nihaals)
Changed
  • Provider attribution headers now come from pi-ai's client identity. Extensions' before_provider_headers handlers no longer see the OpenRouter, NVIDIA NIM, and OpenCode attribution headers; returning null for one still removes it. Cloudflare requests send pi's detailed User-Agent instead of pi-coding-agent, as do GitHub release checks for tool downloads, and OpenCode requests send x-opencode-client whenever attribution is enabled, not only with a session.
  • generateSummary() and generateSummaryWithUsage() now ignore their reserveTokens parameter. Summary requests use the model's output limit instead.
  • Changed the default GitHub Copilot model from gpt-5.4, which Copilot retired, to gpt-6.1-sol.
  • Changed the default NVIDIA model to nvidia/nemotron-3.5-super-vl-120b-a12b (#​10910 by @​cv)
  • Changed the default Xiaomi model to mimo-v2.6-pro for the xiaomi and Xiaomi Token Plan providers, since mimo-v2.5-pro left the catalog.
  • Grok 4.3 and Grok 4.5 on the xai provider now offer the xhigh thinking level.
  • Sign in with ChatGPT: ChatGPT Business workspace usage-limit errors are not retried and tell the user to ask their workspace admin to increase the limit.
Fixed
  • Fixed compaction and branch summaries failing with "generation hit the token cap" when reasoning used most of the fixed summary output limit. Summaries now use the model's output limit, and compaction.reserveTokens only controls when compaction starts (#​9512, #​9075).
  • Fixed models.schema.json missing descriptions for provider and model fields, so editors showed no hints for them (#​10790)
  • Fixed pi update failing with "Managed install marker is missing or invalid" when managed-install.json starts with a UTF-8 BOM, which Windows PowerShell 5.1 adds when it rewrites the file.
  • Fixed HTML export showing literal asterisks for Markdown bold and italic next to CJK punctuation (#​3353, #​10154)
  • Fixed the terminal staying in mouse-tracking, focus-reporting, Kitty keyboard, and alternate-screen modes when pi exits without its normal terminal teardown, which flooded the shell prompt with escape sequences (#​11170)
  • Fixed concurrent extension select/confirm/input/editor dialogs and inline custom() components in interactive mode: a second dialog replaced the first and the first promise never settled; closing the visible dialog now shows the previous one again (#​11166, #​9909)
  • Fixed pasting in the shell hanging after copying text in pi and suspending it with Ctrl+Z on Linux: the background wl-copy/xclip/xsel process that keeps serving the clipboard was suspended along with pi (#​11179)
  • Fixed codemode scripts failing immediately when both codemode workers are busy, for example with parallel codemode calls or in-process subagents. Scripts now wait up to 60 seconds for a free worker, and PI_CODEMODE_MAX_WORKERS raises the limit of two workers (#​11184)
  • Fixed extensions failing to load when importing @earendil-works/pi-ai/models (e.g. for clampThinkingLevel) by exposing the subpath through the extension loader aliases and virtual modules (#​11156)
  • Fixed mcp.json files that start with a UTF-8 BOM failing to parse, which skipped all their MCP servers and made pi mcp add/pi mcp remove fail (#​11191)
  • Fixed /compact <instructions> ignoring the instructions when summarizing the start of a turn that compaction splits. When the split turn was the only new content since the last compaction, the instructions were ignored entirely (#​11058)
  • Fixed resumed sessions and /tree navigation leaving extension tools inactive when the branch recorded its tools before they were registered, such as tools from extensions installed after the session started. Extension tools the branch never added or removed are now active unless they are registered with defaultActive: false (#​11062, #​11075)
  • Fixed sessions breaking after recovery from a response cut off at the output limit: the truncated tool call was omitted but its tool results were kept, so providers rejected every later request (#​11227, #​11233 by @​petrroll)
  • Fixed the grep tool following RIPGREP_CONFIG_PATH, where options such as --fixed-strings silently changed regex searches into literal ones. The tool now runs rg --no-config (#​11203, #​11230 by @​petrroll)
  • Fixed Windows shell detection rejecting runnable Microsoft Store shell aliases (#​9504 by @​petrroll)
  • Fixed Windows shell detection missing PowerShell outside PATH and the legacy WSL bash.exe launcher when Windows is not installed in C:\Windows. pi now checks %ProgramFiles%\PowerShell\7, %SystemRoot%\System32\WindowsPowerShell\v1.0, and %SystemRoot% (#​9501 by @​petrroll)
  • Fixed GitHub Copilot sessions with large request bodies, such as many images, failing with HTTP 413 failed to parse request instead of compacting and retrying (#​11016 by @​petrroll)
  • Fixed the openai-codex provider offering gpt-5.5 and gpt-5.3-codex-spark, which always fail for ChatGPT accounts (#​11173 by @​lucasmeijer)
  • Fixed whitespace-only tool output (for example a bare \r\n from bash) making OpenAI Completions, OpenAI Responses, and Google requests fail with a 400 (#​8720)
  • Fixed automatic retry not triggering for more gateway upstream failures, stream disconnected before completion errors relayed by Codex CLI proxies, and transient Google Vertex OAuth token refresh failures, and retrying errors because of digits inside request ids or byte counts (#​10920, #​11057, #​10996)
  • Fixed OpenAI Responses models losing the prompt cache on every deferred tool load after a tool was removed (#​10940)
  • Fixed Cloudflare Workers AI classifier pricing: Clef Flash costs $0.038 and Jev $0.042 per million input tokens instead of Jev being listed as free.
  • Fixed an unclosed $$ display-math block swallowing or corrupting every Markdown table after it (#​11159)
  • Fixed Markdown bold and italic not rendering next to CJK punctuation (#​10730 by @​theBucky)
  • Fixed @ file autocomplete returning no results for queries containing regex metacharacters such as [ or ( (#​10972)

Configuration

📅 Schedule: (UTC)

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, 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 | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@earendil-works/pi-coding-agent](https://github.com/earendil-works/pi) ([source](https://github.com/earendil-works/pi/tree/HEAD/packages/coding-agent)) | [`1.3.0` → `1.4.0`](https://renovatebot.com/diffs/npm/@earendil-works%2fpi-coding-agent/1.3.0/1.4.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@earendil-works%2fpi-coding-agent/1.4.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@earendil-works%2fpi-coding-agent/1.3.0/1.4.0?slim=true) | --- ### Release Notes <details> <summary>earendil-works/pi (@&#8203;earendil-works/pi-coding-agent)</summary> ### [`v1.4.0`](https://github.com/earendil-works/pi/blob/HEAD/packages/coding-agent/CHANGELOG.md#140---2026-10-21) [Compare Source](https://github.com/earendil-works/pi/compare/v1.3.0...v1.4.0) ##### New Features - **Image input for classifiers**: codemode `models.classify()` accepts `images` for TypeSafe's Jev and Cloudflare's Clef models on `typesafe`, `cloudflare-workers-ai`, and OpenRouter. See [Use classifier models](docs/models.md#use-classifier-models) and [Codemode](docs/codemode.md#models). - **Models Configuration reference**: every provider, model, model override, and compatibility field of `models.json`, generated from its schema. See [Models Configuration](docs/models-configuration.md). - **Summaries without a fixed output cap**: compaction and branch summaries use the model's output limit, so long reasoning no longer makes them fail. See [Compaction](docs/compaction.md#compaction). - **Codemode waits for a free worker**: parallel scripts and in-process subagents queue instead of failing, and `PI_CODEMODE_MAX_WORKERS` raises the limit. See [Codemode limits](docs/codemode.md#limits). - **Rex terminal support**: OSC 8 hyperlinks, truecolor, and inline images. ##### Added - Added a Models Configuration reference generated from the `models.json` schema, listing all provider, model, model override, and compatibility fields ([#&#8203;10790](https://github.com/earendil-works/pi/issues/10790)) - Codemode `models.classify()` now accepts `images` for TypeSafe's Jev and Cloudflare's Clef models on `typesafe`, `cloudflare-workers-ai`, and OpenRouter, and lists Clef Omni and Jev 1.14 on Workers AI. - Provider-level `compat` in `models.json` now also applies to classifier models, with the System One fields `imageInput` and `sendImageOptInHeader` for proxies that serve another service's classifiers. Extension classifier models accept `compat` too. - Added `MiniMax-M3.1-Flash` to the `minimax` and `minimax-cn` providers, with thinking levels low through max ([#&#8203;11121](https://github.com/earendil-works/pi/issues/11121)) - Added support for the Rex terminal: OSC 8 hyperlinks, truecolor, and inline images ([#&#8203;11131](https://github.com/earendil-works/pi/issues/11131), [#&#8203;11150](https://github.com/earendil-works/pi/pull/11150) by [@&#8203;petrroll](https://github.com/petrroll), [#&#8203;11183](https://github.com/earendil-works/pi/pull/11183) by [@&#8203;nihaals](https://github.com/nihaals)) ##### Changed - Provider attribution headers now come from pi-ai's client identity. Extensions' `before_provider_headers` handlers no longer see the OpenRouter, NVIDIA NIM, and OpenCode attribution headers; returning `null` for one still removes it. Cloudflare requests send pi's detailed `User-Agent` instead of `pi-coding-agent`, as do GitHub release checks for tool downloads, and OpenCode requests send `x-opencode-client` whenever attribution is enabled, not only with a session. - `generateSummary()` and `generateSummaryWithUsage()` now ignore their `reserveTokens` parameter. Summary requests use the model's output limit instead. - Changed the default GitHub Copilot model from `gpt-5.4`, which Copilot retired, to `gpt-6.1-sol`. - Changed the default NVIDIA model to `nvidia/nemotron-3.5-super-vl-120b-a12b` ([#&#8203;10910](https://github.com/earendil-works/pi/pull/10910) by [@&#8203;cv](https://github.com/cv)) - Changed the default Xiaomi model to `mimo-v2.6-pro` for the `xiaomi` and Xiaomi Token Plan providers, since `mimo-v2.5-pro` left the catalog. - Grok 4.3 and Grok 4.5 on the `xai` provider now offer the `xhigh` thinking level. - Sign in with ChatGPT: ChatGPT Business workspace usage-limit errors are not retried and tell the user to ask their workspace admin to increase the limit. ##### Fixed - Fixed compaction and branch summaries failing with "generation hit the token cap" when reasoning used most of the fixed summary output limit. Summaries now use the model's output limit, and `compaction.reserveTokens` only controls when compaction starts ([#&#8203;9512](https://github.com/earendil-works/pi/issues/9512), [#&#8203;9075](https://github.com/earendil-works/pi/issues/9075)). - Fixed `models.schema.json` missing descriptions for provider and model fields, so editors showed no hints for them ([#&#8203;10790](https://github.com/earendil-works/pi/issues/10790)) - Fixed `pi update` failing with "Managed install marker is missing or invalid" when `managed-install.json` starts with a UTF-8 BOM, which Windows PowerShell 5.1 adds when it rewrites the file. - Fixed HTML export showing literal asterisks for Markdown bold and italic next to CJK punctuation ([#&#8203;3353](https://github.com/earendil-works/pi/issues/3353), [#&#8203;10154](https://github.com/earendil-works/pi/issues/10154)) - Fixed the terminal staying in mouse-tracking, focus-reporting, Kitty keyboard, and alternate-screen modes when pi exits without its normal terminal teardown, which flooded the shell prompt with escape sequences ([#&#8203;11170](https://github.com/earendil-works/pi/issues/11170)) - Fixed concurrent extension `select`/`confirm`/`input`/`editor` dialogs and inline `custom()` components in interactive mode: a second dialog replaced the first and the first promise never settled; closing the visible dialog now shows the previous one again ([#&#8203;11166](https://github.com/earendil-works/pi/issues/11166), [#&#8203;9909](https://github.com/earendil-works/pi/issues/9909)) - Fixed pasting in the shell hanging after copying text in pi and suspending it with Ctrl+Z on Linux: the background `wl-copy`/`xclip`/`xsel` process that keeps serving the clipboard was suspended along with pi ([#&#8203;11179](https://github.com/earendil-works/pi/issues/11179)) - Fixed codemode scripts failing immediately when both codemode workers are busy, for example with parallel codemode calls or in-process subagents. Scripts now wait up to 60 seconds for a free worker, and `PI_CODEMODE_MAX_WORKERS` raises the limit of two workers ([#&#8203;11184](https://github.com/earendil-works/pi/issues/11184)) - Fixed extensions failing to load when importing `@earendil-works/pi-ai/models` (e.g. for `clampThinkingLevel`) by exposing the subpath through the extension loader aliases and virtual modules ([#&#8203;11156](https://github.com/earendil-works/pi/issues/11156)) - Fixed `mcp.json` files that start with a UTF-8 BOM failing to parse, which skipped all their MCP servers and made `pi mcp add`/`pi mcp remove` fail ([#&#8203;11191](https://github.com/earendil-works/pi/issues/11191)) - Fixed `/compact <instructions>` ignoring the instructions when summarizing the start of a turn that compaction splits. When the split turn was the only new content since the last compaction, the instructions were ignored entirely ([#&#8203;11058](https://github.com/earendil-works/pi/issues/11058)) - Fixed resumed sessions and `/tree` navigation leaving extension tools inactive when the branch recorded its tools before they were registered, such as tools from extensions installed after the session started. Extension tools the branch never added or removed are now active unless they are registered with `defaultActive: false` ([#&#8203;11062](https://github.com/earendil-works/pi/issues/11062), [#&#8203;11075](https://github.com/earendil-works/pi/issues/11075)) - Fixed sessions breaking after recovery from a response cut off at the output limit: the truncated tool call was omitted but its tool results were kept, so providers rejected every later request ([#&#8203;11227](https://github.com/earendil-works/pi/issues/11227), [#&#8203;11233](https://github.com/earendil-works/pi/pull/11233) by [@&#8203;petrroll](https://github.com/petrroll)) - Fixed the `grep` tool following `RIPGREP_CONFIG_PATH`, where options such as `--fixed-strings` silently changed regex searches into literal ones. The tool now runs `rg --no-config` ([#&#8203;11203](https://github.com/earendil-works/pi/issues/11203), [#&#8203;11230](https://github.com/earendil-works/pi/pull/11230) by [@&#8203;petrroll](https://github.com/petrroll)) - Fixed Windows shell detection rejecting runnable Microsoft Store shell aliases ([#&#8203;9504](https://github.com/earendil-works/pi/pull/9504) by [@&#8203;petrroll](https://github.com/petrroll)) - Fixed Windows shell detection missing PowerShell outside `PATH` and the legacy WSL `bash.exe` launcher when Windows is not installed in `C:\Windows`. pi now checks `%ProgramFiles%\PowerShell\7`, `%SystemRoot%\System32\WindowsPowerShell\v1.0`, and `%SystemRoot%` ([#&#8203;9501](https://github.com/earendil-works/pi/pull/9501) by [@&#8203;petrroll](https://github.com/petrroll)) - Fixed GitHub Copilot sessions with large request bodies, such as many images, failing with HTTP 413 `failed to parse request` instead of compacting and retrying ([#&#8203;11016](https://github.com/earendil-works/pi/pull/11016) by [@&#8203;petrroll](https://github.com/petrroll)) - Fixed the `openai-codex` provider offering `gpt-5.5` and `gpt-5.3-codex-spark`, which always fail for ChatGPT accounts ([#&#8203;11173](https://github.com/earendil-works/pi/pull/11173) by [@&#8203;lucasmeijer](https://github.com/lucasmeijer)) - Fixed whitespace-only tool output (for example a bare `\r\n` from bash) making OpenAI Completions, OpenAI Responses, and Google requests fail with a 400 ([#&#8203;8720](https://github.com/earendil-works/pi/issues/8720)) - Fixed automatic retry not triggering for more gateway upstream failures, `stream disconnected before completion` errors relayed by Codex CLI proxies, and transient Google Vertex OAuth token refresh failures, and retrying errors because of digits inside request ids or byte counts ([#&#8203;10920](https://github.com/earendil-works/pi/issues/10920), [#&#8203;11057](https://github.com/earendil-works/pi/issues/11057), [#&#8203;10996](https://github.com/earendil-works/pi/issues/10996)) - Fixed OpenAI Responses models losing the prompt cache on every deferred tool load after a tool was removed ([#&#8203;10940](https://github.com/earendil-works/pi/issues/10940)) - Fixed Cloudflare Workers AI classifier pricing: Clef Flash costs $0.038 and Jev $0.042 per million input tokens instead of Jev being listed as free. - Fixed an unclosed `$$` display-math block swallowing or corrupting every Markdown table after it ([#&#8203;11159](https://github.com/earendil-works/pi/issues/11159)) - Fixed Markdown bold and italic not rendering next to CJK punctuation ([#&#8203;10730](https://github.com/earendil-works/pi/pull/10730) by [@&#8203;theBucky](https://github.com/theBucky)) - Fixed `@` file autocomplete returning no results for queries containing regex metacharacters such as `[` or `(` ([#&#8203;10972](https://github.com/earendil-works/pi/issues/10972)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODEuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
fix(deps): update dependency @earendil-works/pi-coding-agent to v1.4.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
check-commitizen.yaml / Check the PR title (pull_request) Successful in 2s
check-formatter.yaml / Checks with formatters (pull_request) Successful in 6s
check-prettier.yaml / Check files formatting (pull_request) Successful in 1s
check-linter.yaml / Checks with linters (pull_request) Successful in 12s
check-syntax.yaml / Checks with static tools (pull_request) Successful in 10s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 1s
forgejo-agent / LLM Bot response generation (pull_request) Successful in 1s
check-test-unit.yaml / Run unit tests (pull_request) Successful in 11s
df762f0448
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
check-commitizen.yaml / Check the PR title (pull_request) Successful in 2s
check-formatter.yaml / Checks with formatters (pull_request) Successful in 6s
Required
Details
check-prettier.yaml / Check files formatting (pull_request) Successful in 1s
Required
Details
check-linter.yaml / Checks with linters (pull_request) Successful in 12s
Required
Details
check-syntax.yaml / Checks with static tools (pull_request) Successful in 10s
Required
Details
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 1s
Required
Details
forgejo-agent / LLM Bot response generation (pull_request) Successful in 1s
check-test-unit.yaml / Run unit tests (pull_request) Successful in 11s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin "renovate-earendil-works-pi-coding-agent-1.x:renovate-earendil-works-pi-coding-agent-1.x"
git switch "renovate-earendil-works-pi-coding-agent-1.x"
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
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
projects/forgejo-agent!369
No description provided.