@12ui/design 0.2.76 → 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 (331) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/cli-codex-readiness.d.ts +6 -0
  3. package/dist/cli-codex-readiness.d.ts.map +1 -1
  4. package/dist/cli-codex-readiness.js +12 -12
  5. package/dist/cli-codex-readiness.js.map +1 -1
  6. package/dist/cli-help/design.d.ts +2 -2
  7. package/dist/cli-help/design.d.ts.map +1 -1
  8. package/dist/cli-help/design.js +2 -0
  9. package/dist/cli-help/design.js.map +1 -1
  10. package/dist/cli-help/index.d.ts +2 -2
  11. package/dist/cli-review-command.d.ts.map +1 -1
  12. package/dist/cli-review-command.js +2 -0
  13. package/dist/cli-review-command.js.map +1 -1
  14. package/dist/cli-run.d.ts.map +1 -1
  15. package/dist/cli-run.js +6 -0
  16. package/dist/cli-run.js.map +1 -1
  17. package/dist/cli-workspace-draw.d.ts +1 -11
  18. package/dist/cli-workspace-draw.d.ts.map +1 -1
  19. package/dist/cli-workspace-draw.js +17 -18
  20. package/dist/cli-workspace-draw.js.map +1 -1
  21. package/dist/cli-workspace-runner.d.ts +30 -0
  22. package/dist/cli-workspace-runner.d.ts.map +1 -0
  23. package/dist/cli-workspace-runner.js +105 -0
  24. package/dist/cli-workspace-runner.js.map +1 -0
  25. package/dist/mcp-slate-image.js +1 -1
  26. package/dist/mcp-slate-image.js.map +1 -1
  27. package/dist/mcp-slate-tool-defs.js +1 -1
  28. package/dist/mcp-slate-tool-defs.js.map +1 -1
  29. package/dist/mcp-slate-ui-copy.d.ts +403 -33
  30. package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
  31. package/dist/mcp-slate-ui-copy.js +247 -57
  32. package/dist/mcp-slate-ui-copy.js.map +1 -1
  33. package/dist/mcp-slate-ui-icu.d.ts +47 -0
  34. package/dist/mcp-slate-ui-icu.d.ts.map +1 -0
  35. package/dist/mcp-slate-ui-icu.js +229 -0
  36. package/dist/mcp-slate-ui-icu.js.map +1 -0
  37. package/dist/mcp-slate-ui-locale-match.d.ts +12 -0
  38. package/dist/mcp-slate-ui-locale-match.d.ts.map +1 -0
  39. package/dist/mcp-slate-ui-locale-match.js +34 -0
  40. package/dist/mcp-slate-ui-locale-match.js.map +1 -0
  41. package/dist/mcp-slate-ui-locales/de-DE.d.ts +9 -0
  42. package/dist/mcp-slate-ui-locales/de-DE.d.ts.map +1 -0
  43. package/dist/mcp-slate-ui-locales/de-DE.js +217 -0
  44. package/dist/mcp-slate-ui-locales/de-DE.js.map +1 -0
  45. package/dist/mcp-slate-ui-locales/es-419.d.ts +9 -0
  46. package/dist/mcp-slate-ui-locales/es-419.d.ts.map +1 -0
  47. package/dist/mcp-slate-ui-locales/es-419.js +217 -0
  48. package/dist/mcp-slate-ui-locales/es-419.js.map +1 -0
  49. package/dist/mcp-slate-ui-locales/es-ES.d.ts +9 -0
  50. package/dist/mcp-slate-ui-locales/es-ES.d.ts.map +1 -0
  51. package/dist/mcp-slate-ui-locales/es-ES.js +217 -0
  52. package/dist/mcp-slate-ui-locales/es-ES.js.map +1 -0
  53. package/dist/mcp-slate-ui-locales/fr-FR.d.ts +9 -0
  54. package/dist/mcp-slate-ui-locales/fr-FR.d.ts.map +1 -0
  55. package/dist/mcp-slate-ui-locales/fr-FR.js +217 -0
  56. package/dist/mcp-slate-ui-locales/fr-FR.js.map +1 -0
  57. package/dist/mcp-slate-ui-locales/hi-IN.d.ts +9 -0
  58. package/dist/mcp-slate-ui-locales/hi-IN.d.ts.map +1 -0
  59. package/dist/mcp-slate-ui-locales/hi-IN.js +217 -0
  60. package/dist/mcp-slate-ui-locales/hi-IN.js.map +1 -0
  61. package/dist/mcp-slate-ui-locales/index.d.ts +11 -0
  62. package/dist/mcp-slate-ui-locales/index.d.ts.map +1 -0
  63. package/dist/mcp-slate-ui-locales/index.js +34 -0
  64. package/dist/mcp-slate-ui-locales/index.js.map +1 -0
  65. package/dist/mcp-slate-ui-locales/it-IT.d.ts +9 -0
  66. package/dist/mcp-slate-ui-locales/it-IT.d.ts.map +1 -0
  67. package/dist/mcp-slate-ui-locales/it-IT.js +217 -0
  68. package/dist/mcp-slate-ui-locales/it-IT.js.map +1 -0
  69. package/dist/mcp-slate-ui-locales/ja-JP.d.ts +9 -0
  70. package/dist/mcp-slate-ui-locales/ja-JP.d.ts.map +1 -0
  71. package/dist/mcp-slate-ui-locales/ja-JP.js +217 -0
  72. package/dist/mcp-slate-ui-locales/ja-JP.js.map +1 -0
  73. package/dist/mcp-slate-ui-locales/ko-KR.d.ts +9 -0
  74. package/dist/mcp-slate-ui-locales/ko-KR.d.ts.map +1 -0
  75. package/dist/mcp-slate-ui-locales/ko-KR.js +217 -0
  76. package/dist/mcp-slate-ui-locales/ko-KR.js.map +1 -0
  77. package/dist/mcp-slate-ui-locales/pt-BR.d.ts +9 -0
  78. package/dist/mcp-slate-ui-locales/pt-BR.d.ts.map +1 -0
  79. package/dist/mcp-slate-ui-locales/pt-BR.js +217 -0
  80. package/dist/mcp-slate-ui-locales/pt-BR.js.map +1 -0
  81. package/dist/mcp-slate-ui-locales/zh-CN.d.ts +9 -0
  82. package/dist/mcp-slate-ui-locales/zh-CN.d.ts.map +1 -0
  83. package/dist/mcp-slate-ui-locales/zh-CN.js +217 -0
  84. package/dist/mcp-slate-ui-locales/zh-CN.js.map +1 -0
  85. package/dist/mcp-slate-ui-locales/zh-TW.d.ts +9 -0
  86. package/dist/mcp-slate-ui-locales/zh-TW.d.ts.map +1 -0
  87. package/dist/mcp-slate-ui-locales/zh-TW.js +217 -0
  88. package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -0
  89. package/dist/mcp-slate-ui-script-bridge.d.ts.map +1 -1
  90. package/dist/mcp-slate-ui-script-bridge.js +8 -9
  91. package/dist/mcp-slate-ui-script-bridge.js.map +1 -1
  92. package/dist/mcp-slate-ui-script-dialog.d.ts.map +1 -1
  93. package/dist/mcp-slate-ui-script-dialog.js +60 -30
  94. package/dist/mcp-slate-ui-script-dialog.js.map +1 -1
  95. package/dist/mcp-slate-ui-script-inline.d.ts +9 -6
  96. package/dist/mcp-slate-ui-script-inline.d.ts.map +1 -1
  97. package/dist/mcp-slate-ui-script-inline.js +91 -46
  98. package/dist/mcp-slate-ui-script-inline.js.map +1 -1
  99. package/dist/mcp-slate-ui-script-inspiration-collage.d.ts +20 -0
  100. package/dist/mcp-slate-ui-script-inspiration-collage.d.ts.map +1 -0
  101. package/dist/mcp-slate-ui-script-inspiration-collage.js +68 -0
  102. package/dist/mcp-slate-ui-script-inspiration-collage.js.map +1 -0
  103. package/dist/mcp-slate-ui-script-inspiration-grid.d.ts +26 -0
  104. package/dist/mcp-slate-ui-script-inspiration-grid.d.ts.map +1 -0
  105. package/dist/mcp-slate-ui-script-inspiration-grid.js +246 -0
  106. package/dist/mcp-slate-ui-script-inspiration-grid.js.map +1 -0
  107. package/dist/mcp-slate-ui-script-inspiration.d.ts +10 -9
  108. package/dist/mcp-slate-ui-script-inspiration.d.ts.map +1 -1
  109. package/dist/mcp-slate-ui-script-inspiration.js +161 -120
  110. package/dist/mcp-slate-ui-script-inspiration.js.map +1 -1
  111. package/dist/mcp-slate-ui-script-l10n.d.ts +29 -0
  112. package/dist/mcp-slate-ui-script-l10n.d.ts.map +1 -0
  113. package/dist/mcp-slate-ui-script-l10n.js +135 -0
  114. package/dist/mcp-slate-ui-script-l10n.js.map +1 -0
  115. package/dist/mcp-slate-ui-script-more.d.ts +3 -2
  116. package/dist/mcp-slate-ui-script-more.d.ts.map +1 -1
  117. package/dist/mcp-slate-ui-script-more.js +19 -18
  118. package/dist/mcp-slate-ui-script-more.js.map +1 -1
  119. package/dist/mcp-slate-ui-script-pause.d.ts +33 -0
  120. package/dist/mcp-slate-ui-script-pause.d.ts.map +1 -0
  121. package/dist/mcp-slate-ui-script-pause.js +217 -0
  122. package/dist/mcp-slate-ui-script-pause.js.map +1 -0
  123. package/dist/mcp-slate-ui-script-remote.d.ts +2 -0
  124. package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -1
  125. package/dist/mcp-slate-ui-script-remote.js +39 -6
  126. package/dist/mcp-slate-ui-script-remote.js.map +1 -1
  127. package/dist/mcp-slate-ui-script-scribble.js +1 -1
  128. package/dist/mcp-slate-ui-script-select.js +6 -6
  129. package/dist/mcp-slate-ui-script-stage.d.ts +3 -2
  130. package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -1
  131. package/dist/mcp-slate-ui-script-stage.js +31 -19
  132. package/dist/mcp-slate-ui-script-stage.js.map +1 -1
  133. package/dist/mcp-slate-ui-script-state.d.ts.map +1 -1
  134. package/dist/mcp-slate-ui-script-state.js +77 -57
  135. package/dist/mcp-slate-ui-script-state.js.map +1 -1
  136. package/dist/mcp-slate-ui-script.d.ts +2 -2
  137. package/dist/mcp-slate-ui-script.d.ts.map +1 -1
  138. package/dist/mcp-slate-ui-script.js +21 -7
  139. package/dist/mcp-slate-ui-script.js.map +1 -1
  140. package/dist/mcp-slate-ui-styles-dialog.d.ts +6 -7
  141. package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -1
  142. package/dist/mcp-slate-ui-styles-dialog.js +13 -29
  143. package/dist/mcp-slate-ui-styles-dialog.js.map +1 -1
  144. package/dist/mcp-slate-ui-styles-inspiration.d.ts +18 -0
  145. package/dist/mcp-slate-ui-styles-inspiration.d.ts.map +1 -0
  146. package/dist/mcp-slate-ui-styles-inspiration.js +43 -0
  147. package/dist/mcp-slate-ui-styles-inspiration.js.map +1 -0
  148. package/dist/mcp-slate-ui-styles-pause.d.ts +10 -0
  149. package/dist/mcp-slate-ui-styles-pause.d.ts.map +1 -0
  150. package/dist/mcp-slate-ui-styles-pause.js +25 -0
  151. package/dist/mcp-slate-ui-styles-pause.js.map +1 -0
  152. package/dist/mcp-slate-ui-styles-stage.d.ts +10 -6
  153. package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -1
  154. package/dist/mcp-slate-ui-styles-stage.js +24 -16
  155. package/dist/mcp-slate-ui-styles-stage.js.map +1 -1
  156. package/dist/mcp-slate-ui-styles.d.ts +12 -5
  157. package/dist/mcp-slate-ui-styles.d.ts.map +1 -1
  158. package/dist/mcp-slate-ui-styles.js +38 -21
  159. package/dist/mcp-slate-ui-styles.js.map +1 -1
  160. package/dist/mcp-slate-ui.d.ts +11 -3
  161. package/dist/mcp-slate-ui.d.ts.map +1 -1
  162. package/dist/mcp-slate-ui.js +24 -16
  163. package/dist/mcp-slate-ui.js.map +1 -1
  164. package/dist/mosaic-bands.d.ts +44 -0
  165. package/dist/mosaic-bands.d.ts.map +1 -0
  166. package/dist/mosaic-bands.js +153 -0
  167. package/dist/mosaic-bands.js.map +1 -0
  168. package/dist/review-discovery.d.ts.map +1 -1
  169. package/dist/review-discovery.js +36 -54
  170. package/dist/review-discovery.js.map +1 -1
  171. package/dist/review-page.d.ts.map +1 -1
  172. package/dist/review-page.js +2 -1
  173. package/dist/review-page.js.map +1 -1
  174. package/dist/review-run-roots.d.ts +40 -0
  175. package/dist/review-run-roots.d.ts.map +1 -0
  176. package/dist/review-run-roots.js +94 -0
  177. package/dist/review-run-roots.js.map +1 -0
  178. package/dist/review-server.d.ts +2 -0
  179. package/dist/review-server.d.ts.map +1 -1
  180. package/dist/review-server.js +2 -0
  181. package/dist/review-server.js.map +1 -1
  182. package/dist/review-types.d.ts +10 -0
  183. package/dist/review-types.d.ts.map +1 -1
  184. package/dist/slate-actions.d.ts +3 -3
  185. package/dist/slate-actions.d.ts.map +1 -1
  186. package/dist/slate-actions.js +9 -8
  187. package/dist/slate-actions.js.map +1 -1
  188. package/dist/slate-browser-host-script.d.ts +4 -0
  189. package/dist/slate-browser-host-script.d.ts.map +1 -1
  190. package/dist/slate-browser-host-script.js +25 -6
  191. package/dist/slate-browser-host-script.js.map +1 -1
  192. package/dist/slate-browser-host.d.ts +2 -1
  193. package/dist/slate-browser-host.d.ts.map +1 -1
  194. package/dist/slate-browser-host.js +18 -5
  195. package/dist/slate-browser-host.js.map +1 -1
  196. package/dist/slate-commit.js +7 -7
  197. package/dist/slate-commit.js.map +1 -1
  198. package/dist/slate-corpus.d.ts.map +1 -1
  199. package/dist/slate-corpus.js +3 -2
  200. package/dist/slate-corpus.js.map +1 -1
  201. package/dist/slate-edit-runner.d.ts.map +1 -1
  202. package/dist/slate-edit-runner.js +5 -4
  203. package/dist/slate-edit-runner.js.map +1 -1
  204. package/dist/slate-editability.d.ts +2 -0
  205. package/dist/slate-editability.d.ts.map +1 -1
  206. package/dist/slate-editability.js +1 -1
  207. package/dist/slate-editability.js.map +1 -1
  208. package/dist/slate-errors.d.ts +7 -1
  209. package/dist/slate-errors.d.ts.map +1 -1
  210. package/dist/slate-errors.js +3 -2
  211. package/dist/slate-errors.js.map +1 -1
  212. package/dist/slate-handoff-options.d.ts +2 -1
  213. package/dist/slate-handoff-options.d.ts.map +1 -1
  214. package/dist/slate-handoff-options.js +2 -2
  215. package/dist/slate-handoff-options.js.map +1 -1
  216. package/dist/slate-handoff.js +1 -1
  217. package/dist/slate-handoff.js.map +1 -1
  218. package/dist/slate-image-executor.d.ts +18 -1
  219. package/dist/slate-image-executor.d.ts.map +1 -1
  220. package/dist/slate-image-executor.js +1 -0
  221. package/dist/slate-image-executor.js.map +1 -1
  222. package/dist/slate-inspiration.js +2 -2
  223. package/dist/slate-inspiration.js.map +1 -1
  224. package/dist/slate-local-image.d.ts.map +1 -1
  225. package/dist/slate-local-image.js +4 -1
  226. package/dist/slate-local-image.js.map +1 -1
  227. package/dist/slate-lock.js +1 -1
  228. package/dist/slate-lock.js.map +1 -1
  229. package/dist/slate-resume.js +6 -6
  230. package/dist/slate-resume.js.map +1 -1
  231. package/dist/slate-round-params.d.ts +3 -0
  232. package/dist/slate-round-params.d.ts.map +1 -1
  233. package/dist/slate-round-params.js +5 -0
  234. package/dist/slate-round-params.js.map +1 -1
  235. package/dist/slate-round-queries.d.ts +18 -0
  236. package/dist/slate-round-queries.d.ts.map +1 -0
  237. package/dist/slate-round-queries.js +29 -0
  238. package/dist/slate-round-queries.js.map +1 -0
  239. package/dist/slate-round-runner.d.ts.map +1 -1
  240. package/dist/slate-round-runner.js +12 -9
  241. package/dist/slate-round-runner.js.map +1 -1
  242. package/dist/slate-round-search.js +5 -5
  243. package/dist/slate-round-search.js.map +1 -1
  244. package/dist/slate-run-action.d.ts.map +1 -1
  245. package/dist/slate-run-action.js +2 -1
  246. package/dist/slate-run-action.js.map +1 -1
  247. package/dist/slate-runner-context.d.ts +3 -1
  248. package/dist/slate-runner-context.d.ts.map +1 -1
  249. package/dist/slate-runner-context.js +4 -3
  250. package/dist/slate-runner-context.js.map +1 -1
  251. package/dist/slate-runner-failure.d.ts +7 -1
  252. package/dist/slate-runner-failure.d.ts.map +1 -1
  253. package/dist/slate-runner-failure.js +6 -5
  254. package/dist/slate-runner-failure.js.map +1 -1
  255. package/dist/slate-runtime.d.ts.map +1 -1
  256. package/dist/slate-runtime.js +1 -0
  257. package/dist/slate-runtime.js.map +1 -1
  258. package/dist/slate-versions.js +3 -3
  259. package/dist/slate-versions.js.map +1 -1
  260. package/dist/slate-view-contract.d.ts +62 -1
  261. package/dist/slate-view-contract.d.ts.map +1 -1
  262. package/dist/slate-view-contract.js +30 -0
  263. package/dist/slate-view-contract.js.map +1 -1
  264. package/dist/slate-view.d.ts.map +1 -1
  265. package/dist/slate-view.js +19 -3
  266. package/dist/slate-view.js.map +1 -1
  267. package/dist/slate-workspace-parse.d.ts.map +1 -1
  268. package/dist/slate-workspace-parse.js +22 -0
  269. package/dist/slate-workspace-parse.js.map +1 -1
  270. package/dist/slate-workspace-types.d.ts +2 -0
  271. package/dist/slate-workspace-types.d.ts.map +1 -1
  272. package/dist/workspace-draw-client.d.ts +42 -1
  273. package/dist/workspace-draw-client.d.ts.map +1 -1
  274. package/dist/workspace-draw-client.js +56 -7
  275. package/dist/workspace-draw-client.js.map +1 -1
  276. package/dist/workspace-draw-codex.d.ts +9 -4
  277. package/dist/workspace-draw-codex.d.ts.map +1 -1
  278. package/dist/workspace-draw-codex.js +17 -3
  279. package/dist/workspace-draw-codex.js.map +1 -1
  280. package/dist/workspace-draw-messages.d.ts +24 -0
  281. package/dist/workspace-draw-messages.d.ts.map +1 -1
  282. package/dist/workspace-draw-messages.js +25 -0
  283. package/dist/workspace-draw-messages.js.map +1 -1
  284. package/dist/workspace-draw-run.d.ts +19 -1
  285. package/dist/workspace-draw-run.d.ts.map +1 -1
  286. package/dist/workspace-draw-run.js +76 -3
  287. package/dist/workspace-draw-run.js.map +1 -1
  288. package/dist/workspace-draw-store.d.ts +2 -0
  289. package/dist/workspace-draw-store.d.ts.map +1 -1
  290. package/dist/workspace-draw-store.js +3 -1
  291. package/dist/workspace-draw-store.js.map +1 -1
  292. package/dist/workspace-draw-types.d.ts +1 -0
  293. package/dist/workspace-draw-types.d.ts.map +1 -1
  294. package/dist/workspace-draw-types.js +1 -0
  295. package/dist/workspace-draw-types.js.map +1 -1
  296. package/dist/workspace-origin.d.ts +15 -0
  297. package/dist/workspace-origin.d.ts.map +1 -0
  298. package/dist/workspace-origin.js +36 -0
  299. package/dist/workspace-origin.js.map +1 -0
  300. package/dist/workspace-runner-children.d.ts +28 -0
  301. package/dist/workspace-runner-children.d.ts.map +1 -0
  302. package/dist/workspace-runner-children.js +112 -0
  303. package/dist/workspace-runner-children.js.map +1 -0
  304. package/dist/workspace-runner-client.d.ts +41 -0
  305. package/dist/workspace-runner-client.d.ts.map +1 -0
  306. package/dist/workspace-runner-client.js +63 -0
  307. package/dist/workspace-runner-client.js.map +1 -0
  308. package/dist/workspace-runner-main.d.ts +56 -0
  309. package/dist/workspace-runner-main.d.ts.map +1 -0
  310. package/dist/workspace-runner-main.js +350 -0
  311. package/dist/workspace-runner-main.js.map +1 -0
  312. package/dist/workspace-runner-policy.d.ts +40 -0
  313. package/dist/workspace-runner-policy.d.ts.map +1 -0
  314. package/dist/workspace-runner-policy.js +47 -0
  315. package/dist/workspace-runner-policy.js.map +1 -0
  316. package/dist/workspace-runner-spawn.d.ts +42 -0
  317. package/dist/workspace-runner-spawn.d.ts.map +1 -0
  318. package/dist/workspace-runner-spawn.js +60 -0
  319. package/dist/workspace-runner-spawn.js.map +1 -0
  320. package/dist/workspace-runner-stop.d.ts +25 -0
  321. package/dist/workspace-runner-stop.d.ts.map +1 -0
  322. package/dist/workspace-runner-stop.js +44 -0
  323. package/dist/workspace-runner-stop.js.map +1 -0
  324. package/dist/workspace-runner-store.d.ts +26 -0
  325. package/dist/workspace-runner-store.d.ts.map +1 -0
  326. package/dist/workspace-runner-store.js +114 -0
  327. package/dist/workspace-runner-store.js.map +1 -0
  328. package/open-design.json +2 -2
  329. package/package.json +1 -1
  330. package/runtime/codex-conversion/src/images/native-invoke.mjs +24 -5
  331. package/runtime/codex-conversion/src/images/native.mjs +3 -2
