@12ui/design 0.2.72 → 0.2.73

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 (589) hide show
  1. package/README.md +242 -54
  2. package/SKILL.md +28 -33
  3. package/dist/cli-arguments.d.ts.map +1 -1
  4. package/dist/cli-arguments.js +3 -0
  5. package/dist/cli-arguments.js.map +1 -1
  6. package/dist/cli-branch-command.d.ts.map +1 -1
  7. package/dist/cli-branch-command.js +4 -0
  8. package/dist/cli-branch-command.js.map +1 -1
  9. package/dist/cli-capabilities.d.ts +26 -1
  10. package/dist/cli-capabilities.d.ts.map +1 -1
  11. package/dist/cli-capabilities.js +26 -1
  12. package/dist/cli-capabilities.js.map +1 -1
  13. package/dist/cli-corpus-command.d.ts +5 -4
  14. package/dist/cli-corpus-command.d.ts.map +1 -1
  15. package/dist/cli-corpus-command.js +17 -26
  16. package/dist/cli-corpus-command.js.map +1 -1
  17. package/dist/cli-corpus-run.js +1 -1
  18. package/dist/cli-corpus-run.js.map +1 -1
  19. package/dist/cli-draft-command.js +1 -1
  20. package/dist/cli-draft-command.js.map +1 -1
  21. package/dist/cli-help/design.d.ts +26 -6
  22. package/dist/cli-help/design.d.ts.map +1 -1
  23. package/dist/cli-help/design.js +39 -7
  24. package/dist/cli-help/design.js.map +1 -1
  25. package/dist/cli-help/index.d.ts +113 -7
  26. package/dist/cli-help/index.d.ts.map +1 -1
  27. package/dist/cli-help/index.js +2 -0
  28. package/dist/cli-help/index.js.map +1 -1
  29. package/dist/cli-help/meta.d.ts +1 -1
  30. package/dist/cli-help/meta.d.ts.map +1 -1
  31. package/dist/cli-help/meta.js +2 -1
  32. package/dist/cli-help/meta.js.map +1 -1
  33. package/dist/cli-help/workflow.d.ts +90 -0
  34. package/dist/cli-help/workflow.d.ts.map +1 -0
  35. package/dist/cli-help/workflow.js +89 -0
  36. package/dist/cli-help/workflow.js.map +1 -0
  37. package/dist/cli-open-browser.d.ts +7 -0
  38. package/dist/cli-open-browser.d.ts.map +1 -0
  39. package/dist/cli-open-browser.js +25 -0
  40. package/dist/cli-open-browser.js.map +1 -0
  41. package/dist/cli-prototype-command.d.ts +3 -1
  42. package/dist/cli-prototype-command.d.ts.map +1 -1
  43. package/dist/cli-prototype-command.js +33 -7
  44. package/dist/cli-prototype-command.js.map +1 -1
  45. package/dist/cli-review-command.d.ts.map +1 -1
  46. package/dist/cli-review-command.js +1 -16
  47. package/dist/cli-review-command.js.map +1 -1
  48. package/dist/cli-run.d.ts.map +1 -1
  49. package/dist/cli-run.js +35 -3
  50. package/dist/cli-run.js.map +1 -1
  51. package/dist/cli-usage.d.ts.map +1 -1
  52. package/dist/cli-usage.js +39 -5
  53. package/dist/cli-usage.js.map +1 -1
  54. package/dist/cli-workflow-command.d.ts +8 -0
  55. package/dist/cli-workflow-command.d.ts.map +1 -0
  56. package/dist/cli-workflow-command.js +97 -0
  57. package/dist/cli-workflow-command.js.map +1 -0
  58. package/dist/cli-workspace-command.d.ts +25 -0
  59. package/dist/cli-workspace-command.d.ts.map +1 -0
  60. package/dist/cli-workspace-command.js +95 -0
  61. package/dist/cli-workspace-command.js.map +1 -0
  62. package/dist/config.d.ts +6 -0
  63. package/dist/config.d.ts.map +1 -1
  64. package/dist/config.js +12 -4
  65. package/dist/config.js.map +1 -1
  66. package/dist/corpus-access.d.ts +11 -0
  67. package/dist/corpus-access.d.ts.map +1 -0
  68. package/dist/corpus-access.js +18 -0
  69. package/dist/corpus-access.js.map +1 -0
  70. package/dist/corpus-client.d.ts +11 -11
  71. package/dist/corpus-client.d.ts.map +1 -1
  72. package/dist/corpus-client.js +17 -6
  73. package/dist/corpus-client.js.map +1 -1
  74. package/dist/corpus-inspiration-failure.d.ts +1 -1
  75. package/dist/corpus-inspiration-failure.js +2 -2
  76. package/dist/corpus-inspiration-failure.js.map +1 -1
  77. package/dist/corpus-reference-download-retry.d.ts.map +1 -1
  78. package/dist/corpus-reference-download-retry.js +11 -1
  79. package/dist/corpus-reference-download-retry.js.map +1 -1
  80. package/dist/corpus-request-error.d.ts +2 -0
  81. package/dist/corpus-request-error.d.ts.map +1 -1
  82. package/dist/corpus-request-error.js +2 -0
  83. package/dist/corpus-request-error.js.map +1 -1
  84. package/dist/corpus-retry-guidance.d.ts +5 -0
  85. package/dist/corpus-retry-guidance.d.ts.map +1 -0
  86. package/dist/corpus-retry-guidance.js +18 -0
  87. package/dist/corpus-retry-guidance.js.map +1 -0
  88. package/dist/improve-pricing-plan.d.ts.map +1 -1
  89. package/dist/improve-pricing-plan.js +2 -4
  90. package/dist/improve-pricing-plan.js.map +1 -1
  91. package/dist/index.d.ts +10 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +10 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  96. package/dist/legacy-skill-catalog.js +41 -0
  97. package/dist/legacy-skill-catalog.js.map +1 -1
  98. package/dist/mcp-slate-command.d.ts +31 -0
  99. package/dist/mcp-slate-command.d.ts.map +1 -0
  100. package/dist/mcp-slate-command.js +118 -0
  101. package/dist/mcp-slate-command.js.map +1 -0
  102. package/dist/mcp-slate-image.d.ts +22 -0
  103. package/dist/mcp-slate-image.d.ts.map +1 -0
  104. package/dist/mcp-slate-image.js +28 -0
  105. package/dist/mcp-slate-image.js.map +1 -0
  106. package/dist/mcp-slate-latest.d.ts +13 -0
  107. package/dist/mcp-slate-latest.d.ts.map +1 -0
  108. package/dist/mcp-slate-latest.js +34 -0
  109. package/dist/mcp-slate-latest.js.map +1 -0
  110. package/dist/mcp-slate-names.d.ts +25 -0
  111. package/dist/mcp-slate-names.d.ts.map +1 -0
  112. package/dist/mcp-slate-names.js +49 -0
  113. package/dist/mcp-slate-names.js.map +1 -0
  114. package/dist/mcp-slate-resource.d.ts +5 -0
  115. package/dist/mcp-slate-resource.d.ts.map +1 -0
  116. package/dist/mcp-slate-resource.js +37 -0
  117. package/dist/mcp-slate-resource.js.map +1 -0
  118. package/dist/mcp-slate-run.d.ts +41 -0
  119. package/dist/mcp-slate-run.d.ts.map +1 -0
  120. package/dist/mcp-slate-run.js +88 -0
  121. package/dist/mcp-slate-run.js.map +1 -0
  122. package/dist/mcp-slate-tool-defs.d.ts +61 -0
  123. package/dist/mcp-slate-tool-defs.d.ts.map +1 -0
  124. package/dist/mcp-slate-tool-defs.js +247 -0
  125. package/dist/mcp-slate-tool-defs.js.map +1 -0
  126. package/dist/mcp-slate-tools.d.ts +8 -0
  127. package/dist/mcp-slate-tools.d.ts.map +1 -0
  128. package/dist/mcp-slate-tools.js +45 -0
  129. package/dist/mcp-slate-tools.js.map +1 -0
  130. package/dist/mcp-slate-ui-copy.d.ts +134 -0
  131. package/dist/mcp-slate-ui-copy.d.ts.map +1 -0
  132. package/dist/mcp-slate-ui-copy.js +136 -0
  133. package/dist/mcp-slate-ui-copy.js.map +1 -0
  134. package/dist/mcp-slate-ui-script-bridge.d.ts +18 -0
  135. package/dist/mcp-slate-ui-script-bridge.d.ts.map +1 -0
  136. package/dist/mcp-slate-ui-script-bridge.js +137 -0
  137. package/dist/mcp-slate-ui-script-bridge.js.map +1 -0
  138. package/dist/mcp-slate-ui-script-browser.d.ts +12 -0
  139. package/dist/mcp-slate-ui-script-browser.d.ts.map +1 -0
  140. package/dist/mcp-slate-ui-script-browser.js +19 -0
  141. package/dist/mcp-slate-ui-script-browser.js.map +1 -0
  142. package/dist/mcp-slate-ui-script-dialog.d.ts +20 -0
  143. package/dist/mcp-slate-ui-script-dialog.d.ts.map +1 -0
  144. package/dist/mcp-slate-ui-script-dialog.js +332 -0
  145. package/dist/mcp-slate-ui-script-dialog.js.map +1 -0
  146. package/dist/mcp-slate-ui-script-inline.d.ts +10 -0
  147. package/dist/mcp-slate-ui-script-inline.d.ts.map +1 -0
  148. package/dist/mcp-slate-ui-script-inline.js +221 -0
  149. package/dist/mcp-slate-ui-script-inline.js.map +1 -0
  150. package/dist/mcp-slate-ui-script-inspiration.d.ts +12 -0
  151. package/dist/mcp-slate-ui-script-inspiration.d.ts.map +1 -0
  152. package/dist/mcp-slate-ui-script-inspiration.js +216 -0
  153. package/dist/mcp-slate-ui-script-inspiration.js.map +1 -0
  154. package/dist/mcp-slate-ui-script-more.d.ts +30 -0
  155. package/dist/mcp-slate-ui-script-more.d.ts.map +1 -0
  156. package/dist/mcp-slate-ui-script-more.js +225 -0
  157. package/dist/mcp-slate-ui-script-more.js.map +1 -0
  158. package/dist/mcp-slate-ui-script-progress.d.ts +7 -0
  159. package/dist/mcp-slate-ui-script-progress.d.ts.map +1 -0
  160. package/dist/mcp-slate-ui-script-progress.js +9 -0
  161. package/dist/mcp-slate-ui-script-progress.js.map +1 -0
  162. package/dist/mcp-slate-ui-script-remote.d.ts +28 -0
  163. package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -0
  164. package/dist/mcp-slate-ui-script-remote.js +147 -0
  165. package/dist/mcp-slate-ui-script-remote.js.map +1 -0
  166. package/dist/mcp-slate-ui-script-scribble.d.ts +19 -0
  167. package/dist/mcp-slate-ui-script-scribble.d.ts.map +1 -0
  168. package/dist/mcp-slate-ui-script-scribble.js +114 -0
  169. package/dist/mcp-slate-ui-script-scribble.js.map +1 -0
  170. package/dist/mcp-slate-ui-script-select.d.ts +16 -0
  171. package/dist/mcp-slate-ui-script-select.d.ts.map +1 -0
  172. package/dist/mcp-slate-ui-script-select.js +73 -0
  173. package/dist/mcp-slate-ui-script-select.js.map +1 -0
  174. package/dist/mcp-slate-ui-script-stage.d.ts +11 -0
  175. package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -0
  176. package/dist/mcp-slate-ui-script-stage.js +181 -0
  177. package/dist/mcp-slate-ui-script-stage.js.map +1 -0
  178. package/dist/mcp-slate-ui-script-state.d.ts +13 -0
  179. package/dist/mcp-slate-ui-script-state.d.ts.map +1 -0
  180. package/dist/mcp-slate-ui-script-state.js +306 -0
  181. package/dist/mcp-slate-ui-script-state.js.map +1 -0
  182. package/dist/mcp-slate-ui-script-thumbtools.d.ts +23 -0
  183. package/dist/mcp-slate-ui-script-thumbtools.d.ts.map +1 -0
  184. package/dist/mcp-slate-ui-script-thumbtools.js +103 -0
  185. package/dist/mcp-slate-ui-script-thumbtools.js.map +1 -0
  186. package/dist/mcp-slate-ui-script.d.ts +28 -0
  187. package/dist/mcp-slate-ui-script.d.ts.map +1 -0
  188. package/dist/mcp-slate-ui-script.js +58 -0
  189. package/dist/mcp-slate-ui-script.js.map +1 -0
  190. package/dist/mcp-slate-ui-styles-dialog.d.ts +17 -0
  191. package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -0
  192. package/dist/mcp-slate-ui-styles-dialog.js +73 -0
  193. package/dist/mcp-slate-ui-styles-dialog.js.map +1 -0
  194. package/dist/mcp-slate-ui-styles-stage.d.ts +12 -0
  195. package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -0
  196. package/dist/mcp-slate-ui-styles-stage.js +53 -0
  197. package/dist/mcp-slate-ui-styles-stage.js.map +1 -0
  198. package/dist/mcp-slate-ui-styles-thumbtools.d.ts +10 -0
  199. package/dist/mcp-slate-ui-styles-thumbtools.d.ts.map +1 -0
  200. package/dist/mcp-slate-ui-styles-thumbtools.js +25 -0
  201. package/dist/mcp-slate-ui-styles-thumbtools.js.map +1 -0
  202. package/dist/mcp-slate-ui-styles.d.ts +13 -0
  203. package/dist/mcp-slate-ui-styles.d.ts.map +1 -0
  204. package/dist/mcp-slate-ui-styles.js +117 -0
  205. package/dist/mcp-slate-ui-styles.js.map +1 -0
  206. package/dist/mcp-slate-ui.d.ts +16 -0
  207. package/dist/mcp-slate-ui.d.ts.map +1 -0
  208. package/dist/mcp-slate-ui.js +58 -0
  209. package/dist/mcp-slate-ui.js.map +1 -0
  210. package/dist/mcp-slate-workspace-tools.d.ts +15 -0
  211. package/dist/mcp-slate-workspace-tools.d.ts.map +1 -0
  212. package/dist/mcp-slate-workspace-tools.js +155 -0
  213. package/dist/mcp-slate-workspace-tools.js.map +1 -0
  214. package/dist/mcp-tool-definitions.d.ts.map +1 -1
  215. package/dist/mcp-tool-definitions.js +9 -7
  216. package/dist/mcp-tool-definitions.js.map +1 -1
  217. package/dist/mcp-tool-handler.d.ts +8 -2
  218. package/dist/mcp-tool-handler.d.ts.map +1 -1
  219. package/dist/mcp-tool-handler.js +34 -13
  220. package/dist/mcp-tool-handler.js.map +1 -1
  221. package/dist/mcp-workflow-tools.d.ts +6 -0
  222. package/dist/mcp-workflow-tools.d.ts.map +1 -0
  223. package/dist/mcp-workflow-tools.js +108 -0
  224. package/dist/mcp-workflow-tools.js.map +1 -0
  225. package/dist/prototype-label-client.d.ts +5 -0
  226. package/dist/prototype-label-client.d.ts.map +1 -1
  227. package/dist/prototype-label-client.js.map +1 -1
  228. package/dist/prototype-poststep.d.ts +2 -2
  229. package/dist/prototype-poststep.d.ts.map +1 -1
  230. package/dist/prototype-poststep.js +3 -0
  231. package/dist/prototype-poststep.js.map +1 -1
  232. package/dist/prototype-run-record.d.ts +6 -2
  233. package/dist/prototype-run-record.d.ts.map +1 -1
  234. package/dist/prototype-run-record.js +6 -0
  235. package/dist/prototype-run-record.js.map +1 -1
  236. package/dist/prototype-runner.d.ts +2 -2
  237. package/dist/prototype-runner.d.ts.map +1 -1
  238. package/dist/prototype-runner.js +5 -2
  239. package/dist/prototype-runner.js.map +1 -1
  240. package/dist/prototype-workflow-contract.d.ts +13 -0
  241. package/dist/prototype-workflow-contract.d.ts.map +1 -0
  242. package/dist/prototype-workflow-contract.js +82 -0
  243. package/dist/prototype-workflow-contract.js.map +1 -0
  244. package/dist/prototype-workflow-labels.d.ts +29 -0
  245. package/dist/prototype-workflow-labels.d.ts.map +1 -0
  246. package/dist/prototype-workflow-labels.js +93 -0
  247. package/dist/prototype-workflow-labels.js.map +1 -0
  248. package/dist/run-journal-commands.d.ts.map +1 -1
  249. package/dist/run-journal-commands.js +18 -5
  250. package/dist/run-journal-commands.js.map +1 -1
  251. package/dist/server.d.ts +22 -2
  252. package/dist/server.d.ts.map +1 -1
  253. package/dist/server.js +44 -8
  254. package/dist/server.js.map +1 -1
  255. package/dist/slate-actions.d.ts +38 -0
  256. package/dist/slate-actions.d.ts.map +1 -0
  257. package/dist/slate-actions.js +102 -0
  258. package/dist/slate-actions.js.map +1 -0
  259. package/dist/slate-annotate.d.ts +36 -0
  260. package/dist/slate-annotate.d.ts.map +1 -0
  261. package/dist/slate-annotate.js +71 -0
  262. package/dist/slate-annotate.js.map +1 -0
  263. package/dist/slate-approvals.d.ts +61 -0
  264. package/dist/slate-approvals.d.ts.map +1 -0
  265. package/dist/slate-approvals.js +153 -0
  266. package/dist/slate-approvals.js.map +1 -0
  267. package/dist/slate-browser-decision.d.ts +30 -0
  268. package/dist/slate-browser-decision.d.ts.map +1 -0
  269. package/dist/slate-browser-decision.js +24 -0
  270. package/dist/slate-browser-decision.js.map +1 -0
  271. package/dist/slate-browser-host-script.d.ts +14 -0
  272. package/dist/slate-browser-host-script.d.ts.map +1 -0
  273. package/dist/slate-browser-host-script.js +125 -0
  274. package/dist/slate-browser-host-script.js.map +1 -0
  275. package/dist/slate-browser-host.d.ts +9 -0
  276. package/dist/slate-browser-host.d.ts.map +1 -0
  277. package/dist/slate-browser-host.js +37 -0
  278. package/dist/slate-browser-host.js.map +1 -0
  279. package/dist/slate-browser-server.d.ts +37 -0
  280. package/dist/slate-browser-server.d.ts.map +1 -0
  281. package/dist/slate-browser-server.js +186 -0
  282. package/dist/slate-browser-server.js.map +1 -0
  283. package/dist/slate-commit.d.ts +28 -0
  284. package/dist/slate-commit.d.ts.map +1 -0
  285. package/dist/slate-commit.js +218 -0
  286. package/dist/slate-commit.js.map +1 -0
  287. package/dist/slate-corpus.d.ts +14 -0
  288. package/dist/slate-corpus.d.ts.map +1 -0
  289. package/dist/slate-corpus.js +32 -0
  290. package/dist/slate-corpus.js.map +1 -0
  291. package/dist/slate-edit-prompt.d.ts +18 -0
  292. package/dist/slate-edit-prompt.d.ts.map +1 -0
  293. package/dist/slate-edit-prompt.js +41 -0
  294. package/dist/slate-edit-prompt.js.map +1 -0
  295. package/dist/slate-edit-runner.d.ts +4 -0
  296. package/dist/slate-edit-runner.d.ts.map +1 -0
  297. package/dist/slate-edit-runner.js +90 -0
  298. package/dist/slate-edit-runner.js.map +1 -0
  299. package/dist/slate-editability.d.ts +20 -0
  300. package/dist/slate-editability.d.ts.map +1 -0
  301. package/dist/slate-editability.js +19 -0
  302. package/dist/slate-editability.js.map +1 -0
  303. package/dist/slate-errors.d.ts +15 -0
  304. package/dist/slate-errors.d.ts.map +1 -0
  305. package/dist/slate-errors.js +21 -0
  306. package/dist/slate-errors.js.map +1 -0
  307. package/dist/slate-handoff-options.d.ts +40 -0
  308. package/dist/slate-handoff-options.d.ts.map +1 -0
  309. package/dist/slate-handoff-options.js +127 -0
  310. package/dist/slate-handoff-options.js.map +1 -0
  311. package/dist/slate-handoff.d.ts +11 -0
  312. package/dist/slate-handoff.d.ts.map +1 -0
  313. package/dist/slate-handoff.js +56 -0
  314. package/dist/slate-handoff.js.map +1 -0
  315. package/dist/slate-ids.d.ts +33 -0
  316. package/dist/slate-ids.d.ts.map +1 -0
  317. package/dist/slate-ids.js +47 -0
  318. package/dist/slate-ids.js.map +1 -0
  319. package/dist/slate-image-executor.d.ts +39 -0
  320. package/dist/slate-image-executor.d.ts.map +1 -0
  321. package/dist/slate-image-executor.js +52 -0
  322. package/dist/slate-image-executor.js.map +1 -0
  323. package/dist/slate-inspiration.d.ts +22 -0
  324. package/dist/slate-inspiration.d.ts.map +1 -0
  325. package/dist/slate-inspiration.js +112 -0
  326. package/dist/slate-inspiration.js.map +1 -0
  327. package/dist/slate-labels.d.ts +11 -0
  328. package/dist/slate-labels.d.ts.map +1 -0
  329. package/dist/slate-labels.js +32 -0
  330. package/dist/slate-labels.js.map +1 -0
  331. package/dist/slate-ledger.d.ts +29 -0
  332. package/dist/slate-ledger.d.ts.map +1 -0
  333. package/dist/slate-ledger.js +65 -0
  334. package/dist/slate-ledger.js.map +1 -0
  335. package/dist/slate-liveness.d.ts +26 -0
  336. package/dist/slate-liveness.d.ts.map +1 -0
  337. package/dist/slate-liveness.js +49 -0
  338. package/dist/slate-liveness.js.map +1 -0
  339. package/dist/slate-local-image.d.ts +19 -0
  340. package/dist/slate-local-image.d.ts.map +1 -0
  341. package/dist/slate-local-image.js +36 -0
  342. package/dist/slate-local-image.js.map +1 -0
  343. package/dist/slate-lock.d.ts +64 -0
  344. package/dist/slate-lock.d.ts.map +1 -0
  345. package/dist/slate-lock.js +178 -0
  346. package/dist/slate-lock.js.map +1 -0
  347. package/dist/slate-paths.d.ts +45 -0
  348. package/dist/slate-paths.d.ts.map +1 -0
  349. package/dist/slate-paths.js +132 -0
  350. package/dist/slate-paths.js.map +1 -0
  351. package/dist/slate-pick.d.ts +29 -0
  352. package/dist/slate-pick.d.ts.map +1 -0
  353. package/dist/slate-pick.js +55 -0
  354. package/dist/slate-pick.js.map +1 -0
  355. package/dist/slate-reference-ids.d.ts +6 -0
  356. package/dist/slate-reference-ids.d.ts.map +1 -0
  357. package/dist/slate-reference-ids.js +17 -0
  358. package/dist/slate-reference-ids.js.map +1 -0
  359. package/dist/slate-reference-store.d.ts +23 -0
  360. package/dist/slate-reference-store.d.ts.map +1 -0
  361. package/dist/slate-reference-store.js +46 -0
  362. package/dist/slate-reference-store.js.map +1 -0
  363. package/dist/slate-resume.d.ts +19 -0
  364. package/dist/slate-resume.d.ts.map +1 -0
  365. package/dist/slate-resume.js +94 -0
  366. package/dist/slate-resume.js.map +1 -0
  367. package/dist/slate-round-params.d.ts +20 -0
  368. package/dist/slate-round-params.d.ts.map +1 -0
  369. package/dist/slate-round-params.js +32 -0
  370. package/dist/slate-round-params.js.map +1 -0
  371. package/dist/slate-round-prompt.d.ts +18 -0
  372. package/dist/slate-round-prompt.d.ts.map +1 -0
  373. package/dist/slate-round-prompt.js +20 -0
  374. package/dist/slate-round-prompt.js.map +1 -0
  375. package/dist/slate-round-runner.d.ts +4 -0
  376. package/dist/slate-round-runner.d.ts.map +1 -0
  377. package/dist/slate-round-runner.js +125 -0
  378. package/dist/slate-round-runner.js.map +1 -0
  379. package/dist/slate-round-search.d.ts +7 -0
  380. package/dist/slate-round-search.d.ts.map +1 -0
  381. package/dist/slate-round-search.js +77 -0
  382. package/dist/slate-round-search.js.map +1 -0
  383. package/dist/slate-run-action.d.ts +14 -0
  384. package/dist/slate-run-action.d.ts.map +1 -0
  385. package/dist/slate-run-action.js +81 -0
  386. package/dist/slate-run-action.js.map +1 -0
  387. package/dist/slate-runner-context.d.ts +57 -0
  388. package/dist/slate-runner-context.d.ts.map +1 -0
  389. package/dist/slate-runner-context.js +79 -0
  390. package/dist/slate-runner-context.js.map +1 -0
  391. package/dist/slate-runner-failure.d.ts +8 -0
  392. package/dist/slate-runner-failure.d.ts.map +1 -0
  393. package/dist/slate-runner-failure.js +17 -0
  394. package/dist/slate-runner-failure.js.map +1 -0
  395. package/dist/slate-runner-flag.d.ts +3 -0
  396. package/dist/slate-runner-flag.d.ts.map +1 -0
  397. package/dist/slate-runner-flag.js +3 -0
  398. package/dist/slate-runner-flag.js.map +1 -0
  399. package/dist/slate-runner-main.d.ts +31 -0
  400. package/dist/slate-runner-main.d.ts.map +1 -0
  401. package/dist/slate-runner-main.js +132 -0
  402. package/dist/slate-runner-main.js.map +1 -0
  403. package/dist/slate-runner-spawn.d.ts +23 -0
  404. package/dist/slate-runner-spawn.d.ts.map +1 -0
  405. package/dist/slate-runner-spawn.js +27 -0
  406. package/dist/slate-runner-spawn.js.map +1 -0
  407. package/dist/slate-runtime.d.ts +38 -0
  408. package/dist/slate-runtime.d.ts.map +1 -0
  409. package/dist/slate-runtime.js +48 -0
  410. package/dist/slate-runtime.js.map +1 -0
  411. package/dist/slate-versions.d.ts +26 -0
  412. package/dist/slate-versions.d.ts.map +1 -0
  413. package/dist/slate-versions.js +110 -0
  414. package/dist/slate-versions.js.map +1 -0
  415. package/dist/slate-view-contract.d.ts +233 -0
  416. package/dist/slate-view-contract.d.ts.map +1 -0
  417. package/dist/slate-view-contract.js +17 -0
  418. package/dist/slate-view-contract.js.map +1 -0
  419. package/dist/slate-view-types.d.ts +2 -0
  420. package/dist/slate-view-types.d.ts.map +1 -0
  421. package/dist/slate-view-types.js +2 -0
  422. package/dist/slate-view-types.js.map +1 -0
  423. package/dist/slate-view.d.ts +19 -0
  424. package/dist/slate-view.d.ts.map +1 -0
  425. package/dist/slate-view.js +184 -0
  426. package/dist/slate-view.js.map +1 -0
  427. package/dist/slate-workspace-parse.d.ts +20 -0
  428. package/dist/slate-workspace-parse.d.ts.map +1 -0
  429. package/dist/slate-workspace-parse.js +437 -0
  430. package/dist/slate-workspace-parse.js.map +1 -0
  431. package/dist/slate-workspace-store.d.ts +44 -0
  432. package/dist/slate-workspace-store.d.ts.map +1 -0
  433. package/dist/slate-workspace-store.js +270 -0
  434. package/dist/slate-workspace-store.js.map +1 -0
  435. package/dist/slate-workspace-types.d.ts +176 -0
  436. package/dist/slate-workspace-types.d.ts.map +1 -0
  437. package/dist/slate-workspace-types.js +13 -0
  438. package/dist/slate-workspace-types.js.map +1 -0
  439. package/dist/workflow/adapter-12ui.d.ts +4 -0
  440. package/dist/workflow/adapter-12ui.d.ts.map +1 -0
  441. package/dist/workflow/adapter-12ui.js +147 -0
  442. package/dist/workflow/adapter-12ui.js.map +1 -0
  443. package/dist/workflow/adapter-layerdoc.d.ts +16 -0
  444. package/dist/workflow/adapter-layerdoc.d.ts.map +1 -0
  445. package/dist/workflow/adapter-layerdoc.js +116 -0
  446. package/dist/workflow/adapter-layerdoc.js.map +1 -0
  447. package/dist/workflow/adapter-openai.d.ts +4 -0
  448. package/dist/workflow/adapter-openai.d.ts.map +1 -0
  449. package/dist/workflow/adapter-openai.js +166 -0
  450. package/dist/workflow/adapter-openai.js.map +1 -0
  451. package/dist/workflow/adapter-process.d.ts +7 -0
  452. package/dist/workflow/adapter-process.d.ts.map +1 -0
  453. package/dist/workflow/adapter-process.js +174 -0
  454. package/dist/workflow/adapter-process.js.map +1 -0
  455. package/dist/workflow/adapter-prototype-labels.d.ts +15 -0
  456. package/dist/workflow/adapter-prototype-labels.d.ts.map +1 -0
  457. package/dist/workflow/adapter-prototype-labels.js +71 -0
  458. package/dist/workflow/adapter-prototype-labels.js.map +1 -0
  459. package/dist/workflow/adapter-types.d.ts +40 -0
  460. package/dist/workflow/adapter-types.d.ts.map +1 -0
  461. package/dist/workflow/adapter-types.js +2 -0
  462. package/dist/workflow/adapter-types.js.map +1 -0
  463. package/dist/workflow/adapter-utils.d.ts +11 -0
  464. package/dist/workflow/adapter-utils.d.ts.map +1 -0
  465. package/dist/workflow/adapter-utils.js +72 -0
  466. package/dist/workflow/adapter-utils.js.map +1 -0
  467. package/dist/workflow/adapters.d.ts +6 -0
  468. package/dist/workflow/adapters.d.ts.map +1 -0
  469. package/dist/workflow/adapters.js +25 -0
  470. package/dist/workflow/adapters.js.map +1 -0
  471. package/dist/workflow/artifact.d.ts +11 -0
  472. package/dist/workflow/artifact.d.ts.map +1 -0
  473. package/dist/workflow/artifact.js +94 -0
  474. package/dist/workflow/artifact.js.map +1 -0
  475. package/dist/workflow/bundle-collect.d.ts +8 -0
  476. package/dist/workflow/bundle-collect.d.ts.map +1 -0
  477. package/dist/workflow/bundle-collect.js +56 -0
  478. package/dist/workflow/bundle-collect.js.map +1 -0
  479. package/dist/workflow/bundle-export.d.ts +16 -0
  480. package/dist/workflow/bundle-export.d.ts.map +1 -0
  481. package/dist/workflow/bundle-export.js +174 -0
  482. package/dist/workflow/bundle-export.js.map +1 -0
  483. package/dist/workflow/bundle-paths.d.ts +7 -0
  484. package/dist/workflow/bundle-paths.d.ts.map +1 -0
  485. package/dist/workflow/bundle-paths.js +35 -0
  486. package/dist/workflow/bundle-paths.js.map +1 -0
  487. package/dist/workflow/bundle.d.ts +4 -0
  488. package/dist/workflow/bundle.d.ts.map +1 -0
  489. package/dist/workflow/bundle.js +4 -0
  490. package/dist/workflow/bundle.js.map +1 -0
  491. package/dist/workflow/capture.d.ts +36 -0
  492. package/dist/workflow/capture.d.ts.map +1 -0
  493. package/dist/workflow/capture.js +81 -0
  494. package/dist/workflow/capture.js.map +1 -0
  495. package/dist/workflow/continuation-branch.d.ts +15 -0
  496. package/dist/workflow/continuation-branch.d.ts.map +1 -0
  497. package/dist/workflow/continuation-branch.js +103 -0
  498. package/dist/workflow/continuation-branch.js.map +1 -0
  499. package/dist/workflow/continuation-plans.d.ts +38 -0
  500. package/dist/workflow/continuation-plans.d.ts.map +1 -0
  501. package/dist/workflow/continuation-plans.js +78 -0
  502. package/dist/workflow/continuation-plans.js.map +1 -0
  503. package/dist/workflow/continuation.d.ts +25 -0
  504. package/dist/workflow/continuation.d.ts.map +1 -0
  505. package/dist/workflow/continuation.js +89 -0
  506. package/dist/workflow/continuation.js.map +1 -0
  507. package/dist/workflow/layerdoc-reader.d.ts +27 -0
  508. package/dist/workflow/layerdoc-reader.d.ts.map +1 -0
  509. package/dist/workflow/layerdoc-reader.js +81 -0
  510. package/dist/workflow/layerdoc-reader.js.map +1 -0
  511. package/dist/workflow/project-evidence.d.ts +48 -0
  512. package/dist/workflow/project-evidence.d.ts.map +1 -0
  513. package/dist/workflow/project-evidence.js +200 -0
  514. package/dist/workflow/project-evidence.js.map +1 -0
  515. package/dist/workflow/providers.d.ts +35 -0
  516. package/dist/workflow/providers.d.ts.map +1 -0
  517. package/dist/workflow/providers.js +110 -0
  518. package/dist/workflow/providers.js.map +1 -0
  519. package/dist/workflow/recipes-layerdoc-validation.d.ts +4 -0
  520. package/dist/workflow/recipes-layerdoc-validation.d.ts.map +1 -0
  521. package/dist/workflow/recipes-layerdoc-validation.js +98 -0
  522. package/dist/workflow/recipes-layerdoc-validation.js.map +1 -0
  523. package/dist/workflow/recipes-result-validation.d.ts +6 -0
  524. package/dist/workflow/recipes-result-validation.d.ts.map +1 -0
  525. package/dist/workflow/recipes-result-validation.js +38 -0
  526. package/dist/workflow/recipes-result-validation.js.map +1 -0
  527. package/dist/workflow/recipes-schemas.d.ts +7 -0
  528. package/dist/workflow/recipes-schemas.d.ts.map +1 -0
  529. package/dist/workflow/recipes-schemas.js +67 -0
  530. package/dist/workflow/recipes-schemas.js.map +1 -0
  531. package/dist/workflow/recipes-validation.d.ts +14 -0
  532. package/dist/workflow/recipes-validation.d.ts.map +1 -0
  533. package/dist/workflow/recipes-validation.js +68 -0
  534. package/dist/workflow/recipes-validation.js.map +1 -0
  535. package/dist/workflow/recipes.d.ts +20 -0
  536. package/dist/workflow/recipes.d.ts.map +1 -0
  537. package/dist/workflow/recipes.js +167 -0
  538. package/dist/workflow/recipes.js.map +1 -0
  539. package/dist/workflow/routing.d.ts +4 -0
  540. package/dist/workflow/routing.d.ts.map +1 -0
  541. package/dist/workflow/routing.js +28 -0
  542. package/dist/workflow/routing.js.map +1 -0
  543. package/dist/workflow/schema.d.ts +5 -0
  544. package/dist/workflow/schema.d.ts.map +1 -0
  545. package/dist/workflow/schema.js +29 -0
  546. package/dist/workflow/schema.js.map +1 -0
  547. package/dist/workflow/service.d.ts +59 -0
  548. package/dist/workflow/service.d.ts.map +1 -0
  549. package/dist/workflow/service.js +170 -0
  550. package/dist/workflow/service.js.map +1 -0
  551. package/dist/workflow/store-json.d.ts +5 -0
  552. package/dist/workflow/store-json.d.ts.map +1 -0
  553. package/dist/workflow/store-json.js +35 -0
  554. package/dist/workflow/store-json.js.map +1 -0
  555. package/dist/workflow/store-lock.d.ts +3 -0
  556. package/dist/workflow/store-lock.d.ts.map +1 -0
  557. package/dist/workflow/store-lock.js +85 -0
  558. package/dist/workflow/store-lock.js.map +1 -0
  559. package/dist/workflow/store-paths.d.ts +17 -0
  560. package/dist/workflow/store-paths.d.ts.map +1 -0
  561. package/dist/workflow/store-paths.js +67 -0
  562. package/dist/workflow/store-paths.js.map +1 -0
  563. package/dist/workflow/store-validation.d.ts +7 -0
  564. package/dist/workflow/store-validation.d.ts.map +1 -0
  565. package/dist/workflow/store-validation.js +119 -0
  566. package/dist/workflow/store-validation.js.map +1 -0
  567. package/dist/workflow/store.d.ts +10 -0
  568. package/dist/workflow/store.d.ts.map +1 -0
  569. package/dist/workflow/store.js +193 -0
  570. package/dist/workflow/store.js.map +1 -0
  571. package/dist/workflow/types.d.ts +120 -0
  572. package/dist/workflow/types.d.ts.map +1 -0
  573. package/dist/workflow/types.js +15 -0
  574. package/dist/workflow/types.js.map +1 -0
  575. package/dist/workflow-transport.d.ts +28 -0
  576. package/dist/workflow-transport.d.ts.map +1 -0
  577. package/dist/workflow-transport.js +184 -0
  578. package/dist/workflow-transport.js.map +1 -0
  579. package/open-design.json +2 -2
  580. package/package.json +2 -1
  581. package/prototype-kit/tests/rules-check.mjs +9 -0
  582. package/runtime/codex-conversion/src/images/native-invoke.mjs +1 -1
  583. package/runtime/codex-conversion/src/images/native.mjs +8 -4
  584. package/runtime/layerdoc-validator.mjs +1860 -0
  585. package/skills/12ui-design/SKILL.md +17 -63
  586. package/skills/12ui-design/improve.md +5 -1
  587. package/skills/12ui-design/inspire.md +8 -5
  588. package/skills/12ui-design/outputs.md +23 -2
  589. package/skills/12ui-design/session.md +161 -0
