@12ui/design 0.2.75 → 0.2.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README.md +126 -116
  2. package/SKILL.md +33 -28
  3. package/dist/cli-arguments.d.ts.map +1 -1
  4. package/dist/cli-arguments.js +21 -7
  5. package/dist/cli-arguments.js.map +1 -1
  6. package/dist/cli-capabilities.d.ts +3 -2
  7. package/dist/cli-capabilities.d.ts.map +1 -1
  8. package/dist/cli-capabilities.js +2 -1
  9. package/dist/cli-capabilities.js.map +1 -1
  10. package/dist/cli-codex-readiness.d.ts +6 -0
  11. package/dist/cli-codex-readiness.d.ts.map +1 -1
  12. package/dist/cli-codex-readiness.js +12 -12
  13. package/dist/cli-codex-readiness.js.map +1 -1
  14. package/dist/cli-help/design.d.ts +2 -2
  15. package/dist/cli-help/design.d.ts.map +1 -1
  16. package/dist/cli-help/design.js +3 -1
  17. package/dist/cli-help/design.js.map +1 -1
  18. package/dist/cli-help/index.d.ts +19 -9
  19. package/dist/cli-help/index.d.ts.map +1 -1
  20. package/dist/cli-help/scene.d.ts +15 -5
  21. package/dist/cli-help/scene.d.ts.map +1 -1
  22. package/dist/cli-help/scene.js +44 -0
  23. package/dist/cli-help/scene.js.map +1 -1
  24. package/dist/cli-help/workflow.d.ts +2 -2
  25. package/dist/cli-help/workflow.d.ts.map +1 -1
  26. package/dist/cli-help/workflow.js +4 -3
  27. package/dist/cli-help/workflow.js.map +1 -1
  28. package/dist/cli-review-command.d.ts.map +1 -1
  29. package/dist/cli-review-command.js +2 -0
  30. package/dist/cli-review-command.js.map +1 -1
  31. package/dist/cli-run.d.ts.map +1 -1
  32. package/dist/cli-run.js +6 -0
  33. package/dist/cli-run.js.map +1 -1
  34. package/dist/cli-scene-command.d.ts.map +1 -1
  35. package/dist/cli-scene-command.js +39 -6
  36. package/dist/cli-scene-command.js.map +1 -1
  37. package/dist/cli-usage.d.ts.map +1 -1
  38. package/dist/cli-usage.js +8 -6
  39. package/dist/cli-usage.js.map +1 -1
  40. package/dist/cli-workspace-draw.d.ts +1 -11
  41. package/dist/cli-workspace-draw.d.ts.map +1 -1
  42. package/dist/cli-workspace-draw.js +17 -18
  43. package/dist/cli-workspace-draw.js.map +1 -1
  44. package/dist/cli-workspace-runner.d.ts +30 -0
  45. package/dist/cli-workspace-runner.d.ts.map +1 -0
  46. package/dist/cli-workspace-runner.js +105 -0
  47. package/dist/cli-workspace-runner.js.map +1 -0
  48. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  49. package/dist/legacy-skill-catalog.js +26 -2
  50. package/dist/legacy-skill-catalog.js.map +1 -1
  51. package/dist/mcp-slate-command.d.ts +9 -0
  52. package/dist/mcp-slate-command.d.ts.map +1 -1
  53. package/dist/mcp-slate-command.js +19 -5
  54. package/dist/mcp-slate-command.js.map +1 -1
  55. package/dist/mcp-slate-image.js +1 -1
  56. package/dist/mcp-slate-image.js.map +1 -1
  57. package/dist/mcp-slate-tool-defs.js +1 -1
  58. package/dist/mcp-slate-tool-defs.js.map +1 -1
  59. package/dist/mcp-slate-ui-copy.d.ts +403 -33
  60. package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
  61. package/dist/mcp-slate-ui-copy.js +247 -57
  62. package/dist/mcp-slate-ui-copy.js.map +1 -1
  63. package/dist/mcp-slate-ui-icu.d.ts +47 -0
  64. package/dist/mcp-slate-ui-icu.d.ts.map +1 -0
  65. package/dist/mcp-slate-ui-icu.js +229 -0
  66. package/dist/mcp-slate-ui-icu.js.map +1 -0
  67. package/dist/mcp-slate-ui-locale-match.d.ts +12 -0
  68. package/dist/mcp-slate-ui-locale-match.d.ts.map +1 -0
  69. package/dist/mcp-slate-ui-locale-match.js +34 -0
  70. package/dist/mcp-slate-ui-locale-match.js.map +1 -0
  71. package/dist/mcp-slate-ui-locales/de-DE.d.ts +9 -0
  72. package/dist/mcp-slate-ui-locales/de-DE.d.ts.map +1 -0
  73. package/dist/mcp-slate-ui-locales/de-DE.js +217 -0
  74. package/dist/mcp-slate-ui-locales/de-DE.js.map +1 -0
  75. package/dist/mcp-slate-ui-locales/es-419.d.ts +9 -0
  76. package/dist/mcp-slate-ui-locales/es-419.d.ts.map +1 -0
  77. package/dist/mcp-slate-ui-locales/es-419.js +217 -0
  78. package/dist/mcp-slate-ui-locales/es-419.js.map +1 -0
  79. package/dist/mcp-slate-ui-locales/es-ES.d.ts +9 -0
  80. package/dist/mcp-slate-ui-locales/es-ES.d.ts.map +1 -0
  81. package/dist/mcp-slate-ui-locales/es-ES.js +217 -0
  82. package/dist/mcp-slate-ui-locales/es-ES.js.map +1 -0
  83. package/dist/mcp-slate-ui-locales/fr-FR.d.ts +9 -0
  84. package/dist/mcp-slate-ui-locales/fr-FR.d.ts.map +1 -0
  85. package/dist/mcp-slate-ui-locales/fr-FR.js +217 -0
  86. package/dist/mcp-slate-ui-locales/fr-FR.js.map +1 -0
  87. package/dist/mcp-slate-ui-locales/hi-IN.d.ts +9 -0
  88. package/dist/mcp-slate-ui-locales/hi-IN.d.ts.map +1 -0
  89. package/dist/mcp-slate-ui-locales/hi-IN.js +217 -0
  90. package/dist/mcp-slate-ui-locales/hi-IN.js.map +1 -0
  91. package/dist/mcp-slate-ui-locales/index.d.ts +11 -0
  92. package/dist/mcp-slate-ui-locales/index.d.ts.map +1 -0
  93. package/dist/mcp-slate-ui-locales/index.js +34 -0
  94. package/dist/mcp-slate-ui-locales/index.js.map +1 -0
  95. package/dist/mcp-slate-ui-locales/it-IT.d.ts +9 -0
  96. package/dist/mcp-slate-ui-locales/it-IT.d.ts.map +1 -0
  97. package/dist/mcp-slate-ui-locales/it-IT.js +217 -0
  98. package/dist/mcp-slate-ui-locales/it-IT.js.map +1 -0
  99. package/dist/mcp-slate-ui-locales/ja-JP.d.ts +9 -0
  100. package/dist/mcp-slate-ui-locales/ja-JP.d.ts.map +1 -0
  101. package/dist/mcp-slate-ui-locales/ja-JP.js +217 -0
  102. package/dist/mcp-slate-ui-locales/ja-JP.js.map +1 -0
  103. package/dist/mcp-slate-ui-locales/ko-KR.d.ts +9 -0
  104. package/dist/mcp-slate-ui-locales/ko-KR.d.ts.map +1 -0
  105. package/dist/mcp-slate-ui-locales/ko-KR.js +217 -0
  106. package/dist/mcp-slate-ui-locales/ko-KR.js.map +1 -0
  107. package/dist/mcp-slate-ui-locales/pt-BR.d.ts +9 -0
  108. package/dist/mcp-slate-ui-locales/pt-BR.d.ts.map +1 -0
  109. package/dist/mcp-slate-ui-locales/pt-BR.js +217 -0
  110. package/dist/mcp-slate-ui-locales/pt-BR.js.map +1 -0
  111. package/dist/mcp-slate-ui-locales/zh-CN.d.ts +9 -0
  112. package/dist/mcp-slate-ui-locales/zh-CN.d.ts.map +1 -0
  113. package/dist/mcp-slate-ui-locales/zh-CN.js +217 -0
  114. package/dist/mcp-slate-ui-locales/zh-CN.js.map +1 -0
  115. package/dist/mcp-slate-ui-locales/zh-TW.d.ts +9 -0
  116. package/dist/mcp-slate-ui-locales/zh-TW.d.ts.map +1 -0
  117. package/dist/mcp-slate-ui-locales/zh-TW.js +217 -0
  118. package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -0
  119. package/dist/mcp-slate-ui-script-bridge.d.ts.map +1 -1
  120. package/dist/mcp-slate-ui-script-bridge.js +8 -9
  121. package/dist/mcp-slate-ui-script-bridge.js.map +1 -1
  122. package/dist/mcp-slate-ui-script-dialog.d.ts.map +1 -1
  123. package/dist/mcp-slate-ui-script-dialog.js +60 -30
  124. package/dist/mcp-slate-ui-script-dialog.js.map +1 -1
  125. package/dist/mcp-slate-ui-script-inline.d.ts +9 -6
  126. package/dist/mcp-slate-ui-script-inline.d.ts.map +1 -1
  127. package/dist/mcp-slate-ui-script-inline.js +91 -46
  128. package/dist/mcp-slate-ui-script-inline.js.map +1 -1
  129. package/dist/mcp-slate-ui-script-inspiration-collage.d.ts +20 -0
  130. package/dist/mcp-slate-ui-script-inspiration-collage.d.ts.map +1 -0
  131. package/dist/mcp-slate-ui-script-inspiration-collage.js +68 -0
  132. package/dist/mcp-slate-ui-script-inspiration-collage.js.map +1 -0
  133. package/dist/mcp-slate-ui-script-inspiration-grid.d.ts +26 -0
  134. package/dist/mcp-slate-ui-script-inspiration-grid.d.ts.map +1 -0
  135. package/dist/mcp-slate-ui-script-inspiration-grid.js +246 -0
  136. package/dist/mcp-slate-ui-script-inspiration-grid.js.map +1 -0
  137. package/dist/mcp-slate-ui-script-inspiration.d.ts +10 -9
  138. package/dist/mcp-slate-ui-script-inspiration.d.ts.map +1 -1
  139. package/dist/mcp-slate-ui-script-inspiration.js +161 -120
  140. package/dist/mcp-slate-ui-script-inspiration.js.map +1 -1
  141. package/dist/mcp-slate-ui-script-l10n.d.ts +29 -0
  142. package/dist/mcp-slate-ui-script-l10n.d.ts.map +1 -0
  143. package/dist/mcp-slate-ui-script-l10n.js +135 -0
  144. package/dist/mcp-slate-ui-script-l10n.js.map +1 -0
  145. package/dist/mcp-slate-ui-script-more.d.ts +3 -2
  146. package/dist/mcp-slate-ui-script-more.d.ts.map +1 -1
  147. package/dist/mcp-slate-ui-script-more.js +19 -18
  148. package/dist/mcp-slate-ui-script-more.js.map +1 -1
  149. package/dist/mcp-slate-ui-script-pause.d.ts +33 -0
  150. package/dist/mcp-slate-ui-script-pause.d.ts.map +1 -0
  151. package/dist/mcp-slate-ui-script-pause.js +217 -0
  152. package/dist/mcp-slate-ui-script-pause.js.map +1 -0
  153. package/dist/mcp-slate-ui-script-remote.d.ts +2 -0
  154. package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -1
  155. package/dist/mcp-slate-ui-script-remote.js +39 -6
  156. package/dist/mcp-slate-ui-script-remote.js.map +1 -1
  157. package/dist/mcp-slate-ui-script-scribble.js +1 -1
  158. package/dist/mcp-slate-ui-script-select.js +6 -6
  159. package/dist/mcp-slate-ui-script-stage.d.ts +3 -2
  160. package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -1
  161. package/dist/mcp-slate-ui-script-stage.js +31 -19
  162. package/dist/mcp-slate-ui-script-stage.js.map +1 -1
  163. package/dist/mcp-slate-ui-script-state.d.ts.map +1 -1
  164. package/dist/mcp-slate-ui-script-state.js +77 -57
  165. package/dist/mcp-slate-ui-script-state.js.map +1 -1
  166. package/dist/mcp-slate-ui-script.d.ts +2 -2
  167. package/dist/mcp-slate-ui-script.d.ts.map +1 -1
  168. package/dist/mcp-slate-ui-script.js +21 -7
  169. package/dist/mcp-slate-ui-script.js.map +1 -1
  170. package/dist/mcp-slate-ui-styles-dialog.d.ts +6 -7
  171. package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -1
  172. package/dist/mcp-slate-ui-styles-dialog.js +13 -29
  173. package/dist/mcp-slate-ui-styles-dialog.js.map +1 -1
  174. package/dist/mcp-slate-ui-styles-inspiration.d.ts +18 -0
  175. package/dist/mcp-slate-ui-styles-inspiration.d.ts.map +1 -0
  176. package/dist/mcp-slate-ui-styles-inspiration.js +43 -0
  177. package/dist/mcp-slate-ui-styles-inspiration.js.map +1 -0
  178. package/dist/mcp-slate-ui-styles-pause.d.ts +10 -0
  179. package/dist/mcp-slate-ui-styles-pause.d.ts.map +1 -0
  180. package/dist/mcp-slate-ui-styles-pause.js +25 -0
  181. package/dist/mcp-slate-ui-styles-pause.js.map +1 -0
  182. package/dist/mcp-slate-ui-styles-stage.d.ts +10 -6
  183. package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -1
  184. package/dist/mcp-slate-ui-styles-stage.js +24 -16
  185. package/dist/mcp-slate-ui-styles-stage.js.map +1 -1
  186. package/dist/mcp-slate-ui-styles.d.ts +12 -5
  187. package/dist/mcp-slate-ui-styles.d.ts.map +1 -1
  188. package/dist/mcp-slate-ui-styles.js +38 -21
  189. package/dist/mcp-slate-ui-styles.js.map +1 -1
  190. package/dist/mcp-slate-ui.d.ts +11 -3
  191. package/dist/mcp-slate-ui.d.ts.map +1 -1
  192. package/dist/mcp-slate-ui.js +24 -16
  193. package/dist/mcp-slate-ui.js.map +1 -1
  194. package/dist/mcp-workflow-tools.js +3 -3
  195. package/dist/mcp-workflow-tools.js.map +1 -1
  196. package/dist/mosaic-bands.d.ts +44 -0
  197. package/dist/mosaic-bands.d.ts.map +1 -0
  198. package/dist/mosaic-bands.js +153 -0
  199. package/dist/mosaic-bands.js.map +1 -0
  200. package/dist/review-discovery.d.ts.map +1 -1
  201. package/dist/review-discovery.js +36 -54
  202. package/dist/review-discovery.js.map +1 -1
  203. package/dist/review-page.d.ts.map +1 -1
  204. package/dist/review-page.js +2 -1
  205. package/dist/review-page.js.map +1 -1
  206. package/dist/review-run-roots.d.ts +40 -0
  207. package/dist/review-run-roots.d.ts.map +1 -0
  208. package/dist/review-run-roots.js +94 -0
  209. package/dist/review-run-roots.js.map +1 -0
  210. package/dist/review-server.d.ts +2 -0
  211. package/dist/review-server.d.ts.map +1 -1
  212. package/dist/review-server.js +2 -0
  213. package/dist/review-server.js.map +1 -1
  214. package/dist/review-types.d.ts +10 -0
  215. package/dist/review-types.d.ts.map +1 -1
  216. package/dist/scene/camera-diagnostics.d.ts +61 -0
  217. package/dist/scene/camera-diagnostics.d.ts.map +1 -0
  218. package/dist/scene/camera-diagnostics.js +166 -0
  219. package/dist/scene/camera-diagnostics.js.map +1 -0
  220. package/dist/scene/camera-solve.d.ts +2 -0
  221. package/dist/scene/camera-solve.d.ts.map +1 -1
  222. package/dist/scene/camera-solve.js +59 -42
  223. package/dist/scene/camera-solve.js.map +1 -1
  224. package/dist/scene/capture.d.ts +24 -0
  225. package/dist/scene/capture.d.ts.map +1 -1
  226. package/dist/scene/capture.js +53 -2
  227. package/dist/scene/capture.js.map +1 -1
  228. package/dist/scene/convert-run.d.ts +30 -0
  229. package/dist/scene/convert-run.d.ts.map +1 -0
  230. package/dist/scene/convert-run.js +135 -0
  231. package/dist/scene/convert-run.js.map +1 -0
  232. package/dist/scene/media-query.d.ts +21 -0
  233. package/dist/scene/media-query.d.ts.map +1 -0
  234. package/dist/scene/media-query.js +208 -0
  235. package/dist/scene/media-query.js.map +1 -0
  236. package/dist/scene/page-css.d.ts +38 -0
  237. package/dist/scene/page-css.d.ts.map +1 -0
  238. package/dist/scene/page-css.js +210 -0
  239. package/dist/scene/page-css.js.map +1 -0
  240. package/dist/scene/page-images.d.ts +33 -0
  241. package/dist/scene/page-images.d.ts.map +1 -0
  242. package/dist/scene/page-images.js +53 -0
  243. package/dist/scene/page-images.js.map +1 -0
  244. package/dist/scene/page-merge.d.ts +41 -0
  245. package/dist/scene/page-merge.d.ts.map +1 -0
  246. package/dist/scene/page-merge.js +197 -0
  247. package/dist/scene/page-merge.js.map +1 -0
  248. package/dist/scene/responsive-bands.d.ts +19 -0
  249. package/dist/scene/responsive-bands.d.ts.map +1 -0
  250. package/dist/scene/responsive-bands.js +25 -0
  251. package/dist/scene/responsive-bands.js.map +1 -0
  252. package/dist/scene/scene-index.d.ts +10 -0
  253. package/dist/scene/scene-index.d.ts.map +1 -0
  254. package/dist/scene/scene-index.js +43 -0
  255. package/dist/scene/scene-index.js.map +1 -0
  256. package/dist/scene/scene-merge.d.ts +29 -0
  257. package/dist/scene/scene-merge.d.ts.map +1 -0
  258. package/dist/scene/scene-merge.js +130 -0
  259. package/dist/scene/scene-merge.js.map +1 -0
  260. package/dist/scene/scene-verbs.d.ts +1 -1
  261. package/dist/scene/scene-verbs.d.ts.map +1 -1
  262. package/dist/scene/scene-verbs.js +1 -1
  263. package/dist/scene/scene-verbs.js.map +1 -1
  264. package/dist/scene/serve-detach.d.ts +23 -0
  265. package/dist/scene/serve-detach.d.ts.map +1 -0
  266. package/dist/scene/serve-detach.js +92 -0
  267. package/dist/scene/serve-detach.js.map +1 -0
  268. package/dist/scene/static-server.d.ts +2 -0
  269. package/dist/scene/static-server.d.ts.map +1 -1
  270. package/dist/scene/static-server.js +3 -0
  271. package/dist/scene/static-server.js.map +1 -1
  272. package/dist/scene/symmetric-eigen.d.ts +12 -0
  273. package/dist/scene/symmetric-eigen.d.ts.map +1 -0
  274. package/dist/scene/symmetric-eigen.js +43 -0
  275. package/dist/scene/symmetric-eigen.js.map +1 -0
  276. package/dist/slate-actions.d.ts +3 -3
  277. package/dist/slate-actions.d.ts.map +1 -1
  278. package/dist/slate-actions.js +9 -8
  279. package/dist/slate-actions.js.map +1 -1
  280. package/dist/slate-browser-host-script.d.ts +4 -0
  281. package/dist/slate-browser-host-script.d.ts.map +1 -1
  282. package/dist/slate-browser-host-script.js +25 -6
  283. package/dist/slate-browser-host-script.js.map +1 -1
  284. package/dist/slate-browser-host.d.ts +2 -1
  285. package/dist/slate-browser-host.d.ts.map +1 -1
  286. package/dist/slate-browser-host.js +18 -5
  287. package/dist/slate-browser-host.js.map +1 -1
  288. package/dist/slate-commit.js +7 -7
  289. package/dist/slate-commit.js.map +1 -1
  290. package/dist/slate-corpus.d.ts.map +1 -1
  291. package/dist/slate-corpus.js +3 -2
  292. package/dist/slate-corpus.js.map +1 -1
  293. package/dist/slate-edit-runner.d.ts.map +1 -1
  294. package/dist/slate-edit-runner.js +5 -4
  295. package/dist/slate-edit-runner.js.map +1 -1
  296. package/dist/slate-editability.d.ts +2 -0
  297. package/dist/slate-editability.d.ts.map +1 -1
  298. package/dist/slate-editability.js +1 -1
  299. package/dist/slate-editability.js.map +1 -1
  300. package/dist/slate-errors.d.ts +7 -1
  301. package/dist/slate-errors.d.ts.map +1 -1
  302. package/dist/slate-errors.js +3 -2
  303. package/dist/slate-errors.js.map +1 -1
  304. package/dist/slate-handoff-options.d.ts +2 -1
  305. package/dist/slate-handoff-options.d.ts.map +1 -1
  306. package/dist/slate-handoff-options.js +2 -2
  307. package/dist/slate-handoff-options.js.map +1 -1
  308. package/dist/slate-handoff.js +1 -1
  309. package/dist/slate-handoff.js.map +1 -1
  310. package/dist/slate-image-executor.d.ts +18 -1
  311. package/dist/slate-image-executor.d.ts.map +1 -1
  312. package/dist/slate-image-executor.js +1 -0
  313. package/dist/slate-image-executor.js.map +1 -1
  314. package/dist/slate-inspiration.js +2 -2
  315. package/dist/slate-inspiration.js.map +1 -1
  316. package/dist/slate-local-image.d.ts.map +1 -1
  317. package/dist/slate-local-image.js +4 -1
  318. package/dist/slate-local-image.js.map +1 -1
  319. package/dist/slate-lock.js +1 -1
  320. package/dist/slate-lock.js.map +1 -1
  321. package/dist/slate-resume.js +6 -6
  322. package/dist/slate-resume.js.map +1 -1
  323. package/dist/slate-round-params.d.ts +3 -0
  324. package/dist/slate-round-params.d.ts.map +1 -1
  325. package/dist/slate-round-params.js +5 -0
  326. package/dist/slate-round-params.js.map +1 -1
  327. package/dist/slate-round-queries.d.ts +18 -0
  328. package/dist/slate-round-queries.d.ts.map +1 -0
  329. package/dist/slate-round-queries.js +29 -0
  330. package/dist/slate-round-queries.js.map +1 -0
  331. package/dist/slate-round-runner.d.ts.map +1 -1
  332. package/dist/slate-round-runner.js +12 -9
  333. package/dist/slate-round-runner.js.map +1 -1
  334. package/dist/slate-round-search.js +5 -5
  335. package/dist/slate-round-search.js.map +1 -1
  336. package/dist/slate-run-action.d.ts.map +1 -1
  337. package/dist/slate-run-action.js +2 -1
  338. package/dist/slate-run-action.js.map +1 -1
  339. package/dist/slate-runner-context.d.ts +3 -1
  340. package/dist/slate-runner-context.d.ts.map +1 -1
  341. package/dist/slate-runner-context.js +4 -3
  342. package/dist/slate-runner-context.js.map +1 -1
  343. package/dist/slate-runner-failure.d.ts +7 -1
  344. package/dist/slate-runner-failure.d.ts.map +1 -1
  345. package/dist/slate-runner-failure.js +6 -5
  346. package/dist/slate-runner-failure.js.map +1 -1
  347. package/dist/slate-runtime.d.ts.map +1 -1
  348. package/dist/slate-runtime.js +1 -0
  349. package/dist/slate-runtime.js.map +1 -1
  350. package/dist/slate-versions.js +3 -3
  351. package/dist/slate-versions.js.map +1 -1
  352. package/dist/slate-view-contract.d.ts +62 -1
  353. package/dist/slate-view-contract.d.ts.map +1 -1
  354. package/dist/slate-view-contract.js +30 -0
  355. package/dist/slate-view-contract.js.map +1 -1
  356. package/dist/slate-view.d.ts.map +1 -1
  357. package/dist/slate-view.js +19 -3
  358. package/dist/slate-view.js.map +1 -1
  359. package/dist/slate-workspace-parse.d.ts.map +1 -1
  360. package/dist/slate-workspace-parse.js +22 -0
  361. package/dist/slate-workspace-parse.js.map +1 -1
  362. package/dist/slate-workspace-types.d.ts +2 -0
  363. package/dist/slate-workspace-types.d.ts.map +1 -1
  364. package/dist/workflow/adapter-12ui.d.ts.map +1 -1
  365. package/dist/workflow/adapter-12ui.js +3 -5
  366. package/dist/workflow/adapter-12ui.js.map +1 -1
  367. package/dist/workflow/providers.d.ts.map +1 -1
  368. package/dist/workflow/providers.js +5 -2
  369. package/dist/workflow/providers.js.map +1 -1
  370. package/dist/workflow/recipes.d.ts +1 -2
  371. package/dist/workflow/recipes.d.ts.map +1 -1
  372. package/dist/workflow/recipes.js +6 -18
  373. package/dist/workflow/recipes.js.map +1 -1
  374. package/dist/workflow/routing.d.ts.map +1 -1
  375. package/dist/workflow/routing.js +3 -1
  376. package/dist/workflow/routing.js.map +1 -1
  377. package/dist/workflow/types.d.ts +7 -0
  378. package/dist/workflow/types.d.ts.map +1 -1
  379. package/dist/workflow/types.js +7 -0
  380. package/dist/workflow/types.js.map +1 -1
  381. package/dist/workspace-draw-client.d.ts +42 -1
  382. package/dist/workspace-draw-client.d.ts.map +1 -1
  383. package/dist/workspace-draw-client.js +56 -7
  384. package/dist/workspace-draw-client.js.map +1 -1
  385. package/dist/workspace-draw-codex.d.ts +9 -4
  386. package/dist/workspace-draw-codex.d.ts.map +1 -1
  387. package/dist/workspace-draw-codex.js +17 -3
  388. package/dist/workspace-draw-codex.js.map +1 -1
  389. package/dist/workspace-draw-messages.d.ts +24 -0
  390. package/dist/workspace-draw-messages.d.ts.map +1 -1
  391. package/dist/workspace-draw-messages.js +26 -2
  392. package/dist/workspace-draw-messages.js.map +1 -1
  393. package/dist/workspace-draw-run.d.ts +19 -1
  394. package/dist/workspace-draw-run.d.ts.map +1 -1
  395. package/dist/workspace-draw-run.js +76 -3
  396. package/dist/workspace-draw-run.js.map +1 -1
  397. package/dist/workspace-draw-store.d.ts +2 -0
  398. package/dist/workspace-draw-store.d.ts.map +1 -1
  399. package/dist/workspace-draw-store.js +3 -1
  400. package/dist/workspace-draw-store.js.map +1 -1
  401. package/dist/workspace-draw-types.d.ts +1 -0
  402. package/dist/workspace-draw-types.d.ts.map +1 -1
  403. package/dist/workspace-draw-types.js +1 -0
  404. package/dist/workspace-draw-types.js.map +1 -1
  405. package/dist/workspace-origin.d.ts +15 -0
  406. package/dist/workspace-origin.d.ts.map +1 -0
  407. package/dist/workspace-origin.js +36 -0
  408. package/dist/workspace-origin.js.map +1 -0
  409. package/dist/workspace-runner-children.d.ts +28 -0
  410. package/dist/workspace-runner-children.d.ts.map +1 -0
  411. package/dist/workspace-runner-children.js +112 -0
  412. package/dist/workspace-runner-children.js.map +1 -0
  413. package/dist/workspace-runner-client.d.ts +41 -0
  414. package/dist/workspace-runner-client.d.ts.map +1 -0
  415. package/dist/workspace-runner-client.js +63 -0
  416. package/dist/workspace-runner-client.js.map +1 -0
  417. package/dist/workspace-runner-main.d.ts +56 -0
  418. package/dist/workspace-runner-main.d.ts.map +1 -0
  419. package/dist/workspace-runner-main.js +350 -0
  420. package/dist/workspace-runner-main.js.map +1 -0
  421. package/dist/workspace-runner-policy.d.ts +40 -0
  422. package/dist/workspace-runner-policy.d.ts.map +1 -0
  423. package/dist/workspace-runner-policy.js +47 -0
  424. package/dist/workspace-runner-policy.js.map +1 -0
  425. package/dist/workspace-runner-spawn.d.ts +42 -0
  426. package/dist/workspace-runner-spawn.d.ts.map +1 -0
  427. package/dist/workspace-runner-spawn.js +60 -0
  428. package/dist/workspace-runner-spawn.js.map +1 -0
  429. package/dist/workspace-runner-stop.d.ts +25 -0
  430. package/dist/workspace-runner-stop.d.ts.map +1 -0
  431. package/dist/workspace-runner-stop.js +44 -0
  432. package/dist/workspace-runner-stop.js.map +1 -0
  433. package/dist/workspace-runner-store.d.ts +26 -0
  434. package/dist/workspace-runner-store.d.ts.map +1 -0
  435. package/dist/workspace-runner-store.js +114 -0
  436. package/dist/workspace-runner-store.js.map +1 -0
  437. package/open-design.json +2 -2
  438. package/package.json +2 -2
  439. package/runtime/codex-conversion/src/images/native-invoke.mjs +24 -5
  440. package/runtime/codex-conversion/src/images/native.mjs +3 -2
  441. package/skills/12ui-design/SKILL.md +79 -19
  442. package/skills/12ui-design/agents/openai.yaml +2 -0
  443. package/skills/12ui-design/improve.md +1 -5
  444. package/skills/12ui-design/inspire.md +5 -8
  445. package/skills/12ui-design/outputs.md +2 -23
  446. package/skills/12ui-design/scene.md +27 -156
  447. package/skills/12ui-design/session.md +0 -161