package/SKILL.md CHANGED
@@ -28,7 +28,7 @@ dispatch paid work when it is absent, rejected, or times out.
28
28
  Use `12ui` when it is available on `PATH`. Otherwise invoke the pinned CLI that
29
29
  the plugin's `open-design.json` MCP entry uses:
30
30
 
31
- npx -y @12ui/design@0.2.76 <command> ...
31
+ npx -y @12ui/design@0.2.77 <command> ...
32
32
 
33
33
  Run `12ui auth status --json` (or its pinned `npx` equivalent) before the paid
34
34
  preflight. A desktop user can authenticate with `12ui auth login`; a headless
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-codex-readiness.js","sourceRoot":"","sources":["../src/cli-codex-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-codex-readiness.js","sourceRoot":"","sources":["../src/cli-codex-readiness.ts"],"names":[],"mappings":"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"}
@@ -107,14 +107,14 @@ export declare const DESIGN_HELP: {
107
107
  readonly summary: "Open the design workspace as a web page, or draw a hosted Design workspace request.";
108
108
  readonly sections: readonly [{
109
109
  readonly heading: "Actions";
110
- readonly items: readonly ["open — serve the workspace of a finished draft run on 127.0.0.1 and print its address.", "draw — draw every option of one hosted Design workspace request at once with Codex on this Mac."];
110
+ readonly items: readonly ["open — serve the workspace of a finished draft run on 127.0.0.1 and print its address.", "draw — draw every option of one hosted Design workspace request at once with Codex on this Mac.", "runner stop — end the workspace runners draw leaves on this Mac (design.12ui.com's; --all for every one; --workspace <wk_…> for one)."];
111
111
  }];
112
112
  };