package/dist/cli-usage.js CHANGED
@@ -47,6 +47,25 @@ import { CLI_CONVERSION_OUTPUTS } from './conversion-outputs.js';
47
47
  */
48
48
  const CONCEPT_PLACEHOLDER = `<text>`;
49
49
  export const CLI_USAGE = `Usage:
50
+ 12ui workflow prepare <request.json> --workspace <directory> --key <stable-key>
51
+ 12ui workflow execute <operation-id> --workspace <directory> [--providers session,codex,claude,openai,12ui] [--allow-paid openai,12ui] [--session-capabilities text,image,image-edit,code,convert] [--trust-codex-config]
52
+ 12ui workflow register <operation-id> --workspace <directory> --attempt <number> --result <result.json>
53
+ 12ui workflow continue <operation-id> --workspace <directory>
54
+ 12ui workflow fail <operation-id> --workspace <directory> --attempt <number> --failure <failure.json>
55
+ 12ui workflow status [operation-id] --workspace <directory>
56
+ 12ui workflow import <file> --workspace <directory> [--media-type <type>] [--role <role>]
57
+ 12ui workflow capabilities [--workspace <directory>] [--session-capabilities text,image,image-edit,code,convert] [--trust-codex-config]
58
+ 12ui workflow export <operation-id> --workspace <directory> --destination <new-or-empty-directory>
59
+ 12ui workflow capture <url> --workspace <directory> [--width <px>] [--height <px>] [--full-page]
60
+ 12ui workflow layerdoc <operation-id> --workspace <directory>
61
+ 12ui workflow draft <input.json> --workspace <directory> --key <stable-key>
62
+ 12ui workflow branch <input.json> --workspace <directory> --key <stable-key>
63
+ 12ui workflow edit <input.json> --workspace <directory> --key <stable-key>
64
+ 12ui workflow redesign <input.json> --workspace <directory> --key <stable-key>
65
+ 12ui workflow labels <input.json> --workspace <directory> --key <stable-key>
66
+ 12ui workflow convert <input.json> --workspace <directory> --key <stable-key>
67
+ 12ui workflow implement <input.json> --workspace <directory> --key <stable-key>
68
+ 12ui workflow review <input.json> --workspace <directory> --key <stable-key>
50
69
  12ui auth login [--login-origin <url>] [--key-name <name>]
51
70
  12ui auth connect <8-character-link-code> [--login-origin <url>]
52
71
  12ui auth status [--login-origin <url>] [--json]
@@ -55,18 +74,20 @@ export const CLI_USAGE = `Usage:
55
74
  12ui cli status [--json]
