Commit Graph
100 Commits
Author SHA1 Message Date
Mario Zechner 2cee7e17de Add [Unreleased] section for next cycle 2026-01-30 03:27:09 +01:00
Mario Zechner 3f5fe42d37 Release v0.50.4 2026-01-30 03:26:23 +01:00
Mario Zechner 0e2f90b734 feat(coding-agent): add daxnuts easter egg 2026-01-30 03:25:00 +01:00
Mario Zechner 355bc5adc3 docs: add missing changelog entries for commits since v0.50.3
- ai: Vercel AI Gateway routing support (#1051)
- tui: Ctrl+B/Ctrl+F keybindings (#1053), character jump navigation (#1074),
  line boundary navigation (#1050), performance optimizations (#1084)
- coding-agent: set_session_name RPC (#1075), config selector folder names (#1064)
- Cross-package duplication of tui/ai changes to coding-agent
- Add New Features section to coding-agent changelog
2026-01-30 03:25:00 +01:00
Mario Zechner 9ee58fdea9 feat(coding-agent): add OSC 52 clipboard support for SSH/mosh sessions
Fixes #1069
2026-01-30 03:25:00 +01:00
Mario Zechner cb08758696 feat(coding-agent): add "none" option to doubleEscapeAction setting
Allows disabling double-escape behavior entirely for users who
accidentally trigger the tree/fork selector.

Fixes #973
2026-01-30 01:20:14 +01:00
Mario Zechner 0587f045d9 docs(coding-agent): add changelog for tool arg defaults 2026-01-30 01:16:24 +01:00
Mario Zechner 8f7cdc24fd docs(ai): add changelog for tool arg defaults 2026-01-30 01:15:36 +01:00
Mario Zechner af813f9048 fix(ai): default tool call arguments
fixes #1065
2026-01-30 01:13:16 +01:00
Mario Zechner 098f396cf3 fix(coding-agent): respect .gitignore/.ignore/.fdignore when scanning package resources
fixes #1072
2026-01-30 01:02:56 +01:00
Mario Zechner c6557b93be docs(tui): note quoted autocomplete fix 2026-01-30 00:29:33 +01:00
Mario Zechner f181385859 fix(tui): avoid duplicating quotes during autocomplete 2026-01-30 00:26:24 +01:00
Mario Zechner 1665636fbe fix(tui): close quoted directory paths during autocomplete 2026-01-30 00:20:14 +01:00
Mario Zechner dc8539a001 fix(tui): support quoted paths with spaces in autocomplete
Fixes #1077
2026-01-30 00:11:12 +01:00
Mario Zechner 52532c7c00 fix(ai): update Antigravity User-Agent to 1.15.8
fixes #1079
2026-01-29 23:10:49 +01:00
Mario Zechner 4edb506df8 fix(coding-agent): handle macOS filenames with curly quotes and NFD Unicode
Fixes #1078

- Add tryNFDVariant() to normalize paths to NFD form
- Add tryCurlyQuoteVariant() to convert straight quotes to curly quotes
- Try combined NFD + curly quote variant for French macOS screenshots
- Add comprehensive tests for path-utils
2026-01-29 22:58:22 +01:00
Mario Zechner df667b510a Release v0.50.3 2026-01-29 04:19:02 +01:00
Mario Zechner b78b21c588 docs(coding-agent): update changelog with missing fix entry and new features section
- Add New Features section for Kimi For Coding provider
- Add fix entry for resource ordering when resuming sessions
2026-01-29 04:16:55 +01:00
Mario Zechner 87ab5c5c3b feat(ai): add Kimi For Coding provider support
- Add kimi-coding provider using Anthropic Messages API
- API endpoint: https://api.kimi.com/coding/v1
- Environment variable: KIMI_API_KEY
- Models: kimi-k2-thinking (text), k2p5 (text + image)
- Add context overflow detection pattern for Kimi errors
- Add tests for all standard test suites
2026-01-29 04:12:28 +01:00
Mario Zechner d1e33599f6 fix(coding-agent): show resources before messages when resuming session
Swapped order of initExtensions() and renderInitialMessages() in init()
so loaded resources (Context, Skills, Prompts, Extensions) appear at the
top of the chat instead of at the bottom when resuming a session.
2026-01-29 03:55:44 +01:00
Mario Zechner ded2d6399e Add [Unreleased] section for next cycle 2026-01-29 03:24:32 +01:00
Mario Zechner 9bb627a524 Release v0.50.2 2026-01-29 03:23:41 +01:00
Mario Zechner 58aa7096dd docs: add missing changelog entries for v0.50.1..HEAD commits 2026-01-29 03:22:00 +01:00
Mario Zechner 2ad4825653 fix: autocompleteMaxVisible setting not persisting
Missing markModified() call caused the setting to be lost on reload.
2026-01-29 03:20:28 +01:00
Mario ZechnerandColin Mason bea3ab637f feat: add autocompleteMaxVisible setting for configurable dropdown height (#972)
Fixes #916

Adds an autocompleteMaxVisible setting (range 3-20, default 5) to control how many items are visible in the editor's autocomplete dropdown.

Co-authored-by: Colin Mason <masonc789@gmail.com>
2026-01-29 03:17:11 +01:00
Mario Zechner 06a7fedda5 docs(coding-agent): add changelog entry for #1039 2026-01-29 02:52:43 +01:00
Mario Zechner c808de605a feat(ai): add Hugging Face provider support
- Add huggingface to KnownProvider type
- Add HF_TOKEN env var mapping
- Process huggingface models from models.dev (14 models)
- Use openai-completions API with compat settings
- Add tests for all provider test suites
- Update documentation

fixes #994
2026-01-29 02:40:14 +01:00
Mario Zechner f3cfb7e1ae feat: add /files command to list session file operations 2026-01-29 02:25:59 +01:00
Mario Zechner 1b6a147579 feat(ai): add PI_CACHE_RETENTION env var for extended prompt caching
Adds support for extended cache retention via PI_CACHE_RETENTION=long:
- Anthropic: 5m -> 1h TTL
- OpenAI: in-memory -> 24h retention

Only applies to direct API calls (api.anthropic.com, api.openai.com).
Proxies and other providers are unaffected.

fixes #967
2026-01-29 02:22:06 +01:00
Mario Zechner 605f6f494b fix(ai): normalize pipe-separated tool call IDs for cross-provider handoff
- Handle pipe-separated IDs from OpenAI Responses API in openai-completions provider
- Strip trailing underscores after truncation in openai-responses-shared (OpenAI Codex rejects them)
- Add regression tests for tool call ID normalization

fixes #1022
2026-01-29 01:28:12 +01:00
Mario Zechner 4f004adefa fix(coding-agent): reset retry counter after each successful LLM response
Previously, within a single tool-use turn, rate limit retries would
accumulate across separate LLM calls. For example, if each of 3 tool
calls hit a 429 and retried once, the counter would show '3/3' and fail
even though each individual retry succeeded.

Now the counter resets immediately when a successful (non-error)
assistant message arrives, so each LLM call gets a fresh set of retries.

Fixes #1019
2026-01-29 01:12:29 +01:00
Mario Zechner 25707f9ad4 fix(ai): 429 rate limit errors no longer trigger auto-compaction
429 (Too Many Requests) was incorrectly classified as context overflow,
triggering compaction instead of retry with backoff. The original logic
assumed token-based rate limiting correlates with context overflow, but
these are different concepts:

- Rate limiting (429): requests/tokens per time period (throughput)
- Context overflow: single request exceeds context window (size)

Now 429 errors are handled by the existing retry logic with exponential
backoff, while 400/413 remain as potential context overflow indicators.

fixes #1038
2026-01-29 00:43:38 +01:00
Mario Zechner a373dce747 fix(coding-agent): improve thinking defaults in footer 2026-01-29 00:33:45 +01:00
Mario ZechnerandJason Ish 81be81328c feat(tui,coding-agent): add shell-style keybindings alt+b, alt+f, ctrl+d
- Add alt+b/alt+f as alternative bindings for cursorWordLeft/cursorWordRight
- Add ctrl+d as alternative binding for deleteCharForward
- Fix ctrl+d in custom editor to perform delete when text is present
  (previously it was always consumed, even with non-empty input)

Closes #1043

Co-authored-by: Jason Ish <ish@unx.ca>
2026-01-29 00:21:39 +01:00
Mario Zechner 5ef79459dc Closes #1041, incorrect .md file name in warning messages. 2026-01-29 00:16:50 +01:00
Mario Zechner d21cbde87f fix(coding-agent): empty array in package filter now disables all resources
fixes #1044
2026-01-29 00:12:42 +01:00
Mario Zechner 8b5c81f21f fix(ai): preserve input token counts from message_start in Anthropic provider
Proxies like Portkey omit input_tokens in message_delta events (it's nullable
per the SDK). The previous code unconditionally overwrote usage fields, causing
input token counts to reset to 0.

Now only updates usage fields when they are present (not null), preserving
the correct input_tokens value captured from message_start.

Fixes #1045
2026-01-29 00:06:51 +01:00
Mario Zechner 4f9deddd47 fix(ai): detect DeepSeek URLs and disable unsupported developer role
fixes #1048
2026-01-28 23:55:54 +01:00
Mario Zechner 2cc2544809 Add [Unreleased] section for next cycle 2026-01-27 00:15:42 +01:00
Mario Zechner 29c59d79ba Release v0.50.1 2026-01-27 00:14:58 +01:00
Mario Zechner bec72c428c docs(coding-agent): clarify dependency categories 2026-01-27 00:13:54 +01:00
Mario Zechner 484b605ca0 docs(coding-agent): clarify pi package dependency bundling 2026-01-27 00:10:58 +01:00
Mario Zechner 6159eb4be8 chore: update changelogs 2026-01-27 00:08:06 +01:00
Mario Zechner ee7d03cf52 fix(coding-agent): prune empty git dirs on remove 2026-01-26 23:58:14 +01:00
Mario Zechner a5f603d704 fix(diff): keep picker open after selection 2026-01-26 23:04:32 +01:00
Mario Zechner 5dbeadae05 fix(coding-agent): bind extension UI context on startup 2026-01-26 23:00:48 +01:00
Mario Zechner f86e3c3103 fix(coding-agent): sync agent state after newSession setup callback
Move setup callback handling from interactive/rpc modes into AgentSession.newSession().
After setup() runs, sync agent state via replaceMessages() so the LLM has context
and the UI renders the messages properly.

fixes #968
2026-01-26 22:25:09 +01:00
Mario Zechner 0134a2a73d fix(coding-agent): handle force-pushed git extensions in pi update
Simplified to use @{upstream} instead of branch detection.
Moved changelog entry to [Unreleased].

Closes #961
2026-01-26 22:02:17 +01:00
Mario Zechner 3c252d50f5 docs(coding-agent): add placement note for extension hot-reload 2026-01-26 21:55:57 +01:00
Mario Zechner 2bbc1a7659 Add [Unreleased] section for next cycle 2026-01-26 16:55:24 +01:00
Mario Zechner 453e104d3a Release v0.50.0 2026-01-26 16:54:37 +01:00
Mario Zechner 1c7c5e10e0 add redraws helper extension for TUI development 2026-01-26 16:53:49 +01:00
Mario Zechner d2de6d0830 docs(coding-agent): expand pi documentation references in system prompt
- Add instruction to read pi .md files completely and follow cross-references
- Add more doc references: prompt-templates, keybindings, sdk, custom-provider, models, packages
- Reorder entries (custom providers last, prompt templates after skills)
2026-01-26 16:52:32 +01:00
Mario Zechner a6f9c3cf0d fix(tui): fix scrollback overwrite when appending lines past viewport
Appended lines were not committed to terminal scrollback because the
renderer used cursor movement (CSI B) and carriage return without
linefeed. This caused earlier content to be overwritten when the
viewport filled up.

Changes:
- For appended lines, emit \r\n to create real scrollback lines
- When target row is below viewport, scroll with \r\n before positioning
- Add PI_TUI_WRITE_LOG env var for debugging raw ANSI output
- Add fullRedraws readonly property to TUI class
- Add viewport-overwrite-repro.ts test script

fixes #954
2026-01-26 16:51:28 +01:00
Mario Zechner fa8b26a184 docs: update changelog guidance and links 2026-01-26 15:45:51 +01:00
Mario Zechner 9b903656ae fix(ai): correct provider error message typo (closes #958) 2026-01-26 15:37:57 +01:00
Mario Zechner 585ce73be1 fix(coding-agent): align auto-discovery with loader rules 2026-01-26 13:49:21 +01:00
Mario Zechner b270e7b585 fix(coding-agent): apply config overrides to auto-discovery 2026-01-26 13:37:08 +01:00
Mario Zechner ea93e2f3da fix(coding-agent): add force exclude pattern and fix config toggle persistence
- Add `-path` force-exclude pattern (exact path match, highest precedence)
- Change `+path` force-include to exact path match (no glob)
- Manifest-excluded resources are now hidden from config (not toggleable)
- Config toggle uses `+` to enable and `-` to disable
- Settings paths resolve relative to settings.json location:
  - Global: relative to ~/.pi/agent
  - Project: relative to .pi
- Add baseDir to PathMetadata for proper relative path computation
- Update tests for new base directory and pattern behavior

fixes #951
2026-01-26 12:47:07 +01:00
Mario Zechner 7a0b435923 docs(coding-agent): add security warnings for third-party packages
- README.md: Pi Packages section
- packages.md: Install and Manage section
- extensions.md: Extension Locations section
- skills.md: Locations section
2026-01-26 12:38:04 +01:00
Mario Zechner a8d04a1dbf docs(coding-agent): add comprehensive cross-links in extensions.md
- context event → session.md (message types)
- setModel → models.md (custom models)
- session_before_tree → tree.md (tree navigation)
- Mode Behavior table → rpc.md, json.md (add JSON mode row)
- Fix table to distinguish RPC vs JSON modes
2026-01-26 11:54:56 +01:00
Mario Zechner c3b8685467 docs(coding-agent): link to session.md for message types in context event 2026-01-26 11:52:29 +01:00
Mario Zechner b078141c24 docs(coding-agent): add cross-links to themes.md and session.md 2026-01-26 11:51:11 +01:00
Mario Zechner 530826ba07 docs(coding-agent): link to tool-execution.ts in Custom Rendering section 2026-01-26 11:47:31 +01:00
Mario Zechner d726c81faf docs(coding-agent): remove duplicate packages content from extensions.md
Replace 130 lines of duplicate content with link to packages.md
2026-01-26 11:44:56 +01:00
Mario Zechner 930207130b docs(coding-agent): improve extensions.md, add missing examples
- Add cross-links to session.md, keybindings.md, themes.md
- Document truncateLine, highlightCode, getLanguageFromPath utilities
- Add examples for previously undocumented APIs:
  - message-renderer.ts: registerMessageRenderer with Box styling
  - session-name.ts: setSessionName/getSessionName
  - event-bus.ts: pi.events for inter-extension communication
  - bookmark.ts: setLabel for entry bookmarking
- Update examples table in extensions.md and README.md
2026-01-26 11:43:01 +01:00
Mario Zechner bf876fcd3b Revert "docs(coding-agent): restructure extensions.md, consolidate examples"
This reverts commit b85bf05461.
2026-01-26 02:44:16 +01:00
Mario Zechner b85bf05461 docs(coding-agent): restructure extensions.md, consolidate examples
- Reduce from 1840 to 817 lines (55% smaller)
- Move all scattered example references to Examples Reference table at end
- Add missing setHeader() API documentation
- Add all 50 examples organized by category (Tools, Commands, Events, UI, etc.)
- Fix tui.md hooks->extensions terminology
2026-01-26 02:40:46 +01:00
Mario Zechner efc598b6b0 docs(coding-agent): replace README.md with new structure
- Reorganized: Quick Start, Providers, Interactive Mode, Sessions, Settings, Context Files, Customization, Programmatic Usage, Philosophy, CLI Reference
- Added package discovery links (npmjs.com, Discord)
- More concise, better flow, reduced redundancy
2026-01-26 02:33:46 +01:00
Mario Zechner 5340862910 docs(coding-agent): update README-NEW.md, tui.md, add new docs
- README-NEW.md: add environment variables, philosophy extras (no built-in to-dos, no background bash), session ID support, pi config command, plain git URLs, version pinning
- tui.md: fix hooks->extensions terminology, update Component interface (invalidate required, add wantsKeyRelease)
- Add new docs: settings.md, development.md, json.md
- Add screenshots: tree-view.png, doom-extension.png
2026-01-26 02:27:19 +01:00
Mario Zechner 28ab25b07e docs(coding-agent): improve README structure and update session/compaction docs
- README-NEW.md: add Quick Start, Interactive Mode, Sessions sections
- session.md: add Message Types section, complete SessionManager API, fix source links to GitHub URLs
- compaction.md: rename hooks to extensions, fix source links to GitHub URLs
- keybindings.md: new file documenting all keyboard shortcuts
2026-01-26 01:25:15 +01:00
Mario Zechner 859a4e05b6 docs(coding-agent): rename Header to Startup header 2026-01-26 00:39:41 +01:00
Mario Zechner b16af6e554 docs(coding-agent): add commands intro with skills, templates, extensions 2026-01-26 00:38:51 +01:00
Mario Zechner 6275d46d10 docs(coding-agent): add Q&A tool example for custom UI 2026-01-26 00:36:43 +01:00
Mario Zechner de700f795f docs(coding-agent): note extensions can replace editor 2026-01-26 00:35:43 +01:00
Mario Zechner 13b9e1e394 docs(coding-agent): mention editor replacement UI 2026-01-26 00:35:12 +01:00
Mario Zechner 011c9ecda7 docs(coding-agent): describe all UI components 2026-01-26 00:33:54 +01:00
Mario Zechner 965ab51b16 docs(coding-agent): tighten interactive mode intro 2026-01-26 00:31:50 +01:00
Mario Zechner b25f047808 docs(coding-agent): describe startup UI elements 2026-01-26 00:31:17 +01:00
Mario Zechner b32c9a8814 docs(coding-agent): update screenshot and add interactive mode description 2026-01-26 00:29:46 +01:00
Mario Zechner a0e778cb8a docs(coding-agent): update interactive mode screenshot 2026-01-26 00:28:18 +01:00
Mario Zechner 3f28266ab0 docs(coding-agent): add interactive mode screenshot 2026-01-26 00:27:02 +01:00
Mario Zechner 6783271d75 docs(coding-agent): note that model list is updated with each release 2026-01-26 00:18:45 +01:00
Mario Zechner 591525a1ce docs(coding-agent): link to custom-provider.md for extension-based providers 2026-01-26 00:16:20 +01:00
Mario Zechner 98a1e7b86b docs(coding-agent): add models.md for custom providers and models 2026-01-26 00:11:10 +01:00
Mario Zechner fd1beb4941 docs(coding-agent): add Custom Providers section to providers.md 2026-01-26 00:10:07 +01:00
Mario Zechner b08ec08fd4 docs(coding-agent): rename authentication.md to providers.md 2026-01-26 00:08:29 +01:00
Mario Zechner 1544ab1794 fix: clarify startup hints for thinking level and expand thinking 2026-01-26 00:05:35 +01:00
Mario Zechner 07325c27e8 fix: use findInitialModel in SDK, default to opus-4-5 for anthropic 2026-01-25 23:59:11 +01:00
Mario Zechner 0423c2c2d5 fix: add /model instruction to no models warning 2026-01-25 23:55:40 +01:00
Mario Zechner 88f184f433 fix: point auth error messages to docs/authentication.md 2026-01-25 23:55:00 +01:00
Mario Zechner 9c0c09e1c5 fix: handle empty args array in pi-test.sh 2026-01-25 23:47:35 +01:00
Mario Zechner 579a77493a feat: add --no-env flag to pi-test.sh to clear API keys 2026-01-25 23:45:28 +01:00
Mario Zechner 82e3be9dc8 docs(coding-agent): add windows.md and shell-aliases.md 2026-01-25 22:12:03 +01:00
Mario Zechner 1b98d45c77 docs(coding-agent): simplify resolution order, remove troubleshooting 2026-01-25 21:45:50 +01:00
Mario Zechner 676353ab4f docs(coding-agent): clean up subscription provider list 2026-01-25 21:44:45 +01:00
Mario Zechner 7eae6603bb docs(coding-agent): simplify subscriptions list, remove cost column 2026-01-25 21:44:12 +01:00
Mario Zechner a2c6a32e9b docs(coding-agent): fix /login docs - it shows a picker, no args 2026-01-25 21:43:57 +01:00
Mario Zechner 8eae92cbb7 docs(coding-agent): tighten authentication section in README 2026-01-25 21:42:55 +01:00
Mario Zechner 726e0a4b5b docs(coding-agent): rewrite authentication.md with proper structure
- Subscriptions first (OAuth providers)
- Clear API keys table
- Auth file format
- Cloud providers section (Azure, Bedrock, Vertex)
- Resolution order
- Troubleshooting
2026-01-25 21:42:20 +01:00