openpencil/apps/web/server/api/mcp
Fini 97343c1d74 feat(ai): add_empty_chart_v0 — chart-slot empty state (60th tool)
Adds an N-tool for the "no data yet" tile that sits in the exact
footprint where a real chart would go. Default 320×200 matches the
line/bar chart default footprint; dashed border + slate-50 fill +
slate icon signal "chart slot, currently empty". Caller can hint
at the widget type via icon ("line-chart" / "pie-chart" / default
"bar-chart-2").

Intentionally separate from add_empty_state_v0 — that tool is for
inbox/onboarding/no-results full-page empties (has optional CTA,
no dashed border). add_empty_chart_v0 reads as "chart widget is
live, just lacks data yet" rather than "nothing to show on this
screen at all".

Wired through all 3 paths + parity/contract/design-prompt tests.
Handler test covers 6 cases: defaults + dashed stroke + icon
override + size clamping + title/subtitle override + bogus
parent_id rejection.
2026-04-22 09:35: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_empty_chart_v0 — chart-slot empty state (60th tool) 2026-04-22 09:35: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