56
75
  12ui skill install [--skill 12ui-design] [--client codex|claude-code|grok|cursor|antigravity|copilot] [--home <client-home>] [--login-origin <url>] [--key-name <name>] [--force] [--skip-auth]
57
76
  12ui skill status [--skill 12ui-design] [--client codex|claude-code|grok|cursor|antigravity|copilot] [--home <client-home>] [--json]
58
- 12ui corpus inspire --query <text>|--query-file <file> --out-dir <directory> [--mode direct|balanced|adventurer|hedge,default-hedge] [--count <1-48>] [--reference-image <png|jpeg|webp>] [--idempotency-key <key>]
77
+ 12ui corpus status
78
+ 12ui corpus inspire --query <text>|--query-file <file> --out-dir <directory> [--mode direct|balanced|adventurer|hedge,default-balanced] [--count <1-48>] [--reference-image <png|jpeg|webp>] [--idempotency-key <key>]
59
79
  12ui corpus resume --out-dir <directory>
60
- 12ui draft --concept ${CONCEPT_PLACEHOLDER} [--corpus-query <visual-caption|@file,hedge-max-400>] [--candidates <2-16,default-4>] [--reference <path-or-url>] [--retain <comma-separated>] [--retain-source inspiration|subject,default-inspiration] [--redesign-source <png|jpeg|webp>] [--mode exploratory|reskin] [--corpus-mode direct|balanced|adventurer|hedge,default-hedge] [--aspect landscape|portrait|square] [--wait]
80
+ 12ui draft --concept ${CONCEPT_PLACEHOLDER} [--corpus-query <visual-caption|@file,hedge-max-400>] [--candidates <2-16,default-4>] [--reference <path-or-url>] [--retain <comma-separated>] [--retain-source inspiration|subject,default-inspiration] [--redesign-source <png|jpeg|webp>] [--mode exploratory|reskin] [--corpus-mode direct|balanced|adventurer|hedge,default-balanced] [--aspect landscape|portrait|square] [--wait]
61
81
  12ui branch execute --start <png|jpeg|webp> --concept ${CONCEPT_PLACEHOLDER}|--concept-file <file> --scope page|site [--convert html] [--prototype] [--polish] [--convert-model fast|standard|pro] [--convert-quality standard|pro] [--source-conversion-id <id>] [--max-screens <n,keeps-the-first-n-planned-screens-and-names-any-page-left-out>] [--page-concurrency <n>] [--idempotency-key <key>] [--out-dir <run-directory>] [--dry-run] [--wait]
