openpencil/apps/web/server/api
Fini 552fecc504 feat(ai): add_textarea_v0 — multi-line input element tool (43rd)
Same label-above-input shape as add_form_field_v0 but the input
grows vertically by `rows` (default 4, clamped 2..12) for notes /
bio / feedback use cases. Input frame layout is vertical with
placeholder top-aligned, matching native iOS/Material behavior.

Wired across all three paths:
- pen-core: `buildTextarea` + TextareaParams in element-builders
- pen-mcp: `handleAddTextareaV0` + tool schema in element-tool-defs-ext
- apps/web: shim + Nitro SERVER_BUILDERS entry
- elements.md: PREFER list + keyword map + 2 example lines

Tests:
- pen-mcp: 8 new cases in add-textarea-v0.test.ts (height math,
  rows clamp, required suffix, placeholder wiring, id uniqueness,
  parent_id rollback)
- Parametric builder tests auto-extended (+1 case each in 9 files):
  layout smoke, post-process idempotency, normalize preservation,
  performance, role coverage, anti-patterns clean, detectors
  clean, shim-server parity. Total delta: 2907 → 2931 passing.

Closes #47; covers part of #50 (textarea entry).
2026-04-22 06:05:00 +08:00
..
ai V0.7.3 (#111) 2026-04-15 22:19:12 +08:00
mcp feat(ai): add_textarea_v0 — multi-line input element tool (43rd) 2026-04-22 06:05:00 +08:00
local-asset.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00