Commit Graph
100 Commits
Author SHA1 Message Date
Mario Zechner 5a0d35783e Merge pull request #1275 from haoqixu/feat-model-selector-show-name
feat(coding-agent): display name of selected model in modelSelectors
2026-02-05 13:11:35 +01:00
Mario Zechner 0feb6e90ce Merge pull request #1269 from aliou/fix/export-ansi-indentation
fix(coding-agent): preserve indentation in ANSI-rendered HTML export
2026-02-05 03:13:40 +01:00
Mario Zechner 2f18057ac2 Merge branch 'main' into fix/export-ansi-indentation 2026-02-05 03:13:32 +01:00
Mario Zechner 592b1c7ffc Merge pull request #1271 from aliou/fix/streaming-images-dropped
fix(coding-agent): forward images through steer/followUp during streaming
2026-02-05 03:12:21 +01:00
Mario Zechner 634899aba0 docs(coding-agent): add minimal-mode.ts to extensions README 2026-02-04 23:50:39 +01:00
Mario Zechner 6c25399dfe feat(coding-agent): add minimal-mode.ts example extension
Demonstrates overriding built-in tool rendering to show only tool calls
in collapsed mode and full output in expanded mode. Shows how users can
implement a 'minimal mode' using the existing extension API.
2026-02-04 23:49:06 +01:00
Mario Zechner 9cf5758b68 feat(coding-agent): support shell commands and env vars in auth.json API keys
API keys in auth.json now support the same resolution as models.json:
- Shell command: "\!command" executes and uses stdout (cached)
- Environment variable: uses the value of the named variable
- Literal value: used directly

