Commit graph

273 commits

Author SHA1 Message Date
Mario Zechner
be2d90819a docs(coding-agent): add note about iterating on manual summary 2025-12-04 03:01:07 +01:00
Mario Zechner
3d66d2561d docs(coding-agent): expand compaction note with manual summary alternative 2025-12-04 02:59:55 +01:00
Mario Zechner
18e9c17ae5 docs(coding-agent): add note that compaction should generally be avoided 2025-12-04 02:58:45 +01:00
Mario Zechner
0c460fcfe8 docs(coding-agent): fix context compaction documentation
- Correctly describe cut point mechanism that keeps recent messages verbatim
- Document keepRecentTokens setting (default 20k)
- Fix reserveTokens default (16k not 20k)
- Explain summary chaining for multiple compactions
2025-12-04 02:57:45 +01:00
Mario Zechner
a57768b91b docs(coding-agent): add /compact, /autocompact commands and Context Compaction section
- Add /compact and /autocompact slash command documentation
- Add Context Compaction section explaining how it works, manual/auto modes, configuration
- Update /autocompact output to match thinking level toggle style (dimmed text)
- Remove Planned Features section (auto-compaction now implemented)
2025-12-04 02:56:03 +01:00
Mario Zechner
233917c6d1 docs(coding-agent): add compaction to RPC protocol documentation 2025-12-04 02:51:27 +01:00
Mario Zechner
79d8d2ef2d docs(coding-agent): add context compaction to CHANGELOG 2025-12-04 02:49:46 +01:00
Mario Zechner
c3f63dd243 feat(coding-agent): add auto-compaction to RPC mode, add RPC compaction test
- RPC mode now auto-compacts when context exceeds threshold (same as TUI)
- Add RPC test for manual compaction via compact command
- Auto-compaction emits compaction event with auto: true flag
2025-12-04 02:49:22 +01:00
Mario Zechner
1a97331af1 perf(coding-agent): avoid loading session file for auto-compaction check
Use agent.state.messages instead of loading entries from disk
2025-12-04 02:42:43 +01:00
Mario Zechner
c89b1ec3c2 feat(coding-agent): context compaction with /compact, /autocompact, and auto-trigger
- Add /compact command for manual context compaction with optional custom instructions
- Add /autocompact command to toggle automatic compaction
- Auto-trigger compaction when context usage exceeds threshold (contextWindow - reserveTokens)
- Add CompactionComponent for TUI display with collapsed/expanded states
- Add compaction events to HTML export with collapsible summary
- Refactor export-html.ts to eliminate duplication between session and streaming formats
- Use setTimeout to break out of agent event handler for safe async compaction
- Show compaction summary in TUI after compaction completes