package/README.md CHANGED
@@ -79,15 +79,116 @@ unless `--force` is explicit.
79
79
  ## One visual interface skill
80
80
 
81
81
  `12ui-design` is the single design entrypoint. Every client receives the same
82
- `skills/12ui-design` bytes. New work inside a capable coding session uses the
83
- persistent local workflow: prepare a request, claim its execution, use the
84
- session's native tools, register the actual result, then continue from those
85
- saved artifacts. The local CLI and MCP share the same operation service.
82
+ `skills/12ui-design` bytes. The skill runs `12ui draft`, `12ui branch execute`,
83
+ `12ui convert` and `12ui improve`; the CLI owns local and hosted engine selection.
84
+ The Design workspace is a view of those runs: the hosted plugin's inline screen,
85
+ the local plugin's `design.slate.show`, or `12ui workspace open --wait` in a browser.
86
+
87
+ The skill's `scene.md` guide rebuilds a design image as a live Three.js scene.
88
+ It runs `12ui convert --engine auto` (Codex when it is ready, otherwise the 12ui
89
+ API) in the background for the static page while the agent models the scene with
90
+ the local `12ui scene` tools (`12ui scene --help`): camera solve, placement, a
91
+ starter harness with a bundled three.js, `12ui scene merge` to put the converted
92
+ page into the scene, capture with the managed Chromium, and review sheets. The
93
+ `12ui scene` tools need no account and make no network request.
94
+
95
+ `improve --apply` captures the URL and edits the actual repository. Without a target it drafts candidates, stops for
96
+ an explicit choice, then applies that choice locally. Without `--apply`, the existing hosted implementation-kit behavior
97
+ remains. Inspect the real application after editing.
98
+
99
+ ### Draft, branch, convert and improve
100
+
101
+ `12ui draft`, `12ui branch`, `12ui convert` and `12ui improve` are the primary
102
+ commands, and the ones the 12ui-design skill runs. Each keeps its own saved-run
103
+ format. `convert --engine auto`, the default, runs on local Codex when it is
104
+ ready and otherwise selects the 12ui API before dispatch; a saved run keeps its
105
+ recorded engine. Local conversion selects external images when `OPENAI_API_KEY`
106
+ is set and native Codex images otherwise. Pass `--engine` or an image backend to
107
+ choose one yourself.
108
+
109
+ Local HTML does not produce LayerDoc. Native design formats and hosted branch
110
+ assembly remain dedicated conversion workflows. React export is whole-page JSX,
111
+ not a functional application. Preserve existing run directories and their
112
+ recorded engine for recovery; importing an output into a workflow workspace does
113
+ not migrate an in-flight dispatch.
114
+
115
+ The four stage skills that used to carry these sections separately —
116
+ `design-search`, `design-draft`, `design-branch`, and `design-convert` — were
117
+ retired on 2026-08-16 after a trial measured them buying no routing precision
118
+ over the one broadened description. `skill install` removes any copy still
119
+ present in an agent home.
120
+
121
+ Corpus-conditioned image generation explores visual directions. The selected
122
+ image then guides editable implementation, with browser inspection against the
123
+ approved target and focused correction of observed mismatches.
124
+
125
+ ```bash
126
+ 12ui skill status --json
127
+ 12ui corpus inspire \
128
+ --query "Editorial architecture homepage with warm materiality" \
129
+ --reference-image ./current-homepage.png \
130
+ --out-dir ./references \
131
+ --count 4
132
+ 12ui draft \
133
+ --concept "Editorial architecture homepage with warm materiality" \
134
+ --reference ./current-homepage.png \
135
+ --retain style \
136
+ --candidates 4
137
+ 12ui next <run-dir> --wait
138
+ 12ui branch execute \
139
+ --start <run-dir>/candidates/A.png \
140
+ --concept "Editorial architecture studio site" \
141
+ --scope site \
142
+ --convert html \
143
+ --prototype
144
+ 12ui next <branch-run-dir> --wait
145
+ 12ui improve https://example.com/dashboard \
146
+ --direction "Editorial hierarchy, compact controls, quiet blue surfaces" \
147
+ --repo ./dashboard \
148
+ --out-dir ./dashboard-improve
149
+ 12ui improve https://example.com/dashboard \
150
+ --target ./approved-dashboard.png \
151
+ --repo ./dashboard \
152
+ --out-dir ./dashboard-align
153
+ 12ui convert <conversion-id> \
154
+ --output html_fixed,pdf,psd,pptx,sketch \
155
+ --out-dir ./exports
156
+ ```
157
+
158
+ `draft` accepts 2-16 candidates and defaults to four. `--reference` accepts a
159
+ local PNG/JPEG/WebP path or HTTP(S) URL, keeps the normal corpus retrieval, and
160
+ sends the original image to every hosted candidate. Its new-page default retains
161
+ style while excluding layout, content, and assets; `--retain layout` is the
162
+ explicit source-geometry opt-in. It records the corpus set,
163
+ hosted run id, stable service slots, output paths, and claim key in `draft.json`
164
+ before dispatch. Every dispatch request stays in the foreground and posts only
165
+ slots whose durable service state is still `pending`; in-flight, succeeded, and
166
+ failed slots are never posted again. `12ui next <run-dir> --wait` repairs only
167
+ never-started slots, then polls and downloads. Successful PNGs are digest-checked and written atomically under
168
+ `<run-dir>/candidates/`, with terminal evidence in `draft.complete.json`.
169
+
170
+ `12ui draft` never inspects Codex authentication, `OPENAI_API_KEY`, project
171
+ `.env` files, or another caller-side image-provider credential. This describes
172
+ `12ui draft`, not the workflow ledger's `draft` recipe.
173
+
174
+ `convert <conversion-id>` downloads one successful base LayerDoc once and
175
+ dispatches the chosen formats concurrently. It creates the destination
176
+ directory as needed, but refuses before any API request when a selected output,
177
+ its asset directory, or `export-manifest.json` already exists.
178
+
179
+ `capabilities --json` reports the CLI's exact inputs and outputs, model and
180
+ responsive-quality choices, duration hints, status commands, and durable
181
+ journal/receipt contracts.
182
+
183
+ ### The local workflow ledger
184
+
185
+ The CLI also keeps a persistent local workflow ledger, a secondary surface shared
186
+ by the local CLI and MCP for hosts that drive individual operations themselves:
86
187
 
