Commit graph

145 commits

Author SHA1 Message Date
Armin Ronacher
312c5bd700 fix(coding-agent): launch internal processes portably 2026-08-15 15:51:37 +02:00
Armin Ronacher
9ad77a2c6b fix: remove redundant hidden Unix socket entries 2026-08-15 12:26:28 +02:00
Armin Ronacher
5876bc49f9 feat(coding-agent): isolate coordinators by server ID 2026-08-15 12:20:05 +02:00
Armin Ronacher
d96144c6a3 feat(coding-agent): make server directory configurable
Place the server profile and all Unix sockets under PI_SERVER_DIR, defaulting to ~/.pi/server. Keep test sockets isolated through the same override.
2026-08-15 12:06:59 +02:00
Armin Ronacher
8dce5da769 feat(coding-agent): coordinate replaceable servers and workers
Keep the stable socket in an opaque detached coordinator while server processes own detached worker discovery and lifecycle. Remove the public drain RPC in favor of server replacement through coordinator routing.
2026-08-15 11:49:53 +02:00
Christian Klotz
b35b4e0e48
feat(coding-agent): host durable sessions in workers 2026-08-15 01:09:57 +03:00
Christian Klotz
95d74e8c6b
feat(server): pass session metadata to harness hosts 2026-08-15 01:08:12 +03:00
Christian Klotz
ef93d9292e
feat(coding-agent): configure experimental server session directory 2026-08-15 01:05:27 +03:00
Armin Ronacher
80b6797c92 feat: rename service IDs to server IDs
Use canonical lowercase UUIDv4 serialization and generate launcher IDs with randomUUID().
2026-08-14 23:25:56 +02:00
Christian Klotz
9fcaac9b1a
fix: use bounded runtime paths for Unix sockets 2026-08-14 17:02:03 +03:00
Christian Klotz
6b3fb49dd9
feat: add fail-fast server generation replacement 2026-08-14 13:40:55 +03:00
David Brailovsky
09fb0d157e Merge remote-tracking branch 'origin/main' into dev 2026-08-14 10:25:49 +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
Christian Klotz
17fd502621
feat(coding-agent): host sessions in child processes
Track worker startup, shutdown, and unexpected exits through hosted Harness handles. Rename PiServerService to PiServerHost.
2026-08-14 10:16:11 +03:00
Christian Klotz
e2888c4a93
feat(coding-agent): add local list and attach demo 2026-08-14 00:36:33 +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
a261366bde feat(coding-agent): add auth preflight
closes #7152
2026-08-06 19:43:52 +02:00
Armin Ronacher
5446cd7545 feat(coding-agent): rename UI mode to TUI mode 2026-08-05 22:56:58 +02:00
Mario Zechner
fed6009cc9 fix(coding-agent): make model refresh cancellation caller-owned
Add generation-safe catalog publication, cancellable auth and storage operations, locally consistent credential mutations, and cache-first interactive model flows.
2026-08-04 00:03:52 +02:00
Armin Ronacher
c72728bc1a fix(coding-agent): remove obsolete --alt shortcut 2026-08-03 19:00:35 +02:00
David Brailovsky
c1019d9202 feat(ai): add Baseten provider
Closes #7405
2026-08-03 14:33:21 +02:00
Christian Klotz
1ee411a282
feat(coding-agent): compose experimental CLI commands 2026-08-02 11:50:56 +03:00
Christian Klotz
15b6617fac
fix(coding-agent): preserve existing CLI option values 2026-08-01 23:16:30 +03:00
Christian Klotz
b0944d75cf
fix(coding-agent): validate Unix transport URLs 2026-08-01 23:16:30 +03:00
Christian Klotz
c2923b641c
refactor(coding-agent): simplify experimental command names 2026-08-01 23:16:30 +03:00
Christian Klotz
68ad320af1
refactor(coding-agent): model experimental CLI commands 2026-08-01 23:16:30 +03:00
Christian Klotz
15fb81a6f3
refactor(coding-agent): limit experimental parser to transport options 2026-08-01 23:16:30 +03:00
Christian Klotz
c95e877e2d
refactor(coding-agent): keep thinking validation parser-local 2026-08-01 23:16:30 +03:00
Christian Klotz
0ac010b746
refactor(coding-agent): rename transport endpoint to address 2026-08-01 23:16:30 +03:00
Christian Klotz
1ea4ccad04
refactor(coding-agent): generalize experimental endpoints 2026-08-01 23:16:30 +03:00
Christian Klotz
f9a5c75f20
feat(coding-agent): add experimental CLI option parser 2026-08-01 23:16:30 +03:00
Vegard Stikbakke
f074efd921 feat(coding-agent): add ui mode setting 2026-07-31 15:33:52 +02:00
Mario Zechner
c13ffe1877 feat(tui): add alternate-screen renderer
Closes #7304
2026-07-30 12:59:48 +02:00
Cristina Poncela Cubeiro
99e34013d1
feat: auth print (#7168)
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-07-27 16:13:06 +02:00
Armin Ronacher
24e5cc04f4
fix(ai): support Anthropic bearer token env (#6148)
Fixes #5871
2026-07-24 15:13:22 +02:00
David Brailovsky
fe42ba5b38
write tui debug/crash logs into the configured pi agent dir (#6958)
fixes #6652
2026-07-22 15:48:25 +02:00
QuintinShaw
bbb91fa8ae
feat(ai): add Qwen Token Plan as built-in provider (#6858)
Add Alibaba Cloud Model Studio Token Plan subscription service as two
built-in API-key providers: qwen-token-plan (international, Singapore)
and qwen-token-plan-cn (China, Beijing).

Each provider exposes 15 text-generation models (Qwen, DeepSeek, GLM,
Kimi, MiniMax) via the OpenAI-compatible endpoint with DashScope
enable_thinking support. Model metadata is sourced from models.dev;
qwen3.8-max-preview is hardcoded until models.dev includes it.

Also fixes kimi-coding test references (k2p7 -> kimi-for-coding) after
models.dev catalog update picked up by generate-models.

Closes #6850
2026-07-20 13:53:30 +02:00
Armin Ronacher
97f9978fa6 feat(coding-agent): add model catalog refresh flag 2026-07-16 12:46:49 +02:00
Mario Zechner
9993c96907 feat(coding-agent): replace model registry with model runtime
Move provider auth and OAuth flows onto pi-ai Models, compose models.json and extension overlays through ModelRuntime, and retain ModelRegistry as an extension compatibility facade.
2026-07-14 17:48:45 +02:00
Mario Zechner
fbdd46389c feat(ai): add max thinking level 2026-07-09 22:30:53 +02:00
Armin Ronacher
c8ada4e76e
Improve project-local pi config (#6309)
* feat(coding-agent): improve config resource overrides

* fix(coding-agent): simplify config resource overrides
2026-07-06 20:50:30 +02:00
Armin Ronacher
4cc339f58d fix(coding-agent): process BMP images from disk
closes #6047
2026-06-25 12:52:21 +02:00
Armin Ronacher
aa6bdd778a fix(coding-agent): load resume startup themes 2026-06-22 17:20:08 +02:00
Armin Ronacher
4f71b2d3b7 fix(coding-agent): clarify ZAI Coding Plan label
closes #5965
2026-06-22 13:04:08 +02:00
Armin Ronacher
aae62dfa87 feat(coding-agent): make bare update self-only 2026-06-18 18:09:03 +02:00
Vegard Stikbakke
f0989800cb
feat: detect first-run terminal theme (#5385)
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-06-14 07:14:42 +02:00
Vegard Stikbakke
1da903983a
fix(coding-agent): skip first-time setup for forks (#5627) 2026-06-11 21:36:26 +02:00
Vegard Stikbakke
0ab2aa86af
feat(coding-agent): add experimental first-time setup flow (#5587)
Behind PI_EXPERIMENTAL=1, show a first-time setup dialog on interactive startup when the default agent directory is used and settings.json does not exist. The dialog preselects the detected terminal appearance with an explicit dark/light choice (live preview) and asks for opt-in analytics data sharing. Submitting writes settings.json, which serves as the completion marker; opting in stores a generated trackingId. Escape at any point skips out of setup.
2026-06-10 12:11:49 +02:00
Armin Ronacher
359a0769f1 fix: simplify help 2026-06-09 13:36:05 +02:00
Armin Ronacher
5cb4f597f7 feat(ui): Improved project approval settings 2026-06-09 13:25:54 +02:00