Mario Zechner
cbe8625528
Fix input event streaming behavior semantics
2026-05-28 10:13:06 +02:00
Mario Zechner
8011e20932
Merge pull request #4799 from Perlence/fix/fork-session-id
...
fix(coding-agent): keep fork session id aligned
2026-05-20 15:26:12 +02:00
Sviatoslav Abakumov
dce24ac9ff
fix(coding-agent): keep fork session id aligned
2026-05-20 15:54:11 +04:00
Mario Zechner
2e02c74dcb
chore: pin dependencies and use native TypeScript
2026-05-20 12:46:17 +02:00
Mario Zechner
c685b27369
fix(coding-agent): mark retrying agent end events
2026-05-19 10:33:16 +02:00
Mario Zechner
32bcdc9739
fix(coding-agent): simplify agent session settlement
2026-05-19 09:53:20 +02:00
Armin Ronacher
35f807cfaf
fix(coding-agent): route compaction through streamFn
...
closes #4484
2026-05-17 01:57:03 +02:00
Armin Ronacher
2829146dde
chore(deps): Kill small dependencies ( #4467 )
2026-05-13 10:44:56 +02:00
Mario Zechner
3e5ad67e0f
chore: migrate pi packages to earendil works scope
2026-05-07 15:59:42 +02:00
Mario Zechner
755da309dd
fix(coding-agent): keep pending tool renders after thinking toggle
...
closes #4167
2026-05-05 13:18:04 +02:00
Mario Zechner
40c6eabb8f
feat(coding-agent): allow message_end replacements
...
closes #3982
2026-04-30 21:24:36 +02:00
Mario Zechner
c19e64a444
fix(coding-agent): refresh title after extension session rename
...
closes #3686
2026-04-25 17:20:26 +02:00
Mario Zechner
a363b668ac
fix(coding-agent): clear tree navigation compaction state
...
closes #3688
2026-04-25 17:03:09 +02:00
Mario Zechner
86ba08a2e3
fix(coding-agent): preserve in-memory settings on reload
...
closes #3616
2026-04-23 23:47:49 +02:00
Mario Zechner
3fb2d11ce5
fix(coding-agent): honor no-tools in service sessions
...
fixes #3592
2026-04-23 21:36:16 +02:00
Mario Zechner
e38647f376
fix(coding-agent): restore builtin-only tool disabling
...
closes #3592
2026-04-23 21:36:16 +02:00
Armin Ronacher
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
1cc303d053
fix(coding-agent): add replacement-session callbacks closes #2860
2026-04-22 12:13:54 +02:00
Mario Zechner
12d7161884
fix(coding-agent): add session_shutdown reasons closes #2863
2026-04-20 23:11:08 +02:00
Mario Zechner
27c1544839
fix(coding-agent): use tool-name allowlists and remove cwd-bound singletons
...
- treat tools as a global allowlist across built-in, extension, and SDK tools
- remove process-cwd singleton tool usage from SDK and CLI paths
- add regression coverage for extension tool filtering
closes #3452
closes #2835
2026-04-20 22:05:28 +02:00
Marek Pazik
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
Armin Ronacher
23569e304b
feat(coding-agent): add fork position and duplicate session option ( #3431 )
2026-04-20 14:13:34 +02:00
Mario Zechner
c15e4d4913
fix(coding-agent): retry connection lost errors
...
closes #3317
2026-04-17 16:45:05 +02:00
Mario Zechner
1d4fdbad26
fix(coding-agent): scope nested .gitignore rules to their subtree in find
...
The find tool previously collected every .gitignore under the search
path and passed them to fd via --ignore-file. fd treats --ignore-file
entries as a single global ignore source, so rules from a/.gitignore
also filtered files under sibling b/.
Drop the manual collection and pass --no-require-git instead, which
makes fd apply hierarchical .gitignore semantics whether or not a git
repo is present.
closes #3303
2026-04-16 23:03:41 +02:00
Mario Zechner
c5451af749
fix(coding-agent): make find tool match path-based glob patterns
...
fd --glob matches against the basename unless --full-path is set, so
patterns containing '/' (e.g. 'src/**/*.spec.ts') silently returned no
results. When the pattern contains '/', switch fd into --full-path mode
and prepend '**/' unless the pattern already starts with '/', '**/', or
is '**'. Basename patterns keep the default matcher.
closes #3302
2026-04-16 22:53:45 +02:00
Mario Zechner
d131fcd4ba
feat(coding-agent): add after_provider_response hook closes #3128
2026-04-16 20:28:08 +02:00
Mario Zechner
17585b7f0b
fix(coding-agent): preserve scoped model order closes #3217
2026-04-15 17:13:06 +02:00
Mario Zechner
a7acef92a7
fix(coding-agent): resource collision precedence, user/project skills override package skills
...
Sort resolved resources by precedence rank (project settings > project auto >
user settings > user auto > package) so first-wins collision logic produces
correct results. Also reorder CLI paths to prepend instead of append.
fixes #2781
2026-04-04 21:28:38 +02:00
Mario Zechner
fbd35a4660
Renamed test
2026-04-04 21:07:08 +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
746f770b10
test(coding-agent): add session lifecycle characterization suite
2026-04-01 22:59:49 +02:00
Mario Zechner
957f21cea8
test(coding-agent): add queue characterization coverage
2026-04-01 14:31:02 +02:00
Mario Zechner
ef6af5ebbd
feat(ai,coding-agent): add faux provider and ModelRegistry factories
2026-03-29 21:08:50 +02:00