feat(chat): pill model and level menus from one descriptor #14

Open
gabrielgad wants to merge 1 commit from feat/composer-pill-picker into main
Owner

Change

Tapping the model or level in the composer pill opens a menu; a pick is sent as the agent's own /model, /effort or /thinking. One PillDescriptor per agent in shared/pill.ts holds the listing, parser and commands. Claude Code, pi and agy are in it; Codex, OpenCode and MiMo keep a read-only pill. Adds GET /api/pane/models. Closes #1.

Validation

bun run check fast passes. Parser, descriptor and menu unit tests and an API contract test. /model and /effort checked in live pi and agy panes. Screenshot to attach.

## Change Tapping the model or level in the composer pill opens a menu; a pick is sent as the agent's own `/model`, `/effort` or `/thinking`. One `PillDescriptor` per agent in `shared/pill.ts` holds the listing, parser and commands. Claude Code, pi and agy are in it; Codex, OpenCode and MiMo keep a read-only pill. Adds `GET /api/pane/models`. Closes #1. ## Validation `bun run check fast` passes. Parser, descriptor and menu unit tests and an API contract test. `/model` and `/effort` checked in live pi and agy panes. Screenshot to attach.
feat(chat): pill model and level menus from one descriptor
Some checks failed
CI / Native Windows install (pull_request) Has been cancelled
CI / Fast checks (pull_request) Has been cancelled
CI / Integration and browser (pull_request) Has been cancelled
Remote PC bundles / bundle (macos-15) (pull_request) Has been cancelled
Remote PC bundles / bundle (macos-15-intel) (pull_request) Has been cancelled
Remote PC bundles / bundle (ubuntu-24.04) (pull_request) Has been cancelled
Remote PC bundles / bundle (ubuntu-24.04-arm) (pull_request) Has been cancelled
Remote PC bundles / bundle-windows (pull_request) Has been cancelled
Remote PC bundles / ssh (pull_request) Has been cancelled
Remote PC bundles / smoke-windows (pull_request) Has been cancelled
Remote PC bundles / release (pull_request) Has been cancelled
fd2f59d09b
A PillDescriptor per agent in shared/pill.ts holds its model listing, parser and /model and /effort commands. Claude and pi move into it; agy is added. Codex, OpenCode and MiMo are modalOnly.
Author
Owner

Model menu and level menu on a Claude pane (site demo build).

model menu

level menu

Model menu and level menu on a Claude pane (site demo build). ![model menu](https://git.gabeforge.com/attachments/a37884c7-8021-4e33-a77b-0a8f077c2a8c) ![level menu](https://git.gabeforge.com/attachments/d80a8a41-c2bf-47c5-a13b-4287a6a865bc)
Author
Owner

Video: model menu, pick a model, level menu, pick a level; the pill follows. Video

Video: model menu, pick a model, level menu, pick a level; the pill follows. [Video](https://git.gabeforge.com/attachments/7dee1ddc-c062-4757-a228-724c87120b54)
Some checks failed
CI / Native Windows install (pull_request) Has been cancelled
CI / Fast checks (pull_request) Has been cancelled
CI / Integration and browser (pull_request) Has been cancelled
Remote PC bundles / bundle (macos-15) (pull_request) Has been cancelled
Remote PC bundles / bundle (macos-15-intel) (pull_request) Has been cancelled
Remote PC bundles / bundle (ubuntu-24.04) (pull_request) Has been cancelled
Remote PC bundles / bundle (ubuntu-24.04-arm) (pull_request) Has been cancelled
Remote PC bundles / bundle-windows (pull_request) Has been cancelled
Remote PC bundles / ssh (pull_request) Has been cancelled
Remote PC bundles / smoke-windows (pull_request) Has been cancelled
Remote PC bundles / release (pull_request) Has been cancelled
This pull request has changes conflicting with the target branch.
  • CHANGELOG.md
  • scripts/ci-browser.sh
  • server/index.ts
  • server/machine-api.ts
  • shared/protocol.ts
  • site/demo/transport.ts
  • src/AGENTS.md
  • src/components/Composer.tsx
  • src/components/RowMenu.tsx
  • src/lib/api.ts
  • src/lib/machineContext.tsx
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/composer-pill-picker:feat/composer-pill-picker
git switch feat/composer-pill-picker

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/composer-pill-picker
git switch feat/composer-pill-picker
git rebase main
git switch main
git merge --ff-only feat/composer-pill-picker
git switch feat/composer-pill-picker
git rebase main
git switch main
git merge --no-ff feat/composer-pill-picker
git switch main
git merge --squash feat/composer-pill-picker
git switch main
git merge --ff-only feat/composer-pill-picker
git switch main
git merge feat/composer-pill-picker
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
gabrielgad/ovis-web-ui!14
No description provided.