87
188
  ```sh
88
189
  12ui workflow import /absolute/path/reference.png --workspace ./design-work --role reference
89
190
  12ui workflow prepare ./request.json --workspace ./design-work --key homepage-direction-a
90
- 12ui workflow execute <operation-id> --workspace ./design-work --providers session --session-capabilities image
191
+ 12ui workflow execute <operation-id> --workspace ./design-work --providers session --session-capabilities text
91
192
  12ui workflow register <operation-id> --workspace ./design-work --attempt <handoff-attempt-number> --result ./result.json
92
193
  12ui workflow status <operation-id> --workspace ./design-work
93
194
  ```
@@ -99,33 +200,25 @@ relative to the shell's current directory; file paths inside those results and
99
200
  recipe image paths are workspace-relative unless absolute.
100
201
 
101
202
  `request.json` names a capability, prompt, imported input artifacts and output
102
- contract. The execute result is a handoff when the session is selected; it is not
103
- a generated image. Run the native tool once and register its real files or JSON
104
- value. Preparation, imports and registration do not need a 12ui account. Read
105
- [the session reference](skills/12ui-design/session.md) for the complete contract,
106
- provider policy, MCP equivalents and interruption behavior.
107
-
108
- The skill's `scene.md` guide rebuilds a design image as a live Three.js scene
109
- with the local `12ui scene` tools (`12ui scene --help`): camera solve, placement,
110
- a starter harness with a bundled three.js, capture with the managed Chromium,
111
- and review sheets. It needs no account and makes no network request.
112
-
113
- The explicitly selected legacy `improve --apply` route captures the URL and
114
- edits the actual repository. Without a target it drafts candidates, stops for
115
- an explicit choice, then applies that choice locally. Without `--apply`, the existing hosted implementation-kit behavior
116
- remains. Inspect the real application after editing.
117
-
118
- Provider routing considers the declared host session first, then eligible Codex
119
- and Claude subscription CLI capabilities, then explicitly authorized OpenAI API
120
- and 12ui providers. Codex text/code subprocess execution requires
203
+ contract. A host session takes only text or code: the execute result is then a
204
+ handoff, and the session registers its real files or JSON value. Image, image-edit
205
+ and convert work never goes to a session; the 12ui CLI runs it through its own
206
+ providers. Preparation, imports and registration do not need a 12ui account.
207
+ `12ui workflow --help` documents the complete contract, provider policy and
208
+ interruption behavior.
209
+
210
+ Provider routing considers a host session that declared text or code first, then
211
+ eligible Codex and Claude subscription CLI capabilities, then explicitly authorized
212
+ OpenAI API and 12ui providers. Image, image-edit and convert work never routes to
213
+ a session. Codex text/code subprocess execution requires
121
214
  `--trust-codex-config`: explicit trust in the existing user's CLI configuration,
