chore(deps): update dependency @earendil-works/pi-coding-agent to ^0.84.0 #25

Merged
alex merged 1 commit from renovate/all-non-major-dependencies into master 2026-08-08 14:01:07 +00:00
Owner

This PR contains the following updates:

Package Change Age Confidence
@earendil-works/pi-coding-agent (source) ^0.83.0^0.84.0 age confidence

Release Notes

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

v0.84.1

Compare Source

New Features
  • Qwen Token Plan Individual — Use the built-in provider for models documented for Individual subscriptions. See API Keys.
  • Authentication readiness checks — Use pi auth check to verify provider or model credentials, optionally emitting the resolved credential.
  • Improved fullscreen interaction — Select words and paragraphs with multiple clicks and configure half-page transcript scrolling. See TUI Fullscreen Viewport.
  • Terminating blocked tool calls — Extension tool_call handlers can stop all-terminating batches without another model call. See Tool Events.
Added
  • Added Qwen Token Plan Individual as a built-in provider with its documented subscription model catalog and the shared international QWEN_TOKEN_PLAN_API_KEY. See API Keys (#​7659 by @​arasovic).
  • Added pi auth check provider/model auth preflight with optional credential output (#​7152).
  • Added terminate support to blocked extension tool_call events so all-terminating batches can skip the automatic follow-up model call. See Tool Events (#​7715 by @​muyiyr).
  • Added inherited double-click word and whitespace selection, granularity-aware drag selection, and triple-click paragraph selection in fullscreen mode (#​7725, #​7733 by @​volsa).
  • Added inherited unbound half-page transcript scrolling actions for fullscreen mode. See TUI Fullscreen Viewport (#​7735).
Changed
  • Softened the bash tool's PI_* environment guideline in an attempt to reduce unnecessary inspection commands (#​7128).
  • Reduced worst-case automatic terminal theme detection delay from 200 ms to 100 ms by probing color-scheme and background support concurrently.
Fixed
  • Fixed Bun standalone binaries crashing on startup when the cwd contains a bunfig.toml with preload by compiling with --no-compile-autoload-bunfig (#​7685 by @​geril07).
  • Fixed extension TUI method wrappers recursing indefinitely when delegating to the original method (#​7731).
  • Fixed right-click not pasting clipboard text in fullscreen mode on Windows.
  • Fixed inherited Agent.reset() clearing transcript and runtime state during active runs; it now rejects until the agent is idle (#​7717 by @​wesleyzhangwq).
  • Fixed inherited LaTeX relation, multiplication, and named-operator spacing, and matrix composition with stacked fractions, operator limits, and adjacent matrices.
  • Reduced inherited fullscreen mouse event volume under tmux, Zellij, and GNU Screen by using button-motion tracking instead of all-motion tracking.

v0.84.0

Compare Source

New Features
  • Fullscreen TUI mode — Switch between regular and fullscreen modes at runtime, with a sticky editor and footer, independently scrollable transcript, and draggable scrollbars. See UI & Display.
  • Mermaid and LaTeX rendering — Render Mermaid diagrams and terminal-friendly Unicode math in interactive transcripts. See Markdown settings and TUI Markdown.
  • Per-directory context overrides — Use AGENTS.override.md to replace context files for a specific directory. See Context Files.
  • Advanced custom model sampling — Configure arbitrary OpenAI-compatible samplingParams and opt-in vLLM thinking_token_budget values. See Sampling Parameters.
  • Baseten provider — Use built-in Baseten authentication and model support. See API Keys.
Breaking Changes
  • Renamed the inherited pi-ai ModelsStreamTransforms interface to ModelsRequestTransforms because its header transformation now applies to all authenticated provider requests.

  • Changed JSON and RPC message_update events to emit only assistantMessageEvent deltas, removing the cumulative message and assistantMessageEvent.partial fields that caused quadratic output growth. Clients that need partial messages must assemble deltas between message_start and message_end; the latter remains authoritative (#​7290).

  • ModelRegistry.getApiKeyAndHeaders() now returns ProviderHeaders with string | null values and preserves null header-deletion markers. Extensions that inspect returned headers must handle null; extensions forwarding them to pi-ai streams should pass them through unchanged. This prevents placeholder OpenAI credentials from being sent through Cloudflare AI Gateway (#​7030).

  • Changed ModelRegistry.refresh() to accept ModelsRefreshOptions and return ModelsRefreshResult instead of discarding cancellation and provider errors.

  • Changed ModelRuntime.setRuntimeApiKey() to accept auth cancellation options rather than catalog refresh options. Call refresh({ providers: [providerId], signal }) separately when remote freshness is required.

  • Required config-form extension OAuth refreshToken(credentials, signal) callbacks to accept and honor a concrete abort signal.

  • Replaced dynamic provider refresh context store access with the read-only context.stored snapshot and generation-checked context.publish() transaction.

    Providers built with createProvider({ fetchModels }): no catalog-publication migration is required. Before and after, return the fetched models and register the resulting provider; createProvider() owns restoration, persistence, and in-memory publication.

    // Before
    const beforeProvider = createProvider({
      // ...
      fetchModels: async ({ signal }) => {
        const response = await fetch(catalogUrl, { signal });
        return parseModels(await response.json());
      },
    });
    pi.registerProvider(beforeProvider);
    
    // After: unchanged
    const afterProvider = createProvider({
      // ...
      fetchModels: async ({ signal }) => {
        const response = await fetch(catalogUrl, { signal });
        return parseModels(await response.json());
      },
    });
    pi.registerProvider(afterProvider);
    

    Handwritten native Provider.refreshModels(): replace direct store access and pre-publication mutation with generation-guarded publications.

    // Before
    refreshModels: async (context) => {
      const stored = await context.store.read();
      if (stored) currentModels = stored.models;
      if (!context.allowNetwork) return;
    
      const refreshed = await fetchModels(context.signal);
      currentModels = refreshed;
      await context.store.write({ models: refreshed, checkedAt: Date.now() });
    },
    
    // After
    refreshModels: async (context) => {
      if (context.stored) {
        const restored = context.stored.models;
        if (!(await context.publish({
          update: () => { currentModels = restored; },
        }))) return;
      }
      if (!context.allowNetwork) return;
    
      const refreshed = await fetchModels(context.signal);
      if (context.signal.aborted) return;
      await context.publish({
        persist: { models: refreshed, checkedAt: Date.now() },
        update: () => { currentModels = refreshed; },
      });
    },
    

    For the config-form pi.registerProvider(name, { refreshModels }), callbacks that only return models remain unchanged; pi publishes the returned list. If such a callback previously used context.store for custom persistence, read context.stored and call context.publish({ persist: entry }). In publish(), omit persist to leave storage unchanged, pass a ModelsStoreEntry to write it, or pass persist: null to delete it.

  • Replaced the inherited pi-agent-core harness session model with the v4 lane-based Session, SessionStorage, and SessionRepo APIs, including durable operation records, global facts, shared sequence numbers, and tree-scoped lane views.

  • Promoted the inherited v2 session and AgentHarness API from pi-agent-core's experimental entrypoint to its default export and removed the experimental subpaths.

  • Removed the inherited legacy JSONL and in-memory repository APIs. Use pi-agent-core's v4 JsonlSessionRepo or InMemorySessionRepo, both implementing the new SessionRepo contract.

  • Added the inherited required pi-agent-core FileSystem.renameFile() operation for atomic JSONL publication; custom harness file-system implementations must provide same-filesystem replacement semantics (#​7707 by @​davidbrai).

  • Replaced experimental remote-session list summaries with durable SessionMetadata; RemoteSession.sessions no longer exposes runtime phase, model, thinking, attachment, or lock state, which remains available from acquired SessionSnapshot values (#​7708).

Added
  • Added built-in Baseten provider support with BASETEN_API_KEY authentication and zai-org/GLM-5.2 as the default model.
  • Added experimental remote-session client APIs: the transport-neutral PiClient, CBOR protocol, Unix-socket transport, and @earendil-works/pi-coding-agent/client RemoteSession controller with transcript reducers. See Pi Client and Remote Protocol (#​7344, #​7348, #​7371, #​7409).
  • Added CredentialSynchronizationError for credential changes that commit successfully but fail to synchronize local model state.
  • Added chainable pi.registerMarkdownTransformer() hooks for display-only transformation of user and assistant Markdown. See pi.registerMarkdownTransformer() (#​7231 by @​xl0).
  • Added an experimental fullscreen TUI mode, selectable through --tui-mode fullscreen or /settings (#​7304).
  • Added runtime switching between regular and fullscreen TUI modes through /settings.
  • Added a sticky editor, status, widget, and footer dock to fullscreen mode while keeping the transcript independently scrollable.
  • Added a draggable transcript scrollbar to fullscreen mode with configurable auto, always, and hidden modes through /settings; always reserves the rightmost column.
  • Added page scrolling and marked-message navigation shortcuts to fullscreen mode.
  • Added an optional scrollbarThumb theme color for fullscreen scrollbar thumbs, falling back to selectedBg.
  • Added configurable themed Unicode rendering for supported Mermaid diagrams in interactive messages, including optional rendering while streaming. See Markdown settings (#​7624 by @​xl0).
  • Added opt-in Ctrl+P/Ctrl+N prompt history navigation, with explicit history bindings taking precedence over application shortcuts while the editor is focused.
  • Added per-directory AGENTS.override.md context files, which replace AGENTS.md or CLAUDE.md in the same directory while preserving context from other directories. See Context Files (#​7681 by @​Marvae).
  • Added AI_AGENT=pi to CLI and RPC child-process environments for generic agent attribution. See Environment Variables (#​7493 by @​renaudhartert-db).
  • Added inherited terminal-friendly Unicode rendering for LaTeX expressions in Markdown. See TUI Markdown.
  • Added stacked transient notifications in fullscreen mode.
  • Added arbitrary OpenAI-compatible model sampling parameters through samplingParams in models.json, model overrides, extension providers, and stream options. See Sampling Parameters (#​7568 by @​mrexodia).
  • Added inherited opt-in vLLM thinking_token_budget support for OpenAI-compatible models, reserving output tokens for the final answer (#​7638 by @​bnsd55).
  • Added inherited support for OpenAI-compatible streams that omit finish_reason, using compat.supportsFinishReason to infer normal and tool-use stops when the stream ends. See OpenAI Compatibility.
  • Added inherited deferred provider request contracts, durable response handles, authenticated fetch/cancel dispatch, and faux-provider support for pending, ready, failed, and cancelled responses (#​7339 by @​davidbrai).
  • Added inherited vendor-neutral telemetry contracts plus agent-owned typed AI-request and harness schemas, composed span starters, and callback helpers. See the agent telemetry schema reference.
  • Added inherited structured Amazon Bedrock failure diagnostics with HTTP status, modeled error code, and AWS request id when available (#​7286 by @​brianstanley).
  • Added inherited AgentOptions.shouldStopAfterTurn for gracefully stopping after a completed turn before queued messages or another model call are processed. See Agent Options (#​7367 by @​acmerfight).
  • Added inherited v4 JsonlSessionRepo support for append-only JSONL harness sessions (#​7611 by @​davidbrai).
  • Added inherited bounded branch-entry and indexed open-operation recovery queries to the v4 session API (#​7448, #​7646).
  • Added the inherited compile-complete AgentHarness v2 scaffold; unfinished operation paths reject with HarnessNotImplemented while durable execution is implemented.
Changed
  • Added inherited optional cancellation to pi-ai ModelsStore reads, writes, and deletions; catalog orchestration binds these waits to the provider refresh signal.
  • Reduced the inherited default fullscreen mouse wheel step from three lines to one for finer scrolling.
Fixed
  • Fixed the footer showing (sub) for generic OAuth/OpenID sign-ins without a known subscription; extension OAuth providers can opt in with isSubscription.
  • Fixed inherited OAuth token refreshes so stalled requests release the credential-store lock (#​7508).
  • Fixed inherited tool argument validation to preserve values that already match an anyOf/oneOf union arm before coercion, avoiding nullable unions converting null to another primitive value (#​7328).
  • Fixed inherited Fireworks GLM 5.2 requests sending the unsupported prompt_cache_retention field when long cache retention is enabled, and enabled session affinity for automatic prompt caching (#​7676).
  • Fixed inherited JsonlSessionRepo enforcing session IDs globally across working directories; IDs are now unique within each working directory.
  • Fixed inherited JSONL session forks and torn-tail repairs to publish atomically, avoiding partially written or corrupted sessions after interrupted writes (#​7707 by @​davidbrai).
  • Fixed path-containing find globs returning no results on Windows (#​6817).
  • Fixed messages queued during manual /compact failing instead of being sent after compaction completes.
  • Fixed Git Bash, MSYS, Cygwin, and WSL drive paths passed to built-in file tools resolving against the current Windows drive instead of their native drive (#​7064, #​7547).
  • Fixed project-level nested provider retry settings replacing unmodified global provider retry settings (#​7572).
  • Fixed inherited GitHub Copilot Grok 4.5 requests to use the supported Responses API (#​7560).
  • Fixed fullscreen shutdown leaking terminal capability-query replies into the parent shell prompt.
  • Fixed bare exact --model IDs shared by multiple providers choosing the first catalog entry instead of the sole authenticated provider or a clear ambiguity error (#​7327).
  • Fixed standalone x64 binaries requiring Haswell-era AVX2/BMI2 instructions by compiling release executables against Bun's baseline runtime (#​7390 by @​davidbrai).
  • Fixed Ctrl+X copy confirmations in fullscreen mode adding a transcript status line instead of showing the transient Copied! marker.
  • Fixed Kitty image previews in fullscreen mode overlapping the sticky editor and footer dock while scrolling.
  • Fixed image-heavy fullscreen sessions lagging when layout changes retransmitted visible Kitty image payloads and rendered the transcript twice per frame.
  • Fixed spaces in /settings searches toggling the highlighted setting while typing multi-word queries such as TUI mode or Quiet startup.
  • Fixed custom editors not inheriting the default editor's autocomplete dropdown item limit (#​7333).
  • Fixed malformed resource arrays in package manifests crashing session startup (#​7187).
  • Fixed the DOOM overlay example downloading its shareware WAD from a dead URL.
  • Fixed setToolsExpanded(false) to be a no-op when tool output is already collapsed, avoiding redundant Tool output: collapsed startup notices from extensions (#​7292).
  • Fixed extension-driven model calls in custom compaction, handoff, and Q&A examples to dispatch through the coding-agent model runtime so custom providers and resolved auth options are preserved (#​7325).
  • Fixed long-running sessions using stale credentials after another process updates auth.json without serializing concurrent credential reads and delaying startup (#​7319).
  • Fixed concurrent models-store.json reads forming a file-lock convoy and delaying startup.
  • Updated the packaged brace-expansion dependency to 5.0.8 to address GHSA-mh99-v99m-4gvg (#​7316).
  • Fixed forced model availability refreshes remaining blocked behind a stalled earlier refresh (#​7301, #​7421 by @​a-yeyang).
  • Fixed /model catalog refresh failures to identify every catalog that failed.
  • Fixed provider login remaining stuck after saving credentials when a model catalog refresh stalls by separating local credential consistency from bounded background freshness (#​7027, #​7113, #​7418).
  • Fixed /scoped-models waiting for remote catalogs before rendering instead of showing cached models and cancelling refresh on close (#​7153).
  • Fixed /model <name> waiting for catalog refresh before checking cached model matches (#​7443).
  • Fixed stale availability snapshots and errors publishing after a newer availability pass.
  • Fixed stale pi.dev, Radius, llama.cpp, and extension catalog refreshes publishing after a newer provider refresh.
  • Fixed cancellation while waiting for file-backed credential or model-catalog locks, preventing cancelled mutations from running or committing later.
  • Fixed concurrent in-memory credential mutations losing unrelated provider updates by serializing their read-modify-write sections.
  • Updated undici to 8.9.0 and the packaged brace-expansion to 5.0.9 to address GHSA-8xcm-r25x-g524, GHSA-4cwx-7wf7-3272, GHSA-m8rv-5g2x-5cg5, GHSA-jr45-8vmc-qm54, GHSA-v3r7-h72x-cjcm, and GHSA-rgw5-rvv9-x895.
  • Fixed GitHub Copilot compaction and branch summaries using the Individual endpoint instead of the credential-resolved Business or Enterprise endpoint (#​6768).
  • Fixed extension model calls dropping credential-resolved endpoints when forwarding request authentication, including custom compaction with GitHub Copilot Business and Enterprise accounts (#​7579).
  • Fixed fullscreen transcript navigation leaving no editor-accessible Home, End, PageUp, or PageDown variants by adding Ctrl-modified editor bindings (#​7574).
  • Fixed extension event-bus listeners surviving session reloads and disposal (#​7656 by @​tudoroancea).
  • Fixed /copy failing to read clipboard text on Wayland when no X11 clipboard is available (#​7387).
  • Fixed slow connections failing during the initial connection attempt by increasing the connect timeout (#​7435 by @​muyiyr).
  • Fixed oversized images returned by extension and built-in tools bypassing automatic image resizing. See Image settings (#​7330 by @​tizmagik).
  • Fixed session discovery missing sessions stored through symlinked directories (#​7552 by @​muyiyr).
  • Fixed manual compaction racing with threshold auto-compaction (#​7370 by @​davidbrai).
  • Fixed responses truncated below their intended output limit ending the run instead of compacting and retrying once (#​7540 by @​davidbrai).
  • Fixed Git package updates leaving dependencies missing when git clean cannot remove an ignored dependency directory (#​7570 by @​mrexodia).
  • Fixed find results from POSIX and Windows filesystem roots losing the first path segment or gaining duplicate trailing separators (#​7569 by @​petrroll).
  • Fixed transient version-check, catalog, managed-tool, and package-management HTTP failures not being retried (#​7632 by @​petrroll).
  • Fixed interactive errors ignoring the configured output padding.
  • Fixed the inherited OpenCode Go provider display name.
  • Fixed inherited provider error normalization treating arrays and class instances as structured response bodies instead of preserving their original errors (#​7205 by @​erikogenvik).
  • Fixed inherited Anthropic streams dropping text or thinking included in the initial content-block event (#​7358 by @​davidbrai).
  • Fixed inherited Google history conversion dropping signed empty text and thinking blocks required for replay (#​7362 by @​jingtao-wisdomgraph).
  • Fixed inherited OpenAI Codex cached WebSocket sessions being shared across different account credentials (#​7364).
  • Fixed inherited transient Google Generative AI and Vertex AI provider errors bypassing automatic retries (#​7471 by @​vish-pr).
  • Fixed inherited Gemini 3 tool call ids being discarded during history conversion, breaking signed multi-turn replay (#​7494 by @​muyiyr).
  • Restored inherited GitHub Copilot models returned through account-specific policy responses (#​7672 by @​muyiyr).
  • Replaced the inherited retired Qwen Token Plan qwen3.8-max-preview model with qwen3.8-max (#​7670 by @​QuintinShaw).
  • Fixed inherited terminal width accounting for Indic conjunct grapheme clusters (#​6987 by @​petrroll).
  • Fixed inherited nested fullscreen stack layouts ignoring child minimum sizes.
  • Fixed inherited batched terminal color-scheme reports being parsed as one malformed response (#​7550).
  • Fixed inherited terminal progress clearing to emit the complete OSC 9;4 sequence (#​7581).
  • Fixed inherited iTerm2 image payloads omitting the size metadata required by the xterm.js image addon (#​7612).
  • Fixed inherited width truncation leaving OSC 8 hyperlinks unterminated (#​7657 by @​xXJSONDeruloXx).
  • Updated inherited GPT-5.6 Terra and Luna pricing across OpenAI and passthrough model catalogs.
  • Fixed inherited Fireworks Kimi K3 models to use the OpenAI-compatible API with native reasoning-effort levels and deferred tools (#​7199, #​7230 by @​XBeg9).
  • Updated the inherited Groq Qwen reasoning override for the replacement qwen/qwen3.6-27b model.
  • Fixed inherited Windows Shift+Enter detection by reading modifier state from the native Win32 helper.
  • Fixed the inherited pi-tui npm package omitting the source and build scripts needed to rebuild its Windows and Darwin native addons.
  • Fixed inherited Windows console truecolor detection when Windows Terminal does not provide WT_SESSION to child shells.
  • Fixed inherited phantom fullscreen text selection from unmatched mouse events when changing terminal pane focus.
  • Fixed inherited keyboard input rendering latency on Windows by letting input preempt the throttled render timer.
  • Fixed inherited agent harness path handling on Windows for file basenames, recursive skill loading, and prompt template names.

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • "before 5am"
  • 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)) | [`^0.83.0` → `^0.84.0`](https://renovatebot.com/diffs/npm/@earendil-works%2fpi-coding-agent/0.83.0/0.84.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@earendil-works%2fpi-coding-agent/0.84.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@earendil-works%2fpi-coding-agent/0.83.0/0.84.1?slim=true) | --- ### Release Notes <details> <summary>earendil-works/pi (@&#8203;earendil-works/pi-coding-agent)</summary> ### [`v0.84.1`](https://github.com/earendil-works/pi/blob/HEAD/packages/coding-agent/CHANGELOG.md#0841---2026-08-07) [Compare Source](https://github.com/earendil-works/pi/compare/v0.84.0...v0.84.1) ##### New Features - **Qwen Token Plan Individual** — Use the built-in provider for models documented for Individual subscriptions. See [API Keys](docs/providers.md#api-keys). - **Authentication readiness checks** — Use `pi auth check` to verify provider or model credentials, optionally emitting the resolved credential. - **Improved fullscreen interaction** — Select words and paragraphs with multiple clicks and configure half-page transcript scrolling. See [TUI Fullscreen Viewport](docs/keybindings.md#tui-fullscreen-viewport). - **Terminating blocked tool calls** — Extension `tool_call` handlers can stop all-terminating batches without another model call. See [Tool Events](docs/extensions.md#tool-events). ##### Added - Added Qwen Token Plan Individual as a built-in provider with its documented subscription model catalog and the shared international `QWEN_TOKEN_PLAN_API_KEY`. See [API Keys](docs/providers.md#api-keys) ([#&#8203;7659](https://github.com/earendil-works/pi/pull/7659) by [@&#8203;arasovic](https://github.com/arasovic)). - Added `pi auth check` provider/model auth preflight with optional credential output ([#&#8203;7152](https://github.com/earendil-works/pi/issues/7152)). - Added `terminate` support to blocked extension `tool_call` events so all-terminating batches can skip the automatic follow-up model call. See [Tool Events](docs/extensions.md#tool-events) ([#&#8203;7715](https://github.com/earendil-works/pi/pull/7715) by [@&#8203;muyiyr](https://github.com/muyiyr)). - Added inherited double-click word and whitespace selection, granularity-aware drag selection, and triple-click paragraph selection in fullscreen mode ([#&#8203;7725](https://github.com/earendil-works/pi/issues/7725), [#&#8203;7733](https://github.com/earendil-works/pi/pull/7733) by [@&#8203;volsa](https://github.com/volsa)). - Added inherited unbound half-page transcript scrolling actions for fullscreen mode. See [TUI Fullscreen Viewport](docs/keybindings.md#tui-fullscreen-viewport) ([#&#8203;7735](https://github.com/earendil-works/pi/issues/7735)). ##### Changed - Softened the bash tool's `PI_*` environment guideline in an attempt to reduce unnecessary inspection commands ([#&#8203;7128](https://github.com/earendil-works/pi/issues/7128)). - Reduced worst-case automatic terminal theme detection delay from 200 ms to 100 ms by probing color-scheme and background support concurrently. ##### Fixed - Fixed Bun standalone binaries crashing on startup when the cwd contains a `bunfig.toml` with `preload` by compiling with `--no-compile-autoload-bunfig` ([#&#8203;7685](https://github.com/earendil-works/pi/pull/7685) by [@&#8203;geril07](https://github.com/geril07)). - Fixed extension TUI method wrappers recursing indefinitely when delegating to the original method ([#&#8203;7731](https://github.com/earendil-works/pi/issues/7731)). - Fixed right-click not pasting clipboard text in fullscreen mode on Windows. - Fixed inherited `Agent.reset()` clearing transcript and runtime state during active runs; it now rejects until the agent is idle ([#&#8203;7717](https://github.com/earendil-works/pi/pull/7717) by [@&#8203;wesleyzhangwq](https://github.com/wesleyzhangwq)). - Fixed inherited LaTeX relation, multiplication, and named-operator spacing, and matrix composition with stacked fractions, operator limits, and adjacent matrices. - Reduced inherited fullscreen mouse event volume under tmux, Zellij, and GNU Screen by using button-motion tracking instead of all-motion tracking. ### [`v0.84.0`](https://github.com/earendil-works/pi/blob/HEAD/packages/coding-agent/CHANGELOG.md#0840---2026-08-06) [Compare Source](https://github.com/earendil-works/pi/compare/v0.83.0...v0.84.0) ##### New Features - **Fullscreen TUI mode** — Switch between regular and fullscreen modes at runtime, with a sticky editor and footer, independently scrollable transcript, and draggable scrollbars. See [UI & Display](docs/settings.md#ui-display). - **Mermaid and LaTeX rendering** — Render Mermaid diagrams and terminal-friendly Unicode math in interactive transcripts. See [Markdown settings](docs/settings.md#markdown) and [TUI Markdown](../tui/README.md#markdown). - **Per-directory context overrides** — Use `AGENTS.override.md` to replace context files for a specific directory. See [Context Files](docs/usage.md#context-files). - **Advanced custom model sampling** — Configure arbitrary OpenAI-compatible `samplingParams` and opt-in vLLM `thinking_token_budget` values. See [Sampling Parameters](docs/models.md#sampling-parameters). - **Baseten provider** — Use built-in Baseten authentication and model support. See [API Keys](docs/providers.md#api-keys). ##### Breaking Changes - Renamed the inherited pi-ai `ModelsStreamTransforms` interface to `ModelsRequestTransforms` because its header transformation now applies to all authenticated provider requests. - Changed JSON and RPC `message_update` events to emit only `assistantMessageEvent` deltas, removing the cumulative `message` and `assistantMessageEvent.partial` fields that caused quadratic output growth. Clients that need partial messages must assemble deltas between `message_start` and `message_end`; the latter remains authoritative ([#&#8203;7290](https://github.com/earendil-works/pi/issues/7290)). - `ModelRegistry.getApiKeyAndHeaders()` now returns `ProviderHeaders` with `string | null` values and preserves `null` header-deletion markers. Extensions that inspect returned headers must handle `null`; extensions forwarding them to pi-ai streams should pass them through unchanged. This prevents placeholder OpenAI credentials from being sent through Cloudflare AI Gateway ([#&#8203;7030](https://github.com/earendil-works/pi/issues/7030)). - Changed `ModelRegistry.refresh()` to accept `ModelsRefreshOptions` and return `ModelsRefreshResult` instead of discarding cancellation and provider errors. - Changed `ModelRuntime.setRuntimeApiKey()` to accept auth cancellation options rather than catalog refresh options. Call `refresh({ providers: [providerId], signal })` separately when remote freshness is required. - Required config-form extension OAuth `refreshToken(credentials, signal)` callbacks to accept and honor a concrete abort signal. - Replaced dynamic provider refresh context store access with the read-only `context.stored` snapshot and generation-checked `context.publish()` transaction. **Providers built with `createProvider({ fetchModels })`:** no catalog-publication migration is required. Before and after, return the fetched models and register the resulting provider; `createProvider()` owns restoration, persistence, and in-memory publication. ```ts // Before const beforeProvider = createProvider({ // ... fetchModels: async ({ signal }) => { const response = await fetch(catalogUrl, { signal }); return parseModels(await response.json()); }, }); pi.registerProvider(beforeProvider); // After: unchanged const afterProvider = createProvider({ // ... fetchModels: async ({ signal }) => { const response = await fetch(catalogUrl, { signal }); return parseModels(await response.json()); }, }); pi.registerProvider(afterProvider); ``` **Handwritten native `Provider.refreshModels()`:** replace direct store access and pre-publication mutation with generation-guarded publications. ```ts // Before refreshModels: async (context) => { const stored = await context.store.read(); if (stored) currentModels = stored.models; if (!context.allowNetwork) return; const refreshed = await fetchModels(context.signal); currentModels = refreshed; await context.store.write({ models: refreshed, checkedAt: Date.now() }); }, // After refreshModels: async (context) => { if (context.stored) { const restored = context.stored.models; if (!(await context.publish({ update: () => { currentModels = restored; }, }))) return; } if (!context.allowNetwork) return; const refreshed = await fetchModels(context.signal); if (context.signal.aborted) return; await context.publish({ persist: { models: refreshed, checkedAt: Date.now() }, update: () => { currentModels = refreshed; }, }); }, ``` For the config-form `pi.registerProvider(name, { refreshModels })`, callbacks that only return models remain unchanged; pi publishes the returned list. If such a callback previously used `context.store` for custom persistence, read `context.stored` and call `context.publish({ persist: entry })`. In `publish()`, omit `persist` to leave storage unchanged, pass a `ModelsStoreEntry` to write it, or pass `persist: null` to delete it. - Replaced the inherited pi-agent-core harness session model with the v4 lane-based `Session`, `SessionStorage`, and `SessionRepo` APIs, including durable operation records, global facts, shared sequence numbers, and tree-scoped lane views. - Promoted the inherited v2 session and `AgentHarness` API from pi-agent-core's experimental entrypoint to its default export and removed the experimental subpaths. - Removed the inherited legacy JSONL and in-memory repository APIs. Use pi-agent-core's v4 `JsonlSessionRepo` or `InMemorySessionRepo`, both implementing the new `SessionRepo` contract. - Added the inherited required pi-agent-core `FileSystem.renameFile()` operation for atomic JSONL publication; custom harness file-system implementations must provide same-filesystem replacement semantics ([#&#8203;7707](https://github.com/earendil-works/pi/pull/7707) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Replaced experimental remote-session list summaries with durable `SessionMetadata`; `RemoteSession.sessions` no longer exposes runtime phase, model, thinking, attachment, or lock state, which remains available from acquired `SessionSnapshot` values ([#&#8203;7708](https://github.com/earendil-works/pi/pull/7708)). ##### Added - Added built-in Baseten provider support with `BASETEN_API_KEY` authentication and `zai-org/GLM-5.2` as the default model. - Added experimental remote-session client APIs: the transport-neutral `PiClient`, CBOR protocol, Unix-socket transport, and `@earendil-works/pi-coding-agent/client` `RemoteSession` controller with transcript reducers. See [Pi Client](../client/README.md) and [Remote Protocol](../protocol/README.md) ([#&#8203;7344](https://github.com/earendil-works/pi/pull/7344), [#&#8203;7348](https://github.com/earendil-works/pi/pull/7348), [#&#8203;7371](https://github.com/earendil-works/pi/pull/7371), [#&#8203;7409](https://github.com/earendil-works/pi/pull/7409)). - Added `CredentialSynchronizationError` for credential changes that commit successfully but fail to synchronize local model state. - Added chainable `pi.registerMarkdownTransformer()` hooks for display-only transformation of user and assistant Markdown. See [`pi.registerMarkdownTransformer()`](docs/extensions.md#piregistermarkdowntransformertransformer) ([#&#8203;7231](https://github.com/earendil-works/pi/pull/7231) by [@&#8203;xl0](https://github.com/xl0)). - Added an experimental fullscreen TUI mode, selectable through `--tui-mode fullscreen` or `/settings` ([#&#8203;7304](https://github.com/earendil-works/pi/issues/7304)). - Added runtime switching between regular and fullscreen TUI modes through `/settings`. - Added a sticky editor, status, widget, and footer dock to fullscreen mode while keeping the transcript independently scrollable. - Added a draggable transcript scrollbar to fullscreen mode with configurable `auto`, `always`, and `hidden` modes through `/settings`; `always` reserves the rightmost column. - Added page scrolling and marked-message navigation shortcuts to fullscreen mode. - Added an optional `scrollbarThumb` theme color for fullscreen scrollbar thumbs, falling back to `selectedBg`. - Added configurable themed Unicode rendering for supported Mermaid diagrams in interactive messages, including optional rendering while streaming. See [Markdown settings](docs/settings.md#markdown) ([#&#8203;7624](https://github.com/earendil-works/pi/pull/7624) by [@&#8203;xl0](https://github.com/xl0)). - Added opt-in `Ctrl+P`/`Ctrl+N` prompt history navigation, with explicit history bindings taking precedence over application shortcuts while the editor is focused. - Added per-directory `AGENTS.override.md` context files, which replace `AGENTS.md` or `CLAUDE.md` in the same directory while preserving context from other directories. See [Context Files](docs/usage.md#context-files) ([#&#8203;7681](https://github.com/earendil-works/pi/pull/7681) by [@&#8203;Marvae](https://github.com/Marvae)). - Added `AI_AGENT=pi` to CLI and RPC child-process environments for generic agent attribution. See [Environment Variables](README.md#environment-variables) ([#&#8203;7493](https://github.com/earendil-works/pi/pull/7493) by [@&#8203;renaudhartert-db](https://github.com/renaudhartert-db)). - Added inherited terminal-friendly Unicode rendering for LaTeX expressions in Markdown. See [TUI Markdown](../tui/README.md#markdown). - Added stacked transient notifications in fullscreen mode. - Added arbitrary OpenAI-compatible model sampling parameters through `samplingParams` in `models.json`, model overrides, extension providers, and stream options. See [Sampling Parameters](docs/models.md#sampling-parameters) ([#&#8203;7568](https://github.com/earendil-works/pi/pull/7568) by [@&#8203;mrexodia](https://github.com/mrexodia)). - Added inherited opt-in vLLM `thinking_token_budget` support for OpenAI-compatible models, reserving output tokens for the final answer ([#&#8203;7638](https://github.com/earendil-works/pi/pull/7638) by [@&#8203;bnsd55](https://github.com/bnsd55)). - Added inherited support for OpenAI-compatible streams that omit `finish_reason`, using `compat.supportsFinishReason` to infer normal and tool-use stops when the stream ends. See [OpenAI Compatibility](docs/models.md#openai-compatibility). - Added inherited deferred provider request contracts, durable response handles, authenticated fetch/cancel dispatch, and faux-provider support for pending, ready, failed, and cancelled responses ([#&#8203;7339](https://github.com/earendil-works/pi/pull/7339) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Added inherited vendor-neutral telemetry contracts plus agent-owned typed AI-request and harness schemas, composed span starters, and callback helpers. See the [agent telemetry schema reference](../agent/docs/telemetry-schema.md). - Added inherited structured Amazon Bedrock failure diagnostics with HTTP status, modeled error code, and AWS request id when available ([#&#8203;7286](https://github.com/earendil-works/pi/pull/7286) by [@&#8203;brianstanley](https://github.com/brianstanley)). - Added inherited `AgentOptions.shouldStopAfterTurn` for gracefully stopping after a completed turn before queued messages or another model call are processed. See [Agent Options](../agent/README.md#agent-options) ([#&#8203;7367](https://github.com/earendil-works/pi/pull/7367) by [@&#8203;acmerfight](https://github.com/acmerfight)). - Added inherited v4 `JsonlSessionRepo` support for append-only JSONL harness sessions ([#&#8203;7611](https://github.com/earendil-works/pi/pull/7611) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Added inherited bounded branch-entry and indexed open-operation recovery queries to the v4 session API ([#&#8203;7448](https://github.com/earendil-works/pi/pull/7448), [#&#8203;7646](https://github.com/earendil-works/pi/pull/7646)). - Added the inherited compile-complete `AgentHarness` v2 scaffold; unfinished operation paths reject with `HarnessNotImplemented` while durable execution is implemented. ##### Changed - Added inherited optional cancellation to pi-ai `ModelsStore` reads, writes, and deletions; catalog orchestration binds these waits to the provider refresh signal. - Reduced the inherited default fullscreen mouse wheel step from three lines to one for finer scrolling. ##### Fixed - Fixed the footer showing `(sub)` for generic OAuth/OpenID sign-ins without a known subscription; extension OAuth providers can opt in with `isSubscription`. - Fixed inherited OAuth token refreshes so stalled requests release the credential-store lock ([#&#8203;7508](https://github.com/earendil-works/pi/issues/7508)). - Fixed inherited tool argument validation to preserve values that already match an `anyOf`/`oneOf` union arm before coercion, avoiding nullable unions converting `null` to another primitive value ([#&#8203;7328](https://github.com/earendil-works/pi/issues/7328)). - Fixed inherited Fireworks GLM 5.2 requests sending the unsupported `prompt_cache_retention` field when long cache retention is enabled, and enabled session affinity for automatic prompt caching ([#&#8203;7676](https://github.com/earendil-works/pi/issues/7676)). - Fixed inherited `JsonlSessionRepo` enforcing session IDs globally across working directories; IDs are now unique within each working directory. - Fixed inherited JSONL session forks and torn-tail repairs to publish atomically, avoiding partially written or corrupted sessions after interrupted writes ([#&#8203;7707](https://github.com/earendil-works/pi/pull/7707) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Fixed path-containing `find` globs returning no results on Windows ([#&#8203;6817](https://github.com/earendil-works/pi/issues/6817)). - Fixed messages queued during manual `/compact` failing instead of being sent after compaction completes. - Fixed Git Bash, MSYS, Cygwin, and WSL drive paths passed to built-in file tools resolving against the current Windows drive instead of their native drive ([#&#8203;7064](https://github.com/earendil-works/pi/issues/7064), [#&#8203;7547](https://github.com/earendil-works/pi/issues/7547)). - Fixed project-level nested provider retry settings replacing unmodified global provider retry settings ([#&#8203;7572](https://github.com/earendil-works/pi/issues/7572)). - Fixed inherited GitHub Copilot Grok 4.5 requests to use the supported Responses API ([#&#8203;7560](https://github.com/earendil-works/pi/issues/7560)). - Fixed fullscreen shutdown leaking terminal capability-query replies into the parent shell prompt. - Fixed bare exact `--model` IDs shared by multiple providers choosing the first catalog entry instead of the sole authenticated provider or a clear ambiguity error ([#&#8203;7327](https://github.com/earendil-works/pi/issues/7327)). - Fixed standalone x64 binaries requiring Haswell-era AVX2/BMI2 instructions by compiling release executables against Bun's baseline runtime ([#&#8203;7390](https://github.com/earendil-works/pi/pull/7390) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Fixed `Ctrl+X` copy confirmations in fullscreen mode adding a transcript status line instead of showing the transient `Copied!` marker. - Fixed Kitty image previews in fullscreen mode overlapping the sticky editor and footer dock while scrolling. - Fixed image-heavy fullscreen sessions lagging when layout changes retransmitted visible Kitty image payloads and rendered the transcript twice per frame. - Fixed spaces in `/settings` searches toggling the highlighted setting while typing multi-word queries such as **TUI mode** or **Quiet startup**. - Fixed custom editors not inheriting the default editor's autocomplete dropdown item limit ([#&#8203;7333](https://github.com/earendil-works/pi/issues/7333)). - Fixed malformed resource arrays in package manifests crashing session startup ([#&#8203;7187](https://github.com/earendil-works/pi/issues/7187)). - Fixed the DOOM overlay example downloading its shareware WAD from a dead URL. - Fixed `setToolsExpanded(false)` to be a no-op when tool output is already collapsed, avoiding redundant `Tool output: collapsed` startup notices from extensions ([#&#8203;7292](https://github.com/earendil-works/pi/issues/7292)). - Fixed extension-driven model calls in custom compaction, handoff, and Q\&A examples to dispatch through the coding-agent model runtime so custom providers and resolved auth options are preserved ([#&#8203;7325](https://github.com/earendil-works/pi/pull/7325)). - Fixed long-running sessions using stale credentials after another process updates `auth.json` without serializing concurrent credential reads and delaying startup ([#&#8203;7319](https://github.com/earendil-works/pi/issues/7319)). - Fixed concurrent `models-store.json` reads forming a file-lock convoy and delaying startup. - Updated the packaged `brace-expansion` dependency to 5.0.8 to address GHSA-mh99-v99m-4gvg ([#&#8203;7316](https://github.com/earendil-works/pi/issues/7316)). - Fixed forced model availability refreshes remaining blocked behind a stalled earlier refresh ([#&#8203;7301](https://github.com/earendil-works/pi/issues/7301), [#&#8203;7421](https://github.com/earendil-works/pi/pull/7421) by [@&#8203;a-yeyang](https://github.com/a-yeyang)). - Fixed `/model` catalog refresh failures to identify every catalog that failed. - Fixed provider login remaining stuck after saving credentials when a model catalog refresh stalls by separating local credential consistency from bounded background freshness ([#&#8203;7027](https://github.com/earendil-works/pi/issues/7027), [#&#8203;7113](https://github.com/earendil-works/pi/issues/7113), [#&#8203;7418](https://github.com/earendil-works/pi/issues/7418)). - Fixed `/scoped-models` waiting for remote catalogs before rendering instead of showing cached models and cancelling refresh on close ([#&#8203;7153](https://github.com/earendil-works/pi/issues/7153)). - Fixed `/model <name>` waiting for catalog refresh before checking cached model matches ([#&#8203;7443](https://github.com/earendil-works/pi/issues/7443)). - Fixed stale availability snapshots and errors publishing after a newer availability pass. - Fixed stale pi.dev, Radius, llama.cpp, and extension catalog refreshes publishing after a newer provider refresh. - Fixed cancellation while waiting for file-backed credential or model-catalog locks, preventing cancelled mutations from running or committing later. - Fixed concurrent in-memory credential mutations losing unrelated provider updates by serializing their read-modify-write sections. - Updated `undici` to 8.9.0 and the packaged `brace-expansion` to 5.0.9 to address GHSA-8xcm-r25x-g524, GHSA-4cwx-7wf7-3272, GHSA-m8rv-5g2x-5cg5, GHSA-jr45-8vmc-qm54, GHSA-v3r7-h72x-cjcm, and GHSA-rgw5-rvv9-x895. - Fixed GitHub Copilot compaction and branch summaries using the Individual endpoint instead of the credential-resolved Business or Enterprise endpoint ([#&#8203;6768](https://github.com/earendil-works/pi/issues/6768)). - Fixed extension model calls dropping credential-resolved endpoints when forwarding request authentication, including custom compaction with GitHub Copilot Business and Enterprise accounts ([#&#8203;7579](https://github.com/earendil-works/pi/issues/7579)). - Fixed fullscreen transcript navigation leaving no editor-accessible `Home`, `End`, `PageUp`, or `PageDown` variants by adding Ctrl-modified editor bindings ([#&#8203;7574](https://github.com/earendil-works/pi/issues/7574)). - Fixed extension event-bus listeners surviving session reloads and disposal ([#&#8203;7656](https://github.com/earendil-works/pi/pull/7656) by [@&#8203;tudoroancea](https://github.com/tudoroancea)). - Fixed `/copy` failing to read clipboard text on Wayland when no X11 clipboard is available ([#&#8203;7387](https://github.com/earendil-works/pi/pull/7387)). - Fixed slow connections failing during the initial connection attempt by increasing the connect timeout ([#&#8203;7435](https://github.com/earendil-works/pi/pull/7435) by [@&#8203;muyiyr](https://github.com/muyiyr)). - Fixed oversized images returned by extension and built-in tools bypassing automatic image resizing. See [Image settings](docs/settings.md#terminal--images) ([#&#8203;7330](https://github.com/earendil-works/pi/pull/7330) by [@&#8203;tizmagik](https://github.com/tizmagik)). - Fixed session discovery missing sessions stored through symlinked directories ([#&#8203;7552](https://github.com/earendil-works/pi/pull/7552) by [@&#8203;muyiyr](https://github.com/muyiyr)). - Fixed manual compaction racing with threshold auto-compaction ([#&#8203;7370](https://github.com/earendil-works/pi/pull/7370) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Fixed responses truncated below their intended output limit ending the run instead of compacting and retrying once ([#&#8203;7540](https://github.com/earendil-works/pi/pull/7540) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Fixed Git package updates leaving dependencies missing when `git clean` cannot remove an ignored dependency directory ([#&#8203;7570](https://github.com/earendil-works/pi/pull/7570) by [@&#8203;mrexodia](https://github.com/mrexodia)). - Fixed `find` results from POSIX and Windows filesystem roots losing the first path segment or gaining duplicate trailing separators ([#&#8203;7569](https://github.com/earendil-works/pi/pull/7569) by [@&#8203;petrroll](https://github.com/petrroll)). - Fixed transient version-check, catalog, managed-tool, and package-management HTTP failures not being retried ([#&#8203;7632](https://github.com/earendil-works/pi/pull/7632) by [@&#8203;petrroll](https://github.com/petrroll)). - Fixed interactive errors ignoring the configured output padding. - Fixed the inherited OpenCode Go provider display name. - Fixed inherited provider error normalization treating arrays and class instances as structured response bodies instead of preserving their original errors ([#&#8203;7205](https://github.com/earendil-works/pi/pull/7205) by [@&#8203;erikogenvik](https://github.com/erikogenvik)). - Fixed inherited Anthropic streams dropping text or thinking included in the initial content-block event ([#&#8203;7358](https://github.com/earendil-works/pi/pull/7358) by [@&#8203;davidbrai](https://github.com/davidbrai)). - Fixed inherited Google history conversion dropping signed empty text and thinking blocks required for replay ([#&#8203;7362](https://github.com/earendil-works/pi/pull/7362) by [@&#8203;jingtao-wisdomgraph](https://github.com/jingtao-wisdomgraph)). - Fixed inherited OpenAI Codex cached WebSocket sessions being shared across different account credentials ([#&#8203;7364](https://github.com/earendil-works/pi/pull/7364)). - Fixed inherited transient Google Generative AI and Vertex AI provider errors bypassing automatic retries ([#&#8203;7471](https://github.com/earendil-works/pi/pull/7471) by [@&#8203;vish-pr](https://github.com/vish-pr)). - Fixed inherited Gemini 3 tool call ids being discarded during history conversion, breaking signed multi-turn replay ([#&#8203;7494](https://github.com/earendil-works/pi/pull/7494) by [@&#8203;muyiyr](https://github.com/muyiyr)). - Restored inherited GitHub Copilot models returned through account-specific policy responses ([#&#8203;7672](https://github.com/earendil-works/pi/pull/7672) by [@&#8203;muyiyr](https://github.com/muyiyr)). - Replaced the inherited retired Qwen Token Plan `qwen3.8-max-preview` model with `qwen3.8-max` ([#&#8203;7670](https://github.com/earendil-works/pi/pull/7670) by [@&#8203;QuintinShaw](https://github.com/QuintinShaw)). - Fixed inherited terminal width accounting for Indic conjunct grapheme clusters ([#&#8203;6987](https://github.com/earendil-works/pi/pull/6987) by [@&#8203;petrroll](https://github.com/petrroll)). - Fixed inherited nested fullscreen stack layouts ignoring child minimum sizes. - Fixed inherited batched terminal color-scheme reports being parsed as one malformed response ([#&#8203;7550](https://github.com/earendil-works/pi/pull/7550)). - Fixed inherited terminal progress clearing to emit the complete OSC 9;4 sequence ([#&#8203;7581](https://github.com/earendil-works/pi/pull/7581)). - Fixed inherited iTerm2 image payloads omitting the size metadata required by the xterm.js image addon ([#&#8203;7612](https://github.com/earendil-works/pi/pull/7612)). - Fixed inherited width truncation leaving OSC 8 hyperlinks unterminated ([#&#8203;7657](https://github.com/earendil-works/pi/pull/7657) by [@&#8203;xXJSONDeruloXx](https://github.com/xXJSONDeruloXx)). - Updated inherited GPT-5.6 Terra and Luna pricing across OpenAI and passthrough model catalogs. - Fixed inherited Fireworks Kimi K3 models to use the OpenAI-compatible API with native reasoning-effort levels and deferred tools ([#&#8203;7199](https://github.com/earendil-works/pi/issues/7199), [#&#8203;7230](https://github.com/earendil-works/pi/pull/7230) by [@&#8203;XBeg9](https://github.com/XBeg9)). - Updated the inherited Groq Qwen reasoning override for the replacement `qwen/qwen3.6-27b` model. - Fixed inherited Windows Shift+Enter detection by reading modifier state from the native Win32 helper. - Fixed the inherited pi-tui npm package omitting the source and build scripts needed to rebuild its Windows and Darwin native addons. - Fixed inherited Windows console truecolor detection when Windows Terminal does not provide `WT_SESSION` to child shells. - Fixed inherited phantom fullscreen text selection from unmatched mouse events when changing terminal pane focus. - Fixed inherited keyboard input rendering latency on Windows by letting input preempt the throttled render timer. - Fixed inherited agent harness path handling on Windows for file basenames, recursive skill loading, and prompt template names. </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - "before 5am" - 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMC4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTAuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
alex merged commit 045045e3ff into master 2026-08-08 14:01:07 +00:00
alex deleted branch renovate/all-non-major-dependencies 2026-08-08 14:01:07 +00:00
Sign in to join this conversation.
No reviewers
No labels
dependencies
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
alex/pi-shared!25
No description provided.