Commit Graph

453 Commits

Author SHA1 Message Date
Mario Zechner cd7cad4ee2 feat(coding-agent): merge origin/main into model runtime facade 2026-07-15 12:25:36 +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
Armin Ronacher 2b3fda9921 Release v0.80.6 2026-07-10 01:16:55 +02:00
Mario Zechner fbdd46389c feat(ai): add max thinking level 2026-07-09 22:30:53 +02:00
Armin Ronacher cc62baa442 Release v0.80.5 2026-07-09 21:04:06 +02:00
Armin Ronacher 912d0953f6 Release v0.80.4 2026-07-09 20:52:57 +02:00
Mario Zechner 1ffca0f2aa fix(coding-agent): align reload descriptions
closes #6395
2026-07-09 11:47:44 +02:00
Armin Ronacher 604ac652d0 fix: CI 2026-07-05 22:45:18 +02:00
Vegard Stikbakke ec857fece5 fix(coding-agent): set executionMode: sequential on question example tool
The question extension tool blocks on ctx.ui.custom() but omitted
executionMode, so multiple question calls in one assistant turn ran
under the default parallel mode and raced on the editor slot. Only the
last question rendered; earlier calls hung pending forever.

Set executionMode: "sequential" so the agent loop serializes the
batch. Wrappers already propagate the field to the core.