122
215
  including tools and hooks beyond the command sandbox. This does not authorize
123
216
  paid fallback and does not apply to the current session's tools. Claude requires
124
217
  supported safe mode, edits code with a fixed file-tool set without shell tests,
125
218
  and currently cannot attach images to text requests. Run checks in the parent
126
219
  session. Image capability is never inferred from a text CLI's presence.
127
- Session capabilities must be explicitly
128
- declared from available tools. Key presence alone does not authorize paid work;
220
+ Session capabilities (text or code) must be
221
+ explicitly declared from available tools. Key presence alone does not authorize paid work;
129
222
  `--allow-paid` is required for a funded route. An ambiguous dispatched operation
130
223
  requires reconciliation and cannot silently replay on another provider.
131
224
  An accepted job with a failed download, or a completed response with malformed
@@ -141,7 +234,7 @@ overrides from the child environment and uses the user's normal CLI configuratio
141
234
 
142
235
  The recipes `draft`, `branch`, `edit`, `redesign`, `labels`, `review`, `convert` and
143
236
  `implement` build requests for this shared ledger. They do not imply that every
144
- legacy hosted pipeline or native design export has a local implementation.
237
+ hosted pipeline or native design export has a local implementation.
145
238
  After registering a recipe plan, `12ui workflow continue <operation-id> --workspace <directory>`
