@12ui/design 0.2.27 → 0.2.29

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 (405) hide show
  1. package/README.md +141 -87
  2. package/SKILL.md +5 -5
  3. package/dist/branch-completion.d.ts.map +1 -1
  4. package/dist/branch-completion.js +37 -14
  5. package/dist/branch-completion.js.map +1 -1
  6. package/dist/branch-execution.d.ts.map +1 -1
  7. package/dist/branch-execution.js +28 -8
  8. package/dist/branch-execution.js.map +1 -1
  9. package/dist/branch-identity.d.ts +10 -4
  10. package/dist/branch-identity.d.ts.map +1 -1
  11. package/dist/branch-identity.js +9 -6
  12. package/dist/branch-identity.js.map +1 -1
  13. package/dist/branch-page-conversion.d.ts +9 -8
  14. package/dist/branch-page-conversion.d.ts.map +1 -1
  15. package/dist/branch-page-conversion.js +8 -2
  16. package/dist/branch-page-conversion.js.map +1 -1
  17. package/dist/branch-page-packaging.d.ts +31 -0
  18. package/dist/branch-page-packaging.d.ts.map +1 -0
  19. package/dist/branch-page-packaging.js +86 -0
  20. package/dist/branch-page-packaging.js.map +1 -0
  21. package/dist/branch-plan.d.ts +6 -0
  22. package/dist/branch-plan.d.ts.map +1 -1
  23. package/dist/branch-plan.js +6 -1
  24. package/dist/branch-plan.js.map +1 -1
  25. package/dist/branch-progress.d.ts +22 -0
  26. package/dist/branch-progress.d.ts.map +1 -1
  27. package/dist/branch-progress.js +33 -8
  28. package/dist/branch-progress.js.map +1 -1
  29. package/dist/branch-run-record.d.ts +9 -0
  30. package/dist/branch-run-record.d.ts.map +1 -1
  31. package/dist/branch-run-record.js.map +1 -1
  32. package/dist/branch-status.d.ts +2 -0
  33. package/dist/branch-status.d.ts.map +1 -1
  34. package/dist/branch-status.js +60 -15
  35. package/dist/branch-status.js.map +1 -1
  36. package/dist/branch-winner.d.ts +13 -15
  37. package/dist/branch-winner.d.ts.map +1 -1
  38. package/dist/branch-winner.js +25 -77
  39. package/dist/branch-winner.js.map +1 -1
  40. package/dist/cli-arguments.d.ts.map +1 -1
  41. package/dist/cli-arguments.js +1 -0
  42. package/dist/cli-arguments.js.map +1 -1
  43. package/dist/cli-auth-command.d.ts.map +1 -1
  44. package/dist/cli-auth-command.js +5 -0
  45. package/dist/cli-auth-command.js.map +1 -1
  46. package/dist/cli-auth-onboarding.d.ts +12 -0
  47. package/dist/cli-auth-onboarding.d.ts.map +1 -0
  48. package/dist/cli-auth-onboarding.js +21 -0
  49. package/dist/cli-auth-onboarding.js.map +1 -0
  50. package/dist/cli-branch-command.d.ts +14 -19
  51. package/dist/cli-branch-command.d.ts.map +1 -1
  52. package/dist/cli-branch-command.js +207 -137
  53. package/dist/cli-branch-command.js.map +1 -1
  54. package/dist/cli-capabilities.d.ts +16 -51
  55. package/dist/cli-capabilities.d.ts.map +1 -1
  56. package/dist/cli-capabilities.js +23 -26
  57. package/dist/cli-capabilities.js.map +1 -1
  58. package/dist/cli-cli-command.d.ts +3 -0
  59. package/dist/cli-cli-command.d.ts.map +1 -1
  60. package/dist/cli-cli-command.js +15 -3
  61. package/dist/cli-cli-command.js.map +1 -1
  62. package/dist/cli-conversion-derivation.d.ts +30 -0
  63. package/dist/cli-conversion-derivation.d.ts.map +1 -0
  64. package/dist/{cli-export-command.js → cli-conversion-derivation.js} +178 -110
  65. package/dist/cli-conversion-derivation.js.map +1 -0
  66. package/dist/cli-conversion-output-directory.d.ts +5 -0
  67. package/dist/cli-conversion-output-directory.d.ts.map +1 -0
  68. package/dist/{cli-export-output-directory.js → cli-conversion-output-directory.js} +10 -10
  69. package/dist/cli-conversion-output-directory.js.map +1 -0
  70. package/dist/cli-convert-command.d.ts +9 -0
  71. package/dist/cli-convert-command.d.ts.map +1 -1
  72. package/dist/cli-convert-command.js +528 -158
  73. package/dist/cli-convert-command.js.map +1 -1
  74. package/dist/cli-corpus-command.d.ts.map +1 -1
  75. package/dist/cli-corpus-command.js +77 -10
  76. package/dist/cli-corpus-command.js.map +1 -1
  77. package/dist/cli-corpus-reference-downloads.d.ts +5 -0
  78. package/dist/cli-corpus-reference-downloads.d.ts.map +1 -1
  79. package/dist/cli-corpus-reference-downloads.js +18 -7
  80. package/dist/cli-corpus-reference-downloads.js.map +1 -1
  81. package/dist/cli-corpus-run.d.ts +9 -0
  82. package/dist/cli-corpus-run.d.ts.map +1 -1
  83. package/dist/cli-corpus-run.js +18 -0
  84. package/dist/cli-corpus-run.js.map +1 -1
  85. package/dist/cli-detach.d.ts +12 -4
  86. package/dist/cli-detach.d.ts.map +1 -1
  87. package/dist/cli-detach.js +49 -17
  88. package/dist/cli-detach.js.map +1 -1
  89. package/dist/cli-draft-command.d.ts +44 -61
  90. package/dist/cli-draft-command.d.ts.map +1 -1
  91. package/dist/cli-draft-command.js +307 -180
  92. package/dist/cli-draft-command.js.map +1 -1
  93. package/dist/cli-help/conversion.d.ts +30 -0
  94. package/dist/cli-help/conversion.d.ts.map +1 -0
  95. package/dist/cli-help/conversion.js +55 -0
  96. package/dist/cli-help/conversion.js.map +1 -0
  97. package/dist/cli-help/design.d.ts +84 -0
  98. package/dist/cli-help/design.d.ts.map +1 -0
  99. package/dist/cli-help/design.js +152 -0
  100. package/dist/cli-help/design.js.map +1 -0
  101. package/dist/cli-help/index.d.ts +234 -0
  102. package/dist/cli-help/index.d.ts.map +1 -0
  103. package/dist/cli-help/index.js +32 -0
  104. package/dist/cli-help/index.js.map +1 -0
  105. package/dist/cli-help/meta.d.ts +24 -0
  106. package/dist/cli-help/meta.d.ts.map +1 -0
  107. package/dist/cli-help/meta.js +30 -0
  108. package/dist/cli-help/meta.js.map +1 -0
  109. package/dist/cli-help/render.d.ts +4 -0
  110. package/dist/cli-help/render.d.ts.map +1 -0
  111. package/dist/cli-help/render.js +28 -0
  112. package/dist/cli-help/render.js.map +1 -0
  113. package/dist/cli-help/setup.d.ts +93 -0
  114. package/dist/cli-help/setup.d.ts.map +1 -0
  115. package/dist/cli-help/setup.js +142 -0
  116. package/dist/cli-help/setup.js.map +1 -0
  117. package/dist/cli-help/types.d.ts +10 -0
  118. package/dist/cli-help/types.d.ts.map +1 -0
  119. package/dist/cli-help/types.js +2 -0
  120. package/dist/cli-help/types.js.map +1 -0
  121. package/dist/cli-next-command.d.ts +11 -8
  122. package/dist/cli-next-command.d.ts.map +1 -1
  123. package/dist/cli-next-command.js +288 -88
  124. package/dist/cli-next-command.js.map +1 -1
  125. package/dist/cli-output-paths.d.ts +2 -23
  126. package/dist/cli-output-paths.d.ts.map +1 -1
  127. package/dist/cli-output-paths.js +2 -36
  128. package/dist/cli-output-paths.js.map +1 -1
  129. package/dist/cli-package-command.d.ts +1 -0
  130. package/dist/cli-package-command.d.ts.map +1 -1
  131. package/dist/cli-package-command.js +107 -34
  132. package/dist/cli-package-command.js.map +1 -1
  133. package/dist/cli-pending-auth.d.ts +20 -0
  134. package/dist/cli-pending-auth.d.ts.map +1 -0
  135. package/dist/cli-pending-auth.js +160 -0
  136. package/dist/cli-pending-auth.js.map +1 -0
  137. package/dist/cli-progress.d.ts +256 -75
  138. package/dist/cli-progress.d.ts.map +1 -1
  139. package/dist/cli-progress.js +425 -98
  140. package/dist/cli-progress.js.map +1 -1
  141. package/dist/cli-review-command.d.ts +8 -0
  142. package/dist/cli-review-command.d.ts.map +1 -0
  143. package/dist/cli-review-command.js +71 -0
  144. package/dist/cli-review-command.js.map +1 -0
  145. package/dist/cli-run.d.ts +2 -0
  146. package/dist/cli-run.d.ts.map +1 -1
  147. package/dist/cli-run.js +62 -73
  148. package/dist/cli-run.js.map +1 -1
  149. package/dist/cli-skill-command.d.ts +3 -0
  150. package/dist/cli-skill-command.d.ts.map +1 -1
  151. package/dist/cli-skill-command.js +26 -3
  152. package/dist/cli-skill-command.js.map +1 -1
  153. package/dist/cli-usage.d.ts +17 -8
  154. package/dist/cli-usage.d.ts.map +1 -1
  155. package/dist/cli-usage.js +57 -40
  156. package/dist/cli-usage.js.map +1 -1
  157. package/dist/config.d.ts +1 -0
  158. package/dist/config.d.ts.map +1 -1
  159. package/dist/config.js +8 -2
  160. package/dist/config.js.map +1 -1
  161. package/dist/conversion-client.d.ts +4 -0
  162. package/dist/conversion-client.d.ts.map +1 -1
  163. package/dist/conversion-client.js +8 -1
  164. package/dist/conversion-client.js.map +1 -1
  165. package/dist/conversion-outputs.d.ts +11 -0
  166. package/dist/conversion-outputs.d.ts.map +1 -1
  167. package/dist/conversion-outputs.js +13 -1
  168. package/dist/conversion-outputs.js.map +1 -1
  169. package/dist/conversion-receipt.d.ts +1 -1
  170. package/dist/conversion-receipt.js +1 -1
  171. package/dist/conversion-recovery.d.ts +20 -0
  172. package/dist/conversion-recovery.d.ts.map +1 -0
  173. package/dist/conversion-recovery.js +61 -0
  174. package/dist/conversion-recovery.js.map +1 -0
  175. package/dist/conversion-status-contract.js +1 -1
  176. package/dist/conversion-status-contract.js.map +1 -1
  177. package/dist/credential-setup.d.ts +9 -1
  178. package/dist/credential-setup.d.ts.map +1 -1
  179. package/dist/credential-setup.js +13 -1
  180. package/dist/credential-setup.js.map +1 -1
  181. package/dist/draft-adoption.d.ts +9 -3
  182. package/dist/draft-adoption.d.ts.map +1 -1
  183. package/dist/draft-adoption.js +26 -41
  184. package/dist/draft-adoption.js.map +1 -1
  185. package/dist/draft-identity.d.ts +9 -12
  186. package/dist/draft-identity.d.ts.map +1 -1
  187. package/dist/draft-identity.js +0 -0
  188. package/dist/draft-identity.js.map +1 -1
  189. package/dist/draft-run.d.ts +9 -19
  190. package/dist/draft-run.d.ts.map +1 -1
  191. package/dist/draft-run.js +67 -95
  192. package/dist/draft-run.js.map +1 -1
  193. package/dist/draft-workspace.d.ts +26 -18
  194. package/dist/draft-workspace.d.ts.map +1 -1
  195. package/dist/draft-workspace.js +16 -5
  196. package/dist/draft-workspace.js.map +1 -1
  197. package/dist/hosted-draft-identity.d.ts +20 -0
  198. package/dist/hosted-draft-identity.d.ts.map +1 -0
  199. package/dist/hosted-draft-identity.js +30 -0
  200. package/dist/hosted-draft-identity.js.map +1 -0
  201. package/dist/hosted-draft-run.d.ts +60 -0
  202. package/dist/hosted-draft-run.d.ts.map +1 -0
  203. package/dist/hosted-draft-run.js +97 -0
  204. package/dist/hosted-draft-run.js.map +1 -0
  205. package/dist/legacy-codex-cleanup.d.ts +13 -0
  206. package/dist/legacy-codex-cleanup.d.ts.map +1 -1
  207. package/dist/legacy-codex-cleanup.js +83 -0
  208. package/dist/legacy-codex-cleanup.js.map +1 -1
  209. package/dist/legacy-skill-catalog.d.ts +2 -2
  210. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  211. package/dist/legacy-skill-catalog.js +76 -5
  212. package/dist/legacy-skill-catalog.js.map +1 -1
  213. package/dist/login-auth.d.ts +38 -0
  214. package/dist/login-auth.d.ts.map +1 -1
  215. package/dist/login-auth.js +67 -16
  216. package/dist/login-auth.js.map +1 -1
  217. package/dist/mcp-tool-definitions.js +1 -1
  218. package/dist/mcp-tool-definitions.js.map +1 -1
  219. package/dist/next-target.d.ts +1 -4
  220. package/dist/next-target.d.ts.map +1 -1
  221. package/dist/next-target.js +5 -9
  222. package/dist/next-target.js.map +1 -1
  223. package/dist/next-wait-lease.d.ts +18 -0
  224. package/dist/next-wait-lease.d.ts.map +1 -0
  225. package/dist/next-wait-lease.js +143 -0
  226. package/dist/next-wait-lease.js.map +1 -0
  227. package/dist/next-wait-process.d.ts +17 -0
  228. package/dist/next-wait-process.d.ts.map +1 -0
  229. package/dist/next-wait-process.js +40 -0
  230. package/dist/next-wait-process.js.map +1 -0
  231. package/dist/package-client.d.ts +30 -0
  232. package/dist/package-client.d.ts.map +1 -1
  233. package/dist/package-client.js.map +1 -1
  234. package/dist/package-submission.d.ts +17 -0
  235. package/dist/package-submission.d.ts.map +1 -1
  236. package/dist/package-submission.js +13 -0
  237. package/dist/package-submission.js.map +1 -1
  238. package/dist/pending-auth-store.d.ts +15 -0
  239. package/dist/pending-auth-store.d.ts.map +1 -0
  240. package/dist/pending-auth-store.js +90 -0
  241. package/dist/pending-auth-store.js.map +1 -0
  242. package/dist/responsive-quality.d.ts +2 -2
  243. package/dist/responsive-quality.js +2 -2
  244. package/dist/review-discovery.d.ts +10 -0
  245. package/dist/review-discovery.d.ts.map +1 -0
  246. package/dist/review-discovery.js +381 -0
  247. package/dist/review-discovery.js.map +1 -0
  248. package/dist/review-edit-html.d.ts +6 -0
  249. package/dist/review-edit-html.d.ts.map +1 -0
  250. package/dist/review-edit-html.js +11 -0
  251. package/dist/review-edit-html.js.map +1 -0
  252. package/dist/review-edit-source.d.ts +22 -0
  253. package/dist/review-edit-source.d.ts.map +1 -0
  254. package/dist/review-edit-source.js +103 -0
  255. package/dist/review-edit-source.js.map +1 -0
  256. package/dist/review-edit.d.ts +15 -0
  257. package/dist/review-edit.d.ts.map +1 -0
  258. package/dist/review-edit.js +192 -0
  259. package/dist/review-edit.js.map +1 -0
  260. package/dist/review-layerdoc-diff.d.ts +7 -0
  261. package/dist/review-layerdoc-diff.d.ts.map +1 -0
  262. package/dist/review-layerdoc-diff.js +92 -0
  263. package/dist/review-layerdoc-diff.js.map +1 -0
  264. package/dist/review-page-assets.d.ts +3 -0
  265. package/dist/review-page-assets.d.ts.map +1 -0
  266. package/dist/review-page-assets.js +43 -0
  267. package/dist/review-page-assets.js.map +1 -0
  268. package/dist/review-page.d.ts +3 -0
  269. package/dist/review-page.d.ts.map +1 -0
  270. package/dist/review-page.js +237 -0
  271. package/dist/review-page.js.map +1 -0
  272. package/dist/review-pricing.d.ts +14 -0
  273. package/dist/review-pricing.d.ts.map +1 -0
  274. package/dist/review-pricing.js +23 -0
  275. package/dist/review-pricing.js.map +1 -0
  276. package/dist/review-server.d.ts +15 -0
  277. package/dist/review-server.d.ts.map +1 -0
  278. package/dist/review-server.js +204 -0
  279. package/dist/review-server.js.map +1 -0
  280. package/dist/review-store.d.ts +11 -0
  281. package/dist/review-store.d.ts.map +1 -0
  282. package/dist/review-store.js +96 -0
  283. package/dist/review-store.js.map +1 -0
  284. package/dist/review-types.d.ts +128 -0
  285. package/dist/review-types.d.ts.map +1 -0
  286. package/dist/review-types.js +2 -0
  287. package/dist/review-types.js.map +1 -0
  288. package/dist/run-journal-commands.d.ts.map +1 -1
  289. package/dist/run-journal-commands.js +34 -76
  290. package/dist/run-journal-commands.js.map +1 -1
  291. package/dist/run-journal-in-flight.d.ts +2 -2
  292. package/dist/run-journal-in-flight.d.ts.map +1 -1
  293. package/dist/run-journal-in-flight.js +0 -0
  294. package/dist/run-journal-in-flight.js.map +1 -1
  295. package/dist/skill-installer.d.ts +2 -2
  296. package/dist/skill-installer.d.ts.map +1 -1
  297. package/dist/skill-installer.js +2 -2
  298. package/dist/skill-installer.js.map +1 -1
  299. package/open-design.json +3 -3
  300. package/package.json +1 -1
  301. package/skills/12ui-design/SKILL.md +62 -0
  302. package/skills/12ui-design/agents/openai.yaml +6 -0
  303. package/skills/12ui-design/inspire.md +11 -0
  304. package/dist/cli-create-command.d.ts +0 -59
  305. package/dist/cli-create-command.d.ts.map +0 -1
  306. package/dist/cli-create-command.js +0 -354
  307. package/dist/cli-create-command.js.map +0 -1
  308. package/dist/cli-export-command.d.ts +0 -26
  309. package/dist/cli-export-command.d.ts.map +0 -1
  310. package/dist/cli-export-command.js.map +0 -1
  311. package/dist/cli-export-output-directory.d.ts +0 -5
  312. package/dist/cli-export-output-directory.d.ts.map +0 -1
  313. package/dist/cli-export-output-directory.js.map +0 -1
  314. package/dist/cli-image-batch-command.d.ts +0 -29
  315. package/dist/cli-image-batch-command.d.ts.map +0 -1
  316. package/dist/cli-image-batch-command.js +0 -236
  317. package/dist/cli-image-batch-command.js.map +0 -1
  318. package/dist/cli-image-batch-materialize.d.ts +0 -27
  319. package/dist/cli-image-batch-materialize.d.ts.map +0 -1
  320. package/dist/cli-image-batch-materialize.js +0 -41
  321. package/dist/cli-image-batch-materialize.js.map +0 -1
  322. package/dist/cli-image-batch-resume.d.ts +0 -36
  323. package/dist/cli-image-batch-resume.d.ts.map +0 -1
  324. package/dist/cli-image-batch-resume.js +0 -176
  325. package/dist/cli-image-batch-resume.js.map +0 -1
  326. package/dist/cli-image-command.d.ts +0 -10
  327. package/dist/cli-image-command.d.ts.map +0 -1
  328. package/dist/cli-image-command.js +0 -106
  329. package/dist/cli-image-command.js.map +0 -1
  330. package/dist/cli-select-command.d.ts +0 -16
  331. package/dist/cli-select-command.d.ts.map +0 -1
  332. package/dist/cli-select-command.js +0 -60
  333. package/dist/cli-select-command.js.map +0 -1
  334. package/dist/create-identity.d.ts +0 -25
  335. package/dist/create-identity.d.ts.map +0 -1
  336. package/dist/create-identity.js +0 -0
  337. package/dist/create-identity.js.map +0 -1
  338. package/dist/draft-prompts.d.ts +0 -35
  339. package/dist/draft-prompts.d.ts.map +0 -1
  340. package/dist/draft-prompts.js +0 -51
  341. package/dist/draft-prompts.js.map +0 -1
  342. package/dist/image-batch-status.d.ts +0 -42
  343. package/dist/image-batch-status.d.ts.map +0 -1
  344. package/dist/image-batch-status.js +0 -143
  345. package/dist/image-batch-status.js.map +0 -1
  346. package/dist/image-generation-batch-attempt.d.ts +0 -28
  347. package/dist/image-generation-batch-attempt.d.ts.map +0 -1
  348. package/dist/image-generation-batch-attempt.js +0 -48
  349. package/dist/image-generation-batch-attempt.js.map +0 -1
  350. package/dist/image-generation-batch-manifest.d.ts +0 -25
  351. package/dist/image-generation-batch-manifest.d.ts.map +0 -1
  352. package/dist/image-generation-batch-manifest.js +0 -97
  353. package/dist/image-generation-batch-manifest.js.map +0 -1
  354. package/dist/image-generation-completion.d.ts +0 -43
  355. package/dist/image-generation-completion.d.ts.map +0 -1
  356. package/dist/image-generation-completion.js +0 -54
  357. package/dist/image-generation-completion.js.map +0 -1
  358. package/dist/image-generation-error.d.ts +0 -3
  359. package/dist/image-generation-error.d.ts.map +0 -1
  360. package/dist/image-generation-error.js +0 -30
  361. package/dist/image-generation-error.js.map +0 -1
  362. package/dist/image-generation-evidence.d.ts +0 -43
  363. package/dist/image-generation-evidence.d.ts.map +0 -1
  364. package/dist/image-generation-evidence.js +0 -28
  365. package/dist/image-generation-evidence.js.map +0 -1
  366. package/dist/image-generation-fs.d.ts +0 -3
  367. package/dist/image-generation-fs.d.ts.map +0 -1
  368. package/dist/image-generation-fs.js +0 -23
  369. package/dist/image-generation-fs.js.map +0 -1
  370. package/dist/image-generation-output.d.ts +0 -3
  371. package/dist/image-generation-output.d.ts.map +0 -1
  372. package/dist/image-generation-output.js +0 -51
  373. package/dist/image-generation-output.js.map +0 -1
  374. package/dist/image-generation-request.d.ts +0 -43
  375. package/dist/image-generation-request.d.ts.map +0 -1
  376. package/dist/image-generation-request.js +0 -52
  377. package/dist/image-generation-request.js.map +0 -1
  378. package/dist/image-generation-resume.d.ts +0 -49
  379. package/dist/image-generation-resume.d.ts.map +0 -1
  380. package/dist/image-generation-resume.js +0 -96
  381. package/dist/image-generation-resume.js.map +0 -1
  382. package/dist/image-generation-run.d.ts +0 -46
  383. package/dist/image-generation-run.d.ts.map +0 -1
  384. package/dist/image-generation-run.js +0 -158
  385. package/dist/image-generation-run.js.map +0 -1
  386. package/dist/image-generation-staging.d.ts +0 -25
  387. package/dist/image-generation-staging.d.ts.map +0 -1
  388. package/dist/image-generation-staging.js +0 -80
  389. package/dist/image-generation-staging.js.map +0 -1
  390. package/dist/image-generation-usage.d.ts +0 -75
  391. package/dist/image-generation-usage.d.ts.map +0 -1
  392. package/dist/image-generation-usage.js +0 -219
  393. package/dist/image-generation-usage.js.map +0 -1
  394. package/dist/image-provider-preflight.d.ts +0 -21
  395. package/dist/image-provider-preflight.d.ts.map +0 -1
  396. package/dist/image-provider-preflight.js +0 -184
  397. package/dist/image-provider-preflight.js.map +0 -1
  398. package/dist/selection-record.d.ts +0 -97
  399. package/dist/selection-record.d.ts.map +0 -1
  400. package/dist/selection-record.js +0 -138
  401. package/dist/selection-record.js.map +0 -1
  402. package/skills/design/SKILL.md +0 -116
  403. package/skills/design/agents/openai.yaml +0 -8
  404. package/skills/design/assets/large-logo.svg +0 -3
  405. package/skills/design/assets/small-400px.png +0 -0