closes #6189
2026-07-02 09:01:15 +02:00
Mario Zechner ba10b60b51 fix(coding-agent): add entry renderers for session entries 2026-07-01 11:30:26 +02:00
Mario Zechner a23abe4a69 Release v0.80.3 2026-06-30 22:29:41 +02:00
Mario Zechner 1d48616328 Fix examples, update to latest undici for vuln fix 2026-06-25 16:01:07 +02:00
Armin Ronacher 0201806adf Release v0.80.2 2026-06-23 23:45:36 +02:00
Armin Ronacher 1c4a9ba7c8 Release v0.80.1 2026-06-23 20:04:09 +02:00
Armin Ronacher f08e968c83 Release v0.80.0 2026-06-23 19:30:32 +02:00
Mario Zechner abbd911693 Merge main into model-registry 2026-06-22 14:00:18 +02:00
Armin Ronacher 8e1900666f Release v0.79.10 2026-06-22 11:14:43 +02:00
Armin Ronacher 542683b29a fix(coding-agent): fix plan-mode example
closes #5940
2026-06-21 22:10:17 +02:00
Armin Ronacher 615bf2f874 Release v0.79.9 2026-06-20 22:15:37 +02:00
Armin Ronacher 8eb9704b3e Release v0.79.8 2026-06-19 09:53:43 +02:00
Armin Ronacher c4ab61dcbf Release v0.79.7 2026-06-18 18:22:07 +02:00
Vegard Stikbakke 008c76f955 feat(coding-agent): export project config dir name 2026-06-18 10:27:11 +02:00
Armin Ronacher 31bfb2f16f Release v0.79.6 2026-06-16 23:59:14 +02:00
Armin Ronacher 6561cb293b Release v0.79.5 2026-06-16 19:54:23 +02:00
Armin Ronacher bba6af2c71 Release v0.79.4 2026-06-15 10:28:21 +02:00
Alexey Zaytsev 6b40c99a59 feat(examples): Wrap question extension text instead of truncating (#5708) 2026-06-14 15:02:58 +02:00
Armin Ronacher f2585c4c82 Release v0.79.3 2026-06-13 11:11:11 +02:00
Armin Ronacher f21f3c4bbd Release v0.79.2 2026-06-13 00:25:15 +02:00
Mario Zechner 8a0903ebf2 feat(ai): compat entrypoint, core-only root barrel (phase 5)
The root barrel is now core-only and side-effect free: types,
createModels/createProvider, auth substrate, lazyStream/lazyApi, faux,
utils. Generated catalogs, api-registry, env-api-keys, images, global
stream functions, and per-API lazy wrappers leave the root.

New @earendil-works/pi-ai/compat preserves the old surface verbatim as
a strict superset of the root: api-dispatch stream/complete with env
key injection, the builtin registration side effect (skip-if-present so
it cannot clobber earlier overrides), deprecated getModel/getModels/
getProviders aliases of the new getBuiltin* reads in providers/all,
lazy api wrappers + setBedrockProviderModule, and image generation.
Compat dies with the coding-agent ModelManager migration.

Packaging: exports map gains ./compat, ./providers/*, ./api/*;
sideEffects array lists only the effectful modules.

Old-global imports across agent/coding-agent/examples and pi-ai tests
switch to /compat (path-only; compat is a superset). The coding-agent
extension loader resolves the pi-ai ROOT specifier to compat, so
existing user extensions using the old global API keep working at
runtime until compat is removed. vitest configs alias /compat to src;
browser smoke imports old globals from /compat.
2026-06-10 21:17:12 +02:00
Mario Zechner ba93da9a93 feat(ai): move API implementations to src/api with lazy wrappers (phase 2)
Stream implementations move from src/providers/ to src/api/, renamed by
API id (anthropic.ts -> anthropic-messages.ts, google.ts ->
google-generative-ai.ts, mistral.ts -> mistral-conversations.ts,
amazon-bedrock.ts -> bedrock-converse-stream.ts). Every module now
exports exactly stream/streamSimple; shared helpers move alongside.

New ProviderStreams dispatch contract in types.ts, lazyApi() wrapper in
api/lazy.ts, and one .lazy.ts wrapper per API. Bedrock's wrapper keeps
the node-only variable-specifier import and setBedrockProviderModule()
(now taking ProviderStreams).

providers/register-builtins.ts deleted; interim until the compat
entrypoint lands, builtin api-registry registration lives in stream.ts
and lazy wrappers are exported from the root barrel. Old per-API lazy
exports (streamAnthropic, ...) are gone; package.json subpaths retarget
to dist/api/.
2026-06-10 20:08:59 +02:00
Armin Ronacher 28df940f0d Release v0.79.1 2026-06-09 23:14:52 +02:00
Armin Ronacher c10fb95fd9 Release v0.79.0 2026-06-08 17:15:51 +02:00
Mario Zechner d8aef0feff feat(coding-agent): allow project trust extensions to defer 2026-06-08 13:38:29 +02:00
Mario Zechner 718215bd95 feat(coding-agent): add extension project trust decisions 2026-06-08 12:59:08 +02:00
Mario Zechner 592c34c056 Release v0.78.1 2026-06-04 18:31:33 +02:00
Vegard Stikbakke 86314bf38d docs: add containerization guide and Gondolin example (#5356) 2026-06-03 15:53:16 +02:00
Mario Zechner e56521e323 Add extension mode context 2026-06-01 18:32:03 +02:00
Nico Bailon 91a2f86600 fix(tui): harden overlay focus restoration 2026-05-31 21:20:33 -07:00
Nico Bailon 82f29ea442 docs(coding-agent): expand overlay focus demo
Update the overlay QA focus demo to exercise three visible overlays with text input, focus cycling, per-panel dismissal, and visual focus ordering.
2026-05-30 13:29:36 -07:00
Mario Zechner 0897f175e4 Release v0.78.0 2026-05-30 01:47:37 +02:00
Mario Zechner 0ffa590a33 Fix GitLab Duo thinking metadata
closes #5201
2026-05-30 01:08:18 +02:00
Armin Ronacher 8322745e28 Release v0.77.0 2026-05-29 00:19:06 +02:00
Armin Ronacher 3e9f717445 fix(coding-agent): make config env references explicit
closes #5095
2026-05-28 11:58:38 +02:00
Mario Zechner 8e77f8797b Merge pull request #5115 from DanielThomas/dannyt/sendUserMessage-agent-end
fix(coding-agent): drain follow-ups queued during agent_end
2026-05-28 10:47:31 +02:00
Danny Thomas a29a7902e9 fix(coding-agent): drain follow-ups queued during agent_end
When an extension queues a follow-up during `agent_end` it
gets stuck on the follow-up queue until after the next user
message.

Add a hasQueuedMessages() check to _handlePostAgentRun
so the existing while/continue loop drains them.

- One-line fix in _handlePostAgentRun
- Integration test in agent-session-queue
- git-merge-and-resolve example extension with tests
2026-05-28 18:27:39 +10:00
Mario Zechner cbe8625528 Fix input event streaming behavior semantics 2026-05-28 10:13:06 +02:00
Danny Thomas bcea4b2e27 feat(coding-agent): expose streamingBehavior on InputEvent
Add streamingBehavior to InputEvent so extensions can distinguish
idle prompts from mid-stream steers and queued follow-ups.

- Add streamingBehavior field to InputEvent type
- Thread it through ExtensionRunner.emitInput() and AgentSession.prompt()
- Add streaming-aware input gate example with tests
- Document in extensions.md
2026-05-28 15:52:38 +10:00
Armin Ronacher 706f8720f8 Release v0.76.0 2026-05-27 22:03:21 +02:00
Mario Zechner ea2b70ddd9 Release v0.75.5 2026-05-23 11:58:31 +02:00
Mario Zechner 3533843dd7 Release v0.75.4 2026-05-20 16:11:46 +02:00