fixes #92
2025-12-04 02:39:54 +01:00
Mario Zechner
bddb99fa7c Wire up /compact and /autocompact slash commands 2025-12-04 00:31:21 +01:00
Mario Zechner
79731249eb Context compaction: commands, auto-trigger, RPC support, /branch rework (fixes #92)
- Add compaction settings to Settings interface
- /compact [instructions]: manual compaction with optional focus
- /autocompact: toggle auto-compaction on/off
- Auto-compaction triggers after assistant message_end when threshold exceeded
- Footer shows (auto) when auto-compact is enabled
- RPC mode: {type: 'compact'} command emits CompactionEntry
- /branch now reads from session file to show ALL historical user messages
- createBranchedSessionFromEntries preserves compaction events
2025-12-04 00:25:53 +01:00
Mario Zechner
6c2360af28 WIP: Context compaction core logic (#92)
- Add CompactionEntry type with firstKeptEntryIndex
- Add loadSessionFromEntries() for compaction-aware loading
- Add compact() function that returns CompactionEntry
- Add token calculation and cut point detection
- Add tests with real session fixture and LLM integration

Still TODO: settings, /compact and /autocompact commands, auto-trigger in TUI, /branch rework
2025-12-04 00:07:53 +01:00
Mario Zechner
1517e64869 chore: bump version to 0.12.6 2025-12-03 17:12:27 +01:00
Mario Zechner
989af79752 fix: normalize OpenAI token counting, add branch source tracking
pi-ai:
- Fixed usage.input to exclude cached tokens for OpenAI providers
- Previously input included cached tokens, causing double-counting
- Now input + output + cacheRead + cacheWrite correctly gives total context

coding-agent:
- Session header now includes branchedFrom field for branched sessions
- Updated compaction.md with refined implementation plan
- Updated session.md with branchedFrom documentation
2025-12-03 17:11:22 +01:00
Mario Zechner
6cd8bcdeb3 fix(coding-agent): use APP_NAME in export-html and tools-manager 2025-12-03 16:27:49 +01:00
Mario Zechner
d4d5051940 Release v0.12.5 2025-12-03 16:21:11 +01:00
Mario Zechner
e82fb0fc83 feat(coding-agent): configurable app name and config dir for forks (#95)
- Add piConfig to package.json for app name and config directory
- Consolidate paths.ts into config.ts with clearer naming
- Fix Bun binary detection (changed from %7EBUN to $bunfs)
- Update all hardcoded paths to use config.ts exports
- getThemesDir() for built-in themes, getCustomThemesDir() for user themes
2025-12-03 16:18:59 +01:00
Mario Zechner
9d5fe1fe85 Update session docs: add type definition links, reorder sections 2025-12-03 15:44:33 +01:00
Mario Zechner
9ed1c4e7ba Clean up docs, add session format documentation 2025-12-03 15:42:56 +01:00
Mario Zechner
011e8d705a Add RPC protocol documentation with tool call correlation 2025-12-03 15:28:17 +01:00
Mario Zechner
92b2ba9e91 Add comprehensive RPC protocol documentation 2025-12-03 15:22:20 +01:00
Mario Zechner
eb5cd9d4be Add CTRL+ENTER note for WSL 2025-12-02 22:18:12 +01:00
Mario Zechner
1c18b8006f Add auto-compaction trigger flow and maxTokens calculation 2025-12-02 16:17:05 +01:00
Mario Zechner
50b334f88a Add compaction examples and /branch interaction 2025-12-02 16:09:46 +01:00
Mario Zechner
5daef11b4c Add compaction research and implementation plan 2025-12-02 16:00:52 +01:00
Mario Zechner
bc4aa4aaa1 fix(coding-agent): use describe.skipIf for RPC test with explicit model
- Use describe.skipIf pattern matching other tests
- Skip when ANTHROPIC_API_KEY and ANTHROPIC_OAUTH_TOKEN are missing
- Use explicit --provider anthropic --model claude-sonnet-4-5
2025-12-02 14:50:29 +01:00
Peter Steinberger
c43f1d307c Add CI workflow and fix workspace tests 2025-12-02 12:53:53 +00:00
Mario Zechner
30f69c5f83 release: v0.12.4 2025-12-02 13:26:46 +01:00
badlogic
7b1f975ca1 Fix Windows terminal background rendering and add /debug command
- Strip carriage return characters from bash tool output to fix background padding on Windows
- Add hidden /debug command to write rendered lines to debug log for TUI debugging
- Document /debug command in README.md development section
2025-12-02 13:22:54 +01:00
Mario Zechner
cd62c87323 docs: fix changelog - separate v0.12.2 and v0.12.3 entries 2025-12-02 13:14:20 +01:00
Mario Zechner
858d041a5b release: v0.12.3 2025-12-02 13:10:27 +01:00
badlogic
e2e2cf116c Enable truecolor support for Windows Terminal 2025-12-02 13:04:05 +01:00
Mario Zechner
0d905ec5d9 release: v0.12.2 2025-12-02 13:00:31 +01:00
badlogic
ccae220032 Fix Windows binary path resolution for Bun compiled executable 2025-12-02 12:58:00 +01:00
Mario Zechner
468acdf0d6 docs: use xattr -c to clear all extended attributes 2025-12-02 12:36:46 +01:00
Mario Zechner
062edb4707 docs: add macOS quarantine fix for unsigned binaries 2025-12-02 12:36:02 +01:00
Mario Zechner
f480c98c80 release: v0.12.1 2025-12-02 12:31:05 +01:00
Mario Zechner
c4a65ad8b9 feat: standalone binary support with Bun
- Add build:binary script for Bun compilation
- Add paths.ts for cross-platform asset resolution (npm/bun/tsx)
- Add GitHub Actions workflow for automated binary releases
- Update README with installation options

Based on #89 by @steipete
2025-12-02 12:18:42 +01:00
Peter Steinberger
4a60bffe3b feat(coding-agent): add build:binary script for Bun bytecode compilation
Add npm script to build a standalone binary using Bun's bytecode compilation.
The binary is ~30% faster than Node.js for CLI operations.

Benchmark results (10 runs, simple query):
- Bun Bytecode Binary: 1.82s avg
- Bun runtime: 2.09s avg
- Node.js: 2.59s avg

Startup time only (--help):
- Bun Bytecode: 0.049s (3.8x faster than Node)
- Bun runtime: 0.121s
- Node.js: 0.185s

Usage: npm run build:binary
Output: dist/pi-binary

Requires Bun 1.3+ for bytecode compilation support.
2025-12-02 09:11:13 +00:00
Mario Zechner
c32ff608d3 release: 0.11.6 2025-12-02 09:36:20 +01:00
Mario Zechner
bc838b021d feat: show (sub) indicator in footer when using OAuth subscription 2025-12-02 09:34:37 +01:00
Mario Zechner
8cd3151c2a docs: add changelog entry for OAuth login status indicator 2025-12-02 09:29:08 +01:00
Mario Zechner
5a65ce5349 fix: use TruncatedText in oauth-selector to prevent line overflow 2025-12-02 09:28:27 +01:00
Peter Steinberger
87b7343b00 feat(coding-agent): show login status in OAuth provider selector
Display '✓ logged in' indicator next to providers where the user is already authenticated. This makes it clear at a glance whether you're using your Claude Pro/Max subscription.
2025-12-02 07:35:00 +00:00
Mario Zechner
7a1884f85c Release v0.11.5 2025-12-01 20:22:14 +01:00
Mario Zechner
cdc64c7569 Add [Unreleased] section 2025-12-01 13:06:13 +01:00
Mario Zechner
e25420a4c8 Release v0.11.4 2025-12-01 13:05:12 +01:00
Mario Zechner
285c657b70 Release v0.11.3 2025-12-01 12:50:04 +01:00
Mario Zechner
dd9decb9e1 docs(coding-agent): add changelog entry for circular menu navigation (#82) 2025-12-01 09:47:22 +01:00