openpencil/apps/web/server/api/ai
Fini af9292d8f5 fix(ai): classify Type 0 components as non-mobile to skip phone chrome
Why: "Design a profile card" through MiniMax-M2.7 produced a 375×803 mobile
screen with auto-injected status bar, because the planner skill listed
"profiles" as a Type 2 single-task screen and the orchestrator's
isMobileScreen heuristic ran on width≤480 alone.

What: design-type.md + decomposition.md add Type 0 (single component:
card / badge / chip / modal) with width=400 height=0 1 subtask no chrome.
isMobileFullScreen helper extracted to orchestrator-plan-classify.ts and
required by both orchestrator.ts and orchestrator-sub-agent.ts so the
two paths can't drift on what "mobile" means (Codex review caught this
when only orchestrator.ts had the new check).

Verified with same MiniMax + same prompt: 400×320 component, 8 nodes,
firstChildRole=card, no status-bar.
2026-05-09 21:00:00 +08:00
..
agent.ts V0.7.3 (#111) 2026-04-15 22:19:12 +08:00
chat.ts fix(ai): unwrap fetch error.cause for actionable network failures 2026-04-26 19:20:32 +08:00
connect-acp.ts V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
connect-agent.ts V0.7.2-bugfix (#109) 2026-04-14 21:42:56 +08:00
generate.ts V0.7.2-bugfix (#109) 2026-04-14 21:42:56 +08:00
icon.ts fix(ai): classify Type 0 components as non-mobile to skip phone chrome 2026-05-09 21:00:00 +08:00
image-generate.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
image-proxy.ts Merge branch 'v0.8.0' of github.com:ZSeven-W/openpencil into v0.8.0 2026-05-05 22:51:00 +08:00
image-search.ts Merge branch 'v0.8.0' of github.com:ZSeven-W/openpencil into v0.8.0 2026-05-05 22:51:00 +08:00
image-service-test.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
install-agent.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
mcp-install.ts V0.7.3 (#111) 2026-04-15 22:19:12 +08:00
models.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
provider-models.ts fix(ai): unwrap fetch error.cause for actionable network failures 2026-04-26 19:20:32 +08:00
provider-url.ts fix(ai): unwrap fetch error.cause for actionable network failures 2026-04-26 19:20:32 +08:00
validate.ts fix(ai): classify Type 0 components as non-mobile to skip phone chrome 2026-05-09 21:00:00 +08:00