Commit graph

31 commits

Author SHA1 Message Date
David Brailovsky
02eed88fd8
feat(ai,coding-agent): add alternative sign in for the openai provider 2026-09-29 17:16:15 +02:00
Armin Ronacher
30a1d1849d feat(coding-agent): support +name/-name in defaultTools
Entries of only +name/-name modify the inherited tool selection, so
"defaultTools": ["+codemode"] enables codemode without repeating the
defaults. Project entries layer on top of user settings. Document how to
enable codemode without MCP and how to use classifier models from it.
2026-09-29 14:02:57 +02:00
Armin Ronacher
f1927c2d56 feat(tui,coding-agent): configurable fullscreen wheel scrolling with auto acceleration
Adds fullscreenWheelScrollLines ("auto" or 1-100). Auto keeps one line
per event in local macOS terminals and scales with wheel velocity
elsewhere, capped at six lines per event.

closes #9758
2026-09-29 09:57:53 +02:00
Armin Ronacher
c596d09d9c
feat(coding-agent): add prompt cache warming (#9668) 2026-09-19 21:18:15 +02:00
David Brailovsky
c37b0e03b5 fix: cap agent retry backoff
Add a configurable 60-second default cap for assistant and summarization retry delays across coding-agent and the agent harness.

Fixes #8826
2026-09-09 11:54:56 +02:00
Cristina Poncela Cubeiro
4e49492999
feat(tui): allow disable copy on fullscreen, ctrl + x copies selection (#8731) 2026-08-27 18:07:54 +02:00
Armin Ronacher
e86823096c feat(tui): add terminal capability overrides closes #8665 2026-08-26 17:40:36 +02:00
Vegard Stikbakke
1e1a6e27be feat(coding-agent): include paths in settings errors 2026-08-19 13:07:20 +02:00
Armin Ronacher
4d9aa837c2 feat(coding-agent): add configurable default tools 2026-08-12 15:27:01 +02:00
Armin Ronacher
ac4ac9eaf6 feat(coding-agent): configure fullscreen exit output 2026-08-07 18:30:28 +02:00
Armin Ronacher
5446cd7545 feat(coding-agent): rename UI mode to TUI mode 2026-08-05 22:56:58 +02:00
Alexey Zaytsev
66534fbdc7
feat(coding-agent): render Mermaid diagrams (#7624) 2026-08-05 09:43:24 +02:00
Armin Ronacher
6129a353b1 feat(tui): add configurable fullscreen scrollbars 2026-07-31 17:17:02 +02:00
Vegard Stikbakke
f074efd921 feat(coding-agent): add ui mode setting 2026-07-31 15:33:52 +02:00
Aaron Ky-Riesenbach
1a2542b11b
feat(coding-agent): expand ~ in shellPath setting (#6470)
getShellPath() now runs the configured shellPath through the existing
normalizePath() helper, mirroring getSessionDir(). This lets shellPath
point at a home-directory-relative shell wrapper (e.g.
~/.local/bin/agent-shell-sandbox) and resolves consistently across
machines and OSes with different home directories.

refs #6458
2026-07-09 23:23:06 +02:00
Alexey Zaytsev
6564d94717
feat(coding-agent): add configurable assistant output padding
Closes #6168
2026-06-30 11:44:34 +02:00
Armin Ronacher
5a073885b5 feat(coding-agent): add external editor setting
Some checks are pending
CI / build-check-test (push) Waiting to run
Closes #6122
2026-06-27 23:57:46 +02:00
Armin Ronacher
d0b46764b1
feat(coding-agent): add automatic theme mode (#5874) 2026-06-18 17:13:47 +02:00
Armin Ronacher
5cb4f597f7 feat(ui): Improved project approval settings 2026-06-09 13:25:54 +02:00
Mario Zechner
89a92207f1 feat(coding-agent): add project trust gating
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-06-05 10:51:43 +02:00
Armin Ronacher
849f9d9c5a
fix(coding-agent): configure HTTP idle timeout (#4759) 2026-05-20 12:45:00 +02:00
Mario Zechner
60290b0d75 fix(coding-agent): expand ~ in sessionDir
closes #3514
2026-04-22 00:21:57 +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
Sam
2b1fc90cd7
feat(coding-agent): Add sessionDir support in settings.json (#2598)
Users can now set sessionDir in global or project settings.json instead
of passing --session-dir on every invocation. CLI flag takes precedence,
then settings.json, then extension hooks.

Closes #2429

Co-authored-by: Sam Collins <81678+smcllns@users.noreply.github.com>
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-03-26 00:03:36 +01:00
Duncan Ogilvie
f1a2092bcf
Do not create empty .pi folder unconditionally (#1588) 2026-02-23 00:59:10 +01:00
Mario Zechner
de2736bad0 refactor(coding-agent): improve settings storage semantics and error handling 2026-02-17 00:08:32 +01:00
Mario Zechner
fcfbc82ec2 fix(coding-agent): reload global settings fixes #1241 2026-02-04 14:14:52 +01:00
Mario Zechner
79ab767beb test(coding-agent): update settings and extension tests 2026-01-24 01:43:34 +01:00
Mario Zechner
ef1fc3103e feat(coding-agent): add packages array with filtering support
- Add PackageSource type for npm/git sources with optional filtering
- Migrate npm:/git: sources from extensions to packages array
- Add getPackages(), setPackages(), setProjectPackages() methods
- Update package-manager to resolve from packages array
- Support selective loading: extensions, skills, prompts, themes per package
- Update pi list to show packages
- Add migration tests for settings

closes #645
2026-01-23 19:51:23 +01:00
Mario Zechner
fbb74bb29e fix(ai): filter empty error assistant messages in transformMessages
When 429/500 errors occur during tool execution, empty assistant messages
with stopReason='error' get persisted. These break the tool_use -> tool_result
chain for Claude/Gemini APIs.

Added centralized filtering in transformMessages to skip assistant messages
with empty content and no tool calls. Provider-level filters remain for
defense-in-depth.
2026-01-16 22:35:50 +01:00
ferologics
e0dbdc56d6 fix: preserve externally-added settings when saving
When a user edits settings.json while pi is running (e.g., adding
enabledModels), those settings would be lost when pi saved other
changes (e.g., changing thinking level via Shift+Tab).

The fix re-reads the file before saving and merges the current file
contents with in-memory changes, so external edits are preserved.

Adds test coverage for SettingsManager.
2026-01-07 11:31:14 +01:00