146
239
  prepares eligible child operations without inference; execute each
147
240
  returned ready ID explicitly, then continue the same plan to unlock dependencies.
@@ -188,90 +281,6 @@ provide an offline editor. Standard hosted `12ui convert <layerdoc.json>` does
188
281
  not read the sidecar: it requires hydrated HTTP asset references. Uploading and
189
282
  hydrating local assets remains a separate API integration.
190
283
 
191
- ### Existing conversion and hosted commands
192
-
193
- The following APIs and legacy CLI commands remain available when explicitly
194
- selected. They have their own saved-run formats; their automatic engine/backend
195
- rules are separate from the new workflow provider policy. `convert --engine auto`
196
- can select hosted API before dispatch when local Codex is unavailable. Existing
197
- local conversion selects external images when `OPENAI_API_KEY` is set and native
198
- Codex images otherwise. Use an explicit engine/backend when that legacy boundary
199
- is intended; a key is not authorization to choose it on the user's behalf.
200
-
201
- Local HTML does not produce LayerDoc. Native design formats and hosted branch
202
- assembly remain dedicated conversion workflows. React export is whole-page JSX,
203
- not a functional application. Preserve existing legacy run directories and their
204
- recorded engine for recovery; importing an output into a workflow workspace does
205
- not migrate an in-flight legacy dispatch.
206
-
207
- The four stage skills that used to carry these sections separately —
208
- `design-search`, `design-draft`, `design-branch`, and `design-convert` — were
209
- retired on 2026-08-16 after a trial measured them buying no routing precision
210
- over the one broadened description. `skill install` removes any copy still
211
- present in an agent home.
212
-
213
- For an explicitly authorized legacy hosted run, corpus-conditioned image generation explores visual directions. The selected
214
- image then guides editable implementation, with browser inspection against the
215
- approved target and focused correction of observed mismatches.
216
-
217
- ```bash
218
- 12ui skill status --json
219
- 12ui corpus inspire \
220
- --query "Editorial architecture homepage with warm materiality" \
221
- --reference-image ./current-homepage.png \
222
- --out-dir ./references \
223
- --count 4
224
- 12ui draft \
225
- --concept "Editorial architecture homepage with warm materiality" \
226
- --reference ./current-homepage.png \
227
- --retain style \
228
- --candidates 4
229
- 12ui next <run-dir> --wait
230
- 12ui branch execute \
231
- --start <run-dir>/candidates/A.png \
232
- --concept "Editorial architecture studio site" \
233
- --scope site \
234
- --convert html \
235
- --prototype
236
- 12ui next <branch-run-dir> --wait
237
- 12ui improve https://example.com/dashboard \
238
- --direction "Editorial hierarchy, compact controls, quiet blue surfaces" \
239
- --repo ./dashboard \
240
- --out-dir ./dashboard-improve
241
- 12ui improve https://example.com/dashboard \
242
- --target ./approved-dashboard.png \
243
- --repo ./dashboard \
244
- --out-dir ./dashboard-align
245
- 12ui convert <conversion-id> \
246
- --output html_fixed,pdf,psd,pptx,sketch \
247
- --out-dir ./exports
248
- ```
249
-
250
- `draft` accepts 2-16 candidates and defaults to four. `--reference` accepts a
251
- local PNG/JPEG/WebP path or HTTP(S) URL, keeps the normal corpus retrieval, and
252
- sends the original image to every hosted candidate. Its new-page default retains
253
- style while excluding layout, content, and assets; `--retain layout` is the
254
- explicit source-geometry opt-in. It records the corpus set,
255
- hosted run id, stable service slots, output paths, and claim key in `draft.json`
256
- before dispatch. Every dispatch request stays in the foreground and posts only
257
- slots whose durable service state is still `pending`; in-flight, succeeded, and
258
- failed slots are never posted again. `12ui next <run-dir> --wait` repairs only
259
- never-started slots, then polls and downloads. Successful PNGs are digest-checked and written atomically under
260
- `<run-dir>/candidates/`, with terminal evidence in `draft.complete.json`.
261
-
262
- The legacy `draft` command never inspects Codex authentication, `OPENAI_API_KEY`,
263
- project `.env` files, or another caller-side image-provider credential. This
264
- boundary describes legacy hosted draft, not the new `workflow draft` recipe.
265
-
266
- `convert <conversion-id>` downloads one successful base LayerDoc once and
267
- dispatches the chosen formats concurrently. It creates the destination
268
- directory as needed, but refuses before any API request when a selected output,
269
- its asset directory, or `export-manifest.json` already exists.
270
-
271
- `capabilities --json` reports the CLI's exact inputs and outputs, model and
272
- responsive-quality choices, duration hints, status commands, and durable
273
- journal/receipt contracts.
274
-
275
284
  ## Design Corpus inspiration