113
113
  readonly 'workspace draw': {
114
114
  readonly summary: "Draw all options of one hosted Design workspace request at once with Codex on this Mac.";
115
115
  readonly sections: readonly [{
116
116
  readonly heading: "Behavior";
117
- readonly items: readonly ["Run by the 12ui-design skill once per request, outside the sandbox, with the request id and upload token from a design.slate.* tool result.", "Executes the plan the server froze (each option's prompt, its reference images and frame); it builds no prompt. One codex exec per option, all at once, in the Codex home the agent runs in.", "When Codex cannot draw here it draws and spends nothing: each option shows as failed with the reason, because drawing on 12ui needs a 12ui sign-in.", "Prints one JSON line (ok, code, engine, options, message, record) and exits 0 done, 1 some failed, 2 refused, 3 needs escalation, 4 no engine, 5 outdated CLI. 12ui workspace draw --help prints the full usage."];
117
+ readonly items: readonly ["Run by the 12ui-design skill once per request, outside the sandbox, with the request id and upload token from a design.slate.* tool result.", "Executes the plan the server froze (each option's prompt, its reference images and frame); it builds no prompt. One codex exec per option, all at once, in the Codex home the agent runs in.", "When Codex cannot draw here it draws and spends nothing: each option shows as failed with the reason, because drawing on 12ui needs a 12ui sign-in.", "Leaves one workspace runner per workspace on this Mac (design.12ui.com only) that draws the workspace's later Generate more and Edit clicks without a turn in the agent's conversation, with only the upload token; it stops after 30 idle minutes or 12 hours after the token was given. TWELVE_UI_NO_RUNNER=1 leaves none; 12ui workspace runner stop ends them.", "Prints one JSON line (ok, code, engine, options, message, record) and exits 0 done, 1 some failed, 2 refused, 3 needs escalation, 4 no engine, 5 outdated CLI. 12ui workspace draw --help prints the full usage."];
118
118
  }];
119
119
  };
