Commit graph

5681 commits

Author SHA1 Message Date
Armin Ronacher
c36552212e agents: Adjust rules for changelog entries 2026-08-14 12:45:26 +02:00
David Brailovsky
0e0021fbbe Add [Unreleased] section for next cycle 2026-08-14 12:00:04 +02:00
David Brailovsky
914cf1472e Release v0.84.2 2026-08-14 12:00:00 +02:00
David Brailovsky
9b4adc823f docs: audit changelogs since v0.84.1 2026-08-14 09:50:22 +00:00
David Brailovsky
d10c974b94 docs: audit changelogs since v0.84.1 2026-08-14 11:47:05 +02:00
Panoplos
4caa3c440b
fix(tui): route selection copy through the host clipboard (#8110)
TuiAltScreen.copySelectionToClipboard() wrote a bare OSC 52 sequence and
flashed "Copied!" unconditionally. Terminals that ignore OSC 52 clipboard
writes (macOS Terminal.app, VTE terminals, tmux without OSC 52 passthrough)
left the system clipboard untouched while the toast reported success.

Add an injectable copySelection option to TuiAltScreenOptions (an async
handler returning whether the copy succeeded) and use it when provided,
falling back to the existing OSC 52 write otherwise. The coding agent now
injects its native clipboard implementation (clipboard addon + pbcopy /
wl-copy / xclip / xsel), so selection copy reaches the real clipboard and
the toast only fires on verified success, with "Copy failed" otherwise.

Closes #7761

Co-authored-by: 富永 誠 <makoto@credify.one>
2026-08-14 11:46:46 +02:00
github-actions[bot]
48bd3f424d chore: approve contributors from issue #8092 2026-08-14 09:41:22 +00:00
Anders Bech Mellson
ab0dc51fcf
fix(coding-agent): use APP_NAME in user-facing messages (#8067)
APP_NAME is derived from piConfig.name so a rebranded distribution shows
its own name, and roughly 90 call sites already use it. Twelve
user-facing strings hardcoded "pi" instead, so those messages named the
upstream binary regardless of piConfig.name:

- the trust project folder prompt
- "Restart pi for this to take effect." after a saved trust decision
- the "Start without extensions" hint on an extension load failure
- the invalid session file error
- the executable location in the self-update-unavailable notice
- the three auth command usage strings and the unknown auth command
  error, which are printed next to `${APP_NAME} --help` in main.ts and
  so contradicted it
- "is configured outside pi." in the provider setup dialog
- the uncaughtException line

Output is unchanged for pi itself: piConfig has no name, so APP_NAME
falls back to "pi".
2026-08-14 11:26:20 +02:00
Mario Zechner
5093641a56 fix(ai): preserve Google length stops with tool calls
closes #8059
2026-08-14 11:25:40 +02:00
github-actions[bot]
c5b7cd2a33 chore: approve contributors from issue #8063 2026-08-14 09:20:04 +00:00
github-actions[bot]
f3c406a9b2 chore: approve contributors from issue #8018 2026-08-14 08:51:32 +00:00
github-actions[bot]
0589435e7d chore: approve contributors from issue #8007 2026-08-14 08:49:18 +00:00
Mario Zechner
e14afc648e fix(coding-agent): collapse fallback tool output closes #7979 2026-08-14 10:22:36 +02:00
Mario Zechner
83aed2ba58 fix(tui): handle generic SGR mouse releases
closes #7963
2026-08-14 10:11:15 +02:00
Mario Zechner
6633618350 fix(coding-agent): update vulnerable nanoid dependency 2026-08-14 10:09:35 +02:00
github-actions[bot]
721e2768ee chore: approve contributors from issue #7973 2026-08-14 08:03:33 +00:00
alexsavio
d268454e9c
fix(examples): accept array-form tools in the subagent example (#7598)
`parseFrontmatter` runs a real YAML parser, so `tools: [read, bash]`
arrives as an array while `tools: read, bash` arrives as a string. The
loader only handled the string form and called `.split(",")`, which
throws on the array form.

The throw escapes `loadAgentsFromDir` -- only `readdirSync` and
`readFileSync` are guarded -- so one agent file using the array form
broke discovery for every agent in that scope, not just itself.

Normalize both spellings in one helper, and type the frontmatter fields
as `unknown` so the string assumptions are explicit. The previous
`parseFrontmatter<Record<string, string>>` annotation asserted a shape
the YAML parser never guarantees, which is what hid the mismatch from
tsc while `AgentConfig.tools` was already typed `string[]`.
2026-08-14 09:59:42 +02:00
David Brailovsky
5f7195c51e fix(coding-agent): update Cloudflare compat test model 2026-08-14 09:32:24 +02:00
David Brailovsky
9d2ec7ffab fix(ai): use pi user agent for Kimi Coding requests 2026-08-13 22:26:38 +02:00
Vegard Stikbakke
6f707eb360 fix(coding-agent): show managed-tool startup status in TUI 2026-08-13 15:54:34 +02:00
Vegard Stikbakke
46bb9a2c3b docs(coding-agent): clarify Windows paths in settings 2026-08-13 09:54:58 +02:00
Armin Ronacher
7d8c11d37f fix(coding-agent): share concurrent model catalog refreshes 2026-08-13 09:43:36 +02:00
Mario Zechner
581d75a89c docs(coding-agent): document model catalog refresh 2026-08-13 00:53:22 +02:00
Christian Klotz
c93ea6ccf0
fix(coding-agent): preserve usage in streaming events (#7982)
Fixes #7911
2026-08-13 00:32:26 +03:00
Ramiz Wachtler
9795d60230
feat(coding-agent): add per-run theme selection (#7722)
- add `--use-theme` for fixed and terminal-aware theme pairs
- keep invocation state non-persistent until an explicit selection
- preserve active themes across previews, reloads, and HTML exports
2026-08-12 16:25:38 +02:00
Armin Ronacher
541045ae0e fix(coding-agent): preserve extension tools with defaults 2026-08-12 15:42:55 +02:00
Armin Ronacher
4d9aa837c2 feat(coding-agent): add configurable default tools 2026-08-12 15:27:01 +02:00
Cristina Poncela Cubeiro
47b5119d09
fix: trigger turn false should not start turn (#8022) 2026-08-12 15:16:05 +02:00
Vegard Stikbakke
6d520c58d0 chore(docs): fix ascii alignment in compaction docs 2026-08-12 14:56:26 +02:00
David Brailovsky
2e4d239594 fix(tui): give focused fullscreen overlays wheel and viewport keys
Skip TuiAltScreen viewport consume for wheel and alt-screen scroll
keys when a visible overlay has focus. Transcript search still owns
those events so the transcript can move while the find box is open.

fixes #7894
2026-08-12 10:02:32 +02:00
Armin Ronacher
534bcbffb7 fix(tui): handle LaTeX control spaces across line endings 2026-08-11 23:19:24 +02:00
Michael Renner
2a9b4ebc68
docs: document terminal-specific fullscreen mouse behavior (#7965)
* docs(coding-agent): document iTerm2 fullscreen scroll workaround

* docs(coding-agent): document Ghostty fullscreen link behavior
2026-08-11 16:57:05 +02:00
Mario Zechner
40a3d8556a docs(agent): add table of contents 2026-08-11 15:31:27 +02:00
Mario Zechner
85a2060811 docs(agent): consolidate harness spec into harness.md 2026-08-11 15:29:18 +02:00
Mario Zechner
51b45bc5bc docs(agent): restructure build order into parallel storage and runtime tracks 2026-08-11 15:27:21 +02:00
Mario Zechner
b6557f43ec docs(agent): make search a standalone service, open metadata-filter question 2026-08-11 14:58:58 +02:00
Mario Zechner
8d8c60da70 docs(agent): specify optional pull-based search service 2026-08-11 14:53:28 +02:00
Mario Zechner
47b021a659 docs(agent): add seq-ranged usage ledger scan 2026-08-11 14:43:47 +02:00
Mario Zechner
2545585395 docs(agent): one sqlite file per session, search becomes external 2026-08-11 14:32:13 +02:00
Vegard Stikbakke
b3edf01702 fix(ai): bound Copilot policy update concurrency 2026-08-11 14:25:53 +02:00
Mario Zechner
e33e74450a docs(agent): replace historical rationale with direct statements 2026-08-11 14:11:14 +02:00
Mario Zechner
a348560b15 docs(agent): drop historical changes appendix 2026-08-11 14:03:00 +02:00
Mario Zechner
2862eb4ed1 docs(agent): reword cancellation triage note 2026-08-11 14:01:40 +02:00
Mario Zechner
e1b444ba62 docs(agent): tighten identity section 2026-08-11 13:55:39 +02:00
Mario Zechner
b8349db854 docs(agent): re-mint legacy ids at import, drop redundant register paragraph 2026-08-11 13:53:33 +02:00
Mario Zechner
01701fd372 docs(agent): clarify register references vs immutable snapshots 2026-08-11 13:51:13 +02:00
Mario Zechner
bcd056a8cd docs(agent): drop historical placement-payload rationale 2026-08-11 13:50:06 +02:00
Mario Zechner
638ac11239 docs(agent): resolve providers and tools at dispatch, drop lease machinery 2026-08-11 13:49:37 +02:00
Mario Zechner
f98629b399 docs(agent): fix broken code fence in crash example 2026-08-11 13:35:49 +02:00
Cristina Poncela Cubeiro
b75be04d92
refactor: search (#7797)
* refactor: search out of repo

* fix: apply cases, no resolve for index on every hit

* chore: tests

* fix: use iterator and no open

* refactor: public dir stuff in jsonl, source

* cleanup and sqlite time number

* fix: use storage for label search too, delete types

* refactor: abstract some more

* docs: example jsonl with elastic search

* docs: Christian's md

* refactor: simpler api surface

* feat: rebuild

* docs: consolidate

* fix: use trigger for sqlite, cleanup indexable, add example in doc

* chore: restore upstream responses shared

* fix: delete metadata from jsonl search hit

* fix: AsynIterable

* refactor: scanning for memory, reuse

* fix: dont export jsonlSessionDirectoryName

* cleanup: more shared stuff

* cleanup: why, jsonl?
2026-08-11 13:27:48 +02:00