Commit Graph
588 Commits
Author SHA1 Message Date
35ff2689ee fix(typebox): migrate to v1 with extension compat (#3474)
* fix(typebox): migrate to v1 with extension compat

Replace AJV-based validation with TypeBox-native validation, keep legacy extension imports working (including @sinclair/typebox/compiler), and restore coercion for serialized/plain JSON schemas.

This change closes #3112.

* fix(typebox): use canonical imports and harden coercion

Switch first-party code to canonical typebox imports while retaining legacy extension aliases in the loader.

Remove obsolete runtime codegen guards, expand serialized JSON-schema coercion coverage, and update related tests and fixtures.

Fixes #3112.

---------

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-04-22 19:59:33 +02:00
Mario Zechner 8234ebf9ee feat(coding-agent,tui): add stacked autocomplete providers closes #2983 2026-04-22 15:44:08 +02:00
Mario Zechner 1cc303d053 fix(coding-agent): add replacement-session callbacks closes #2860 2026-04-22 12:13:54 +02:00
Mario Zechner a900d25119 feat(tui,coding-agent): add OSC 9;4 terminal progress indicators
Emit OSC 9;4 progress start/end sequences during agent streaming and
compaction so terminals (iTerm2, WezTerm, Windows Terminal, Kitty, etc.)
show activity in their tab bar.

Made with love for @lucasmeijer
2026-04-22 11:55:52 +02:00
Mario Zechner 97a38bf652 fix(coding-agent): configure inline tool image width
closes #3508
2026-04-22 00:56:01 +02:00
Mario Zechner 5a4e22ea44 fix(coding-agent): remove process-cwd tool singletons and use tool-name allowlists
- switch SDK/CLI tool selection to name-based allowlists
- apply allowlists across built-in, extension, and SDK tools
- remove ambient process.cwd defaults from core tooling and resource helpers
- update tests, examples, and TUI callers for explicit cwd plumbing
- add regression coverage for extension tool filtering

closes #3452
closes #2835
2026-04-20 22:05:28 +02:00
Mario Zechner 74139c3f66 feat(coding-agent): add configurable working indicator closes #3413 2026-04-20 16:28:39 +02:00
Mario Zechner 61579214c8 fix(coding-agent): handle symlinked session selector paths closes #3364 2026-04-20 16:25:12 +02:00
Mario Zechner 860d67518c fix(coding-agent): clarify session ID docs closes #3390 2026-04-20 16:12:32 +02:00
Marek PazikandGitHub d4e2e563ae feat(coding-agent): make scoped models and tree filter shortcuts configurable (#3343)
- Add app.models.{save,enableAll,clearAll,toggleProvider,reorderUp,reorderDown}
- Add app.tree.filter.{default,noTools,userOnly,labeledOnly,all,cycleForward,cycleBackward}
- Migrate scoped-models-selector cancel to tui.select.cancel
- Prefer reserved actions on key collision in extension shortcut conflict check
2026-04-20 14:35:30 +02:00
Mario Zechner d554409b1f fix(coding-agent): split /clone from /fork UX
closes #2962
2026-04-20 14:33:32 +02:00
Mario Zechner 62c1c4031c fix(coding-agent): add OpenRouter attribution headers
closes #3414
2026-04-20 14:14:36 +02:00
Armin RonacherandGitHub 23569e304b feat(coding-agent): add fork position and duplicate session option (#3431) 2026-04-20 14:13:34 +02:00
Mario Zechner 0bb4ccf11f fix(coding-agent): keep scoped-model reorder inert in implicit all-enabled state closes #3331 2026-04-17 16:58:49 +02:00
Armin Ronacher 32a305cb9b fix(coding-agent): disambiguate compact extension labels
closes #3308
2026-04-17 09:46:47 +02:00
Mario Zechner 36bffc1d13 fix(coding-agent): restore /import error flow and document throws 2026-04-17 00:59:53 +02:00
Mario Zechner 3ba0d85fa2 fix(coding-agent): restore assistant/user turn spacing 2026-04-17 00:52:14 +02:00
Mario Zechner b2ed851e84 Merge branch 'main' of https://github.com/badlogic/pi-mono
# Conflicts:
#	packages/coding-agent/CHANGELOG.md
2026-04-17 00:28:14 +02:00
Mario Zechner b0490310c3 fix(coding-agent): stabilize user message OSC 133 padding closes #3090 2026-04-17 00:22:39 +02:00
Armin Ronacher 165603189b fix(coding-agent): parse quoted import paths and missing files 2026-04-17 00:02:14 +02:00
Andrés VinuezaandGitHub aa25726ebf feat(coding-agent,tui): support argument-hint frontmatter in prompt templates (#2780)
* feat(coding-agent,tui): support argument-hint frontmatter in prompt templates

Parse argument-hint from prompt template frontmatter and display it
in the autocomplete dropdown description, matching Claude Code's
convention for custom commands.

Frontmatter format:
  ---
  description: Code review
  argument-hint: "[file | #PR | PR-URL]"
  ---

The hint renders in the description column of the autocomplete list:
  review   [file | #PR | PR-URL] — Code review

Closes #2761

* docs(coding-agent,tui): add argument-hint documentation, tests, and built-in hints

- Document argument-hint frontmatter in prompt-templates.md with <required>/[optional] convention
- Add argument-hint to built-in prompts: pr, is, wr
- Expand tests: required/optional hints, missing hints, empty hints, special characters
- Add changelog entries for coding-agent and tui
2026-04-16 23:02:35 +02:00
Mario Zechner 7b45c52807 fix(coding-agent): restore verbose startup expansion
closes #3147
2026-04-16 21:42:57 +02:00
Armin RonacherandGitHub f822408c77 fix(coding-agent): compact startup header and resource listings (#3267)
Use ctrl+o expansion for startup help and loaded resources, with compact comma-separated collapsed lists and full expanded context paths.

fixes #3147
2026-04-16 21:37:20 +02:00
Mario Zechner 624a7f794f fix(coding-agent): handle ctrl+z on windows closes #3191 2026-04-16 12:33:47 +02:00
Armin Ronacher 9b7948c4c8 fix(coding-agent): kill tracked detached bash children on shutdown 2026-04-16 00:12:14 +02:00
Mario Zechner 20ff469605 fix(coding-agent): use static reload box without spinner 2026-04-15 23:25:45 +02:00
Mario Zechner f7cd613ee4 fix(coding-agent): stabilize edit diff previews closes #3134 2026-04-15 23:11:50 +02:00
Mario Zechner 441c12956a fix(coding-agent): emit rpc prompt response after preflight closes #3049 2026-04-15 22:09:17 +02:00
Mario Zechner 17585b7f0b fix(coding-agent): preserve scoped model order closes #3217 2026-04-15 17:13:06 +02:00
Mario Zechner 5d440b055c fix(coding-agent): fire session shutdown on TERM and HUP closes #3212 2026-04-15 16:37:19 +02:00
Mario Zechner a8f51764c8 fix(coding-agent): add live retry countdown\n\ncloses #3187 2026-04-15 14:07:46 +02:00
Armin Ronacher 64a0a74d37 fix(coding-agent): stop bordered loader on dispose
fixes #3093
2026-04-14 16:48:54 +02:00
Mario Zechner 7371c30c0a feat(coding-agent): add install telemetry ping controls 2026-04-14 00:21:13 +02:00
Sviatoslav AbakumovandGitHub 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 72a43dc063 fix(coding-agent): forward RpcClient subprocess stderr to parent in real-time
fixes #2805
2026-04-04 12:41:09 +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
warrenandGitHub 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 OgilvieandGitHub 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