@@ -4,9 +4,7 @@ import path from 'node:path';
4
4
  import { stringFlag } from './cli-arguments.js';
5
5
  import { CliRefusal } from './cli-refusal.js';
6
6
  import { MAX_CONCEPT_CHARACTERS } from './concept-input.js';
7
- import { draftPaths } from './draft-workspace.js';
8
7
  import { classifyLocalConversionInput } from './local-conversion-input.js';
9
- import { readSelectionRecord } from './selection-record.js';
10
8
  /**
11
9
  * Which design a branch run grows from, resolved and proved before the run
12
10
  * claims anything.
@@ -16,19 +14,21 @@ import { readSelectionRecord } from './selection-record.js';
16
14
  * the FIRST input this command settles, ahead of scope and concept, and a run
17
15
  * that cannot name one stops here rather than one round trip later.
18
16
  *
19
- * There is exactly one implicit default, and it is a record rather than a
20
- * guess: `12ui select` wrote which candidate won, so `branch execute <run-dir>`
21
- * reads it instead of making the caller restate a decision. Nothing else is
22
- * inferred. Picking a candidate because it happens to be the only file on disk
23
- * would spend the plan call on a design nobody approved, which is worse than
24
- * asking.
17
+ * Skill v2 removed the separate select/claim choreography. The starting design
18
+ * is now the one local image named by `--start`, with no implicit selection.
25
19
  */
