Commit graph

439 commits

Author SHA1 Message Date
Mario Zechner
38ac29acfb Add ANSI-aware word wrapping to TUI components
- Created shared wrapTextWithAnsi() function in utils.ts
- Handles word-based wrapping while preserving ANSI escape codes
- Properly tracks active ANSI codes across wrapped lines
- Supports multi-byte characters (emoji, surrogate pairs)
- Updated Markdown and Text components to use shared wrapping
- Removed duplicate wrapping logic (158 lines total)
2025-11-18 22:26:24 +01:00
Mario Zechner
22d8a0ae4a Release v0.7.18 2025-11-18 22:08:44 +01:00
Mario Zechner
a11c1aa4ff Release v0.7.17 2025-11-18 17:49:12 +01:00
Mario Zechner
587d7c39a4 feat(coding-agent): add OAuth authentication for Claude Pro/Max
- Add /login and /logout commands for OAuth flow
- OAuth tokens stored in ~/.pi/agent/oauth.json with 0600 permissions
- Auto-refresh tokens when expired (5min buffer)
- Priority: OAuth > ANTHROPIC_OAUTH_TOKEN env > ANTHROPIC_API_KEY env
- Fix model selector async loading and re-render
- Add bracketed paste support to Input component for long codes
- Update README.md with OAuth documentation
- Add implementation docs and testing checklist
2025-11-18 17:33:33 +01:00
Mario Zechner
387cc97bac Fix Anthropic API rejection when resubmitting aborted thinking blocks
- Convert thinking blocks with missing/empty signatures to text blocks
- Prevents 400 error: 'Invalid signature in thinking block'
- Occurs when stream is aborted mid-thinking and message is resubmitted
2025-11-18 14:36:57 +01:00
Mario Zechner
6680034a64 Release v0.7.16 2025-11-17 14:12:04 +01:00
Mario Zechner
f2b3953711 v0.7.15: Anthropic OAuth support 2025-11-17 12:53:57 +01:00
Mario Zechner
063b7e0f11 chore: bump coding-agent to 0.7.14 - fix Anthropic OAuth and Mistral API compatibility 2025-11-17 12:46:59 +01:00
Mario Zechner
a5ed6ab641 v0.7.13: Unicode input support for TUI editor 2025-11-16 23:08:10 +01:00
Mario Zechner
21f24061bb Merge branch 'fix/support-umlauts-and-unicode' 2025-11-16 23:06:06 +01:00
Mario Zechner
3b6ef6cf57 refactor(tui): Use explicit charCode check for unicode filtering
- Use 'charCodeAt(0) >= 32' instead of open 'else' in handleInput()
- Use same filter in handlePaste() for consistency
- Prevents control characters while allowing all unicode
- More explicit and safer than accepting everything
2025-11-16 23:05:19 +01:00
Mario Zechner
0c5cbd0068 v0.7.12: Custom models/providers support via models.json
- Add ~/.pi/agent/models.json config for custom providers (Ollama, vLLM, etc.)
- Support all 4 API types (openai-completions, openai-responses, anthropic-messages, google-generative-ai)
- Live reload models.json on /model selector open
- Smart model defaults per provider (claude-sonnet-4-5, gpt-5.1-codex, etc.)
- Graceful session fallback when saved model missing or no API key
- Validation errors show precise file/field info in CLI and TUI
- Agent knows its own README.md path for self-documentation
- Added gpt-5.1-codex (400k context, 128k output, reasoning)

