Commit Graph

111 Commits

Author SHA1 Message Date
Mario Zechner 4e60453fca Release v0.20.0 2025-12-12 23:25:01 +01:00
Mario Zechner d0626c4285 Release v0.19.2 2025-12-12 23:03:01 +01:00
Mario Zechner 2cb0ff3f0e Release v0.19.1 2025-12-12 17:53:45 +00:00
Mario Zechner 88c33163b5 Release v0.19.0 2025-12-12 17:33:16 +00:00
Mario Zechner 1307f3841f Release v0.18.8 2025-12-12 11:30:11 +01:00
Mario Zechner 4838e6f1d7 Release v0.18.7 2025-12-12 11:15:26 +01:00
Mario Zechner c7cbd1c096 Release v0.18.6 2025-12-12 10:53:53 +01:00
Mario Zechner 9de59c640d Release v0.18.5 2025-12-12 10:00:57 +01:00
Mario Zechner 2ae822641d Release v0.18.4 2025-12-12 00:00:08 +01:00
Mario Zechner e033210237 Release v0.18.3 2025-12-11 20:34:04 +01:00
Mario Zechner f291cb0d51 Release v0.18.2 2025-12-10 23:39:16 +01:00
Mario Zechner 8bceefa028 Release v0.18.1 2025-12-10 21:25:15 +01:00
Mario Zechner 261872d3f5 Release v0.18.0 2025-12-10 01:18:13 +01:00
Mario Zechner f61b432209 Add ./hooks subpath export for cleaner imports 2025-12-10 00:56:02 +01:00
Mario Zechner d4bd429a35 Add hooks system with pi.send() for external message injection
- Hook discovery from ~/.pi/agent/hooks/, .pi/hooks/, --hook flag
- Events: session_start, session_switch, agent_start/end, turn_start/end, tool_call, tool_result, branch
- tool_call can block execution, tool_result can modify results
- pi.send(text, attachments?) to inject messages from external sources
- UI primitives: ctx.ui.select/confirm/input/notify
- Context: ctx.exec(), ctx.cwd, ctx.sessionFile, ctx.hasUI
- Docs shipped with npm package and binary builds
- System prompt references docs folder
2025-12-10 00:50:30 +01:00
Mario Zechner feaefa303c feat(coding-agent): implement hooks system
- Add hooks infrastructure in core/hooks/ (loader, runner, types)
- HookUIContext interface with mode-specific implementations
- Interactive mode: TUI-based selector/input/confirm dialogs
- RPC mode: JSON protocol for hook UI requests/responses
- Print mode: no-op UI context (hooks run but can't prompt)
- AgentSession.branch() now async, returns { selectedText, skipped }
- Settings: hooks[] and hookTimeout configuration
- Export hook types from package for hook authors

Based on PR #147 proposal, adapted for new architecture.
2025-12-09 22:17:12 +01:00
Mario Zechner 9ed2c831d1 Release v0.17.0 2025-12-09 21:47:39 +01:00
Mario Zechner e7d0fe83dd Release v0.16.0 2025-12-09 15:43:29 +01:00
Mario Zechner db3d01028c Fix theme path for binary and npm builds after refactor 2025-12-09 13:43:59 +01:00
Mario Zechner b0437be4d7 Release v0.15.0
closes #153
2025-12-09 13:41:12 +01:00
Mario Zechner 628ead2485 Release v0.14.2 2025-12-08 23:29:05 +01:00
Mario Zechner 9b2369e096 Release v0.14.1 2025-12-08 22:59:46 +01:00
Mario Zechner 0b793ea451 Release v0.14.0 2025-12-08 22:51:29 +01:00
Mario Zechner 788158525c Release v0.13.2 2025-12-07 01:25:17 +01:00
Mario Zechner 159a6e7df6 Release v0.13.1 2025-12-06 23:12:36 +01:00
Mario Zechner 30cc0005e9 Release v0.13.0 2025-12-06 22:48:39 +01:00
badlogic 6c1b4ceac2 Fix Windows binary detection for Bun compiled executables
- Updated isBunBinary detection to check for %7EBUN (URL-encoded ~BUN)
- Simplified build:binary script to remove Unix-specific shell syntax
- Binary now correctly locates supporting files next to executable on Windows
2025-12-06 22:42:47 +01:00
Mario Zechner ba06412933 Release v0.12.15 2025-12-06 21:29:03 +01:00
Mario Zechner e20b345051 Release v0.12.14 2025-12-06 00:46:57 +01:00
Mario Zechner 0125ab997f Release v0.12.13 2025-12-05 23:38:32 +01:00
Mario Zechner 5fb8563279 Release v0.12.12 2025-12-05 23:00:45 +01:00
Mario Zechner 05f885ce83 Release v0.12.11 2025-12-05 12:19:37 +01:00
Mario Zechner 1d11267401 Release v0.12.10 2025-12-04 20:51:57 +01:00
Mario Zechner 434996ba3e Release v0.12.9 2025-12-04 13:22:53 +01:00
Mario Zechner 5622cbd0cc Release v0.12.8 2025-12-04 03:59:20 +01:00
Mario Zechner c6b2c3d8b3 Release v0.12.7 2025-12-04 03:11:03 +01:00
Mario Zechner f9e694861e chore: bump version to 0.12.6 2025-12-03 17:12:27 +01:00
Mario Zechner 203802f626 Release v0.12.5 2025-12-03 16:21:11 +01:00
Mario Zechner eddbff982e 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 cd81f844e4 release: v0.12.4 2025-12-02 13:26:46 +01:00
Mario Zechner 575d6e7a14 release: v0.12.3 2025-12-02 13:10:27 +01:00
Mario Zechner e841778467 release: v0.12.2 2025-12-02 13:00:31 +01:00
Mario Zechner d5c813af43 release: v0.12.1 2025-12-02 12:31:05 +01:00
Mario Zechner 53bf63714c 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 ba1d7741e8 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 729f2369fe release: 0.11.6 2025-12-02 09:36:20 +01:00
Mario Zechner 824b1fba03 Release v0.11.5 2025-12-01 20:22:14 +01:00
Mario Zechner 8beecda3f1 Release v0.11.4 2025-12-01 13:05:12 +01:00
Mario Zechner 3141a768e8 Release v0.11.3 2025-12-01 12:50:04 +01:00
Mario Zechner f48654a244 fix: RPC mode session management not saving sessions
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!
2025-12-01 01:19:17 +01:00