openpencil/apps/web/server/api/mcp
Fini 912ed1cd5a feat(ai): add_select_v0 — dropdown display element tool (45th)
Dropdown/picker closed-state display. Same label-above-input shape
as add_form_field_v0 with:
- always-present trailing chevron-down icon
- when `value` is set: black value text + chevron
- when absent: placeholder text styled gray (#94A3B8) + chevron
- justifyContent=space_between pushes the chevron to the right edge

Explicitly NOT modeled: open-menu state (dropdown list). An open
dropdown needs absolute positioning + scrim + per-option states
that belong in a different builder; compose via batch_design for now.

Wired across all three paths + elements.md keyword map + examples.
Tests:
- pen-mcp: 7 new cases (value/placeholder rendering, custom
  trailing_icon, required suffix, id uniqueness, parent_id rollback)
- Parametric coverage: auto-extended (+1 case each in 9 files).
  Total delta: 2955 → 2979 passing.

Closes #48; covers part of #50 (select entry).
2026-04-22 06:25:00 +08:00
..
codegen V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
active-ping.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
document.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
document.post.ts V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
events.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
exec-tool.post.ts feat(ai): add_select_v0 — dropdown display element tool (45th) 2026-04-22 06:25:00 +08:00
read-nodes.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
screenshot-response.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
screenshot.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
selection.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
selection.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
server.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
server.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
sync-reset.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00