Commit Graph
1628 Commits
Author SHA1 Message Date
Mario Zechner c421e95c64 docs: add changelog rules to prevent modifying released versions 2025-12-02 13:15:17 +01:00
Mario Zechner 642c200163 docs: fix changelog - separate v0.12.2 and v0.12.3 entries 2025-12-02 13:14:20 +01:00
Mario Zechner 575d6e7a14 release: v0.12.3 2025-12-02 13:10:27 +01:00
badlogic 40ab295f65 Enable truecolor support for Windows Terminal 2025-12-02 13:04:05 +01:00
Mario Zechner ea27b32384 Clean-up out.html 2025-12-02 13:01:13 +01:00
Mario Zechner e841778467 release: v0.12.2 2025-12-02 13:00:31 +01:00
badlogic 077e6f6cd9 Fix Windows binary path resolution for Bun compiled executable 2025-12-02 12:58:00 +01:00
Mario Zechner 53c0e3bdd7 docs: use xattr -c to clear all extended attributes 2025-12-02 12:36:46 +01:00
Mario Zechner 78002e278e docs: add macOS quarantine fix for unsigned binaries 2025-12-02 12:36:02 +01:00
Mario Zechner 9e69b2694f ci: build all packages before creating binaries 2025-12-02 12:32:41 +01:00
Mario Zechner d5c813af43 release: v0.12.1 2025-12-02 12:31:05 +01:00
Mario Zechner 3b6fde0900 ci: name binary 'pi' inside archives for easier use 2025-12-02 12:29:35 +01:00
Mario Zechner 3c88aad7e2 ci: add manual trigger for build workflow 2025-12-02 12:23:14 +01:00
Mario Zechner 1174f37743 docs: update AGENTS.md style guide - no emojis, no fluff 2025-12-02 12:20:32 +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 5482499c04 chore: remove pnpm-specific .npmrc options 2025-12-02 09:40:29 +01:00
Mario Zechner b7f1ef7637 chore: update models.generated.ts 2025-12-02 09:38:49 +01:00
Mario Zechner 729f2369fe release: 0.11.6 2025-12-02 09:36:20 +01:00
Mario Zechner 7aae0d8a59 feat: show (sub) indicator in footer when using OAuth subscription 2025-12-02 09:34:37 +01:00
Mario Zechner 0f9d31e971 docs: add changelog entry for OAuth login status indicator 2025-12-02 09:29:08 +01:00
Mario Zechner ace6ec78f2 fix: use TruncatedText in oauth-selector to prevent line overflow 2025-12-02 09:28:27 +01:00
Peter Steinberger a961305a16 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 824b1fba03 Release v0.11.5 2025-12-01 20:22:14 +01:00
Mario Zechner 8cbc9f18a8 Add [Unreleased] section 2025-12-01 13:06:13 +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 2962f055be fix(mom): include triggering message in context
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.
2025-12-01 11:56:40 +01:00
Mario Zechner 37e82ab203 docs(coding-agent): add changelog entry for circular menu navigation (#82) 2025-12-01 09:47:22 +01:00
86123d3c73 feat(tui): add circular wrap-around navigation to all menus (#82)
Co-authored-by: xes garcia <xes.garcia@deus.ai>
2025-12-01 02:49:38 +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
Mario Zechner 0c90c26146 Release v0.11.1 2025-11-29 23:05:45 +01:00
Mario Zechner 2b730cc479 feat(coding-agent): add --export CLI flag to convert session files to HTML
Closes #80
2025-11-29 23:05:07 +01:00
Mario Zechner 55354cc7a3 docs(coding-agent): add changelog entry for git branch watcher (#79) 2025-11-29 21:54:02 +01:00
Tino EhrichandGitHub b58d7cc5b1 feat(coding-agent): watch .git/HEAD for branch changes (#79)
Auto-updates footer when git branch changes externally (e.g., git checkout in another terminal)
2025-11-29 21:52:13 +01:00
Mario Zechner f716f933da Release v0.11.0 2025-11-29 01:03:31 +01:00
Mario Zechner 8f1488b34d fix(tui): use consistent accent color for entire selected line in file selector
Previously, the selected line in @ fuzzy search and Tab completion used
accent color for prefix/label but muted color for description. Now the
entire selected line uses the accent color for better visual consistency.
2025-11-29 01:02:08 +01:00
Mario Zechner 5517b1acc7 feat(coding-agent): add read-only exploration tools (grep, find, ls) and --tools flag
Add grep, find, and ls tools for safe code exploration without modification risk.
These tools are available via the new --tools CLI flag.

- grep: Uses ripgrep (auto-downloaded) for fast regex searching. Respects .gitignore,
  supports glob filtering, context lines, and hidden files.
- find: Uses fd (auto-downloaded) for fast file finding. Respects .gitignore, supports
  glob patterns, and hidden files.
- ls: Lists directory contents with proper sorting and directory indicators.
- --tools flag: Specify available tools (e.g., --tools read,grep,find,ls for read-only mode)
- Dynamic system prompt adapts to selected tools with relevant guidelines

Closes #74
2025-11-29 00:59:23 +01:00
Mario Zechner 0329440f26 fix: file @ autocomplete performance using fd
- Replace slow synchronous directory walking with fd for fuzzy file search
- Auto-download fd to ~/.pi/agent/tools/ if not found in PATH
- Performance improved from ~900ms to ~10ms per keystroke on large repos
- Remove minimatch dependency from tui package
- Graceful degradation if fd unavailable (empty results)

Fixes #69
2025-11-28 23:38:44 +01:00
Mario Zechner da34de2503 Restore prompt to editor on API key validation failure
fixes #77
2025-11-28 23:00:37 +01:00
Mario Zechner ded2f9a087 Release v0.10.2 2025-11-27 23:59:15 +01:00
Mario Zechner 399e6b3bac coding-agent: remove identity override from system prompt (#73)
Models now use their native identity instead of being told they are Pi.
2025-11-27 23:57:02 +01:00
Mario Zechner 03b3eb1953 coding-agent: add pi-session- prefix to exported HTML files (#72)
Makes exported session files easier to filter with .gitignore
2025-11-27 23:54:10 +01:00
Mario Zechner 7b1818dab1 mom: turn-based context, timestamp fixes, system prompt improvements (#68)
Breaking Changes:
- Timestamps now use Slack format - run migrate-timestamps.ts for existing logs

Added:
- Channel/user ID mappings in system prompt
- Skills documentation in system prompt
- Debug last_prompt.txt output
- Bash working directory info
- Token-efficient log queries filtering tool calls

Changed:
- Turn-based message context (groups consecutive bot messages as one turn)
- Messages sorted by Slack timestamp
- Condensed system prompt (~5k → ~2.7k chars)
- Simplified user prompt
- Selective logging (skip UI status labels)

Fixed:
- Duplicate message logging from app_mention handler
- Username obfuscation in thread messages
2025-11-27 23:45:25 +01:00
Mario Zechner e3f4faa284 feat(mom): split long messages instead of truncating
- Messages > 40k chars are split into multiple Slack messages
- Full tool results now shown in thread (no truncation)
- Main message truncates with 'see thread for full response' if too long
- Keep jsonl log truncation for storage efficiency
2025-11-27 19:32:54 +01:00
Mario Zechner 0c8b99286a fix(mom): handle Slack message length limits and API errors gracefully
- Truncate messages exceeding Slack's 40,000 char limit
- Catch Slack API errors in queue and post to thread instead of crashing
- Add error context to queue operations for better debugging
- Wrap replaceMessage in try/catch
2025-11-27 19:22:53 +01:00
Mario Zechner 254c022971 Release v0.10.1 2025-11-27 14:18:29 +01:00
Mario Zechner 438e703c3a feat(mom): add arrow prefix to tool labels for visual distinction
Closes #65
2025-11-27 14:11:08 +01:00
Mario Zechner f42f440c21 feat(mom): reduce tool verbosity in main Slack messages
- During execution: show tool labels, thinking, and text in main message
- After completion: replace main message with only final assistant text
- Post thinking (italic) and text to thread for full audit trail
- Add promise queue to ensure ctx.respond calls execute sequentially
- Add log.logThinking() and log.logResponse() for console output
- Get final text from agent.state.messages instead of tracking

Closes #65
2025-11-27 14:07:21 +01:00
Mario Zechner 354709336a feat: show git branch in footer
- Footer now displays active git branch after directory path (e.g., ~/project (main))
- Branch detected by reading .git/HEAD directly (fast, synchronous)
- Cache refreshed after each assistant message to detect branch changes
- Handles normal branches, detached HEAD, and non-git repos

Closes #55
2025-11-27 12:56:45 +01:00