Extracted shared resolveConfigValue() to new resolve-config-value.ts module.
2026-02-04 23:02:00 +01:00
Mario Zechner 7c39a12a28 Merge pull request #1258 from Gurpartap/fix/custom-message-expand-state
Respect expand state for custom messages
2026-02-04 17:10:43 +01:00
Mario Zechner 0404a93e33 Add [Unreleased] section for next cycle 2026-02-04 14:25:32 +01:00
Mario Zechner 47a9bffcf3 Release v0.51.6 2026-02-04 14:24:49 +01:00
Mario Zechner 2135b61b93 chore: audit changelog entries 2026-02-04 14:23:55 +01:00
Mario Zechner d0679dcfc0 fix(coding-agent): ignore unknown skill frontmatter fields 2026-02-04 14:20:24 +01:00
Mario Zechner fcfbc82ec2 fix(coding-agent): reload global settings fixes #1241 2026-02-04 14:14:52 +01:00
Mario Zechner d8c96948cf chore(coding-agent): add changelog for bash detection 2026-02-04 13:53:32 +01:00
Mario Zechner 2d16d73ba1 docs(coding-agent): add PR attribution and keybindings docs for resume action 2026-02-04 13:44:15 +01:00
Mario Zechner b5be54b8ef fix(coding-agent): persist user message after fork
When hasAssistant guard returns early, set flushed=false so
the next persist (after assistant arrives) writes all entries
including the user message.
2026-02-04 13:35:45 +01:00
Mario Zechner 4990981e47 fix(coding-agent): rpc test needs prompt before checking session file
Session files are only written after first assistant message.
The test was checking for a session file without having sent any prompt.
2026-02-04 13:27:54 +01:00
Mario Zechner 13ac63c3cd fix(coding-agent): fork writes to new session file, not parent (fixes #1242)
- Store previousSessionFile before creating branched session
- Update sessionFile after writing new branch file
- Pass parentSession when forking from first message
- Add --local to git config in tests to prevent repo escape
2026-02-04 13:22:43 +01:00
Mario Zechner b1c2c95f23 fix(coding-agent): normalize local package removal paths (fixes #1243) 2026-02-04 12:56:00 +01:00
Mario Zechner 150aeebf7d fix(ai): respect codex baseUrl (closes #1244) 2026-02-04 12:30:31 +01:00
Mario Zechner b23e6ea21e Merge pull request #1246 from haoqixu/fix-settings-crash-with-small-width
fix(coding-agent): avoid crash of /settings with small width
2026-02-04 12:12:12 +01:00
Mario Zechner 6cc1676eae Add [Unreleased] section for next cycle 2026-02-04 02:33:53 +01:00
Mario Zechner 5921206f9a Release v0.51.5 2026-02-04 02:33:07 +01:00
Mario Zechner f77a1f6726 chore(changelog): note Bedrock model generation cleanup 2026-02-04 02:32:07 +01:00
Mario Zechner 1fe73ad423 Revert "fix(coding-agent): handle npm on Windows with shell fallback fixes #1220"
This reverts commit 895b85636a.
2026-02-04 02:22:37 +01:00
Mario Zechner 3297a47c40 chore(deps): update glob and overrides 2026-02-04 02:21:06 +01:00
Mario Zechner 895b85636a fix(coding-agent): handle npm on Windows with shell fallback fixes #1220 2026-02-04 02:21:06 +01:00
Mario Zechner 1d8450ed6c Merge pull request #1239 from unexge/push-qlzvuwsokuvn
chore(ai): clean up Bedrock-specific workarounds from `generate-models.ts`
2026-02-04 01:40:42 +01:00
Mario Zechner 2a9de37b19 Add [Unreleased] section for next cycle 2026-02-03 23:05:56 +01:00
Mario Zechner 9833717b41 Release v0.51.4 2026-02-03 23:05:07 +01:00
Mario Zechner 86388092b5 docs: note pi.dev domain 2026-02-03 23:04:15 +01:00
Mario Zechner 9eb8985fe4 Add pi.dev donation attribution 2026-02-03 23:00:40 +01:00
Mario Zechner 116c57a361 chore(coding-agent): update share viewer url 2026-02-03 22:49:01 +01:00
Mario Zechner 8e370498a2 Merge pull request #1228 from haoqixu/fix-input-emojis-scrolling
fix(tui): avoid split of emojis when scrolling input
2026-02-03 22:19:27 +01:00
Mario Zechner c983bfdb1e Add [Unreleased] section for next cycle 2026-02-03 17:30:37 +01:00
Mario Zechner 39d719900d Release v0.51.3 2026-02-03 17:29:53 +01:00
Mario Zechner ff5e9ec96d chore: update changelogs 2026-02-03 17:29:05 +01:00
Mario Zechner 7bbc70efa5 Merge pull request #1222 from ferologics/feat/notify-kitty-windows
feat(notify): add Kitty (OSC 99) and Windows Terminal support
2026-02-03 17:20:04 +01:00
Mario Zechner e1e4e593c0 fix(coding-agent): persist thinking level defaults 2026-02-03 17:17:38 +01:00
Mario Zechner 8a7a761deb fix(coding-agent): resolve npm.cmd on Windows
closes #1220
2026-02-03 17:04:22 +01:00
Mario Zechner 2e1c5ebdee fix(ai): relax xhigh model check
fixes #1209
2026-02-03 13:03:46 +01:00
Mario Zechner 2f5235b966 fix(coding-agent): support local install paths relative to settings files closes #1216 2026-02-03 12:58:34 +01:00
Mario Zechner e54dff7efb fix(coding-agent): rename SlashCommandSource "template" to "prompt" for consistency
BREAKING CHANGE: RPC get_commands response and SlashCommandSource type
now use "prompt" instead of "template" to match the rest of the codebase.
2026-02-03 12:27:45 +01:00
Mario Zechner 8292d7ce5d feat(coding-agent): add commands.ts example and export SlashCommandInfo types
- Add example extension demonstrating pi.getCommands() API
- Export SlashCommandInfo, SlashCommandLocation, SlashCommandSource from main index.ts

Follow-up to #1210
2026-02-03 12:20:37 +01:00
Mario Zechner 5a6151ba1e feat(coding-agent): add ExtensionAPI.getCommands() (#1210) 2026-02-03 12:18:55 +01:00
Mario Zechner ff9a3f0660 Add [Unreleased] section for next cycle 2026-02-03 02:19:00 +01:00
Mario Zechner 4cbc865215 Release v0.51.2 2026-02-03 02:18:12 +01:00
Mario Zechner c6ab9a64ce chore(changelog): audit unreleased entries 2026-02-03 02:17:01 +01:00
Mario Zechner 494a7750ef fix(coding-agent): remove install method cache 2026-02-03 01:45:35 +01:00
Mario Zechner 2b197c7fb1 docs: require closes/fixes in commit messages 2026-02-03 01:36:46 +01:00
Mario Zechner 20d704fee1 fix(tui): restore legacy newline handling 2026-02-03 01:36:46 +01:00
Mario Zechner ba5eb05f44 fix(tui): include hidden paths in @ autocomplete 2026-02-03 01:36:46 +01:00
Mario Zechner 7a9c668357 Merge pull request #1196 from haoqixu/fix-commands-conflict
fix(coding-agent): filter out commands conflict with builtins
2026-02-03 01:22:29 +01:00
Mario Zechner 90b18218bd docs(coding-agent): document tool expansion UI methods 2026-02-03 01:16:29 +01:00
Mario Zechner c64e228b76 fix(tui): honor keybindings for submit fallback 2026-02-03 01:10:06 +01:00
Mario Zechner d2139d8ed2 chore(agent): drop unused pi-tui dependency 2026-02-03 00:26:52 +01:00
Mario Zechner 8c38de0495 fix(tui): drain stdin on exit to avoid Kitty release leak
Drain stdin for up to 1s after disabling Kitty protocol so in-flight key
release events are consumed before the shell regains control.

Fixes #1204
2026-02-03 00:07:35 +01:00
Mario Zechner 9a4d043b28 fix(tui): drain Kitty key release events before exit to prevent SSH leak
Adds Terminal.prepareForExit() to disable Kitty protocol and wait for
in-flight release events before fully stopping. This prevents escape
sequences from leaking to the parent shell over slow SSH connections.

Fixes #1204
2026-02-03 00:01:39 +01:00
Mario Zechner c9a20a3aa4 fix(coding-agent): normalize @ path prefixes closes #1206 2026-02-02 23:56:20 +01:00
Mario Zechner 1fbafd6cc7 docs: document video and image fields for package gallery 2026-02-02 20:16:18 +01:00
Mario Zechner 0aa0b5fdba Add [Unreleased] section for next cycle 2026-02-02 19:36:52 +01:00
Mario Zechner e02bdf8ef1 Release v0.51.1 2026-02-02 19:36:08 +01:00
Mario Zechner 59acb17354 docs: audit and update changelog entries for v0.51.0..HEAD 2026-02-02 19:35:17 +01:00
Mario Zechner f431f62609 fix(tui): pause stdin before restoring raw mode to prevent SSH session close
Fixes #1185
2026-02-02 19:24:55 +01:00
Mario Zechner 111a31e4db fix(ai): apply cache_control to string user messages 2026-02-02 19:19:12 +01:00
Mario Zechner 0d934091f4 feat(tui): add PI_DEBUG_REDRAW=1 env var for debugging full redraws
Logs redraw triggers to ~/.pi/agent/pi-debug.log when enabled.
2026-02-02 08:39:57 +01:00
Mario Zechner 0925fafe3b fix(tui): reduce unnecessary full redraws for better performance
- Remove height change detection (only width changes trigger full redraw)
- Change clearOnShrink default to false (use PI_CLEAR_ON_SHRINK=1 to enable)
- Fix viewport check to use previousLines.length instead of maxLinesRendered
  (prevents false positive redraws when appending lines after content shrunk)
- Add clearOnShrink setting to /settings in coding-agent
- Remove line truncation in custom message component (always show full content)
2026-02-02 08:10:08 +01:00
Mario Zechner 419c07fb19 Add [Unreleased] section for next cycle 2026-02-02 00:51:29 +01:00
Mario Zechner 580c02c74d Release v0.51.0 2026-02-02 00:50:46 +01:00
Mario Zechner ff0eb3ecd4 fix(ai): omit strict for unsupported openai completions 2026-02-02 00:44:55 +01:00
Mario Zechner 5d6a7d6c34 Better skill dir resolution, closes #1171 2026-02-02 00:33:51 +01:00
Mario Zechner 0a26db53ef fix(coding-agent): align ToolDefinition.execute signature with AgentTool
BREAKING CHANGE: ToolDefinition.execute parameter order changed from
(id, params, onUpdate, ctx, signal) to (id, params, signal, onUpdate, ctx).

This aligns with AgentTool.execute so wrapping built-in tools no longer
requires parameter reordering. Update extensions by swapping signal and
onUpdate parameters.
2026-02-02 00:29:47 +01:00
Mario Zechner 287a0b606d fix(coding-agent): guard clipboard native load 2026-02-02 00:23:12 +01:00
Mario Zechner ad8026f821 docs(coding-agent): add Termux setup guide and changelog audit
- Add comprehensive Termux (Android) setup documentation
- Add Termux platform detection in tools-manager for fd/rg
- Add New Features entries for Android/Termux, bash spawn hook, Linux ARM64 musl
- Add missing changelog entry for clipboard dependency update
2026-02-02 00:09:17 +01:00
Mario Zechner 86b43c8eac feat(coding-agent): add bash spawn hook 2026-02-01 23:17:51 +01:00
Mario Zechner 25fa1fafde docs(coding-agent): add Android/Termux changelog entry 2026-02-01 22:59:39 +01:00
Mario Zechner cb850676e7 feat(coding-agent): add Android/Termux support
- Make @mariozechner/clipboard an optional dependency
- Lazy-load clipboard module with graceful fallback
- Add Termux clipboard support via termux-clipboard-set
- Skip image clipboard on Termux (not supported)

fixes #1164
2026-02-01 22:59:11 +01:00
Mario Zechner cafe12b79e docs(coding-agent): add missing changelog entries and New Features section
- Add New Features section highlighting PI_PACKAGE_DIR, named session filter,
  typed tool call events, and Extension UI Protocol
- Add missing fix: tree selector focus behavior (#1142)
- Cross-package: cacheRetention passthrough fix (#1154)
- Cross-package: OAuth proxy support fix (#1132)
2026-02-01 22:26:03 +01:00
Mario Zechner b10a1743f9 Fix Discord link 2026-02-01 22:25:07 +01:00
Mario Zechner ce607fc343 feat(coding-agent): type ToolCallEvent.input per tool (#1147) 2026-02-01 19:13:55 +01:00
Mario Zechner 469fb5d27c fix(ai): OAuth login/refresh now respects HTTP proxy env vars
Extracted HTTP proxy setup to shared module and imported it from both
stream.ts and oauth/index.ts. This ensures fetch() calls during OAuth
flows (token exchange, refresh, project discovery) go through the proxy.

fixes #1132
2026-02-01 19:08:13 +01:00
Mario Zechnerandwarren 73839f876e feat(coding-agent): add named-only filter toggle to /resume picker (#1128)
Adds Ctrl+N toggle to filter sessions by named-only vs all in the /resume picker.

- Add NameFilter type and filtering logic to session-selector-search.ts
- Add toggleSessionNamedFilter app keybinding (default: ctrl+n)
- Show Name: All/Named state in header
- Empty state mentions toggle keybinding as escape hatch
- Export hasSessionName() to avoid duplication

Co-authored-by: warren <warren.winter@gmail.com>
2026-02-01 19:03:38 +01:00
Mario Zechner 47308d3f4f Update @mariozechner/clipboard to 0.3.2 (adds linux-arm64-musl support) 2026-02-01 18:23:23 +01:00
Mario Zechner 3c687b427e fix(skills): add path resolution guidance to skills preamble
Models were resolving relative paths in skill files from cwd instead of
the skill directory. Added explicit instruction that relative paths are
resolved from the skill directory (parent of the location path).

Fixes #1136
2026-02-01 18:06:13 +01:00
Mario Zechner 67dbe7c6b7 docs(coding-agent): add PI_PACKAGE_DIR to changelog and documentation
Adds changelog entry, README env var table entry, and CLI help text for
the PI_PACKAGE_DIR environment variable added in #1153.
2026-02-01 18:03:42 +01:00
Mario Zechner 8306b3bc20 docs(coding-agent): improve models.md with minimal example and defaults
- Add minimal example showing only required fields for local models
- Rename 'Basic Example' to 'Full Example' showing all fields
- Add 'Default' column to model configuration table
- Clarify that apiKey is required but ignored by Ollama
2026-02-01 17:51:24 +01:00
Mario Zechner c8b8f043a7 fix(coding-agent): make models.json model fields optional with defaults
Model definitions now only require 'id'. All other fields have sensible
defaults for local models (Ollama, LM Studio, etc.):
- name: defaults to id
- reasoning: defaults to false
- input: defaults to ["text"]
- cost: defaults to {input: 0, output: 0, cacheRead: 0, cacheWrite: 0}
- contextWindow: defaults to 128000
- maxTokens: defaults to 16384

Existing configs that specify all fields continue to work unchanged.

Fixes #1146
2026-02-01 17:49:19 +01:00
Mario Zechner 3830d74d22 fix(coding-agent): export discoverAndLoadExtensions from package
closes #1148
2026-02-01 17:47:01 +01:00
Mario Zechner bd00d2fbca fix(coding-agent): pi update not updating packages without args
fixes #1151
2026-02-01 17:41:36 +01:00
Mario Zechner 8f7ef85833 fix(ai): pass through cacheRetention in buildBaseOptions
fixes #1154
2026-02-01 17:37:45 +01:00
Mario Zechner b86fae351a Update Discord link 2026-02-01 17:04:02 +01:00
Mario Zechner 43be54c237 Add [Unreleased] section for next cycle 2026-02-01 09:36:24 +01:00
Mario Zechner 7678b075fb Release v0.50.9 2026-02-01 09:35:42 +01:00
Mario Zechner 55ce7e84ef chore: Fix import order 2026-02-01 09:34:44 +01:00
Mario Zechner b0e1672da2 docs(coding-agent): add cacheRetention changelog 2026-02-01 09:33:43 +01:00
Mario Zechner abfd04b5c5 feat(ai): add cacheRetention stream option 2026-02-01 09:32:10 +01:00
Mario Zechner e9ca0be769 feat(ai): add PI_AI_ANTIGRAVITY_VERSION env var override
Allows users to override the Antigravity User-Agent version when Google
updates their version requirements, avoiding the need to wait for a
package release.

Fixes #1129
2026-02-01 09:32:10 +01:00
Mario Zechner aa83170e0f Add [Unreleased] section for next cycle 2026-02-01 02:34:06 +01:00
Mario Zechner 4baa42cb6d Release v0.50.8 2026-02-01 02:33:23 +01:00
Mario Zechner 025b7bec7a fix(coding-agent): add spacer before context output 2026-02-01 02:24:51 +01:00