276
285
 
277
286
  `TwelveUiCorpusClient` supports public status, inspiration and logo searches,
@@ -303,7 +312,7 @@ const image = await corpus.download(first.id, 'ref-hd');
303
312
 
304
313
  Every inspiration request requires a stable idempotency key. See
305
314
  [`docs/corpus-v1.openapi.yaml`](https://github.com/just-every/12ui-plugin/blob/main/docs/corpus-v1.openapi.yaml).
306
- `download` accepts `thumb`, `thumb-hd`, `ref`, and `ref-hd`; the legacy
315
+ `download` accepts `thumb`, `thumb-hd`, `ref`, and `ref-hd`; the original
307
316
  `thumb`/`ref` sizes remain supported.
308
317
 
309
318
  For agent workflows that need four reference images,
@@ -461,7 +470,7 @@ DOM candidates, known destinations and source HTML/plan/completion before build.
461
470
  Generic image `workflow labels` annotations cannot be substituted. Duplicate IDs,
462
471
  unknown destinations and contradictory action fields are rejected before immutable
463
472
  workflow success. Native local pages permit only navigation to real pages or none.
464
- Legacy branch resume refuses to replace this pause with hosted labeling.
473
+ `12ui branch resume` refuses to replace this pause with hosted labeling.
465
474
 
466
475
  The manifest preserves source custody, operation IDs and actual provider/funding/
467
476
  usage facts. `labels.costMicros` counts new hosted prototype-label calls only;
@@ -930,8 +939,9 @@ plan, never an API key) and searches the free reference corpus. Twelve tools:
930
939
 
931
940
  A hand-off records the request durably (Branch: your words, verbatim; Convert: the format and its
932
941
  options) with a verified copy of the image, and sends the agent a short message. The agent reads