Fixes #21
2025-11-16 22:56:24 +01:00
Mario Zechner
112ce6e5d1 Footer shouldn't explode when no model is given. 2025-11-16 22:35:27 +01:00
Mario Zechner
e0c2745989 Add gpt-5.1-codex to model list 2025-11-16 22:35:09 +01:00
Mario Rodler
4a83da00c4 Merge branch 'main' into fix/support-umlauts-and-unicode 2025-11-16 21:08:31 +01:00
Mario Rodler
b37d601317 test(editor): Simplify and refine Unicode handling tests for clarity and consistency 2025-11-16 21:05:49 +01:00
Mario Zechner
9b08f92dd9 Filter model selector by API keys and add user-facing documentation
- Model selector now only shows models with configured API keys
- Added yellow hint in model selector UI explaining the filtering
- Updated README.md to document the filtering behavior in both API Keys and /model sections
- Bumped version to 0.7.11
2025-11-16 21:01:31 +01:00
Mario Zechner
977dfec5c9 Merge pull request #19 from CarlosGtrz/filter-model-selector-by-api-key
Filter model selector to only show models with configured API keys
2025-11-16 20:43:02 +01:00
Mario Rodler
ce0c42f539 test(editor): Add tests for handling extended characters, emojis, and special key inputs 2025-11-16 18:15:21 +01:00
Mario Rodler
c8dcf1cdae feat(tui): Editor now handles extended character input (e.g., umlauts) and updates key binding documentation 2025-11-16 18:09:17 +01:00
Carlos Gutierrez
58eefa8d3d Filter model selector to only show models with configured API keys 2025-11-15 18:49:30 -07:00
Mario Zechner
3932c5e04c Add lifecycle callbacks to SandboxRuntimeProvider for abort signal support
- Added onExecutionStart(sandboxId, signal) - called when sandbox execution begins
- Added onExecutionEnd(sandboxId) - called when sandbox execution ends
- Integrated callbacks in SandboxedIframe.execute()
- Enables providers to track and cancel async operations (e.g., userScript executions)
2025-11-16 00:56:20 +01:00
Mario Zechner
901449b38a Pin pdfjs-dist to exact version 5.4.394 to fix worker version mismatch 2025-11-16 00:03:58 +01:00
Mario Zechner
147a850de2 Remove instructions to run publish:dry 2025-11-14 23:56:58 +01:00
Mario Zechner
b9c2f0a492 Release 0.7.10 2025-11-14 23:55:56 +01:00
Mario Zechner
8ae236f956 Add /branch command for conversation branching (fixes #16)
- Add /branch slash command to create conversation branches
- New UserMessageSelectorComponent shows all user messages chronologically
- Selecting a message creates new session with messages before selection
- Selected message is placed in editor for modification/resubmission
- SessionManager.createBranchedSession() creates new session files
- Updated README.md and CHANGELOG.md with /branch documentation
2025-11-14 23:52:46 +01:00
Mario Zechner
85ea9f500c chore: bump version to 0.7.9 2025-11-14 23:22:20 +01:00
Mario Zechner
a686f61c1d feat(tui): improve editor Ctrl/Alt word and line deletion shortcuts
- Add Ctrl+W for word deletion (stops at whitespace/punctuation)
- Add Ctrl+U for delete to start of line (merges with previous line at col 0)
- Change Ctrl+K from delete entire line to delete to end of line (merges with next line at EOL)
- Add Option+Backspace support in Ghostty (maps to Ctrl+W via ESC+DEL sequence)
- Cmd+Backspace in Ghostty works as Ctrl+U (terminal sends same control code)
- Update README and CHANGELOG with new keyboard shortcuts

Fixes #2, Fixes #3
2025-11-14 23:19:24 +01:00
Mario Zechner
508d1bb2d6 Clean-up 2025-11-14 21:32:16 +01:00
Mario Zechner
ced5fc3394 Bump version to 0.7.8 2025-11-13 23:49:04 +01:00
Mario Zechner
29ca62fb6e Document /changelog slash command in coding-agent README 2025-11-13 23:46:14 +01:00
Mario Zechner
25a8910ca5 Simplify development section in README 2025-11-13 23:43:15 +01:00
Mario Zechner
43767e0b2a Remove sitegeist reference 2025-11-13 23:42:34 +01:00
Mario Zechner
bc01ed5eb6 Document npm run dev for watch mode development 2025-11-13 23:42:04 +01:00
Mario Zechner
bc670bc63c Fix lockstep versioning and improve documentation
- Sync all packages to version 0.7.7
- Rewrite sync-versions.js to handle ALL inter-package dependencies automatically
- Fix web-ui dependency on pi-ai (was 0.6.0, now 0.7.7)
- Move agent fix changelog entry to coding-agent CHANGELOG
- Remove redundant agent CHANGELOG.md
- Improve README.md with clearer lockstep versioning docs
- Add /changelog command to display full changelog in TUI (newest last)
- Fix changelog description (not a scrollable viewer, just displays in chat)
- Update CHANGELOG for 0.7.7 release
2025-11-13 23:37:43 +01:00
Mario Zechner
7b347291ff Update CHANGELOG for PR #13 - Windows Git Bash detection improvements 2025-11-13 23:23:43 +01:00
Mario Zechner
b22dfcd2be Merge pull request #13 from CarlosGtrz/refactor/bash-windows-detection
Cleaner Windows Git Bash detection
2025-11-13 23:22:17 +01:00
Mario Zechner
0ef3370085 Fix: Capture error from turn_end event in agent state
Previously, errors in turn_end events (e.g., from OpenRouter Auto Router)
were not captured in agent.state.error, making failed requests appear as
successful completions.

Fixes #6
2025-11-13 23:20:03 +01:00
Carlos Gutierrez
5d91495402 refactor: consolidate Windows Git Bash detection and improve error messages
- Remove findGitBash() helper function
- Move all shell detection logic into getShellConfig() for better code organization
- Use only environment variables (ProgramFiles and ProgramFiles(x86)) for path detection
- Update error message to list the actual paths searched instead of generic text
2025-11-13 14:29:47 -07:00
Mario Zechner
ed9786e5d6 Fix aborted message spacing 2025-11-13 22:28:31 +01:00
Mario Zechner
a3f6544c31 Update CHANGELOG for issue #12 fix 2025-11-13 22:12:27 +01:00
Mario Zechner
4ff9c826d8 Fix context percentage showing 0% when last message was aborted
Skip aborted assistant messages when calculating context usage in footer.
Fixes #12
2025-11-13 22:12:04 +01:00
Mario Zechner
aecb4cd3bb Update CHANGELOG for Windows Git Bash support 2025-11-13 22:03:34 +01:00
Mario Zechner
7cac45fb0d Merge PR #1: Add Windows Git Bash support
- Add platform detection for Windows
- Git Bash path discovery in common installation locations
- Process tree termination using taskkill on Windows
- Improved error message listing checked paths
- Maintains backward compatibility with Unix/Linux/Mac
2025-11-13 22:03:16 +01:00
Mario Zechner
81052d9b42 Improve Git Bash not found error message
- List the specific paths that are checked
- Make it clear that default installation path should be used
2025-11-13 22:03:00 +01:00
Mario Zechner
b49ac57d59 Fix changelog spacing. 2025-11-13 21:59:03 +01:00
Mario Zechner
fede1303b1 Fix AGENTS.md support, changelog viewer, and session model storage
- BREAKING: Renamed AGENT.md to AGENTS.md for project context files
- Added automatic changelog viewer on startup for new sessions
- Added settings manager to track last shown changelog version
- BREAKING: Store provider and modelId separately in session files (fixes #4)
- Fixed markdown list rendering when items contain inline code with cyan formatting
- Added dynamic border component for TUI
- Updated changelog with entries for #4 and #5
2025-11-13 21:56:58 +01:00
Mario Zechner
c23f1576dc Fix markdown component nested list rendering. 2025-11-13 21:43:18 +01:00
Mario Zechner
c82f9f4f8c Add settings manager, show changelog on startup if not shown yet. 2025-11-13 21:19:57 +01:00
Mario Zechner
16740ea077 Merge pull request #4 from enisdenjo/split-1
Parse saved model with multiple slashes
2025-11-13 21:10:53 +01:00