pi-mono/packages/coding-agent/src
Armin Ronacher 540e174c72
feat(coding-agent): Virtual models (#10035)
This adds experimental support for virtual models. A virtual model is a catalog entry that an extension registers with pi.registerVirtualModel(). It does not talk to a provider itself; for every request it picks a physical model and thinking level. The motivation is to make routing policies pluggable: plan on a strong model and implement on a cheap one, pick a model with a classifier, or move to a larger window when the context grows. Today this needs model switching by hand or hacks in prepareRequest.

The selection stays virtual: model_change records it, resume restores it, and each response records the physical model and thinking level that produced it. Router state can be stored on the session branch, so it follows /tree and forks and survives compaction. Context limits, compaction and image sizing use the physical model a request was routed to. examples/extensions/jev-router.ts shows a full router that uses the Jev classifier to pick Sol or Terra for planning and hands off to Luna after the first edit. docs/virtual-models.md describes the API.
2026-09-28 23:30:45 +02:00
..
bun fix(coding-agent): keep remote harness dependencies development-only 2026-09-05 12:45:04 +02:00
cli feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
client fix(coding-agent): restore client compatibility entrypoint 2026-08-28 13:31:05 +02:00
core feat(coding-agent): Virtual models (#10035) 2026-09-28 23:30:45 +02:00
experimental feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
extensions feat(ai): Discount jev (#10119) 2026-09-28 14:19:07 +02:00
modes feat(coding-agent): Virtual models (#10035) 2026-09-28 23:30:45 +02:00
utils fix(coding-agent,tui): paste Finder file paths instead of icons (#10136) 2026-09-28 20:59:29 +01:00
cli.ts fix(coding-agent): keep remote harness dependencies development-only 2026-09-05 12:45:04 +02:00
config.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
index.ts feat(coding-agent): Virtual models (#10035) 2026-09-28 23:30:45 +02:00
main.ts fix(coding-agent): prevent duplicate extension runtimes (closes #9863) 2026-09-23 15:33:56 +02:00
migrations.ts fix(coding-agent): update repository links to "earendil-works/pi" (#9278) 2026-09-07 14:09:39 +02:00
package-manager-cli.ts feat(coding-agent): update managed installations in place 2026-08-24 09:34:34 +02:00
rpc-entry.ts feat(coding-agent): set AI_AGENT environment variable (#7493) 2026-08-03 13:45:32 +02:00