120
120
  readonly 'workspace open': {
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2SW,CAAC"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6SW,CAAC"}
@@ -238,6 +238,7 @@ export const DESIGN_HELP = {
238
238
  items: [
239
239
  'open — serve the workspace of a finished draft run on 127.0.0.1 and print its address.',
240
240
  'draw — draw every option of one hosted Design workspace request at once with Codex on this Mac.',
241
+ 'runner stop — end the workspace runners draw leaves on this Mac (design.12ui.com\'s; --all for every one; --workspace <wk_…> for one).',
241
242
  ],
242
243
  }],
243
244
  },
@@ -249,6 +250,7 @@ export const DESIGN_HELP = {
249
250
  'Run by the 12ui-design skill once per request, outside the sandbox, with the request id and upload token from a design.slate.* tool result.',
250
251
  'Executes the plan the server froze (each option\'s prompt, its reference images and frame); it builds no prompt. One codex exec per option, all at once, in the Codex home the agent runs in.',
251
252
  'When Codex cannot draw here it draws and spends nothing: each option shows as failed with the reason, because drawing on 12ui needs a 12ui sign-in.',
253
+ 'Leaves one workspace runner per workspace on this Mac (design.12ui.com only) that draws the workspace\'s later Generate more and Edit clicks without a turn in the agent\'s conversation, with only the upload token; it stops after 30 idle minutes or 12 hours after the token was given. TWELVE_UI_NO_RUNNER=1 leaves none; 12ui workspace runner stop ends them.',
252
254
  'Prints one JSON line (ok, code, engine, options, message, record) and exits 0 done, 1 some failed, 2 refused, 3 needs escalation, 4 no engine, 5 outdated CLI. 12ui workspace draw --help prints the full usage.',
253
255
  ],
