Commit graph

167 commits

Author SHA1 Message Date
Mario Zechner
ddf09720cc Release v0.12.12 2025-12-05 23:00:45 +01:00
Mario Zechner
94d6c6704b Merge branch 'feat/resume-slash-command' 2025-12-05 22:54:03 +01:00
Mario Zechner
30dd31d787 Merge feat/scroll-previous-prompts with history load on resume 2025-12-05 22:02:16 +01:00
Mario Zechner
3a5185c5fd feat(tui): add prompt history navigation with Up/Down arrows
- Browse previously submitted prompts using Up/Down arrow keys
- History is session-scoped and stores up to 100 entries
- Load history from session on continue/resume
- Includes 15 tests for history navigation

fixes #121
2025-12-05 22:00:23 +01:00
Mario Zechner
6ec1391ebb fix: escape codes not properly wrapped during line wrapping
- ANSI codes now attach to next visible content, not trailing whitespace
- Rewrote AnsiCodeTracker to track individual attributes
- Line-end resets only turn off underline, preserving background colors
- Added vitest config to exclude node:test files

fixes #109
2025-12-05 21:49:44 +01:00
Markus Ylisiurunen
ff047e5ee1
Implement fuzzy search for model/session selector and improve Input multi-key sequence handling (#122)
* implement fuzzy search and filtering for tui selectors

* update changelog and readme

* add correct pr to changelog
2025-12-05 20:33:04 +01:00
Nico Bailon
c550ed2bca feat(tui): add prompt history navigation with Up/Down arrows
Browse previously submitted prompts using Up/Down arrow keys, similar to
shell history and Claude Code's prompt history feature.

- Up arrow when editor is empty: browse to older prompts
- Down arrow when browsing: return to newer prompts or clear editor
- Cursor movement within multi-line history entries supported
- History is session-scoped, stores up to 100 entries
- Consecutive duplicates are not added to history

Includes 15 new tests for history navigation behavior.
2025-12-05 07:57:42 -08:00
Mario Zechner
ca39e899f4 docs: add changelog entry for footer display changes 2025-12-05 12:22:30 +01:00
Mario Zechner
6a29b2df3f Add [Unreleased] section 2025-12-05 12:20:35 +01:00
Mario Zechner
b193560ab0 Release v0.12.11 2025-12-05 12:19:37 +01:00
Mario Zechner
ef333af3d1 fix: footer overflow crash on narrow terminals
Footer stats line now truncates gracefully when terminal width is too
narrow to fit all stats, instead of overflowing and crashing the TUI.
2025-12-05 12:17:56 +01:00
Mario Zechner
9375384371 fix: strip remaining escape sequences from bash output
stripAnsi misses some escape sequences like standalone ESC \ (String
Terminator) which caused rendering issues when displaying captured TUI
output. Now also removes any remaining ESC+char sequences and control
characters after stripAnsi processing.
2025-12-05 12:13:33 +01:00
Mario Zechner
240064eec3 fix: TUI crash with Unicode characters in branch selector
- Use truncateToWidth instead of substring in user-message-selector.ts
- Fix truncateToWidth to use Intl.Segmenter for proper grapheme handling
- Add tests for Unicode truncation behavior
2025-12-05 11:59:39 +01:00
Hew Li Yang
30f63bcaf6 wip: changelog 2025-12-05 18:56:44 +08:00
Mario Zechner
51195bc9fc Add authHeader option and fix print mode error handling
- Add 'authHeader' boolean option to models.json provider config
  When true, adds 'Authorization: Bearer <apiKey>' to model headers
  Useful for providers requiring explicit auth headers (fixes #81)

- Fix print mode (-p) silently failing on errors
  Now outputs error message to stderr and exits with code 1
  when assistant message has stopReason of error/aborted
2025-12-05 11:31:14 +01:00
Mario Zechner
398591fdb0 Improve compaction UI styling
- Simplified collapsed state: warning-colored text instead of styled banner
- Shows token count inline: 'Earlier messages compacted from X tokens'
- Removed redundant success message after compaction
- Cleaner vertical spacing using paddingY instead of explicit Spacers

Fixes #108
2025-12-05 11:05:04 +01:00
Mario Zechner
4c6d3b0bf6 Merge hide-thinking branch (PR #113) 2025-12-05 10:48:53 +01:00
Mario Zechner
4a3e553260 Fix spacer after hidden thinking block, add contributor link to CHANGELOG 2025-12-05 10:48:28 +01:00
Mario Zechner
266f303268 Add contributor link to CHANGELOG entry 2025-12-05 10:37:14 +01:00
Markus Ylisiurunen
a29cd80acf add ctrl+t shortcut to toggle llm thinking block visibility 2025-12-05 09:48:35 +02:00
Markus Ylisiurunen
342af285c4 document the new --append-system-prompt flag 2025-12-05 09:30:05 +02:00
Mario Zechner
c7585e37c9 Release v0.12.10 2025-12-04 20:51:57 +01:00
Mario Zechner
47bb302155 Release v0.12.9 2025-12-04 13:22:53 +01:00
Mario Zechner
9e5aaf1932 Add /copy command docs and changelog entry, closes #105 2025-12-04 13:22:17 +01:00
Mario Zechner
db6d655ee9 Release v0.12.8 2025-12-04 03:59:20 +01:00
Mario Zechner
5663bf16ce Add [Unreleased] section 2025-12-04 03:12:00 +01:00
Mario Zechner
cfa9dbfc03 Release v0.12.7 2025-12-04 03:11:03 +01:00
Mario Zechner
186308e4b4 docs(coding-agent): add GitHub link to context compaction docs in CHANGELOG 2025-12-04 03:09:00 +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
79d8d2ef2d docs(coding-agent): add context compaction to CHANGELOG 2025-12-04 02:49:46 +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
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
30f69c5f83 release: v0.12.4 2025-12-02 13:26:46 +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
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
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
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
Mario Zechner
d2b60f11eb 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