933
- the record with `design.slate.data`, carries it out through the free local routes, and asks you
934
- before anything that uses your 12ui credits (a conversion to LayerDoc, fixed HTML, SVG, PDF, PSD and
942
+ the record with `design.slate.data` and runs the filled-in `12ui` command it names (`12ui branch
943
+ execute` for a Branch, `12ui convert` for a Convert), and asks you before anything that uses your
944
+ 12ui credits (a conversion to LayerDoc, fixed HTML, SVG, PDF, PSD and
935
945
  the other service formats is always that). `12ui slate-runner` is an internal command and is not
936
946
  a public surface.
937
947
 
@@ -953,7 +963,7 @@ network access (`-c sandbox_workspace_write.network_access=true`) and the 12ui s
953
963
  (`--add-dir ~/.local/share/12ui`, which the workspace writes to) runs everything, Design and Edit
954
964
  included; full access needs none of it.
955
965
 
956
- Among these tools, only legacy `design.convert` creates metered work; corpus retrieval, including the
966
+ Among these tools, only `design.convert` creates metered work; corpus retrieval, including the
957
967
  workspace's own search, is free and subject to abuse limits.
958
968
  `design.workflow.execute` can use a funded provider only with its explicit authorization policy.
959
969
  Set an `idempotencyKey` for any ambiguous conversion
package/SKILL.md CHANGED
@@ -7,31 +7,36 @@ description: "Runs the complete 12UI visual-interface workflow inside Open
7
7
 
8
8
  # 12UI for Open Design
9
9
 
10
- Follow `skills/12ui-design/SKILL.md` and its `session.md` reference. They carry the
11
- same persistent local workflow used by the other clients: prepare an operation,
12
- execute through an available session capability, register actual output, then
13
- continue from saved artifacts. Keep the workspace, operation IDs, selected-image
14
- rationale and result manifests with the project.
15
-
16
- Explore useful distinct directions and show their actual images through Open
17
- Design's `twelve-ui-direction` choice surface when the user needs to choose.
18
- Record the selected artifact and rationale, then implement or branch that image.
19
- Do not substitute generic direction cards for requested design imagery.
20
-
21
- Preparation and local registration do not require 12ui authentication or spend
22
- approval. Before dispatching a separately funded 12ui route, use Open Design's
23
- `twelve-ui-spend-approval` surface for the concrete work unless the current run
24
- already carries that authorization. Do not infer funding authorization from a
25
- configured key. An absent, rejected or timed-out approval does not authorize
26
- paid work. OpenAI API funding also requires the user's explicit authorization.
27
-
28
- Use `12ui` from PATH. Otherwise use the pinned CLI from `open-design.json`:
29
-
30
- npx -y @12ui/design@0.2.75 <command> ...
31
-
32
- A session handoff is a claim awaiting the native tool result, not completion.
33
- Do not repeat an uncertain dispatch or switch providers to work around it.
34
- Register the actual output and inspect the saved status. Use the returned code
35
- and assets in the project, then verify the real browser before publishing a
36
- preview under the user's existing authorization. Never put credentials into
37
- project files, plugin manifests, tool output or generated artifacts.
10
+ `skills/12ui-design/SKILL.md` is the whole contract: it covers reference search,
11
+ hosted candidate generation, branching an approved direction across a page,
12
+ site, or multi-state app, and converting a finished image into LayerDoc and
13
+ production exports. The four stage skills it replaced were retired on
14
+ 2026-08-16.
15
+
16
+ For a normal interface request, follow `skills/12ui-design/SKILL.md` end to end:
17
+ create four corpus-conditioned candidates, present their actual images through
18
+ Open Design's `twelve-ui-direction` choice surface, record the selected slot and
19
+ rationale in the Open Design choice, then convert or branch exactly that image.
20
+ Do not substitute Open Design's generic direction cards for the generated 12UI
21
+ candidates.
22
+
23
+ Before the first command that can consume 12UI quota, request the declared
24
+ `twelve-ui-spend-approval` confirmation surface with a concise description of
25
+ the work being authorized. An approval applies only to the current run. Do not
26
+ dispatch paid work when it is absent, rejected, or times out.
27
+
28
+ Use `12ui` when it is available on `PATH`. Otherwise invoke the pinned CLI that
29
+ the plugin's `open-design.json` MCP entry uses:
30
+
31
+ npx -y @12ui/design@0.2.77 <command> ...
32
+
33
+ Run `12ui auth status --json` (or its pinned `npx` equivalent) before the paid
34
+ preflight. A desktop user can authenticate with `12ui auth login`; a headless
35
+ run supplies `TWELVE_UI_API_KEY`. Never put a credential into project files,
36
+ the plugin manifest, command output, or generated artifacts.
37
+
38
+ Treat the generated HTML or project export as the implementation, materialize
39
+ it in the Open Design project workspace, and publish it as a live artifact for
40
+ preview and critique. Preserve the 12UI run directory, chosen-image rationale,
41
+ conversion IDs, and export manifests with the project so reruns can resume
42
+ settled work instead of buying it again.
@@ -1 +1 @@
1
- {"version":3,"file":"cli-arguments.d.ts","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAKhE,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAyBhD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CA6BtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,EAGjE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC"}
1
+ {"version":3,"file":"cli-arguments.d.ts","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAKhE,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAyBhD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAyCtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,EAGjE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC"}
@@ -37,27 +37,41 @@ export const parseCliArguments = (argv) => {
37
37
  command.push(value);
38
38
  continue;
39
39
  }
40
- const name = value.slice(2);
40
+ // `--name=value` carries its value in the same token, so a value that
41
+ // starts with "-" (`--orbit=-15,15`) needs no quoting tricks. The run
42
+ // journal's normalizeArgv already reads this form the same way.
43
+ const body = value.slice(2);
44
+ const equals = body.indexOf('=');
45
+ const name = equals >= 0 ? body.slice(0, equals) : body;
41
46
  if (!name)
42
47
  throw new Error('Invalid empty flag');
43
48
  if (CLI_BOOLEAN_FLAGS.has(name)) {
49
+ if (equals >= 0)
50
+ throw new Error(`--${name} takes no value; drop "=${body.slice(equals + 1)}"`);
44
51
  flags[name] = true;
45
52
  continue;
46
53
  }
47
- const next = argv[index + 1];
48
- if (!next || next.startsWith('--'))
49
- throw new Error(`--${name} requires a value`);
54
+ let flagValue;
55
+ if (equals >= 0) {
56
+ flagValue = body.slice(equals + 1);
57
+ }
58
+ else {
59
+ const next = argv[index + 1];
60
+ if (!next || next.startsWith('--'))
61
+ throw new Error(`--${name} requires a value`);
62
+ flagValue = next;
63
+ index += 1;
64
+ }
50
65
  if ((name === 'bootstrap' || name === 'page') && flags[name] !== undefined) {
51
66
  const current = flags[name];
52
67
  flags[name] = [
53
68
  ...(Array.isArray(current) ? current : typeof current === 'string' ? [current] : []),
54
- next,
69
+ flagValue,
55
70
  ];
56
71
  }
57
72
  else {
58
- flags[name] = next;
73
+ flags[name] = flagValue;
59
74
  }
60
- index += 1;
61
75
  }
62
76
  return { command, flags };