62
82
  12ui branch resume <run-dir>
63
- 12ui prototype <run-dir> [--polish]
83
+ 12ui prototype <run-dir> [--labels none|workflow|12ui,default-none] [--workspace <directory,required-for-workflow>] [--polish]
64
84
  12ui redesign <url> --direction ${CONCEPT_PLACEHOLDER} [--bootstrap '<url>|<click-selector>|<wait-url>'] [--redraw] [--pages <1-10,default-5>] [--candidates <2-16,default-4>] [--max-screens <1-8,default-8>] [--convert-model fast|standard|pro,default-standard] [--slot <A-P,default-A>] [--from capture|plan|draft|pick|branch|polish] [--to capture|plan|draft|pick|branch|polish] [--out-dir <run-directory>] [--dry-run]
65
85
  12ui improve <url|image.png|jpg|webp> [--scope page|site,default-page] [--target <image.png|layerdoc.json>] [--direction <text>] [--candidates <2-16,default-4>] [--corpus-mode direct|balanced|adventurer,default-balanced] [--retain <set,default-assets,content>] [--pick <A-P,required-before-convert>] [--convert-model fast|standard|pro,default-standard] [--responsive-quality standard|pro,default-standard] [--convert-stall-seconds <seconds,default-no-progress-bound>] [--viewport <WxH,default-1440x900>] [--full-page] [--bootstrap '<url>|<click-selector>|<wait-url>'] [--allow-redirect] [--repo <source-repo>] [--plan-source-convert] [--pages <2-8,default-5>] [--page <url>] [--page-concurrency <1-10,default-3>] [--reference-order current-first|root-first,default-current-first] [--recheck] [--fresh] [--redraw] [--from capture|draft|pick|branch|convert|plan|site] [--to capture|draft|pick|branch|convert|plan|site] [--out-dir <directory>] [--dry-run]
