- 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
- 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
- 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
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.
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.
Fix race condition where app_mention event fires before message event
logs to log.jsonl, causing the user's triggering message to be missing
from the agent's context. Now append the current message directly from
ctx.message to recentMessages.
Since version 0.9.0, RPC mode (--mode rpc) was not saving messages to
session files. The agent.subscribe() call with session management logic
was only present in the TUI renderer after it was refactored.
RPC mode now properly saves sessions just like interactive mode.
Added test for RPC mode session management to prevent regression.
Fixes#83
Thanks @kiliman for reporting this issue!