Commit Graph
100 Commits
Author SHA1 Message Date
Mario Zechner e4f7fe7bb7 feat(coding-agent): batch package updates
closes #2980
2026-04-20 22:56:26 +02:00
Mario Zechner 968430f63e fix(tui): avoid cwd-path matches in @ autocomplete
Only use fd --full-path for path queries so plain fuzzy @ autocomplete results no longer depend on whether the cwd path contains the query text.

closes #2778
2026-04-20 22:44:34 +02:00
Mario Zechner 7b1599058b docs(agent): clarify parallel tool ordering closes #3468 2026-04-20 22:35:43 +02:00
Mario Zechner c40efa9bab fix(coding-agent): resolve shell config from session settings
Stop shell resolution from consulting ambient process.cwd() during bash execution and use the active session's shellPath setting instead.

closes #3452
2026-04-20 22:32:11 +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 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
Mario Zechner ed89480f20 docs(coding-agent): document async extension factories closes #3469 2026-04-20 22:02:03 +02:00
Mario Zechner 1d488626d9 fix(ai): preserve requiresThinkingAsText replay semantics closes #3387 2026-04-20 19:44:38 +02:00
Mario Zechner b73212616d fix(coding-agent): skip redundant npm package updates
closes #3000
2026-04-20 19:12:52 +02:00
Mario Zechner 3054fd7a3b fix(ai,coding-agent): support anthropic-style cache control for openai compatibles closes #3392 2026-04-20 17:12:05 +02:00
Mario Zechner 4b2caf43a8 fix(ai): add completions session affinity compat closes #3430 2026-04-20 16:55:16 +02:00
Mario Zechner 2f4f283cc2 fix(ai,coding-agent): preserve non-vision image placeholders closes #3429 2026-04-20 16:52:27 +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
Mario Zechner d56e5aea0b fix(coding-agent): detect Windows pnpm global installs closes #3378 2026-04-20 15:59:57 +02:00
Mario Zechner aa1b587b10 fix(ai): add direct OpenAI completions prompt caching closes #3426 2026-04-20 15:37:29 +02:00
Mario Zechner 6b55d6859d fix(tui): restore shifted xterm input
closes #3436
2026-04-20 15:36:10 +02:00
Mario Zechner da6a81d398 fix(coding-agent): reuse session thinking for compaction closes #3438 2026-04-20 15:09:50 +02:00
Mario Zechner d66ef6dce8 fix(coding-agent): add missing typebox dependency
closes #3434
2026-04-20 15:08:34 +02:00
Mario Zechner 5ea8a276eb fix(coding-agent): preserve share page tool output indentation closes #3440 2026-04-20 14:46:37 +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
Mario Zechner 00887125c0 Add [Unreleased] section for next cycle 2026-04-18 01:32:50 +02:00
Mario Zechner a1edb8a463 Release v0.67.68 2026-04-18 01:31:38 +02:00
Mario Zechner 454b9619c7 fix(ai): use SDK token auth and omit Bedrock display in GovCloud closes #3359 2026-04-18 01:24:13 +02:00
Mario Zechner 2dddc5ba25 fix(ai): sanitize Mistral tool schemas closes #3361 2026-04-18 00:54:46 +02:00
Mario Zechner cbf0d1fbfa Add [Unreleased] section for next cycle 2026-04-17 23:06:48 +02:00
Mario Zechner 1c0b628882 Release v0.67.67 2026-04-17 23:06:48 +02:00
Mario Zechner 27620f9383 fix(release): use npx shx for explicit versions 2026-04-17 23:06:48 +02:00
Mario Zechner 1573d46ac2 chore: allow explicit release versions 2026-04-17 23:06:48 +02:00
Mario Zechner b0c2579fd7 chore(changelog): update unreleased entries 2026-04-17 22:54:02 +02:00
Mario Zechner 62778a82d5 fix(ai): use reasoning_effort for Mistral Small 4 closes #3338 2026-04-17 22:44:27 +02:00
Mario Zechner e3f6912d49 fix(ai): preserve qwen chat-template thinking closes #3325 2026-04-17 16:59:00 +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
Mario Zechner 3cea63cf29 fix(coding-agent): resolve captured commands on close closes #3027 2026-04-17 16:45:05 +02:00
Mario Zechner c15e4d4913 fix(coding-agent): retry connection lost errors
closes #3317
2026-04-17 16:45:05 +02:00
Mario Zechner ddbf642179 chore(coding-agent): update changelog for git install devDependency omission closes #3009 2026-04-17 01:53:20 +02:00
Mario Zechner e9808b5854 fix(coding-agent): restore afterToolCall error overrides closes #3051 2026-04-17 01:49:34 +02:00
Mario Zechner 32c52a86a8 chore: remove dyyz1993 from approved contributors 2026-04-17 01:25:23 +02:00
Mario Zechner 7f55605aa2 chore(coding-agent): reference stable date format fix (fixes #2814) 2026-04-17 01:22:52 +02:00
Mario Zechner f81acc6679 fix(coding-agent): use stable date format in system prompt 2026-04-17 01:21:38 +02:00
Mario Zechner ef1fcfcec2 fix(coding-agent): omit devDependencies when installing packages (fixes #3009) 2026-04-17 01:21:31 +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 e5f86f25f2 fix(coding-agent): honor PI_PACKAGE_DIR for bun asset paths closes #3074 2026-04-17 00:38:34 +02:00
Mario Zechner 8404fbafdb test(ai): align adaptive thinking payload assertions 2026-04-17 00:35:07 +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
Mario Zechner 9078230b1a fix(coding-agent): export rpc client from root entrypoint
closes #3275
2026-04-16 23:56:59 +02:00
Mario Zechner b9cd557d1d fix(agent): guard afterToolCall hook errors in finalization
closes #3084
2026-04-16 23:51:38 +02:00
Mario Zechner 5476b56e41 Add [Unreleased] section for next cycle 2026-04-16 23:26:44 +02:00
Mario Zechner 2a356dca4d Release v0.67.6 2026-04-16 23:25:54 +02:00
Mario Zechner cab5f758e7 docs(coding-agent): audit [Unreleased] entries since v0.67.5
Add missing entries and cross-package duplications:
- after_provider_response extension hook (#3128)
- Compact startup header with Ctrl+O toggle (#3267)
- preset example: restore original state on (none) (#3272)
- OSC 8 hyperlinks in markdown (#3248)
- Hyperlink capability detection tightening (#3248)
- OpenAI Responses session_id headers for proxies (#3264)

Add New Features summary at the top of [Unreleased].
2026-04-16 23:23:58 +02:00
Mario Zechner 9f523babcd docs(coding-agent,tui): move argument-hint changelog entries to [Unreleased]
Move the argument-hint entries added in #2780 out of the already-released
0.65.0 sections and into [Unreleased], and credit the external contributor
with a PR link per AGENTS.md changelog rules.
2026-04-16 23:16:20 +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 f84c4c89f5 fix(ai): restore FakeOpenAI mock .withResponse() so openai-completions tests pass
The openai-completions provider now calls .withResponse() on the
create() result to surface HTTP status/headers for the new onResponse
hook (d131fcd4). The FakeOpenAI test mock only returned an async
iterable, so 4 tests in openai-completions-tool-choice.test.ts that
actually consume the stream failed with "withResponse is not a function".

Updated the mock to return a Promise augmented with .withResponse()
resolving to { data: <async iterable>, response: { status, headers } }.

closes #3304
2026-04-16 22:57:30 +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 ab518d8651 docs(ai): changelog for openai-responses session header fix
closes #3196
2026-04-16 22:42:40 +02:00
Mario Zechner 30a8a41fc3 fix(tui): default hyperlinks off for unknown terminals and tmux/screen
OSC 8 hyperlinks landed in #3248, but detectCapabilities() returned
hyperlinks: true in the unknown-terminal fallback. Terminals that
silently swallow OSC 8 (most xterm-compatible hosts, tmux/screen
without passthrough) end up dropping the URL from rendered markdown
links entirely, since the fallback 'text (url)' rendering is skipped
whenever hyperlinks is true.

- Unknown terminals now default to hyperlinks: false.
- tmux and screen (TMUX env, TERM starting with tmux/screen) force
  hyperlinks: false even when the outer terminal would otherwise
  advertise OSC 8 support. Image protocols also left disabled.
- Added detectCapabilities tests covering the known-capable set and
  the tmux/screen/unknown cases.
2026-04-16 22:19:38 +02:00
Mario Zechner c3ded498ad docs(ai): drop incorrect anthropic sdk bump changelog entry
The @anthropic-ai/sdk range was already ^0.90.0 in the previous commit.
Only node_modules was stale; no dependency version actually changed.
2026-04-16 22:16:48 +02:00
Mario Zechner acbf8eca06 feat(ai): add thinkingDisplay option for Anthropic and Bedrock Claude
Exposes the new ThinkingConfig.display field on Anthropic and Bedrock
Claude providers. Defaults to 'summarized' so Claude Opus 4.7 and Mythos
Preview keep returning thinking text despite Anthropic's silent default
change to 'omitted'. Set to 'omitted' explicitly to skip thinking
streaming for faster time-to-first-text-token.
2026-04-16 22:12:06 +02:00
Mario Zechner 7b45c52807 fix(coding-agent): restore verbose startup expansion
closes #3147
2026-04-16 21:42:57 +02:00
Mario Zechner a5f9f47d13 fix(ai): restore changelog and sdk type compatibility 2026-04-16 20:32:23 +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 e9ba9e2ebc fix(coding-agent): harden find cancellation and grep match formatting closes #3148 2026-04-16 13:15:58 +02:00
Mario Zechner b5007640d9 docs(coding-agent): changelog entry for loadProjectContextFiles export
closes #3142
2026-04-16 12:44:01 +02:00
Mario Zechner 1d6de01c96 feat(coding-agent): export loadProjectContextFiles() standalone utility
closes #3142
2026-04-16 12:44:01 +02:00
Mario Zechner 624a7f794f fix(coding-agent): handle ctrl+z on windows closes #3191 2026-04-16 12:33:47 +02:00
Mario Zechner eb1cf80b10 fix(ai,coding-agent): replace deprecated kimi k2p5 model closes #3242 2026-04-16 12:06:24 +02:00
Mario Zechner 1c016cb018 fix(ai): cache Anthropic tools separately from transcript closes #3260 2026-04-16 11:31:58 +02:00
Mario Zechner e189b23964 feat(coding-agent): add --no-context-files flag
closes #3253
2026-04-16 10:59:32 +02:00
Mario Zechner 33e632dfce fix(coding-agent): stabilize edit tool redraw test 2026-04-15 23:54:34 +02:00
Mario Zechner e0918a627b Add [Unreleased] section for next cycle 2026-04-15 23:41:16 +02:00
Mario Zechner 0299811c02 Release v0.67.3 2026-04-15 23:40:28 +02:00
Mario Zechner 01b98a27af test(coding-agent): make rpc preflight error assertion path-agnostic 2026-04-15 23:39:10 +02:00
Mario Zechner cbf6e6141c docs(changelog): audit unreleased entries since v0.67.2 2026-04-15 23:37:09 +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 ae6d493fcb fix(coding-agent): emit rpc prompt response after preflight closes #3049 2026-04-15 23:09:56 +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 b920622110 refactor(ai): extract synthetic tool result helper 2026-04-15 20:53:21 +02:00
Mario Zechner 3929e0c181 fix(tui): skip Kitty query inside Zellij\n\nfixes #3163 2026-04-15 18:43:37 +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 c2c185a5e6 fix: keep issues open on contributor approval fixes #3214 2026-04-15 16:13:07 +02:00
Mario Zechner 8a232acd28 Update APPROVED_CONTRIBUTORS 2026-04-15 15:13:25 +02:00
Mario Zechner fd91acec8b docs(coding-agent): add missing changelog entry for #3194 2026-04-15 14:12:25 +02:00
Mario Zechner a8f51764c8 fix(coding-agent): add live retry countdown\n\ncloses #3187 2026-04-15 14:07:46 +02:00
Mario Zechner 79df7c3114 docs: update root AGENTS guidance 2026-04-15 14:04:07 +02:00
Mario Zechner c7a487cddd chore: remove files extension 2026-04-15 13:30:42 +02:00
Mario Zechner e1d95538bc chore: remove diff extension 2026-04-15 13:30:42 +02:00
Mario Zechner 94f24f2102 Add [Unreleased] section for next cycle 2026-04-14 23:42:08 +02:00
Mario Zechner 5a3e702389 Release v0.67.2 2026-04-14 23:41:17 +02:00
Mario Zechner be6ac02238 docs: audit unreleased changelog entries 2026-04-14 23:40:29 +02:00
Mario Zechner 018b40c30c fix: align OpenAI cache affinity and use uuidv7 session ids 2026-04-14 23:20:13 +02:00
Mario Zechner d62d22173a chore: replace OSS weekend with permanent contribution gate 2026-04-14 23:16:11 +02:00
Mario Zechner 8f66938c80 docs(tui): add changelog entry for PR 2989 2026-04-14 21:00:12 +02:00
Mario Zechner 5ed4600350 fix(tui): resolve rebase typo closes #2979 2026-04-14 20:41:28 +02:00
Mario Zechner ddb8454c87 fix(tui): complete super key helper support closes #2979 2026-04-14 20:40:34 +02:00