63
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ export declare const CLI_CAPABILITIES: {
7
7
  readonly capabilities: readonly ["text", "image", "image-edit", "code", "convert"];
8
8
  readonly workspace: "Required persistent local directory except for provider discovery.";
9
9
  readonly preparation: "Prepare and recipe commands record work without model dispatch; execute chooses a provider.";
10
- readonly session: "Declare session capabilities explicitly; execute returns a handoff and register records its result with the exact --attempt number.";
10
+ readonly session: "Declare session capabilities explicitly (text or code only); execute returns a handoff and register records its result with the exact --attempt number.";
11
+ readonly generation: "image, image-edit and convert always run through the 12ui CLI's own providers, never a host session.";
11
12
  readonly codexConfiguration: "Codex child execution requires --trust-codex-config, including trust in configured tools and hooks. This does not authorize paid fallbacks.";
12
13
  readonly paidProviders: "openai and 12ui require explicit --allow-paid permission; available credentials do not authorize spending.";
13
14
  readonly recovery: "Ambiguous dispatched work requires reconciliation and never silently falls through to another provider.";
@@ -52,7 +53,7 @@ export declare const CLI_CAPABILITIES: {
52
53
  /** Local helpers for rebuilding a design image as a live Three.js scene (the 12ui-design skill's scene.md). */
53
54
  readonly localScene: {
54
55
  readonly command: "12ui scene <verb>";
55
- readonly verbs: readonly ["init", "solve", "ray", "project", "rect", "serve", "capture", "sheet", "blend", "colors", "rectify"];
56
+ readonly verbs: readonly ["init", "solve", "ray", "project", "rect", "serve", "capture", "sheet", "blend", "colors", "rectify", "merge"];
56
57
  readonly network: "none";
57
58
  readonly browser: "managed Chromium for capture";
58
59
  readonly skill: "12ui-design";
@@ -1 +1 @@
1
- {"version":3,"file":"cli-capabilities.d.ts","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuD3B,+GAA+G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkD/G;;;;;OAKG;;;;;;;;;;;IAeH;;;;;;OAMG;;;;;;;QAUD,iFAAiF;;;IAGnF;;;;;;OAMG;;;QAGD,yEAAyE;;;;;QASzE,6EAA6E;;QAE7E,6EAA6E;;;;;;;IAO/E,uEAAuE;;;;;;;;;;;;QAYrE;;;WAGG;;;;;;;;;;;;;;;;;;CAkBG,CAAC"}
1
+ {"version":3,"file":"cli-capabilities.d.ts","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwD3B,+GAA+G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkD/G;;;;;OAKG;;;;;;;;;;;IAeH;;;;;;OAMG;;;;;;;QAUD,iFAAiF;;;IAGnF;;;;;;OAMG;;;QAGD,yEAAyE;;;;;QASzE,6EAA6E;;QAE7E,6EAA6E;;;;;;;IAO/E,uEAAuE;;;;;;;;;;;;QAYrE;;;WAGG;;;;;;;;;;;;;;;;;;CAkBG,CAAC"}
@@ -15,7 +15,8 @@ export const CLI_CAPABILITIES = {
15
15
  capabilities: ['text', 'image', 'image-edit', 'code', 'convert'],
16
16
  workspace: 'Required persistent local directory except for provider discovery.',
17
17
  preparation: 'Prepare and recipe commands record work without model dispatch; execute chooses a provider.',
18
- session: 'Declare session capabilities explicitly; execute returns a handoff and register records its result with the exact --attempt number.',
18
+ session: 'Declare session capabilities explicitly (text or code only); execute returns a handoff and register records its result with the exact --attempt number.',
19
+ generation: 'image, image-edit and convert always run through the 12ui CLI\'s own providers, never a host session.',
19
20
  codexConfiguration: 'Codex child execution requires --trust-codex-config, including trust in configured tools and hooks. This does not authorize paid fallbacks.',
20
21
  paidProviders: 'openai and 12ui require explicit --allow-paid permission; available credentials do not authorize spending.',
21
22
  recovery: 'Ambiguous dispatched work requires reconciliation and never silently falls through to another provider.',
@@ -1 +1 @@
1
- {"version":3,"file":"cli-capabilities.js","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-capabilities.js","sourceRoot":"","sources":["../src/cli-capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { SlateServerMessageCode } from './slate-view-contract.js';
1
2
  /** `codex features list` prints `<name> <stage> <true|false>` per feature; image generation must be on. */
2
3
  export declare const imageGenerationEnabled: (featuresList: string) => boolean;
3
4
  /** Which check decided the probe: `ready`, or the first one that failed. Callers word their own sentence from it. */
@@ -8,6 +9,11 @@ export type CodexReadiness = {
8
9
  check: CodexReadinessCheck;
9
10
  codexBin: string;
10
11
  codexHome: string;
12
+ /**
13
+ * The reason as a person reads it on the Design workspace screen (`server.<code>`): `reason` is for the operator and
14
+ * names flags and files; this names what to do. Absent when ready.
15
+ */
16
+ personCode?: SlateServerMessageCode;
11
17
  /** What `codex --version` printed, once it ran. */
12
18
  version?: string;
13
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-codex-readiness.d.ts","sourceRoot":"","sources":["../src/cli-codex-readiness.ts"],"names":[],"mappings":"AAeA,6GAA6G;AAC7G,eAAO,MAAM,sBAAsB,GAAI,cAAc,MAAM,KAAG,OAE7D,CAAC;AASF,qHAAqH;AACrH,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,kBAAkB,CAAC;AAErI,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAChG,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA0CnJ"}
1
+ {"version":3,"file":"cli-codex-readiness.d.ts","sourceRoot":"","sources":["../src/cli-codex-readiness.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AASvE,6GAA6G;AAC7G,eAAO,MAAM,sBAAsB,GAAI,cAAc,MAAM,KAAG,OAE7D,CAAC;AASF,qHAAqH;AACrH,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,kBAAkB,CAAC;AAErI,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAChG;;;OAGG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA0CnJ"}
@@ -27,10 +27,10 @@ export async function probeCodexReadiness(options = {}) {
27
27
  const codexHome = path.resolve(options.codexHome ?? (source.CODEX_HOME?.trim() || path.join(homedir(), '.codex')));
28
28
  const located = options.codexBin ?? locateCodexBinary(source)?.binary;
29
29
  if (located === undefined)
30
- return { ready: false, reason: NO_CODEX_BINARY_REASON, check: 'no_binary', codexBin: '', codexHome };
30
+ return { ready: false, reason: NO_CODEX_BINARY_REASON, check: 'no_binary', personCode: 'codex_missing', codexBin: '', codexHome };
31
31
  const codexBin = located;
32
32
  let version;
33
- const result = (check, reason) => ({ ready: check === 'ready', reason, check, codexBin, codexHome, ...(version ? { version } : {}) });
33
+ const result = (check, reason, personCode) => ({ ready: check === 'ready', reason, check, ...(personCode ? { personCode } : {}), codexBin, codexHome, ...(version ? { version } : {}) });
34
34
  // Match the runtime's subscription environment: no provider API credentials.
35
35
  const env = { CODEX_HOME: codexHome };
36
36
  for (const key of ['PATH', 'HOME', 'TMPDIR', 'TEMP', 'TMP', 'LANG', 'LC_ALL', 'SYSTEMROOT']) {
@@ -41,31 +41,31 @@ export async function probeCodexReadiness(options = {}) {
41
41
  version = (await inspect(codexBin, ['--version'], env)).trim().replace(/^codex-cli\s+/u, '').split('\n')[0]?.trim() || undefined;
42
42
  }
43
43
  catch {
44
- return result('binary', 'Codex CLI could not run. Install Codex on PATH or pass --codex-bin with a working executable.');
44
+ return result('binary', 'Codex CLI could not run. Install Codex on PATH or pass --codex-bin with a working executable.', 'codex_broken');
45
45
  }
46
46
  try {
47
47
  await access(path.join(codexHome, 'auth.json'), constants.R_OK);
48
48
  }
49
49
  catch {
50
- return result('auth_file', 'Selected Codex home has no readable auth.json. Run codex login with this CODEX_HOME, or select your authenticated home with --codex-home.');
50
+ return result('auth_file', 'Selected Codex home has no readable auth.json. Run codex login with this CODEX_HOME, or select your authenticated home with --codex-home.', 'codex_signed_out');
51
51
  }
52
52
  try {
53
53
  const login = await inspect(codexBin, ['login', 'status'], env);
54
54
  if (!login.includes('Logged in using ChatGPT')) {
55
- return result('chatgpt_login', 'Codex conversion requires ChatGPT authentication. Run codex login with the selected CODEX_HOME; API-key login is not supported.');
55
+ return result('chatgpt_login', 'Codex conversion requires ChatGPT authentication. Run codex login with the selected CODEX_HOME; API-key login is not supported.', 'codex_api_key');
56
56
  }
57
57
  }
58
58
  catch {
59
- return result('login_status', 'Codex login status failed. Run codex login with the selected CODEX_HOME and retry.');
59
+ return result('login_status', 'Codex login status failed. Run codex login with the selected CODEX_HOME and retry.', 'codex_login_unknown');
60
60
  }
61
61
  try {
62
62
  const help = await inspect(codexBin, ['exec', '--help'], env);
63
63
  const missing = requiredExecFlags.filter(flag => !new RegExp(`${flag}(?=[\\s=,]|$)`).test(help));
64
64
  if (missing.length)
65
- return result('exec_flags', `Codex CLI lacks required conversion flags: ${missing.join(', ')}. Update Codex or select a compatible executable with --codex-bin.`);
65
+ return result('exec_flags', `Codex CLI lacks required conversion flags: ${missing.join(', ')}. Update Codex or select a compatible executable with --codex-bin.`, 'codex_outdated');
66
66
  }
67
67
  catch {
68
- return result('exec_flags', 'Codex exec --help failed. Update Codex or select a compatible executable with --codex-bin.');
68
+ return result('exec_flags', 'Codex exec --help failed. Update Codex or select a compatible executable with --codex-bin.', 'codex_outdated');
69
69
  }
70
70
  try {
71
71
  const cache = JSON.parse(await readFile(path.join(codexHome, 'models_cache.json'), 'utf8'));
@@ -74,18 +74,18 @@ export async function probeCodexReadiness(options = {}) {
74
74
  && Array.isArray(model.supported_reasoning_levels)
75
75
  && model.supported_reasoning_levels.some((level) => level?.effort === 'low'));
76
76
  if (!available)
77
- return result('models', 'The selected Codex model cache does not list gpt-6-astra with low reasoning. Refresh Codex model availability for this ChatGPT account, then retry.');
77
+ return result('models', 'The selected Codex model cache does not list gpt-6-astra with low reasoning. Refresh Codex model availability for this ChatGPT account, then retry.', 'codex_model_missing');
78
78
  }
79
79
  catch {
80
- return result('models', 'Selected Codex home has no readable, valid models_cache.json. Open Codex with this CODEX_HOME to refresh its model cache, then retry.');
80
+ return result('models', 'Selected Codex home has no readable, valid models_cache.json. Open Codex with this CODEX_HOME to refresh its model cache, then retry.', 'codex_model_missing');
81
81
  }
82
82
  try {
83
83
  if (!imageGenerationEnabled(await inspect(codexBin, ['features', 'list'], env))) {
84
- return result('image_generation', 'Codex image generation is not enabled for this Codex home (codex features list shows image_generation off).');
84
+ return result('image_generation', 'Codex image generation is not enabled for this Codex home (codex features list shows image_generation off).', 'codex_images_off');
85
85
  }
86
86
  }
87
87
  catch {
88
- return result('image_generation', 'Codex features list failed. Update Codex or select a compatible executable with --codex-bin.');
88
+ return result('image_generation', 'Codex features list failed. Update Codex or select a compatible executable with --codex-bin.', 'codex_outdated');
89
89
  }
90
90
  return result('ready', 'Codex CLI, ChatGPT login, required flags, cached gpt-6-astra low availability, and image generation are ready.');
91
91
  }