66
86
  12ui improve <url> --repo <source-repo> --apply [--target <png|jpeg|webp>] [--direction <text>] [--pick <A-P>] [--from capture|draft|pick] [--to capture|draft|pick] [--out-dir <directory-outside-repo>]
67
87
  12ui next <run-dir|run-id> [--wait] [--timeout-ms <ms>] [--json]
68
88
  12ui review <run-dir>
69
89
  12ui review --all
90
+ 12ui workspace open [<run-dir>] [--latest] [--wait] [--port <n>] [--no-open]
70
91
  12ui spend [--run-dir <kit-or-redesign-dir>] [--conversion <id>] [--run <id>] [--days <1-365>] [--limit <runs,1-200>] [--json]
71
92
  12ui capabilities
72
93
  12ui convert <image.png|jpg|webp|layerdoc.json> --output ${CLI_CONVERSION_OUTPUTS.join('|')} [--engine auto|codex|api,default-auto] [--image-backend external|native] [--clean-assets crop|enhance] [--model fast|standard|pro] [--width <px>] [--responsive-quality standard|pro] [--out-dir <directory>] [--timeout-ms <ms>] [--idempotency-key <key,API-only>]
@@ -101,10 +122,23 @@ can use \`12ui next <run-dir>\` to report what is moving. Bare --wait has no hid
101
122
  interval the agent invents. Never list a directory to decide that.
102
123
 
103
124
  \`branch execute --prototype\` runs after \`--convert html\` and buys one cheap
104
- four-way interaction-label call per screen. \`prototype <run-dir>\` applies that same
105
- post-export step to an existing branch run. Add \`--polish\` explicitly to run the
125
+ four-way interaction-label call per screen. Standalone \`prototype <run-dir>\`
126
+ defaults to local deterministic interactions; \`--labels 12ui\` explicitly buys
127
+ hosted interaction labels. \`--labels workflow --workspace <directory>\` prepares
128
+ exact DOM-bound local label operations and returns awaiting_labels; execute/register
129
+ them through workflow, then repeat prototype to consume their results without inference.
130
+ Add \`--polish\` explicitly to run the
106
131
  retained deterministic polish rules before runtime verification; it is opt-in.
107
132
 
133
+ Workflow prepare and recipe commands do not dispatch models. Execute selects a
134
+ capable provider; declare host-session capabilities to receive a handoff, then
135
+ register its outputs with the handoff's --attempt number. --allow-paid explicitly permits OpenAI API or 12ui credit
136
+ spend. Credentials alone never enable a paid workflow fallback. Local execution
137
+ can consume the user's model plan and hardware. Keep the same workspace and key
138
+ for recovery; uncertain dispatched work never silently moves to another provider.
139
+ Codex child execution requires --trust-codex-config because existing configured
140
+ tools and hooks may run. This trust does not authorize paid API or 12ui fallback.
141
+
108
142
  Hosted work accepts --origin <url> and --api-key <key> (defaulting to
109
143
  TWELVE_UI_ORIGIN / TWELVE_UI_API_KEY, then \`12ui auth login\`). Local next, resume,
110
144
  and export do not accept hosted authentication flags. --quiet suppresses progress. Omit
@@ -1 +1 @@
1
- {"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../src/cli-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../src/cli-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type CliFlags } from './cli-arguments.js';
2
+ import { type WorkflowTransportService } from './workflow-transport.js';
3
+ /** CLI and MCP delegate to one validation and service boundary; neither starts account onboarding. */
4
+ export declare function runWorkflowCommand(command: readonly string[], flags: CliFlags, dependencies?: {
5
+ service?: WorkflowTransportService;
6
+ write?: (result: unknown) => void;
7
+ }): Promise<unknown>;
8
+ //# sourceMappingURL=cli-workflow-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-workflow-command.d.ts","sourceRoot":"","sources":["../src/cli-workflow-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAEgB,KAAK,wBAAwB,EACnD,MAAM,yBAAyB,CAAC;AAajC,sGAAsG;AACtG,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAE;IAClG,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqDxB"}
@@ -0,0 +1,97 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { CliRefusal } from './cli-refusal.js';
3
+ import { dispatchWorkflowAction, WORKFLOW_ACTIONS, WORKFLOW_RECIPE_NAMES, } from './workflow-transport.js';
4
+ const refuse = (message) => { throw new CliRefusal(message, 'workflow_arguments'); };
5
+ const flag = (flags, name, required = false) => {
6
+ if (flags[name] === undefined && !required)
7
+ return undefined;
8
+ if (typeof flags[name] !== 'string' || !flags[name].trim())
9
+ return refuse(`--${name} requires a non-empty value`);
10
+ return flags[name].trim();
11
+ };
12
+ const jsonFile = async (file) => {
13
+ const content = await readFile(file, 'utf8');
14
+ try {
15
+ return JSON.parse(content);
16
+ }
17
+ catch {
18
+ return refuse(`Invalid JSON in ${file}`);
19
+ }
20
+ };
21
+ /** CLI and MCP delegate to one validation and service boundary; neither starts account onboarding. */
22
+ export async function runWorkflowCommand(command, flags, dependencies = {}) {
23
+ const action = command[1];
24
+ const recipe = WORKFLOW_RECIPE_NAMES.includes(action);
25
+ if (!recipe && !WORKFLOW_ACTIONS.includes(action))
26
+ return refuse(`Use workflow ${WORKFLOW_ACTIONS.join(', ')}, or a workflow recipe; see 12ui workflow --help.`);
27
+ const allowed = {
28
+ prepare: ['workspace', 'key'], execute: ['workspace', 'providers', 'allow-paid', 'session-capabilities', 'trust-codex-config'],
29
+ register: ['workspace', 'result', 'attempt'], continue: ['workspace'], fail: ['workspace', 'failure', 'attempt'], status: ['workspace'], import: ['workspace', 'media-type', 'role'],
30
+ capabilities: ['workspace', 'session-capabilities', 'trust-codex-config'],
31
+ export: ['workspace', 'destination'], capture: ['workspace', 'width', 'height', 'full-page'],
32
+ layerdoc: ['workspace'],
33
+ };
34
+ const extra = Object.keys(flags).filter(name => ![...(allowed[recipe ? 'prepare' : action] ?? []), 'json', 'quiet'].includes(name));
35
+ if (extra.length)
36
+ return refuse(`Unsupported workflow flags: ${extra.map(name => '--' + name).join(', ')}`);
37
+ const workspace = flag(flags, 'workspace', action !== 'capabilities');
38
+ const argument = command[2];
39
+ const expected = action === 'capabilities' ? 2 : action === 'status' ? undefined : 3;
40
+ if ((expected !== undefined && command.length !== expected) || (action === 'status' && ![2, 3].includes(command.length)))
41
+ return refuse(`Invalid arguments for workflow ${action}; see 12ui workflow ${action} --help.`);
42
+ const input = { ...(workspace ? { workspace } : {}) };
43
+ if (flags['trust-codex-config'] !== undefined) {
44
+ if (flags['trust-codex-config'] !== true)
45
+ return refuse('--trust-codex-config is a boolean flag');
46
+ input.trustCodexConfig = true;
47
+ }
48
+ if (recipe || action === 'prepare') {
49
+ input.key = flag(flags, 'key', true);
50
+ if (recipe) {
51
+ input.recipe = action;
52
+ input.input = await jsonFile(argument);
53
+ }
54
+ else
55
+ input.request = await jsonFile(argument);
56
+ }
57
+ else if (action === 'execute' || action === 'register' || action === 'continue' || action === 'fail' || action === 'status' || action === 'export' || action === 'layerdoc') {
58
+ if (argument)
59
+ input.operationId = argument;
60
+ if (action === 'register' || action === 'fail')
61
+ input.attemptNumber = Number(flag(flags, 'attempt', true));
62
+ if (action === 'register')
63
+ input.result = await jsonFile(flag(flags, 'result', true));
64
+ if (action === 'fail')
65
+ input.failure = await jsonFile(flag(flags, 'failure', true));
66
+ if (action === 'export')
67
+ input.destination = flag(flags, 'destination', true);
68
+ }
69
+ else if (action === 'capture') {
70
+ input.url = argument;
71
+ const width = flag(flags, 'width'), height = flag(flags, 'height');
72
+ if (width !== undefined || height !== undefined)
73
+ input.viewport = { width: Number(width ?? 1440), height: Number(height ?? 900) };
74
+ if (flags['full-page'] !== undefined) {
75
+ if (flags['full-page'] !== true)
76
+ return refuse('--full-page is a boolean flag');
77
+ input.fullPage = true;
78
+ }
79
+ }
80
+ else if (action === 'import') {
81
+ input.file = argument;
82
+ for (const [source, target] of [['media-type', 'mediaType'], ['role', 'role']]) {
83
+ const value = flag(flags, source);
84
+ if (value)
85
+ input[target] = value;
86
+ }
87
+ }
88
+ for (const [source, target] of [['providers', 'providers'], ['allow-paid', 'allowPaid'], ['session-capabilities', 'sessionCapabilities']]) {
89
+ const value = flag(flags, source);
90
+ if (value !== undefined)
91
+ input[target] = value.split(',').map(entry => entry.trim());
92
+ }
93
+ const result = await dispatchWorkflowAction(recipe ? 'prepare' : action, input, dependencies.service);
94
+ (dependencies.write ?? (value => console.log(JSON.stringify(value, null, 2))))(result);
95
+ return result;
96
+ }
97
+ //# sourceMappingURL=cli-workflow-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-workflow-command.js","sourceRoot":"","sources":["../src/cli-workflow-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type CliFlags } from './cli-arguments.js';
2
+ import { startSlateBrowserServer } from './slate-browser-server.js';
3
+ /**
4
+ * `12ui workspace open [runDir] [--latest] [--wait] [--port N] [--no-open]`: the design workspace as a web page, for
5
+ * an agent that does not have the workspace's MCP tools (Claude Code, Codex without the plugin, any agent with a shell).
6
+ *
7
+ * The 12ui server here does the workspace's own work (Design and Edit run on the detached local runner, exactly as
8
+ * under `12ui mcp`); no agent is needed to generate. It prints one JSON line with the page's address, so an agent can
9
+ * open it in its own browser, and opens the system browser unless `--no-open`. With `--wait` it blocks until the
10
+ * user Selects, or sends a Branch or Convert request, prints ONE JSON line describing that decision and exits 0;
11
+ * without `--wait` it keeps serving until interrupted and prints a line per decision.
12
+ */
13
+ export type WorkspaceCommandDependencies = {
14
+ start?: typeof startSlateBrowserServer;
15
+ open?: (url: string) => Promise<void>;
16
+ /** Resolves when the process is asked to stop. */
17
+ stopped?: () => {
18
+ promise: Promise<void>;
19
+ release: () => void;
20
+ };
21
+ write?: (line: string) => void;
22
+ latestRunDir?: () => Promise<string | undefined>;
23
+ };
24
+ export declare const runWorkspaceCommand: (command: readonly string[], flags: CliFlags, dependencies?: WorkspaceCommandDependencies) => Promise<void>;
25
+ //# sourceMappingURL=cli-workspace-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-workspace-command.d.ts","sourceRoot":"","sources":["../src/cli-workspace-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQ5E,OAAO,EAAE,uBAAuB,EAA2B,MAAM,2BAA2B,CAAC;AAG7F;;;;;;;;;GASG;AAEH,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,OAAO,uBAAuB,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM;QAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAChE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD,CAAC;AAwCF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,SAAS,MAAM,EAAE,EAC1B,OAAO,QAAQ,EACf,eAAc,4BAAiC,KAC9C,OAAO,CAAC,IAAI,CA4Cd,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { booleanFlag, stringFlag } from './cli-arguments.js';
2
+ import { openBrowser } from './cli-open-browser.js';
3
+ import { CliRefusal } from './cli-refusal.js';
4
+ import { usageRefusal } from './cli-usage.js';
5
+ import { readCorpusConfig } from './config.js';
6
+ import { findLatestSlateRunDir } from './mcp-slate-latest.js';
7
+ import { resolveSlateRunDir } from './mcp-slate-run.js';
8
+ import { startSlateBrowserServer } from './slate-browser-server.js';
9
+ import { lazyCorpus } from './slate-corpus.js';
10
+ const ALLOWED_FLAGS = new Set(['wait', 'no-open', 'latest', 'port', 'origin', 'api-key']);
11
+ const stopSignals = () => {
12
+ let release = () => undefined;
13
+ const promise = new Promise((resolve) => {
14
+ const stop = () => { resolve(); };
15
+ process.once('SIGINT', stop);
16
+ process.once('SIGTERM', stop);
17
+ release = () => { process.off('SIGINT', stop); process.off('SIGTERM', stop); };
18
+ });
19
+ return { promise, release };
20
+ };
21
+ const portOf = (flags) => {
22
+ const given = stringFlag(flags, 'port');
23
+ if (given === undefined)
24
+ return 0;
25
+ const port = Number(given);
26
+ if (!/^\d+$/u.test(given) || port < 1 || port > 65_535) {
27
+ throw usageRefusal({ reason: `--port must be a whole number from 1 to 65535, not ${JSON.stringify(given)}.`, code: 'workspace_port_invalid', verb: ['workspace', 'open'] });
28
+ }
29
+ return port;
30
+ };
31
+ const resolveRunDir = async (target, flags, latest) => {
32
+ if (target !== undefined && booleanFlag(flags, 'latest')) {
33
+ throw usageRefusal({ reason: 'Give a run directory or --latest, not both.', code: 'workspace_target_conflict', verb: ['workspace', 'open'] });
34
+ }
35
+ const chosen = target ?? await latest();
36
+ if (chosen === undefined) {
37
+ throw new CliRefusal('No finished 12ui draft run was found. Start one with `12ui draft --concept "<product, audience, surface, goal, personality>"`, or name a run directory.', 'workspace_no_run');
38
+ }
39
+ try {
40
+ return await resolveSlateRunDir(chosen);
41
+ }
42
+ catch (error) {
43
+ throw new CliRefusal(error instanceof Error ? error.message : String(error), 'workspace_run_invalid');
44
+ }
45
+ };
46
+ export const runWorkspaceCommand = async (command, flags, dependencies = {}) => {
47
+ if (command[1] !== 'open' || command.length > 3) {
48
+ throw usageRefusal({ reason: '12ui workspace has one action, open, and takes at most one run directory.', code: 'workspace_arguments', verb: ['workspace', 'open'] });
49
+ }
50
+ const unknown = Object.keys(flags).filter((name) => !ALLOWED_FLAGS.has(name));
51
+ if (unknown.length > 0) {
52
+ throw usageRefusal({ reason: `12ui workspace open does not take --${unknown[0]}.`, code: 'workspace_flag_unknown', verb: ['workspace', 'open'] });
53
+ }
54
+ const wait = booleanFlag(flags, 'wait');
55
+ const write = dependencies.write ?? ((line) => { process.stdout.write(`${line}\n`); });
56
+ const runDir = await resolveRunDir(command[2]?.trim() || undefined, flags, dependencies.latestRunDir ?? (() => findLatestSlateRunDir({ cwd: process.cwd() })));
57
+ const port = portOf(flags);
58
+ let settle = () => undefined;
59
+ const first = new Promise((resolve) => { settle = resolve; });
60
+ const stop = (dependencies.stopped ?? stopSignals)();
61
+ let session;
62
+ try {
63
+ session = await (dependencies.start ?? startSlateBrowserServer)({
64
+ runDir,
65
+ ...(port > 0 ? { port } : {}),
66
+ ending: wait,
67
+ context: {
68
+ cwd: process.cwd(),
69
+ corpus: lazyCorpus(() => readCorpusConfig({ origin: stringFlag(flags, 'origin'), apiKey: stringFlag(flags, 'api-key') })),
70
+ },
71
+ onDecision: (decision) => { if (wait)
72
+ settle(decision);
73
+ else
74
+ write(JSON.stringify(decision)); },
75
+ });
76
+ write(JSON.stringify({ workspace: 'ready', url: session.url, runDir: session.runDir, wait }));
77
+ if (!booleanFlag(flags, 'no-open')) {
78
+ await (dependencies.open ?? openBrowser)(session.url).catch((error) => {
79
+ console.error(`Could not open the browser (${error instanceof Error ? error.message : String(error)}). Open the address above.`);
80
+ });
81
+ }
82
+ const outcome = await Promise.race([first, stop.promise.then(() => undefined)]);
83
+ if (outcome)
84
+ write(JSON.stringify(outcome));
85
+ else if (wait) {
86
+ process.exitCode = 130;
87
+ console.error('Stopped before a decision was made in the workspace.');
88
+ }
89
+ }
90
+ finally {
91
+ stop.release();
92
+ await session?.close();
93
+ }
94
+ };
95
+ //# sourceMappingURL=cli-workspace-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-workspace-command.js","sourceRoot":"","sources":["../src/cli-workspace-command.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -2,7 +2,13 @@ export type ConversionConfig = {
2
2
  origin: string;
3
3
  apiKey: string;
4
4
  };
5
+ /** Public retrieval accepts the same configuration, with no credential required. */
6
+ export type CorpusConfig = {
7
+ origin: string;
8
+ apiKey?: string;
9
+ };
5
10
  export declare const normalizeConversionOrigin: (value: string) => string;
6
11
  export declare const hasConfiguredConversionCredential: (apiKeyOverride?: string) => boolean;
12
+ export declare const readCorpusConfig: (overrides?: Partial<CorpusConfig>) => CorpusConfig;
7
13
  export declare const readConversionConfig: (overrides?: Partial<ConversionConfig>) => ConversionConfig;
8
14
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,MAAM,KAAG,MAezD,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,iBAAiB,MAAM,KACtB,OAIF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,YAAW,OAAO,CAAC,gBAAgB,CAAM,KAAG,gBAkBhF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,yBAAyB,GAAI,OAAO,MAAM,KAAG,MAezD,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,iBAAiB,MAAM,KACtB,OAIF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAW,OAAO,CAAC,YAAY,CAAM,KAAG,YAmBxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,YAAW,OAAO,CAAC,gBAAgB,CAAM,KAAG,gBAMhF,CAAC"}
package/dist/config.js CHANGED
@@ -23,9 +23,11 @@ export const hasConfiguredConversionCredential = (apiKeyOverride) => {
23
23
  return true;
24
24
  return readStoredConversionCredentialsSync() !== null;
25
25
  };
26
- export const readConversionConfig = (overrides = {}) => {
26
+ export const readCorpusConfig = (overrides = {}) => {
27
27
  const configuredApiKey = overrides.apiKey ?? process.env.TWELVE_UI_API_KEY;
28
- const stored = configuredApiKey?.trim() ? null : readStoredConversionCredentialsSync();
28
+ // An explicit empty key opts out of stored credentials. Invalid supplied
29
+ // credentials are never silently retried as anonymous requests.
30
+ const stored = configuredApiKey !== undefined ? null : readStoredConversionCredentialsSync();
29
31
  const origin = normalizeConversionOrigin(overrides.origin
30
32
  ?? process.env.TWELVE_UI_ORIGIN
31
33
  ?? stored?.origin
@@ -33,9 +35,15 @@ export const readConversionConfig = (overrides = {}) => {
33
35
  const apiKey = (configuredApiKey
34
36
  ?? stored?.apiKey
35
37
  ?? '').trim();
36
- if (!apiKey) {
38
+ // Keep an explicit empty key in the resolved config so passing it to a
39
+ // client cannot accidentally rediscover stored credentials on a second read.
40
+ return { origin, apiKey };
41
+ };
42
+ export const readConversionConfig = (overrides = {}) => {
43
+ const config = readCorpusConfig(overrides);
44
+ if (!config.apiKey) {
37
45
  throw new MissingTwelveUiCredentialError();
38
46
  }
39
- return { origin, apiKey };
47
+ return { origin: config.origin, apiKey: config.apiKey };
40
48
  };
41
49
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAO1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAU,EAAE;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,cAAuB,EACd,EAAE;IACX,MAAM,gBAAgB,GAAG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACzE,IAAI,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,mCAAmC,EAAE,KAAK,IAAI,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAuC,EAAE,EAAoB,EAAE;IAClG,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC3E,MAAM,MAAM,GAAG,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC;IACvF,MAAM,MAAM,GAAG,yBAAyB,CACtC,SAAS,CAAC,MAAM;WACX,OAAO,CAAC,GAAG,CAAC,gBAAgB;WAC5B,MAAM,EAAE,MAAM;WACd,kBAAkB,CACxB,CAAC;IACF,MAAM,MAAM,GAAG,CACb,gBAAgB;WACX,MAAM,EAAE,MAAM;WACd,EAAE,CACR,CAAC,IAAI,EAAE,CAAC;IACT,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,8BAA8B,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAU1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAU,EAAE;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,cAAuB,EACd,EAAE;IACX,MAAM,gBAAgB,GAAG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACzE,IAAI,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,mCAAmC,EAAE,KAAK,IAAI,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,YAAmC,EAAE,EAAgB,EAAE;IACtF,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC3E,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,yBAAyB,CACtC,SAAS,CAAC,MAAM;WACX,OAAO,CAAC,GAAG,CAAC,gBAAgB;WAC5B,MAAM,EAAE,MAAM;WACd,kBAAkB,CACxB,CAAC;IACF,MAAM,MAAM,GAAG,CACb,gBAAgB;WACX,MAAM,EAAE,MAAM;WACd,EAAE,CACR,CAAC,IAAI,EAAE,CAAC;IACT,uEAAuE;IACvE,6EAA6E;IAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAuC,EAAE,EAAoB,EAAE;IAClG,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,8BAA8B,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC1D,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Standalone retrieval defaults to the bounded embedding search. Hosted draft
2
+ * orchestration keeps its separately selected reference-search policy. */
3
+ export declare const DEFAULT_CORPUS_MODE: "balanced";
4
+ export declare const PUBLIC_CORPUS_MAX_COUNT = 24;
5
+ export declare const assertPublicCorpusRequest: (input: {
6
+ k?: number;
7
+ seed?: number;
8
+ browseId?: string;
9
+ mode?: string;
10
+ }, apiKey?: string) => void;
11
+ //# sourceMappingURL=corpus-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus-access.d.ts","sourceRoot":"","sources":["../src/corpus-access.ts"],"names":[],"mappings":"AAAA;0EAC0E;AAC1E,eAAO,MAAM,mBAAmB,EAAG,UAAmB,CAAC;AACvD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,yBAAyB,GACpC,OAAO;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACtE,SAAS,MAAM,KACd,IAWF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Standalone retrieval defaults to the bounded embedding search. Hosted draft
2
+ * orchestration keeps its separately selected reference-search policy. */
3
+ export const DEFAULT_CORPUS_MODE = 'balanced';
4
+ export const PUBLIC_CORPUS_MAX_COUNT = 24;
5
+ export const assertPublicCorpusRequest = (input, apiKey) => {
6
+ if (apiKey?.trim())
7
+ return;
8
+ if (input.mode === 'hedge') {
9
+ throw new TypeError('Hedge search requires an account for hosted planning. Choose balanced, direct, or adventurer, or plan locally and search those directions.');
10
+ }
11
+ if (input.k !== undefined && input.k > PUBLIC_CORPUS_MAX_COUNT) {
12
+ throw new RangeError(`Public corpus retrieval accepts at most ${PUBLIC_CORPUS_MAX_COUNT} references per request; reduce the count.`);
13
+ }
14
+ if (input.seed !== undefined || input.browseId !== undefined) {
15
+ throw new TypeError('Public corpus retrieval does not accept seed or browseId; omit these account-specific controls.');
16
+ }
17
+ };
18
+ //# sourceMappingURL=corpus-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus-access.js","sourceRoot":"","sources":["../src/corpus-access.ts"],"names":[],"mappings":"AAAA;0EAC0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAsE,EACtE,MAAe,EACT,EAAE;IACR,IAAI,MAAM,EAAE,IAAI,EAAE;QAAE,OAAO;IAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,4IAA4I,CAAC,CAAC;IACpK,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,GAAG,uBAAuB,EAAE,CAAC;QAC/D,MAAM,IAAI,UAAU,CAAC,2CAA2C,uBAAuB,4CAA4C,CAAC,CAAC;IACvI,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,IAAI,SAAS,CAAC,iGAAiG,CAAC,CAAC;IACzH,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ConversionConfig } from './config.js';
1
+ import { type CorpusConfig } from './config.js';
2
2
  import { type ReferenceSearchAdjustment, type InspirationMode } from './reference-search-mode.js';
3
3
  export type CorpusTrack = 'r-track' | 'logo-track';
4
4
  export type CorpusAspect = 'portrait' | 'landscape' | 'square';
@@ -19,10 +19,9 @@ export type CorpusQuality = {
19
19
  export type CorpusInspirationRequest = {
20
20
  q: string;
21
21
  /**
22
- * The mode the caller names. Absent, `inspire()` resolves it through
23
- * `referenceSearchMode`: the default for a text query, and
24
- * `REFERENCE_IMAGE_SEARCH_MODE` when `options.referenceImage` is passed,
25
- * because the corpus refuses a hedge query that carries an image.
22
+ * The mode the caller names. Absent, `inspire()` uses balanced for standalone retrieval. Hosted
23
+ * draft orchestration passes its own mode explicitly. Hedge cannot carry
24
+ * `options.referenceImage`.
26
25
  */
27
26
  mode?: InspirationMode;
28
27
  k?: number;
@@ -102,9 +101,9 @@ export type CorpusLogoSearchItem = {
102
101
  height: number;
103
102
  styleTags: string[];
104
103
  description: string | null;
105
- styleSimilarity: number;
106
- contentSimilarity: number;
107
- relevance: number;
104
+ styleSimilarity?: number;
105
+ contentSimilarity?: number;
106
+ relevance?: number;
108
107
  };
109
108
  export type CorpusLogoSearchResponse = {
110
109
  version: 'logo-bar-a-query-v1';
@@ -119,7 +118,8 @@ export type CorpusLogoSearchResponse = {
119
118
  export type CorpusReference = {
120
119
  referenceId: string;
121
120
  track: CorpusTrack;
122
- quality: CorpusQuality;
121
+ /** Available to authenticated accounts; omitted from public metadata. */
122
+ quality?: CorpusQuality;
123
123
  aspect: CorpusAspect;
124
124
  width: number;
125
125
  height: number;
@@ -161,7 +161,7 @@ export type CorpusStatus = {
161
161
  draftReferenceMode?: 'balanced' | 'hedge';
162
162
  };
163
163
  export declare const CORPUS_QUERY_IDEMPOTENCY_REVISION: "corpus-query-idempotency-v2";
164
- export type CorpusClientOptions = Partial<ConversionConfig> & {
164
+ export type CorpusClientOptions = Partial<CorpusConfig> & {
165
165
  fetch?: typeof globalThis.fetch;
166
166
  };
167
167
  export declare class TwelveUiCorpusClient {
@@ -170,7 +170,7 @@ export declare class TwelveUiCorpusClient {
170
170
  inspire(input: CorpusInspirationRequest, options: {
171
171
  idempotencyKey: string;
172
172
  referenceImage?: CorpusReferenceImageInput;
173
- /** Replay an existing durable request without changing its paid identity. */
173
+ /** Replay an existing durable request without changing its identity. */
174
174
  preserveRecordedRequest?: boolean;
175
175
  signal?: AbortSignal;
176
176
  }): Promise<CorpusInspirationResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"corpus-client.d.ts","sourceRoot":"","sources":["../src/corpus-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"corpus-client.d.ts","sourceRoot":"","sources":["../src/corpus-client.ts"],"names":[],"mappings":"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"}