254
256
  }],
@@ -1 +1 @@
1
- {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"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"}
@@ -363,14 +363,14 @@ export declare const CLI_HELP_CONTEXTS: {
363
363
  readonly summary: "Open the design workspace as a web page, or draw a hosted Design workspace request.";
364
364
  readonly sections: readonly [{
365
365
  readonly heading: "Actions";
366
- readonly items: readonly ["open — serve the workspace of a finished draft run on 127.0.0.1 and print its address.", "draw — draw every option of one hosted Design workspace request at once with Codex on this Mac."];
366
+ readonly items: readonly ["open — serve the workspace of a finished draft run on 127.0.0.1 and print its address.", "draw — draw every option of one hosted Design workspace request at once with Codex on this Mac.", "runner stop — end the workspace runners draw leaves on this Mac (design.12ui.com's; --all for every one; --workspace <wk_…> for one)."];
367
367
  }];
368
368
  };
369
369
  readonly 'workspace draw': {
370
370
  readonly summary: "Draw all options of one hosted Design workspace request at once with Codex on this Mac.";
371
371
  readonly sections: readonly [{
372
372
  readonly heading: "Behavior";
373
- readonly items: readonly ["Run by the 12ui-design skill once per request, outside the sandbox, with the request id and upload token from a design.slate.* tool result.", "Executes the plan the server froze (each option's prompt, its reference images and frame); it builds no prompt. One codex exec per option, all at once, in the Codex home the agent runs in.", "When Codex cannot draw here it draws and spends nothing: each option shows as failed with the reason, because drawing on 12ui needs a 12ui sign-in.", "Prints one JSON line (ok, code, engine, options, message, record) and exits 0 done, 1 some failed, 2 refused, 3 needs escalation, 4 no engine, 5 outdated CLI. 12ui workspace draw --help prints the full usage."];
373
+ readonly items: readonly ["Run by the 12ui-design skill once per request, outside the sandbox, with the request id and upload token from a design.slate.* tool result.", "Executes the plan the server froze (each option's prompt, its reference images and frame); it builds no prompt. One codex exec per option, all at once, in the Codex home the agent runs in.", "When Codex cannot draw here it draws and spends nothing: each option shows as failed with the reason, because drawing on 12ui needs a 12ui sign-in.", "Leaves one workspace runner per workspace on this Mac (design.12ui.com only) that draws the workspace's later Generate more and Edit clicks without a turn in the agent's conversation, with only the upload token; it stops after 30 idle minutes or 12 hours after the token was given. TWELVE_UI_NO_RUNNER=1 leaves none; 12ui workspace runner stop ends them.", "Prints one JSON line (ok, code, engine, options, message, record) and exits 0 done, 1 some failed, 2 refused, 3 needs escalation, 4 no engine, 5 outdated CLI. 12ui workspace draw --help prints the full usage."];
374
374
  }];
375
375
  };
