Commit graph

313 commits

Author SHA1 Message Date
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
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
Daniel Nouri
0ad189f12a
Add get_commands RPC for headless clients (#995)
* Add get_commands RPC for headless clients

Headless clients like Emacs can now query which commands are available.
Previously they could only discover file-based prompt templates by
scanning the filesystem; extension commands and skills were invisible.

The response includes each command's name, description, and source
(extension, template, or skill). Commands appear in the same order
as the TUI's autocomplete: extension commands first, then templates,
then skills.

Built-in TUI commands (/settings, /fork, etc.) are excluded since
they require the interactive UI. Commands like /compact have dedicated
RPC equivalents instead.

* Add location and path to get_commands response

Clients can show where commands come from (user/project/path) and
display file paths in tooltips. The data is already available on
templates and skills - just exposing it.
2026-01-28 02:34:15 +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
3c252d50f5 docs(coding-agent): add placement note for extension hot-reload 2026-01-26 21:55:57 +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
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
Nico Bailon
c565fa9af8
fix(tui): keep overlays centered across resizes (#950) 2026-01-26 09:43:16 +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
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
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
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
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
Mario Zechner
8d11d1e2f3 docs(coding-agent): remove incorrect prompt cache note from OpenAI Codex 2026-01-25 21:40:45 +01:00
Mario Zechner
1b705a92b8 docs(coding-agent): move OAuth details to docs/authentication.md, simplify README 2026-01-25 21:37:25 +01:00
Mario Zechner
e112d2a917 docs(coding-agent): move terminal setup to docs/terminal-setup.md 2026-01-25 21:34:07 +01:00
Mario Zechner
0be68c9b4b docs(coding-agent): clarify that missing description prevents skill loading 2026-01-25 20:58:02 +01:00
Mario Zechner
6cc370c446 docs(coding-agent): clarify how to toggle settings and invoke templates
- skills.md: mention /settings and settings.json for toggling skill commands
- prompt-templates.md: add Usage section with examples
2026-01-25 20:56:24 +01:00
Mario Zechner
c12d18483d docs(coding-agent): clarify skill invocation is model behavior 2026-01-25 20:55:10 +01:00
Mario Zechner
a4cb9ff02a docs(coding-agent): mention /skill:name as alternative to model invocation 2026-01-25 20:54:39 +01:00
Mario Zechner
b29de1c73d docs(coding-agent): note that models often need prompting to use skills 2026-01-25 20:54:10 +01:00
Mario Zechner
77469e1599 docs(coding-agent): link to agentskills.io integration spec for XML format 2026-01-25 20:53:43 +01:00
Mario Zechner
ff50d45c04 docs(coding-agent): add instructions for using skills from other harnesses 2026-01-25 20:52:42 +01:00
Mario Zechner
dbbb658628 docs(coding-agent): clarify lenient Agent Skills standard compliance 2026-01-25 20:50:55 +01:00
Mario Zechner
3dca4979e4 docs(coding-agent): fix token count in themes.md, rewrite skills.md
- Fixed themes.md: 50 -> 51 color tokens
- Rewrote skills.md to match structure of other docs (TOC, concise sections)
- Removed redundant content from skills.md while keeping all essential info
2026-01-25 20:48:47 +01:00
Mario Zechner
728dc86d49 fix(coding-agent): correct theme schema URL path 2026-01-25 20:46:22 +01:00
Mario Zechner
d79eb99cd2 docs(coding-agent): merge theme.md into themes.md, add hot reload info
- Merged theme.md content into themes.md
- Added hot reload documentation
- Updated all references from theme.md to themes.md
- Fixed outdated info (vars not defs, complete example with all 50 tokens)
- Removed dev-focused Implementation section
2026-01-25 20:39:49 +01:00
Mario Zechner
94952bd6c0 docs(coding-agent): update README intro, add packages/prompt-templates/themes docs
- Rewrote README intro to emphasize extensibility and pi packages
- Added Pi Packages section to README
- Created docs/packages.md covering install, sources, manifest, filtering
- Created docs/prompt-templates.md covering format and arguments
- Created docs/themes.md with overview linking to theme.md
2026-01-25 20:33:19 +01:00