Commit Graph

578 Commits

Author SHA1 Message Date
Sviatoslav Abakumov 3166dae728 fix(coding-agent): flush queued messages after tree navigation (#3091)
Messages sent during branch summarization are added to the compaction
queue but never flushed when summarization ends. The user sees the
message in the steering queue and has to manually dequeue and resend it.

The fix is to flush the compaction queue after successful tree
navigation, matching the existing behavior of auto-compaction and
`/compact`. If the user jumps to a user message, the queued message is
sent as a prompt, and the jumped-to text is placed in the editor.
2026-04-13 11:03:01 +02:00
Mario Zechner cca5a3a1a4 fix(coding-agent): hide Earendil startup notice 2026-04-09 00:53:19 +02:00
Mario Zechner 96916f2cad fix(coding-agent): warn on Anthropic subscription auth 2026-04-08 18:46:40 +02:00
Mario Zechner 6d2d03dcc9 fix(coding-agent): add earendil startup announcement 2026-04-08 11:13:40 +02:00
Mario Zechner 080af6fc06 fix(coding-agent): handle missing session cwd 2026-04-05 21:24:32 +02:00
Mario Zechner 5e5eeb9603 fix(coding-agent): handle async fs.watch error events in theme watcher
closes #2791
2026-04-04 20:51:34 +02:00
Mario Zechner 9f9277ccdd refactor(coding-agent): replace AgentSessionRuntimeHost with closure-based AgentSessionRuntime
- Replace AgentSessionRuntimeHost and bootstrap abstractions with AgentSessionRuntime
- Runtime creation is now closure-based via CreateAgentSessionRuntimeFactory
- Factory closes over process-global fixed inputs, recreates cwd-bound services per effective cwd
- Session config (model, thinking, tools, scoped models) re-resolved per target cwd
- CLI resource paths resolved once at startup as absolute paths
- Swap lifecycle: teardown old, create next, apply next (hard fail on creation error)
- Unified diagnostics model (info/warning/error) for args, services, session resolution, resources
- No logging or process exits inside creation/parsing logic
- Removed session_directory support
- Removed session_switch and session_fork extension events (use session_start with reason)
- Moved package/config CLI to package-manager-cli.ts
- Fixed theme init for --resume session picker
- Fixed flaky reftable footer test (content-based polling)
- Fixed silent drop of unknown single-dash CLI flags
- Added error diagnostics for missing explicit CLI resource paths
- Updated SDK docs, examples, plans, exports, tests, changelog

fixes #2753
2026-04-03 20:14:12 +02:00
Mario Zechner 5ce0d15b66 fix(coding-agent): resolve theme export variables closes #2707 2026-03-31 14:41:50 +02:00
Mario Zechner d86122cbd3 refactor(coding-agent): add runtime host for session switching closes #2024 2026-03-31 13:49:57 +02:00
warren 84d2b51a2e feat(coding-agent): add label timestamps to the session tree (#2691) 2026-03-30 15:56:37 +02:00
Mario Zechner cbe1a8b732 fix(agent): simplify state API and update consumers fixes #2633 2026-03-30 12:43:34 +02:00
Mario Zechner de022ceba7 feat(coding-agent): add hidden thinking label api closes #2673 2026-03-29 21:33:15 +02:00
Duncan Ogilvie 1ee0d28d7b fix(coding-agent): properly queue extension messages (#2674) 2026-03-29 19:23:40 +02:00
Mario Zechner 7d4faa080d fix: expose abort signal to extensions closes #2660 2026-03-28 22:25:06 +01:00
Mario Zechner 46f5b798f9 chore(coding-agent): remove unused compaction import 2026-03-27 04:11:43 +01:00
Mario Zechner f456a7a4db fix(coding-agent): restore compaction summary and dedupe edit errors 2026-03-27 04:00:21 +01:00
Mario Zechner 161ad18287 fix(coding-agent): unify compaction UI events closes #2617 2026-03-27 03:14:24 +01:00
Mario Zechner 1ba899f6a6 fix(coding-agent): honor custom renderers for built-in tool overrides closes #2595 2026-03-27 03:10:13 +01:00
Fero fb10d9aef9 chore(coding-agent): add startup onboarding hint (#2620) 2026-03-26 15:44:56 +01:00
Mario Zechner d08ab9b9c1 fix(coding-agent): recompute interactive bash preview width closes #2569 2026-03-24 20:09:43 +01:00
Mario Zechner a8a58ff26b fix(coding-agent): disambiguate duplicate slash commands, fixes #1061 2026-03-23 02:33:52 +01:00
Mario Zechner 4e5af01d73 fix(coding-agent): unify source provenance, closes #1734 2026-03-23 02:02:42 +01:00
Mario Zechner d501b9ca26 fix(coding-agent): attach source info to resources and commands, fixes #1734 2026-03-23 00:52:55 +01:00
Mario Zechner 235b247f1f fix(coding-agent): built-in tools work like extension tools
Export readToolDefinition / createReadToolDefinition and the equivalent built-in ToolDefinition APIs from @mariozechner/pi-coding-agent.
2026-03-22 04:20:38 +01:00
Mario Zechner f90647ea8e fix(coding-agent): disable cli-highlight auto-detection for languageless code blocks
cli-highlight's auto-detection misidentifies prose as AppleScript,
LiveCodeServer, etc., coloring random English words (if, but, and, the,
that, is) as keywords. This happens when code blocks have no language
specified: fenced blocks without a language tag, indented code blocks,
or unclosed fences during streaming.

Skip auto-detection entirely and apply plain mdCodeBlock styling instead.
2026-03-21 10:46:01 +01:00
Mario Zechner 75fc6d088d fix(coding-agent): keep suspend resume alive on fg closes #2454 2026-03-20 11:56:15 +01:00
Mario Zechner e3fee7a511 fix(keybindings): migrate to namespaced ids closes #2391 2026-03-20 01:55:30 +01:00
Sviatoslav Abakumov 970774ec3c fix(coding-agent): /model shows stale scoped models (#2408)
After updating models.json, the scoped model selector still shows the
old values when opened. Switching to the "all" scope, however, shows
updated model definitions.
2026-03-19 23:40:07 +01:00
Mario Zechner a6337dc709 fix(coding-agent): show bash tool elapsed time at bottom closes #2406 2026-03-19 22:13:27 +01:00
Mario Zechner 3620adb3e2 fix(coding-agent): reload custom themes from disk watcher\n\ncloses #2417\ncloses #2003 2026-03-19 21:53:05 +01:00
Mario Zechner ce15f40769 fix(coding-agent): use native clipboard text copy on desktop closes #2347 2026-03-18 22:42:02 +01:00
Helmut Januschka fd385ecf06 feat(coding-agent): add JSONL export/import for sessions (#2356)
fixes #2274
2026-03-18 22:37:11 +01:00
Mario Zechner f951d45000 fix(coding-agent): stop updating packages on startup closes #1963 2026-03-18 03:26:46 +01:00
Mario Zechner 7eb55b08cf fix(coding-agent): reload keybindings on /reload closes #2309 2026-03-17 23:59:45 +01:00
Gabriel Goller 9fc11921e4 fix(coding-agent): skip tmux extended-keys warning when tmux is unreachable (#2311)
When running inside a sandbox (e.g., bubblewrap) that blocks access
to the tmux socket, the tmux query hangs and times out, returning
undefined. Previously this was treated as "extended-keys is off",
showing a false warning. Now we skip the warning when the tmux server
can't be reached.
2026-03-17 22:15:25 +01:00
Aliou Diallo 18d90b5c48 fix(coding-agent): handle empty session titles and session info metadata (#2304)
* fix(coding-agent): handle empty session titles in tree

* fix(coding-agent): ignore session info in summaries

* docs: update changelog for PR #2304
2026-03-17 16:22:04 +01:00
Mario Zechner 42d6a5461f fix(coding-agent): emit OSC 133 command-executed marker closes #2242 2026-03-17 12:56:44 +01:00
Mario Zechner b752a6e0a1 fix(coding-agent): handle slash-delimited /model refs closes #2174 2026-03-15 16:41:06 +01:00
Markus Ylisiurunen c9a3d14aa5 feat(tui): make select list column sizing configurable (#2154)
* feat(tui): make select list layout configurable

* feat(tui): tune select list column sizing

* test(tui): fix select list alignment assertions
2026-03-14 15:50:00 +01:00
Mario Zechner 80ca61a1c4 fix(coding-agent): start UI before session_start closes #2035 2026-03-14 05:48:38 +01:00
Mario Zechner b6181bed92 fix(coding-agent): expand paste markers in ctx.ui.getEditorText(), closes #2084 2026-03-14 04:08:24 +01:00
Mario Zechner ad11058e37 fix(coding-agent): use shell for external editor on windows closes #1925 2026-03-08 00:48:42 +01:00
Mario Zechner d48843ea55 Pr 1724 (#1939)
* feat(coding-agent): add fold/unfold to tree branch navigation

Remap left/right arrow keys in the session tree to jump between branch
segment starts (first child of each branching point). Left on a foldable
node (root or segment start) folds it, hiding its descendants. Right on
a folded node unfolds it. Nested fold state is preserved. Search and
filter changes reset all folds.

Folded branches show ⊞ in the connector (├⊞/└⊞) or as a prefix for
roots. Active path marker • appears after the fold indicator.

Add Page Up/Down support for paging through the tree list, consistent
with session selector and config selector.

* feat(coding-agent): improve tree branch folding closes #1724

---------

Co-authored-by: Sviatoslav Abakumov <dust.harvesting@gmail.com>
2026-03-08 00:15:47 +01:00
Mario Zechner 9a8bc61300 fix(tui,coding-agent): handle tmux xterm extended keys and warn on tmux setup fixes #1872 2026-03-07 23:01:48 +01:00
Mario Zechner 15b36cbee1 feat(coding-agent): preserve custom editor onEscape/onCtrlD handlers
Only set app-level handlers on custom editors if they haven't defined
their own. This allows custom editors (e.g. vim mode) to implement
custom escape handling instead of being overwritten.

Closes #1838
2026-03-06 16:41:12 +01:00
Mario Zechner b13e080113 fix(coding-agent): clear header on /new closes #1880 2026-03-06 12:52:02 +01:00
Mario Zechner daaabbeac5 fix(coding-agent): normalize CRLF in write preview rendering (fixes #1854) 2026-03-05 22:35:26 +01:00
lajarre 1f39cc776a feat(coding-agent): add treeFilterMode setting for /tree default filter (#1852)
Add configurable initial filter mode for the session tree navigator.
Users who always switch to a specific filter (e.g. no-tools via Ctrl+T)
can now set it as default in settings.

Same pattern as doubleEscapeAction (#404). Filter infra from #747.
2026-03-05 22:25:58 +01:00
Mario Zechner 3de8c48692 fix(coding-agent): make footer truncation width-aware
Use visibleWidth/truncateToWidth for footer path and stats truncation so wide Unicode text cannot overflow terminal width.

Add regression tests for wide session/model/provider names and document the fix in changelog.

closes #1833
2026-03-05 20:45:04 +01:00
Mario Zechner e0754fdbb3 fix(ai,coding-agent): make pi-ai browser-safe and move OAuth runtime exports
- add browser smoke bundling check to root check + pre-commit

- lazy-load Bedrock provider registration to avoid browser graph traversal

- remove top-level OAuth runtime exports from @mariozechner/pi-ai

- add @mariozechner/pi-ai/oauth subpath export and update coding-agent imports

- move proxy dispatcher init to coding-agent CLI (Node-only)

- document Bedrock/OAuth browser limitations

closes #1814
2026-03-04 20:21:25 +01:00