26
- const RUN_ID = /^crt-[a-f0-9]{40}$/u;
27
- const SLOT = /^[a-z]{1,2}$/u;
28
- const EXAMPLE_RUN_ID = `crt-${'0'.repeat(40)}`;
29
20
  export const imageWinner = async (imagePath, label = 'The winner') => {
30
21
  const resolved = path.resolve(imagePath);
31
- const classified = classifyLocalConversionInput(resolved);
22
+ const classified = (() => {
23
+ try {
24
+ return classifyLocalConversionInput(resolved);
25
+ }
26
+ catch (error) {
27
+ throw new CliRefusal(`${label} must be a PNG, JPEG, or WebP`, 'branch_winner_not_an_image', {
28
+ cause: error,
29
+ });
30
+ }
31
+ })();
32
32
  if (classified.kind !== 'image') {
33
33
  throw new CliRefusal(`${label} must be a PNG, JPEG, or WebP`, 'branch_winner_not_an_image');
34
34
  }
@@ -41,42 +41,14 @@ export const imageWinner = async (imagePath, label = 'The winner') => {
41
41
  sha256: createHash('sha256').update(bytes).digest('hex'),
42
42
  };
43
43
  };
44
- /**
45
- * The winner the run already recorded. Restating a decision is how the two
46
- * records drift apart, so a run directory that holds a selection needs no flag.
47
- */
48
- export const winnerFromSelection = async (runDir) => {
49
- const selection = await readSelectionRecord(draftPaths(runDir).selection);
50
- if (!selection)
51
- return null;
52
- const chosen = selection.candidates.find((candidate) => candidate.id === selection.winner);
53
- if (!chosen?.path)
54
- return null;
55
- return imageWinner(chosen.path);
56
- };
57
- /**
58
- * Both accepted forms and a command the caller can paste. A refusal that only
59
- * says a starting design is required costs another round trip to find out how
60
- * to give one, and this one already cost a paid run on 2026-08-12.
61
- */
62
44
  export const missingWinnerMessage = (args) => {
63
- const target = args.runDir ?? `--out-dir ${args.outDir}`;
64
- const example = args.runDir
65
- ? `12ui branch execute ${args.runDir} --scope page`
66
- + ` --concept "<what the surface must cover, ${MAX_CONCEPT_CHARACTERS} chars max>"`
67
- + ` --winner-image ${path.join(args.runDir, 'candidates', 'b.png')}`
68
- : `12ui branch execute --out-dir ${args.outDir} --scope page`
69
- + ` --concept "<what the surface must cover, ${MAX_CONCEPT_CHARACTERS} chars max>"`
70
- + ' --winner-image ./winner.png';
45
+ const example = '12ui branch execute --start ./approved.png --scope page'
46
+ + ` --concept "<what the surface must cover, ${MAX_CONCEPT_CHARACTERS} chars max>"`
47
+ + `${args.outDir ? ` --out-dir ${args.outDir}` : ''}`;
71
48
  return [
72
- `A branch run grows from one approved design and ${target} named none.`,
73
- args.runDir
74
- ? `Record the choice once with \`12ui select ${args.runDir} --winner <id> --reason "<why>"\``
75
- + ' and this command reads it, or name the design here:'
76
- : 'Name the design, or pass the draft run directory as `12ui branch execute <run-dir>` and'
77
- + ' the winner `12ui select` recorded is used:',
78
- ' --winner-image <file> a PNG, JPEG, or WebP on disk',
79
- ' --winner-run <crt-id> --winner-slot <slot> a candidate from a create run',
49
+ 'A branch run grows from one approved design and --start was not given.',
50
+ 'Pass the chosen draft, generated candidate, or existing design directly:',
51
+ ' --start <file> a PNG, JPEG, or WebP on disk',
80
52
  `Example:\n ${example}`,
81
53
  'Nothing was claimed and nothing was bought.',
82
54
  ].join('\n');
@@ -87,38 +59,14 @@ export const missingWinnerMessage = (args) => {
87
59
  * read, so it is safe to run before any client is built.
88
60
  */
89
61
  export const resolveBranchWinner = async (args) => {
90
- const runId = stringFlag(args.flags, 'winner-run')?.trim();
91
- const slot = stringFlag(args.flags, 'winner-slot')?.trim();
92
- const image = stringFlag(args.flags, 'winner-image')?.trim();
93
- if (image && runId) {
94
- throw new CliRefusal('A branch run starts from exactly one design, and both --winner-image and --winner-run were'
95
- + ' given. Drop one.', 'branch_winner_ambiguous');
96
- }
97
- if (image)
98
- return imageWinner(image, '--winner-image');
99
- if (runId) {
100
- if (!RUN_ID.test(runId)) {
101
- throw new CliRefusal(`--winner-run must be a crt- run id such as ${EXAMPLE_RUN_ID}, not ${runId}`, 'branch_winner_run_invalid');
102
- }
103
- if (!slot) {
104
- throw new CliRefusal(`--winner-run names the create run and --winner-slot names which candidate in it won;`
105
- + ` ${runId} on its own does not say. Add --winner-slot <slot>, for example`
106
- + ` \`--winner-run ${runId} --winner-slot a\`. Nothing was claimed and nothing was bought.`, 'branch_winner_slot_missing');
62
+ for (const retired of ['winner-image', 'winner-run', 'winner-slot']) {
63
+ if (args.flags[retired] !== undefined) {
64
+ throw new CliRefusal(`--${retired} retired from branch execute; pass the starting image with --start.`, 'branch_start_flag_retired');
107
65
  }
108
- if (!SLOT.test(slot)) {
109
- throw new CliRefusal(`--winner-slot must be a candidate slot such as a, not ${slot}`, 'branch_winner_slot_invalid');
110
- }
111
- return { kind: 'run', runId, slot };
112
- }
113
- if (slot) {
114
- throw new CliRefusal(`--winner-slot ${slot} names a candidate but not the run holding it. Add`
115
- + ` \`--winner-run <crt-id>\`, or point at the design directly with \`--winner-image <file>\`.`
116
- + ' Nothing was claimed and nothing was bought.', 'branch_winner_run_missing');
117
66
  }
118
- // No flag at all. The one recorded decision counts; nothing else is guessed.
119
- const recorded = args.runDir ? await winnerFromSelection(args.runDir) : null;
120
- if (recorded)
121
- return recorded;
122
- throw new CliRefusal(missingWinnerMessage({ runDir: args.runDir, outDir: args.outDir }), 'branch_winner_missing');
67
+ const image = stringFlag(args.flags, 'start')?.trim();
68
+ if (image)
69
+ return imageWinner(image, '--start');
70
+ throw new CliRefusal(missingWinnerMessage({ ...(args.outDir ? { outDir: args.outDir } : {}) }), 'branch_winner_missing');
123
71
  };
124
72
  //# sourceMappingURL=branch-winner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-winner.js","sourceRoot":"","sources":["../src/branch-winner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch-winner.js","sourceRoot":"","sources":["../src/branch-winner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,SAAiB,EACjB,KAAK,GAAG,YAAY,EACQ,EAAE;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,+BAA+B,EAAE,4BAA4B,EAAE;gBAC1F,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,QAAQ;QACnB,KAAK;QACL,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAEpC,EAAU,EAAE;IACX,MAAM,OAAO,GAAG,yDAAyD;UACrE,6CAA6C,sBAAsB,cAAc;UACjF,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACxD,OAAO;QACL,wEAAwE;QACxE,0EAA0E;QAC1E,kDAAkD;QAClD,eAAe,OAAO,EAAE;QACxB,6CAA6C;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAOF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAuB,EAA8B,EAAE;IAC/F,KAAK,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,UAAU,CAClB,KAAK,OAAO,qEAAqE,EACjF,2BAA2B,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,KAAK;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,IAAI,UAAU,CAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzE,uBAAuB,CACxB,CAAC;AACJ,CAAC,CAAC"}
@@ -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,IAAI,CAAC,CAAC;AAKrD,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAYhD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAqBtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,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,IAAI,CAAC,CAAC;AAKrD,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAahD,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAqBtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAGnE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // token as its value. Exported because the run journal normalizes argv without
3
3
  // the parser — a digest must never throw on an argv the parser would reject.
4
4
  export const CLI_BOOLEAN_FLAGS = new Set([
5
+ 'all',
5
6
  'detach',
6
7
  'dry-run',
7
8
  'force',
@@ -1 +1 @@
1
- {"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAc,EAC0B,EAAE;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjD,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,IAAY,EAAsB,EAAE;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,IAAY,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"cli-arguments.js","sourceRoot":"","sources":["../src/cli-arguments.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,KAAK;IACL,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAc,EAC0B,EAAE;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjD,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,IAAY,EAAsB,EAAE;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,IAAY,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-auth-command.d.ts","sourceRoot":"","sources":["../src/cli-auth-command.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAkD5E,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,KACd,OAAO,CAAC,IAAI,CAoEd,CAAC"}
1
+ {"version":3,"file":"cli-auth-command.d.ts","sourceRoot":"","sources":["../src/cli-auth-command.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAmD5E,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,KACd,OAAO,CAAC,IAAI,CAuEd,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { readStoredConversionCredentials, removeStoredConversionCredentials, resolveCredentialFile, } from './credential-store.js';
2
+ import { MissingTwelveUiCredentialError } from './cli-auth-onboarding.js';
2
3
  import { setUpConversionCredentials } from './credential-setup.js';
3
4
  import { booleanFlag, stringFlag } from './cli-arguments.js';
4
5
  import { declareClientVersion } from './client-version.js';
5
6
  import { usageRefusal } from './cli-usage.js';
7
+ import { hasConfiguredConversionCredential } from './config.js';
6
8
  import { revokeConvertApiKey, TWELVE_UI_DEVICE_SCOPES, verifyTwelveUiCredential, } from './login-auth.js';
7
9
  const readQuota = async (origin, apiKey) => {
8
10
  const response = await fetch(`${origin}/api/v1/convert/quota`, {
@@ -57,6 +59,9 @@ export const runAuthCommand = async (action, flags) => {
57
59
  }
58
60
  const stored = await readStoredConversionCredentials();
59
61
  if (!stored) {
62
+ if (!hasConfiguredConversionCredential(stringFlag(flags, 'api-key'))) {
63
+ throw new MissingTwelveUiCredentialError();
64
+ }
60
65
  throw new Error(`12ui credentials are not configured at ${resolveCredentialFile()}`);
61
66
  }
62
67
  if (action === 'status') {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-auth-command.js","sourceRoot":"","sources":["../src/cli-auth-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-auth-command.js","sourceRoot":"","sources":["../src/cli-auth-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const TWELVE_UI_CONNECT_CLI_URL = "https://12ui.com/connect-cli";
2
+ export declare const authOnboardingMessage: (options?: {
3
+ agentFacing?: boolean;
4
+ approvalUrl?: string;
5
+ }) => string;
6
+ export declare const printAuthOnboarding: (options?: {
7
+ approvalUrl?: string;
8
+ }) => void;
9
+ export declare class MissingTwelveUiCredentialError extends Error {
10
+ constructor(approvalUrl?: string);
11
+ }
12
+ //# sourceMappingURL=cli-auth-onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-auth-onboarding.d.ts","sourceRoot":"","sources":["../src/cli-auth-onboarding.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,iCAAiC,CAAC;AASxE,eAAO,MAAM,qBAAqB,GAAI,UAAS;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,MAGG,CAAC;AAEb,eAAO,MAAM,mBAAmB,GAAI,UAAS;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,IAIR,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,WAAW,CAAC,EAAE,MAAM;CAIjC"}
@@ -0,0 +1,21 @@
1
+ export const TWELVE_UI_CONNECT_CLI_URL = 'https://12ui.com/connect-cli';
2
+ const ownerAuthOnboardingLines = (approvalUrl) => [
3
+ `Sign in/Create an account with this magic link: ${approvalUrl}`,
4
+ 'Takes 5 seconds and you can use 12ui for free.',
5
+ ];
6
+ const AGENT_AUTH_ONBOARDING_LINE = 'Agent: Give this link to your user, then retry after they connect 12ui.';
7
+ export const authOnboardingMessage = (options = {}) => [
8
+ ...ownerAuthOnboardingLines(options.approvalUrl ?? TWELVE_UI_CONNECT_CLI_URL),
9
+ ...(options.agentFacing ? [AGENT_AUTH_ONBOARDING_LINE] : []),
10
+ ].join('\n');
11
+ export const printAuthOnboarding = (options = {}) => {
12
+ for (const line of ownerAuthOnboardingLines(options.approvalUrl ?? TWELVE_UI_CONNECT_CLI_URL))
13
+ console.log(line);
14
+ };
15
+ export class MissingTwelveUiCredentialError extends Error {
16
+ constructor(approvalUrl) {
17
+ super(authOnboardingMessage({ agentFacing: true, approvalUrl }));
18
+ this.name = 'MissingTwelveUiCredentialError';
19
+ }
20
+ }
21
+ //# sourceMappingURL=cli-auth-onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-auth-onboarding.js","sourceRoot":"","sources":["../src/cli-auth-onboarding.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAExE,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAqB,EAAE,CAAC;IAC3E,mDAAmD,WAAW,EAAE;IAChE,gDAAgD;CACjD,CAAC;AAEF,MAAM,0BAA0B,GAAG,yEAAyE,CAAC;AAE7G,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAGlC,EAAE,EAAU,EAAE,CAAC;IACjB,GAAG,wBAAwB,CAAC,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IAC7E,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAEhC,EAAE,EAAQ,EAAE;IACd,KAAK,MAAM,IAAI,IAAI,wBAAwB,CACzC,OAAO,CAAC,WAAW,IAAI,yBAAyB,CACjD;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,YAAY,WAAoB;QAC9B,KAAK,CAAC,qBAAqB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF"}
@@ -17,10 +17,9 @@ export type ResolvedBranchDirectory = {
17
17
  runDir: string | null;
18
18
  };
19
19
  /**
20
- * `12ui branch execute <run-dir>` takes the DRAFT run directory and keeps its
21
- * own records in `<run-dir>/branch`, which is where the skill says the pages
22
- * land. `--out-dir` stays an alias that names the branch directory outright,
23
- * for a branch run with no draft behind it.
20
+ * Execute creates a run directory when none is supplied. `--out-dir` and the
21
+ * positional used by resume both name the run directory; records live beneath
22
+ * it in `<run-dir>/branch`.
24
23
  *
25
24
  * `branch status` accepts either spelling: a directory that already holds
26
25
  * branch records is one, and otherwise `<dir>/branch` is tried, so a caller who
@@ -31,26 +30,22 @@ export declare const resolveBranchDirectory: (args: {
31
30
  runDirArgument?: string;
32
31
  outDirFlag?: string;
33
32
  }) => Promise<ResolvedBranchDirectory>;
34
- /**
35
- * The opening line is the only estimate a caller has before anything moves, so
36
- * it is derived from the run's phases rather than asserted. Pages now convert as
37
- * their own screens land and several at a time, which is why the old sentence —
38
- * one package per page, serial, ~20m for a site — would now overstate a normal
39
- * run by roughly a factor of two, and an overstated wait is what makes a caller
40
- * abandon a run that is on time.
41
- */
42
- export declare const branchExecuteBanner: (args: {
43
- scope: "page" | "site";
44
- outDir: string;
45
- convert: boolean;
46
- concurrency?: number;
47
- }) => string;
33
+ /** Validate every execute input before a detached parent creates its workspace. */
34
+ export declare const prepareDetachedBranchDirectory: (args: {
35
+ flags: CliFlags;
36
+ workspaceRoot?: string;
37
+ }) => Promise<ResolvedBranchDirectory>;
48
38
  export declare const runBranchCommand: (action: string | undefined, flags: CliFlags, dependencies?: {
49
39
  readConfig?: typeof readConversionConfig;
50
40
  createBranchClient?: (config: ReturnType<typeof readConversionConfig>) => TwelveUiBranchClient;
51
41
  createPackageClient?: (config: ReturnType<typeof readConversionConfig>) => TwelveUiConversionPackageClient;
52
- /** The positional `<run-dir>` from `12ui branch execute <run-dir>`. */
42
+ /** Internal detached-worker positional, or the public resume run directory. */
53
43
  runDirArgument?: string;
44
+ /** Test-only root for an automatically created run directory. */
45
+ workspaceRoot?: string;
46
+ /** Receives the run directory as the command's first output line. */
47
+ write?: (line: string) => void;
48
+ onRunDirectory?: (runDir: string) => void;
54
49
  /** Where this command writes down what it did. */
55
50
  journal?: RunJournalNotes;
56
51
  }) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-branch-command.d.ts","sourceRoot":"","sources":["../src/cli-branch-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAqB,MAAM,oBAAoB,CAAC;AAyB7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAQtE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,IAOnE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,OAAO,CAAC,uBAAuB,CAwBlC,CAAC;AAyFF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM;IACxC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,KAAG,MA4BH,CAAC;AAaF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc;IACZ,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,oBAAoB,CAAC;IAC/F,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAC5C,+BAA+B,CAAC;IACrC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,OAAO,CAAC,EAAE,eAAe,CAAC;CACtB,KACL,OAAO,CAAC,IAAI,CAsPd,CAAC"}
1
+ {"version":3,"file":"cli-branch-command.d.ts","sourceRoot":"","sources":["../src/cli-branch-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAqB,MAAM,oBAAoB,CAAC;AAsB7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAMtE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,IAOnE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAU,MAAM;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAG,OAAO,CAAC,uBAAuB,CAuBlC,CAAC;AAoGF,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,GAAU,MAAM;IACzD,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KAAG,OAAO,CAAC,uBAAuB,CAoBlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,QAAQ,EACf,eAAc;IACZ,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,oBAAoB,CAAC;IAC/F,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAC5C,+BAA+B,CAAC;IACrC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kDAAkD;IAClD,OAAO,CAAC,EAAE,eAAe,CAAC;CACtB,KACL,OAAO,CAAC,IAAI,CA2Ud,CAAC"}