376
376
  readonly 'workspace open': {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-review-command.d.ts","sourceRoot":"","sources":["../src/cli-review-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiB1E,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc;IACZ,WAAW,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,KACL,OAAO,CAAC,IAAI,CAiDd,CAAC"}
1
+ {"version":3,"file":"cli-review-command.d.ts","sourceRoot":"","sources":["../src/cli-review-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiB1E,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc;IACZ,WAAW,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,KACL,OAAO,CAAC,IAAI,CAkDd,CAAC"}
@@ -66,6 +66,8 @@ export const runReviewCommand = async (target, flags, dependencies = {}) => {
66
66
  ...(prototypeRunner ? { prototypeRunner } : {}),
67
67
  ...(prototypeGapRunner ? { prototypeGapRunner } : {}),
68
68
  });
69
+ if (server.notice)
70
+ process.stderr.write(`12ui review: ${server.notice}\n`);
69
71
  console.log(server.url);
70
72
  await (dependencies.open ?? openBrowser)(server.url).catch((error) => {
71
73
  process.stderr.write(`Could not open the review page automatically: ${error instanceof Error ? error.message : String(error)}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-review-command.js","sourceRoot":"","sources":["../src/cli-review-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-review-command.js","sourceRoot":"","sources":["../src/cli-review-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-run.d.ts","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AA8L/B,eAAO,MAAM,MAAM,GACjB,MAAM,MAAM,EAAE,EACd,UAAS;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;CAAO,KACnE,OAAO,CAAC,IAAI,CA+Cd,CAAC"}
1
+ {"version":3,"file":"cli-run.d.ts","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AA+L/B,eAAO,MAAM,MAAM,GACjB,MAAM,MAAM,EAAE,EACd,UAAS;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;CAAO,KACnE,OAAO,CAAC,IAAI,CAoDd,CAAC"}
package/dist/cli-run.js CHANGED
@@ -29,6 +29,7 @@ import { printVersion } from './cli-version.js';
29
29
  import { runWorkflowCommand } from './cli-workflow-command.js';
30
30
  import { runWorkspaceCommand } from './cli-workspace-command.js';
31
31
  import { runWorkspaceDrawCommand } from './cli-workspace-draw.js';
32
+ import { runWorkspaceRunnerCommand } from './cli-workspace-runner.js';
32
33
  /**
33
34
  * The CLI dispatcher, separated from the executable entry point so the whole
34
35
  * command surface can be driven in a test without spawning a process.
@@ -196,6 +197,11 @@ export const runCli = async (argv, options = {}) => {
196
197
  await runWorkspaceDrawCommand(argv.slice(2));
197
198
  return;
198
199
  }
200
+ // Internal: the detached workspace runner `workspace draw` leaves behind (workspace-runner-spawn.ts).
201
+ if (argv[0] === 'workspace' && argv[1] === 'runner') {
202
+ await runWorkspaceRunnerCommand(argv.slice(2));
203
+ return;
204
+ }
199
205
  const { command, flags } = parseCliArguments(argv);
200
206
  if (booleanFlag(flags, 'help')) {
201
207
  // `12ui --help` is the summary; `12ui <command> --help` is that command in
@@ -1 +1 @@
1
- {"version":3,"file":"cli-run.js","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-run.js","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,5 @@
1
1
  import { type DrawDependencies, type DrawResult } from './workspace-draw-run.js';
2
- /**
3
- * `12ui workspace draw --op <uuid> --token <wp_…> [--origin <url>] [--engine auto|codex] [--dry-run]`
4
- * (interface I2): the one shell command the hosted Design workspace's skill runs per request. It reads its own
5
- * arguments, so a usage error is the command's exit 2 with one JSON line like every other outcome, and it runs
6
- * before the rest of the CLI's dispatch: no journal, no account, no pending sign-in, nothing on the network until
7
- * its sandbox gate has passed.
8
- */
9
- export declare const DEFAULT_ORIGIN = "https://design.12ui.com";
10
- export declare const WORKSPACE_DRAW_HELP = "12ui workspace draw --op <request id> --token <upload token> [--origin <url>] [--engine auto|codex] [--dry-run]\n\nDraw every option of one Design workspace request at once, outside the agent's conversation, and add each to the\nworkspace as it finishes. The server wrote each option's prompt and chose its reference images; this command\nexecutes that plan and builds no prompt of its own.\n\n --op The request id, from a design.slate.* tool result.\n --token The upload token, from the same tool result.\n --origin The workspace host. Default https://design.12ui.com.\n --engine auto (default): Codex on this Mac, signed in with ChatGPT and able to generate images. When Codex\n cannot draw, nothing is drawn: each option shows as failed with the reason, because drawing on 12ui\n needs a 12ui sign-in. codex (also TWELVE_UI_ENGINE=codex) only checks Codex and adds nothing when it\n is not ready.\n --dry-run Fetch the plan and its images and print each option's exact Codex request. Draws and adds nothing.\n\nRun it outside the sandbox: inside one (CODEX_SANDBOX set) it exits 3 before doing anything.\nPrints one JSON line on stdout and one progress line per option on stderr.\n\nExit codes: 0 every option added (or already added); 1 some options failed and show as failed in the workspace;\n2 refused (token_invalid, unknown_op, op_in_progress, usage); 3 needs_escalation; 4 no_engine; 5 cli_outdated.";
11
- /** Only https, or http on this machine (a local proof worker), with no path: the token goes to this host alone. */
12
- export declare const normalizeOrigin: (value: string) => string | null;
2
+ export declare const WORKSPACE_DRAW_HELP = "12ui workspace draw --op <request id> --token <upload token> [--origin <url>] [--engine auto|codex] [--dry-run]\n\nDraw every option of one Design workspace request at once, outside the agent's conversation, and add each to the\nworkspace as it finishes. The server wrote each option's prompt and chose its reference images; this command\nexecutes that plan and builds no prompt of its own.\n\n --op The request id, from a design.slate.* tool result.\n --token The upload token, from the same tool result.\n --origin The workspace host. Default https://design.12ui.com.\n --engine auto (default): Codex on this Mac, signed in with ChatGPT and able to generate images. When Codex\n cannot draw, nothing is drawn: each option shows as failed with the reason, because drawing on 12ui\n needs a 12ui sign-in. codex (also TWELVE_UI_ENGINE=codex) only checks Codex and adds nothing when it\n is not ready.\n --dry-run Fetch the plan and its images and print each option's exact Codex request. Draws and adds nothing.\n\nRun it outside the sandbox: inside one (CODEX_SANDBOX set) it exits 3 before doing anything.\nPrints one JSON line on stdout and one progress line per option on stderr.\n\nWhile the person chooses the request's references in the workspace it waits, saying so on stderr, and draws once\nthey continue or the countdown ends. Once the plan is read, or the wait begins, and Codex can draw here, it also leaves\none small workspace runner per workspace on this Mac (its own process; the JSON line's runner field says started,\nrunning or off, and message says when one started), which draws this request too if this command is stopped while it\nwaits. The runner draws the workspace's later Generate more and Edit clicks the same way, without a turn in the agent's\nconversation, using only the upload token, and stops after 30 idle minutes, 12 hours after the token was given, when\nthe token stops working, or when Codex cannot draw here. Only design.12ui.com gets one. TWELVE_UI_NO_RUNNER=1 leaves\nnone; 12ui workspace runner stop [--all] ends them.\n\nExit codes: 0 every option added (or already added); 1 some options failed and show as failed in the workspace;\n2 refused (token_invalid, unknown_op, op_in_progress, op_in_flight, usage; op_in_flight: a 12ui helper that stopped\nanswering mid-draw still holds the request, so wait); 3 needs_escalation; 4 no_engine; 5 cli_outdated.";
13
3
  export type WorkspaceDrawInvocation = {
14
4
  help: true;
15
5
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-workspace-draw.d.ts","sourceRoot":"","sources":["../src/cli-workspace-draw.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGnG;;;;;;GAMG;AAEH,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAMxD,eAAO,MAAM,mBAAmB,q8CAmB+E,CAAC;AAOhH,mHAAmH;AACnH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,IAUxD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3F,mDAAmD;AACnD,eAAO,MAAM,aAAa,GAAU,MAAM,MAAM,EAAE,EAAE,OAAM,gBAAqB,KAAG,OAAO,CAAC,uBAAuB,CAqBhH,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,uBAAuB,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAQ1E,CAAC"}
1
+ {"version":3,"file":"cli-workspace-draw.d.ts","sourceRoot":"","sources":["../src/cli-workspace-draw.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAiBnG,eAAO,MAAM,mBAAmB,k6EA6BuE,CAAC;AAOxG,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3F,mDAAmD;AACnD,eAAO,MAAM,aAAa,GAAU,MAAM,MAAM,EAAE,EAAE,OAAM,gBAAqB,KAAG,OAAO,CAAC,uBAAuB,CAqBhH,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,uBAAuB,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAW1E,CAAC"}
@@ -2,7 +2,9 @@ import { booleanFlag, parseCliArguments, stringFlag } from './cli-arguments.js';
2
2
  import { parseRequestedEngine } from './workspace-draw-engine.js';
3
3
  import { DRAW_MESSAGES } from './workspace-draw-messages.js';
4
4
  import { runWorkspaceDraw } from './workspace-draw-run.js';
5
+ import { createRunnerLauncher } from './workspace-runner-spawn.js';
5
6
  import { DRAW_EXIT_CODES } from './workspace-draw-types.js';
7
+ import { DEFAULT_ORIGIN, normalizeOrigin } from './workspace-origin.js';
6
8
  /**
7
9
  * `12ui workspace draw --op <uuid> --token <wp_…> [--origin <url>] [--engine auto|codex] [--dry-run]`
8
10
  * (interface I2): the one shell command the hosted Design workspace's skill runs per request. It reads its own
@@ -10,11 +12,9 @@ import { DRAW_EXIT_CODES } from './workspace-draw-types.js';
10
12
  * before the rest of the CLI's dispatch: no journal, no account, no pending sign-in, nothing on the network until
11
13
  * its sandbox gate has passed.
12
14
  */
13
- export const DEFAULT_ORIGIN = 'https://design.12ui.com';
14
15
  const OP_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/u;
15
16
  const TOKEN_PATTERN = /^wp_[0-9A-Za-z]{22}$/u;
16
17
  const ALLOWED_FLAGS = new Set(['op', 'token', 'origin', 'engine', 'dry-run', 'help']);
17
- const LOOPBACK = new Set(['localhost', '127.0.0.1', '[::1]']);
18
18
  export const WORKSPACE_DRAW_HELP = `12ui workspace draw --op <request id> --token <upload token> [--origin <url>] [--engine auto|codex] [--dry-run]
19
19
 
20
20
  Draw every option of one Design workspace request at once, outside the agent's conversation, and add each to the
@@ -33,26 +33,22 @@ executes that plan and builds no prompt of its own.
33
33
  Run it outside the sandbox: inside one (CODEX_SANDBOX set) it exits 3 before doing anything.
34
34
  Prints one JSON line on stdout and one progress line per option on stderr.
35
35
 
36
+ While the person chooses the request's references in the workspace it waits, saying so on stderr, and draws once
37
+ they continue or the countdown ends. Once the plan is read, or the wait begins, and Codex can draw here, it also leaves
38
+ one small workspace runner per workspace on this Mac (its own process; the JSON line's runner field says started,
39
+ running or off, and message says when one started), which draws this request too if this command is stopped while it
40
+ waits. The runner draws the workspace's later Generate more and Edit clicks the same way, without a turn in the agent's
41
+ conversation, using only the upload token, and stops after 30 idle minutes, 12 hours after the token was given, when
42
+ the token stops working, or when Codex cannot draw here. Only design.12ui.com gets one. TWELVE_UI_NO_RUNNER=1 leaves
43
+ none; 12ui workspace runner stop [--all] ends them.
44
+
36
45
  Exit codes: 0 every option added (or already added); 1 some options failed and show as failed in the workspace;
37
- 2 refused (token_invalid, unknown_op, op_in_progress, usage); 3 needs_escalation; 4 no_engine; 5 cli_outdated.`;
46
+ 2 refused (token_invalid, unknown_op, op_in_progress, op_in_flight, usage; op_in_flight: a 12ui helper that stopped
47
+ answering mid-draw still holds the request, so wait); 3 needs_escalation; 4 no_engine; 5 cli_outdated.`;
38
48
  const usage = (reason) => ({
39
49
  exitCode: DRAW_EXIT_CODES.usage,
40
50
  output: { ok: false, code: 'usage', op: null, message: DRAW_MESSAGES.usage(reason), record: null },
41
51
  });
42
- /** Only https, or http on this machine (a local proof worker), with no path: the token goes to this host alone. */
43
- export const normalizeOrigin = (value) => {
44
- let url;
45
- try {
46
- url = new URL(value);
47
- }
48
- catch {
49
- return null;
50
- }
51
- const secure = url.protocol === 'https:' || (url.protocol === 'http:' && LOOPBACK.has(url.hostname));
52
- if (!secure || url.username || url.password || url.search || url.hash || (url.pathname !== '/' && url.pathname !== ''))
53
- return null;
54
- return url.origin;
55
- };
56
52
  /** `argv` is everything after `workspace draw`. */
57
53
  export const workspaceDraw = async (argv, deps = {}) => {
58
54
  let parsed;
@@ -86,7 +82,10 @@ export const workspaceDraw = async (argv, deps = {}) => {
86
82
  };
87
83
  /** The process-facing form: help or one JSON line on stdout, progress on stderr, and the exit code. */
88
84
  export const runWorkspaceDrawCommand = async (argv) => {
89
- const invocation = await workspaceDraw(argv, { progress: (line) => { process.stderr.write(`${line}\n`); } });
85
+ const invocation = await workspaceDraw(argv, {
86
+ progress: (line) => { process.stderr.write(`${line}\n`); },
87
+ launchRunner: createRunnerLauncher(),
88
+ });
90
89
  if (invocation.help) {
91
90
  process.stdout.write(`${WORKSPACE_DRAW_HELP}\n`);
92
91
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-workspace-draw.js","sourceRoot":"","sources":["../src/cli-workspace-draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-workspace-draw.js","sourceRoot":"","sources":["../src/cli-workspace-draw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type RunnerDependencies, type RunnerOutcome } from './workspace-runner-main.js';
2
+ /**
3
+ * `12ui workspace runner --origin <url> --workspace <wk_…>`: internal. Started only by `12ui workspace draw`
4
+ * (workspace-runner-spawn.ts), which sets the marker; by hand it is refused (exit 2) and nothing starts. It reads the
5
+ * upload token from its own state folder, never from its command line, inside a sandbox it does nothing, and it serves
6
+ * design.12ui.com (or this machine) alone.
7
+ *
8
+ * `12ui workspace runner stop [--all | --workspace <wk_…>] [--origin <url>]`: for the person. Stops the runners of
9
+ * design.12ui.com (of `--origin`, one workspace's with `--workspace`, every one on this Mac with `--all`).
10
+ */
11
+ export type RunnerInvocation = {
12
+ exitCode: number;
13
+ outcome: RunnerOutcome | null;
14
+ refusal: string | null;
15
+ };
16
+ export declare const workspaceRunner: (argv: string[], deps?: RunnerDependencies) => Promise<RunnerInvocation>;
17
+ export declare const WORKSPACE_RUNNER_STOP_USAGE = "Usage: 12ui workspace runner stop [--all | --workspace <wk_\u2026>] [--origin <url>]";
18
+ export declare const WORKSPACE_RUNNER_STOP_HELP: string;
19
+ export type StopInvocation = {
20
+ exitCode: number;
21
+ output: Record<string, unknown>;
22
+ };
23
+ /** `argv` is everything after `workspace runner stop`. */
24
+ export declare const workspaceRunnerStop: (argv: string[], deps?: {
25
+ env?: NodeJS.ProcessEnv;
26
+ dataRoot?: string;
27
+ }) => Promise<StopInvocation>;
28
+ /** The process-facing form: stdio is ignored by the spawn, so refusals go to stderr for a person who ran it by hand. */
29
+ export declare const runWorkspaceRunnerCommand: (argv: string[]) => Promise<void>;
30
+ //# sourceMappingURL=cli-workspace-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-workspace-runner.d.ts","sourceRoot":"","sources":["../src/cli-workspace-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK7G;;;;;;;;GAQG;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAI3G,eAAO,MAAM,eAAe,GAAU,MAAM,MAAM,EAAE,EAAE,OAAM,kBAAuB,KAAG,OAAO,CAAC,gBAAgB,CAgB7G,CAAC;AAEF,eAAO,MAAM,2BAA2B,yFAAoF,CAAC;AAE7H,eAAO,MAAM,0BAA0B,QAUsD,CAAC;AAE9F,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAInF,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,GAAU,MAAM,MAAM,EAAE,EAAE,OAAM;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,OAAO,CAAC,cAAc,CAsB3I,CAAC;AAEF,wHAAwH;AACxH,eAAO,MAAM,yBAAyB,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAyB5E,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { booleanFlag, parseCliArguments, stringFlag } from './cli-arguments.js';
2
+ import { defaultDataRoot } from './workspace-draw-store.js';
3
+ import { DEFAULT_ORIGIN, normalizeOrigin, runnerOriginAllowed } from './workspace-origin.js';
4
+ import { runWorkspaceRunner } from './workspace-runner-main.js';
5
+ import { WORKSPACE_RUNNER_ENV_FLAG } from './workspace-runner-spawn.js';
6
+ import { stopMessage, stopWorkspaceRunners } from './workspace-runner-stop.js';
7
+ import { WORKSPACE_KEY_PATTERN } from './workspace-runner-store.js';
8
+ const refuse = (refusal) => ({ exitCode: 2, outcome: null, refusal });
9
+ export const workspaceRunner = async (argv, deps = {}) => {
10
+ const env = deps.env ?? process.env;
11
+ if (env[WORKSPACE_RUNNER_ENV_FLAG] !== '1')
12
+ return refuse('this internal command is started by 12ui workspace draw, not by hand.');
13
+ if ((env.CODEX_SANDBOX ?? '') !== '')
14
+ return refuse('it does not run inside a sandbox.');
15
+ let flags;
16
+ try {
17
+ ({ flags } = parseCliArguments(argv));
18
+ }
19
+ catch (error) {
20
+ return refuse(error instanceof Error ? error.message : String(error));
21
+ }
22
+ const origin = normalizeOrigin(stringFlag(flags, 'origin') ?? '');
23
+ const workspace = stringFlag(flags, 'workspace') ?? '';
24
+ if (!origin || !runnerOriginAllowed(origin))
25
+ return refuse('--origin must be https://design.12ui.com (http only for this machine).');
26
+ if (!WORKSPACE_KEY_PATTERN.test(workspace))
27
+ return refuse('--workspace must be a workspace key (wk_…).');
28
+ const outcome = await runWorkspaceRunner({ origin, workspace, deps });
29
+ return { exitCode: outcome.stop === 'fault' ? 1 : 0, outcome, refusal: null };
30
+ };
31
+ export const WORKSPACE_RUNNER_STOP_USAGE = 'Usage: 12ui workspace runner stop [--all | --workspace <wk_…>] [--origin <url>]';
32
+ export const WORKSPACE_RUNNER_STOP_HELP = `${WORKSPACE_RUNNER_STOP_USAGE.replace('Usage: ', '')}
33
+
34
+ End the workspace runners 12ui workspace draw leaves on this Mac. Each live runner claims nothing more, finishes the
35
+ drawing in hand, lets its lease go, deletes its token and exits; a Codex call a killed runner left running is stopped.
36
+
37
+ (no flag) The runners of design.12ui.com (or of --origin).
38
+ --workspace Only that workspace's runner.
39
+ --all Every runner on this Mac.
40
+
41
+ Prints one JSON line: ok, stopped (workspace and pid of each runner signalled), codexStopped, message.
42
+ TWELVE_UI_NO_RUNNER=1 in the agent's environment keeps 12ui workspace draw from leaving one.`;
43
+ const stopUsage = (reason) => ({ exitCode: 2, output: { ok: false, code: 'usage', message: `${reason} ${WORKSPACE_RUNNER_STOP_USAGE}` } });
44
+ /** `argv` is everything after `workspace runner stop`. */
45
+ export const workspaceRunnerStop = async (argv, deps = {}) => {
46
+ let parsed;
47
+ try {
48
+ parsed = parseCliArguments(argv);
49
+ }
50
+ catch (error) {
51
+ return stopUsage(`${error instanceof Error ? error.message : String(error)}.`);
52
+ }
53
+ const { command, flags } = parsed;
54
+ if (booleanFlag(flags, 'help'))
55
+ return { exitCode: 0, output: { help: WORKSPACE_RUNNER_STOP_HELP } };
56
+ if (command.length > 0)
57
+ return stopUsage(`It takes no positional argument (${JSON.stringify(command[0])} given).`);
58
+ const unknown = Object.keys(flags).find((name) => !['all', 'workspace', 'origin'].includes(name));
59
+ if (unknown)
60
+ return stopUsage(`--${unknown} is not one of its flags.`);
61
+ const all = booleanFlag(flags, 'all');
62
+ const workspace = stringFlag(flags, 'workspace') ?? null;
63
+ const originFlag = stringFlag(flags, 'origin');
64
+ if (all && (workspace !== null || originFlag !== undefined))
65
+ return stopUsage('--all stops every runner; it takes no --workspace or --origin.');
66
+ if (workspace !== null && !WORKSPACE_KEY_PATTERN.test(workspace))
67
+ return stopUsage('--workspace must be a workspace key (wk_…).');
68
+ const origin = normalizeOrigin(originFlag ?? DEFAULT_ORIGIN);
69
+ if (!origin)
70
+ return stopUsage('--origin must be an https origin with no path (http only for this machine).');
71
+ const scope = all ? { all: true } : { all: false, origin, workspace };
72
+ const report = await stopWorkspaceRunners({ dataRoot: deps.dataRoot ?? defaultDataRoot(deps.env ?? process.env), scope });
73
+ return { exitCode: 0, output: { ok: true, ...report, message: stopMessage(report) } };
74
+ };
75
+ /** The process-facing form: stdio is ignored by the spawn, so refusals go to stderr for a person who ran it by hand. */
76
+ export const runWorkspaceRunnerCommand = async (argv) => {
77
+ if (argv[0] === 'stop') {
78
+ const invocation = await workspaceRunnerStop(argv.slice(1));
79
+ process.stdout.write(typeof invocation.output.help === 'string' ? `${invocation.output.help}\n` : `${JSON.stringify(invocation.output)}\n`);
80
+ process.exitCode = invocation.exitCode;
81
+ return;
82
+ }
83
+ // A second signal changes nothing: the runner is already finishing what it holds.
84
+ const stop = new AbortController();
85
+ const onSignal = () => { stop.abort(); };
86
+ process.on('SIGTERM', onSignal);
87
+ process.on('SIGINT', onSignal);
88
+ process.title = '12ui-workspace-runner';
89
+ let handedBack = false;
90
+ try {
91
+ const invocation = await workspaceRunner(argv, { stop: stop.signal });
92
+ if (invocation.refusal)
93
+ process.stderr.write(`12ui workspace runner refused: ${invocation.refusal}\n`);
94
+ process.exitCode = invocation.exitCode;
95
+ handedBack = (invocation.outcome?.handedBack.length ?? 0) > 0;
96
+ }
97
+ finally {
98
+ process.off('SIGTERM', onSignal);
99
+ process.off('SIGINT', onSignal);
100
+ }
101
+ // Requests given back at the stop deadline may still have work in flight here; none of it may push now.
102
+ if (handedBack)
103
+ process.exit();
104
+ };
105
+ //# sourceMappingURL=cli-workspace-runner.js.map