Mario Zechner
7bd9f6500d
fix(coding-agent): avoid cmd.exe for git installs on windows closes #3642
2026-04-24 13:56:10 +02:00
Mario Zechner
8700ac1f0e
fix(coding-agent): support custom npmCommand for git deps
...
closes #3604
2026-04-23 22:32:32 +02:00
Mario Zechner
e4f7fe7bb7
feat(coding-agent): batch package updates
...
closes #2980
2026-04-20 22:56:26 +02:00
Mario Zechner
b73212616d
fix(coding-agent): skip redundant npm package updates
...
closes #3000
2026-04-20 19:12:52 +02:00
Ramiz Wachtler
2b45243817
fix(coding-agent): avoid duplicate symlinked skills in pi config ( #3417 )
...
- dedupe resolved skill entries by canonical path (realpathSync) with raw-path fallback matching loadSkills()
- preserve precedence by applying skill dedupe after resource precedence sorting (first winner retained)
- add tests to verify expected behavior
- closes #3405
2026-04-20 13:23:00 +02:00
Neon
182d4ceea3
fix manifest glob expansion and add regression test ( #3350 )
2026-04-18 13:16:39 +02:00
Mario Zechner
3cea63cf29
fix(coding-agent): resolve captured commands on close closes #3027
2026-04-17 16:45:05 +02:00
Mario Zechner
ef1fcfcec2
fix(coding-agent): omit devDependencies when installing packages ( fixes #3009 )
2026-04-17 01:21:31 +02:00
Aliou Diallo
2d3ed0cfa7
fix(coding-agent): use npm view for update checks on non-default registries ( #3164 )
...
Previously, getLatestNpmVersion() hardcoded a fetch to
registry.npmjs.org, which 404s for packages on alternate
registries (private, Verdaccio, GitHub Packages, etc.).
The error was silently swallowed, so users never saw update
notifications for these packages.
Replace the direct fetch with
via the existing runCommandCapture helper. This uses the same
registry resolution as npm install (reads .npmrc config chain),
respects the npmCommand setting, and runs with this.cwd for
correct .npmrc lookup.
2026-04-14 20:20:14 +02:00
Aliou Diallo
71e4436932
fix(coding-agent): handle git/npm extension paths in CLI resolution ( #2845 )
2026-04-05 18:42:14 +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
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
a0734bd162
fix(coding-agent): tighten skill discovery and edit diffs closes #2603
2026-03-27 03:48:28 +01:00
Mario Zechner
13b771e591
fix(coding-agent): reduce git update fetch noise closes #2548
2026-03-24 03:23:00 +01:00
Mario Zechner
f1fe49a641
fix(coding-agent): reserve stdout in print and json mode closes #2482
2026-03-22 21:21:29 +01:00
Mario Zechner
74073e5227
fix(coding-agent): skip no-op git package reinstalls
...
closes #2503
2026-03-22 19:19:47 +01:00
Mario Zechner
eda1082d4b
fix(coding-agent): update project npm packages
...
closes #2459
2026-03-20 19:36:06 +01:00
Mario Zechner
f951d45000
fix(coding-agent): stop updating packages on startup closes #1963
2026-03-18 03:26:46 +01:00
badlogic
4f81c3c28d
fix(coding-agent,tui): stabilize windows shell/path handling
...
fixes #1775
fixes #1769
2026-03-14 05:36:21 +01:00
Mario Zechner
7ddaf150d6
fix(coding-agent): support configurable npm wrapper command closes #2072
2026-03-14 04:38:01 +01:00
Mario Zechner
e80692bcb6
fix(coding-agent): keep ~/.agents skills user-scoped\n\ncloses #1915
2026-03-07 12:21:54 +01:00
Matteo Collina
757d36a41b
fix(coding-agent): add offline startup mode and network timeouts ( #1631 )
2026-02-25 19:44:49 +01:00
Mario Zechner
f0379384fe
feat(coding-agent): prioritize project resources over global
2026-02-24 23:50:55 +01:00
Mario Zechner
39cbf47e42
feat(coding-agent): discover skills in .agents paths by default
2026-02-20 00:15:53 +01:00
Mario Zechner
88ac5ca1d9
fix(coding-agent): treat dot-prefixed extension paths as local
2026-02-08 23:52:23 +01:00
Mario Zechner
310da43042
fix(coding-agent): refresh temporary git extension caches on cache hits
2026-02-06 22:01:49 +01:00
Mario Zechner
6b0f1fefdb
fix(coding-agent): centralize package source normalization and local path parsing fixes #1304
2026-02-06 00:20:52 +01:00
Mario Zechner
5f5cd080b9
fix(coding-agent): respect package.json pi.extensions manifest in settings extensions paths
...
collectAutoExtensionEntries now checks if the directory itself has a
package.json with pi.extensions (or index.ts) before scanning children.
This fixes duplicate extension loading when a manifest-aware directory
is specified directly in settings.json extensions array.
Fixes #1274
2026-02-05 22:32:12 +01:00
Markus Ekholm
fba9a8aece
feat(coding-agent): add SSH URL support for git packages
...
Use hosted-git-info library for robust parsing of SSH URLs (git@host:path
and ssh://) in addition to HTTPS. SSH and HTTPS URLs for the same repo
are now properly deduplicated.
2026-02-05 16:48:10 +01:00
Mario Zechner
1fe73ad423
Revert "fix(coding-agent): handle npm on Windows with shell fallback fixes #1220 "
...
This reverts commit 895b85636a .
2026-02-04 02:22:37 +01:00
Mario Zechner
895b85636a
fix(coding-agent): handle npm on Windows with shell fallback fixes #1220
2026-02-04 02:21:06 +01:00
badlogic
ffb647cece
fix(coding-agent): use shell execution for spawn on Windows
...
fixes #1220
2026-02-04 02:15:22 +01:00
Mario Zechner
8a7a761deb
fix(coding-agent): resolve npm.cmd on Windows
...
closes #1220
2026-02-03 17:04:22 +01:00
Mario Zechner
2f5235b966
fix(coding-agent): support local install paths relative to settings files closes #1216
2026-02-03 12:58:34 +01:00
Aliou Diallo
bc3fda518d
fix(coding-agent): only update extension in scope it's in
...
update(source) unconditionally called updateSourceForScope for both
user and project scopes, creating a local install even when the source
was only registered globally. Unify into a single code path that
iterates settings per scope, filtering by identity when a source is
provided.
2026-02-01 22:43:11 +01:00
Mario Zechner
bd00d2fbca
fix(coding-agent): pi update not updating packages without args
...
fixes #1151
2026-02-01 17:41:36 +01:00
Mario Zechner
ed80ab2129
fix(coding-agent): multi-file extensions in packages now discovered correctly
...
Package resolution now uses the same discovery logic as local extensions:
only index.ts (or manifest-declared entries) are loaded from subdirectories,
not helper modules.
fixes #1102
2026-01-31 01:07:33 +01:00
Mario Zechner
098f396cf3
fix(coding-agent): respect .gitignore/.ignore/.fdignore when scanning package resources
...
fixes #1072
2026-01-30 01:02:56 +01:00
Mario Zechner
d21cbde87f
fix(coding-agent): empty array in package filter now disables all resources
...
fixes #1044
2026-01-29 00:12:42 +01:00
Mario Zechner
ee7d03cf52
fix(coding-agent): prune empty git dirs on remove
2026-01-26 23:58:14 +01:00
Mario Zechner
0134a2a73d
fix(coding-agent): handle force-pushed git extensions in pi update
...
Simplified to use @{upstream} instead of branch detection.
Moved changelog entry to [Unreleased].
Closes #961
2026-01-26 22:02:17 +01:00
Aliou Diallo
bfb21e31f8
fix(coding-agent): handle force-pushed git extensions in pi update
2026-01-26 22:01:08 +01:00
Mario Zechner
585ce73be1
fix(coding-agent): align auto-discovery with loader rules
2026-01-26 13:49:21 +01:00
Mario Zechner
b270e7b585
fix(coding-agent): apply config overrides to auto-discovery
2026-01-26 13:37:08 +01:00
Mario Zechner
ea93e2f3da
fix(coding-agent): add force exclude pattern and fix config toggle persistence
...
- Add `-path` force-exclude pattern (exact path match, highest precedence)
- Change `+path` force-include to exact path match (no glob)
- Manifest-excluded resources are now hidden from config (not toggleable)
- Config toggle uses `+` to enable and `-` to disable
- Settings paths resolve relative to settings.json location:
- Global: relative to ~/.pi/agent
- Project: relative to .pi
- Add baseDir to PathMetadata for proper relative path computation
- Update tests for new base directory and pattern behavior
fixes #951
2026-01-26 12:47:07 +01:00
Mario Zechner
3e8eb956b3
feat(coding-agent): resolve resources with enabled state
2026-01-25 02:13:24 +01:00
Mario Zechner
7b920f27d2
fix(coding-agent): check npm package version before using cached copy
...
For temporary npm extensions (-e npm:...):
- Unpinned packages: fetch latest version from registry and reinstall if newer
- Pinned packages: reinstall if cached version doesn't match
2026-01-25 00:57:58 +01:00
Armin Ronacher
48020405f3
Defer create .gitignore
2026-01-24 19:53:01 +01:00
Mario Zechner
725d6bbf35
feat(coding-agent): refine resource metadata and display
2026-01-24 02:46:08 +01:00
Mario Zechner
254c00b788
refactor(coding-agent): centralize git url detection
2026-01-24 01:02:16 +01:00