@12ui/design 0.2.65 → 0.2.67

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 (273) hide show
  1. package/README.md +45 -35
  2. package/SKILL.md +1 -1
  3. package/dist/branch-client.d.ts +4 -2
  4. package/dist/branch-client.d.ts.map +1 -1
  5. package/dist/branch-client.js +36 -21
  6. package/dist/branch-client.js.map +1 -1
  7. package/dist/branch-conversion-engine.d.ts +8 -0
  8. package/dist/branch-conversion-engine.d.ts.map +1 -0
  9. package/dist/branch-conversion-engine.js +43 -0
  10. package/dist/branch-conversion-engine.js.map +1 -0
  11. package/dist/branch-execution.d.ts +12 -0
  12. package/dist/branch-execution.d.ts.map +1 -1
  13. package/dist/branch-execution.js +62 -39
  14. package/dist/branch-execution.js.map +1 -1
  15. package/dist/branch-local-conversion.d.ts +27 -0
  16. package/dist/branch-local-conversion.d.ts.map +1 -0
  17. package/dist/branch-local-conversion.js +80 -0
  18. package/dist/branch-local-conversion.js.map +1 -0
  19. package/dist/branch-local-publication.d.ts +15 -0
  20. package/dist/branch-local-publication.d.ts.map +1 -0
  21. package/dist/branch-local-publication.js +111 -0
  22. package/dist/branch-local-publication.js.map +1 -0
  23. package/dist/branch-page-conversion.d.ts +7 -0
  24. package/dist/branch-page-conversion.d.ts.map +1 -1
  25. package/dist/branch-page-conversion.js +13 -0
  26. package/dist/branch-page-conversion.js.map +1 -1
  27. package/dist/branch-progress.d.ts +2 -0
  28. package/dist/branch-progress.d.ts.map +1 -1
  29. package/dist/branch-progress.js.map +1 -1
  30. package/dist/branch-run-record.d.ts +24 -2
  31. package/dist/branch-run-record.d.ts.map +1 -1
  32. package/dist/branch-run-record.js +3 -2
  33. package/dist/branch-run-record.js.map +1 -1
  34. package/dist/branch-status.d.ts.map +1 -1
  35. package/dist/branch-status.js +21 -3
  36. package/dist/branch-status.js.map +1 -1
  37. package/dist/branch-winner.d.ts.map +1 -1
  38. package/dist/branch-winner.js +1 -2
  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-branch-command.d.ts.map +1 -1
  44. package/dist/cli-branch-command.js +7 -2
  45. package/dist/cli-branch-command.js.map +1 -1
  46. package/dist/cli-capabilities.d.ts +37 -15
  47. package/dist/cli-capabilities.d.ts.map +1 -1
  48. package/dist/cli-capabilities.js +38 -22
  49. package/dist/cli-capabilities.js.map +1 -1
  50. package/dist/cli-codex-readiness.d.ts +11 -0
  51. package/dist/cli-codex-readiness.d.ts.map +1 -0
  52. package/dist/cli-codex-readiness.js +72 -0
  53. package/dist/cli-codex-readiness.js.map +1 -0
  54. package/dist/cli-conversion-engine.d.ts +11 -0
  55. package/dist/cli-conversion-engine.d.ts.map +1 -0
  56. package/dist/cli-conversion-engine.js +26 -0
  57. package/dist/cli-conversion-engine.js.map +1 -0
  58. package/dist/cli-conversion-receipt.d.ts +28 -0
  59. package/dist/cli-conversion-receipt.d.ts.map +1 -0
  60. package/dist/cli-conversion-receipt.js +130 -0
  61. package/dist/cli-conversion-receipt.js.map +1 -0
  62. package/dist/cli-convert-command.d.ts.map +1 -1
  63. package/dist/cli-convert-command.js +12 -5
  64. package/dist/cli-convert-command.js.map +1 -1
  65. package/dist/cli-corpus-command.d.ts.map +1 -1
  66. package/dist/cli-corpus-command.js +5 -7
  67. package/dist/cli-corpus-command.js.map +1 -1
  68. package/dist/cli-corpus-evidence.d.ts +0 -1
  69. package/dist/cli-corpus-evidence.d.ts.map +1 -1
  70. package/dist/cli-corpus-evidence.js +22 -49
  71. package/dist/cli-corpus-evidence.js.map +1 -1
  72. package/dist/cli-corpus-manifest.d.ts +18 -0
  73. package/dist/cli-corpus-manifest.d.ts.map +1 -0
  74. package/dist/cli-corpus-manifest.js +83 -0
  75. package/dist/cli-corpus-manifest.js.map +1 -0
  76. package/dist/cli-corpus-reference-downloads.d.ts.map +1 -1
  77. package/dist/cli-corpus-reference-downloads.js +5 -3
  78. package/dist/cli-corpus-reference-downloads.js.map +1 -1
  79. package/dist/cli-corpus-run.d.ts +2 -0
  80. package/dist/cli-corpus-run.d.ts.map +1 -1
  81. package/dist/cli-corpus-run.js +40 -16
  82. package/dist/cli-corpus-run.js.map +1 -1
  83. package/dist/cli-corpus-types.d.ts +10 -6
  84. package/dist/cli-corpus-types.d.ts.map +1 -1
  85. package/dist/cli-corpus-types.js.map +1 -1
  86. package/dist/cli-draft-command.d.ts +2 -0
  87. package/dist/cli-draft-command.d.ts.map +1 -1
  88. package/dist/cli-draft-command.js +20 -9
  89. package/dist/cli-draft-command.js.map +1 -1
  90. package/dist/cli-engine.d.ts +10 -0
  91. package/dist/cli-engine.d.ts.map +1 -0
  92. package/dist/cli-engine.js +28 -0
  93. package/dist/cli-engine.js.map +1 -0
  94. package/dist/cli-help/conversion.d.ts +10 -3
  95. package/dist/cli-help/conversion.d.ts.map +1 -1
  96. package/dist/cli-help/conversion.js +14 -6
  97. package/dist/cli-help/conversion.js.map +1 -1
  98. package/dist/cli-help/design.d.ts +7 -7
  99. package/dist/cli-help/design.d.ts.map +1 -1
  100. package/dist/cli-help/design.js +9 -7
  101. package/dist/cli-help/design.js.map +1 -1
  102. package/dist/cli-help/index.d.ts +19 -12
  103. package/dist/cli-help/index.d.ts.map +1 -1
  104. package/dist/cli-help/setup.d.ts +2 -2
  105. package/dist/cli-help/setup.js +3 -3
  106. package/dist/cli-help/setup.js.map +1 -1
  107. package/dist/cli-image-backend.d.ts +3 -0
  108. package/dist/cli-image-backend.d.ts.map +1 -0
  109. package/dist/cli-image-backend.js +12 -0
  110. package/dist/cli-image-backend.js.map +1 -0
  111. package/dist/cli-local-conversion.d.ts +17 -0
  112. package/dist/cli-local-conversion.d.ts.map +1 -0
  113. package/dist/cli-local-conversion.js +74 -0
  114. package/dist/cli-local-conversion.js.map +1 -0
  115. package/dist/cli-local-dispatch.d.ts +4 -0
  116. package/dist/cli-local-dispatch.d.ts.map +1 -0
  117. package/dist/cli-local-dispatch.js +102 -0
  118. package/dist/cli-local-dispatch.js.map +1 -0
  119. package/dist/cli-local-export.d.ts +7 -0
  120. package/dist/cli-local-export.d.ts.map +1 -0
  121. package/dist/cli-local-export.js +31 -0
  122. package/dist/cli-local-export.js.map +1 -0
  123. package/dist/cli-local-improve-context.d.ts +3 -0
  124. package/dist/cli-local-improve-context.d.ts.map +1 -0
  125. package/dist/cli-local-improve-context.js +47 -0
  126. package/dist/cli-local-improve-context.js.map +1 -0
  127. package/dist/cli-local-improve.d.ts +16 -0
  128. package/dist/cli-local-improve.d.ts.map +1 -0
  129. package/dist/cli-local-improve.js +214 -0
  130. package/dist/cli-local-improve.js.map +1 -0
  131. package/dist/cli-local-record.d.ts +8 -0
  132. package/dist/cli-local-record.d.ts.map +1 -0
  133. package/dist/cli-local-record.js +67 -0
  134. package/dist/cli-local-record.js.map +1 -0
  135. package/dist/cli-local-runtime.d.ts +7 -0
  136. package/dist/cli-local-runtime.d.ts.map +1 -0
  137. package/dist/cli-local-runtime.js +21 -0
  138. package/dist/cli-local-runtime.js.map +1 -0
  139. package/dist/cli-next-command.d.ts +1 -0
  140. package/dist/cli-next-command.d.ts.map +1 -1
  141. package/dist/cli-next-command.js +12 -9
  142. package/dist/cli-next-command.js.map +1 -1
  143. package/dist/cli-run.d.ts.map +1 -1
  144. package/dist/cli-run.js +3 -0
  145. package/dist/cli-run.js.map +1 -1
  146. package/dist/cli-skill-command.d.ts +0 -3
  147. package/dist/cli-skill-command.d.ts.map +1 -1
  148. package/dist/cli-skill-command.js +9 -24
  149. package/dist/cli-skill-command.js.map +1 -1
  150. package/dist/cli-usage.d.ts.map +1 -1
  151. package/dist/cli-usage.js +21 -12
  152. package/dist/cli-usage.js.map +1 -1
  153. package/dist/concept-input.d.ts +1 -1
  154. package/dist/concept-input.d.ts.map +1 -1
  155. package/dist/concept-input.js +1 -1
  156. package/dist/concept-input.js.map +1 -1
  157. package/dist/conversion-status-contract.d.ts +13 -1
  158. package/dist/conversion-status-contract.d.ts.map +1 -1
  159. package/dist/conversion-status-contract.js +12 -11
  160. package/dist/conversion-status-contract.js.map +1 -1
  161. package/dist/corpus-client.d.ts +11 -7
  162. package/dist/corpus-client.d.ts.map +1 -1
  163. package/dist/corpus-client.js +36 -8
  164. package/dist/corpus-client.js.map +1 -1
  165. package/dist/corpus-inspiration-failure.d.ts +9 -0
  166. package/dist/corpus-inspiration-failure.d.ts.map +1 -0
  167. package/dist/corpus-inspiration-failure.js +49 -0
  168. package/dist/corpus-inspiration-failure.js.map +1 -0
  169. package/dist/corpus-request-error.d.ts +7 -13
  170. package/dist/corpus-request-error.d.ts.map +1 -1
  171. package/dist/corpus-request-error.js +3 -12
  172. package/dist/corpus-request-error.js.map +1 -1
  173. package/dist/draft-corpus-query.d.ts +5 -0
  174. package/dist/draft-corpus-query.d.ts.map +1 -0
  175. package/dist/draft-corpus-query.js +31 -0
  176. package/dist/draft-corpus-query.js.map +1 -0
  177. package/dist/draft-identity.d.ts +2 -0
  178. package/dist/draft-identity.d.ts.map +1 -1
  179. package/dist/draft-identity.js +1 -0
  180. package/dist/draft-identity.js.map +1 -1
  181. package/dist/draft-run.d.ts +5 -1
  182. package/dist/draft-run.d.ts.map +1 -1
  183. package/dist/draft-run.js +10 -4
  184. package/dist/draft-run.js.map +1 -1
  185. package/dist/draft-workspace.d.ts +2 -0
  186. package/dist/draft-workspace.d.ts.map +1 -1
  187. package/dist/draft-workspace.js.map +1 -1
  188. package/dist/http-response-diagnostic.d.ts +12 -0
  189. package/dist/http-response-diagnostic.d.ts.map +1 -0
  190. package/dist/http-response-diagnostic.js +58 -0
  191. package/dist/http-response-diagnostic.js.map +1 -0
  192. package/dist/improve-branch-stage.d.ts.map +1 -1
  193. package/dist/improve-branch-stage.js +6 -25
  194. package/dist/improve-branch-stage.js.map +1 -1
  195. package/dist/improve-concept.d.ts +1 -1
  196. package/dist/improve-concept.d.ts.map +1 -1
  197. package/dist/improve-concept.js +1 -1
  198. package/dist/improve-concept.js.map +1 -1
  199. package/dist/improve-core/concept-input.d.ts +2 -43
  200. package/dist/improve-core/concept-input.d.ts.map +1 -1
  201. package/dist/improve-core/concept-input.js +3 -53
  202. package/dist/improve-core/concept-input.js.map +1 -1
  203. package/dist/improve-core/improve-concept.d.ts +0 -6
  204. package/dist/improve-core/improve-concept.d.ts.map +1 -1
  205. package/dist/improve-core/improve-concept.js +4 -36
  206. package/dist/improve-core/improve-concept.js.map +1 -1
  207. package/dist/improve-core/improve-page-words.d.ts +2 -2
  208. package/dist/improve-core/improve-page-words.d.ts.map +1 -1
  209. package/dist/improve-core/improve-page-words.js +8 -6
  210. package/dist/improve-core/improve-page-words.js.map +1 -1
  211. package/dist/improve-generation-stages.d.ts.map +1 -1
  212. package/dist/improve-generation-stages.js +6 -24
  213. package/dist/improve-generation-stages.js.map +1 -1
  214. package/dist/improve-kit-readme.d.ts.map +1 -1
  215. package/dist/improve-kit-readme.js +1 -0
  216. package/dist/improve-kit-readme.js.map +1 -1
  217. package/dist/improve-source-words.d.ts +14 -0
  218. package/dist/improve-source-words.d.ts.map +1 -0
  219. package/dist/improve-source-words.js +66 -0
  220. package/dist/improve-source-words.js.map +1 -0
  221. package/dist/improve-workspace.d.ts +3 -0
  222. package/dist/improve-workspace.d.ts.map +1 -1
  223. package/dist/improve-workspace.js.map +1 -1
  224. package/dist/index.d.ts +1 -1
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +1 -1
  227. package/dist/index.js.map +1 -1
  228. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  229. package/dist/legacy-skill-catalog.js +44 -5
  230. package/dist/legacy-skill-catalog.js.map +1 -1
  231. package/dist/package-client.d.ts +3 -1
  232. package/dist/package-client.d.ts.map +1 -1
  233. package/dist/package-client.js +34 -11
  234. package/dist/package-client.js.map +1 -1
  235. package/dist/prototype-gates.d.ts.map +1 -1
  236. package/dist/prototype-gates.js +1 -1
  237. package/dist/prototype-gates.js.map +1 -1
  238. package/dist/prototype-poststep.js +1 -1
  239. package/dist/prototype-poststep.js.map +1 -1
  240. package/dist/prototype-requests.d.ts +1 -0
  241. package/dist/prototype-requests.d.ts.map +1 -1
  242. package/dist/prototype-requests.js.map +1 -1
  243. package/dist/prototype-revision.d.ts +1 -1
  244. package/dist/prototype-revision.js +1 -1
  245. package/dist/prototype-runner.d.ts.map +1 -1
  246. package/dist/prototype-runner.js +9 -3
  247. package/dist/prototype-runner.js.map +1 -1
  248. package/dist/reference-search-mode.d.ts +27 -2
  249. package/dist/reference-search-mode.d.ts.map +1 -1
  250. package/dist/reference-search-mode.js +29 -2
  251. package/dist/reference-search-mode.js.map +1 -1
  252. package/dist/review-page.js +2 -2
  253. package/dist/review-page.js.map +1 -1
  254. package/dist/review-prototype-gap.js +1 -1
  255. package/dist/review-prototype-gap.js.map +1 -1
  256. package/dist/run-journal-commands.d.ts.map +1 -1
  257. package/dist/run-journal-commands.js +1 -0
  258. package/dist/run-journal-commands.js.map +1 -1
  259. package/dist/skill-installer.d.ts +2 -1
  260. package/dist/skill-installer.d.ts.map +1 -1
  261. package/dist/skill-installer.js +3 -3
  262. package/dist/skill-installer.js.map +1 -1
  263. package/open-design.json +2 -2
  264. package/package.json +5 -4
  265. package/prototype-kit/analyze.mjs +4 -1
  266. package/prototype-kit/build.mjs +29 -4
  267. package/prototype-kit/inventory.mjs +11 -2
  268. package/prototype-kit/lib/local-page.mjs +50 -0
  269. package/prototype-kit/lib/static-server.mjs +1 -0
  270. package/skills/12ui-design/SKILL.md +35 -33
  271. package/skills/12ui-design/improve.md +48 -155
  272. package/skills/12ui-design/inspire.md +3 -1
  273. package/skills/12ui-design/outputs.md +22 -0
@@ -3,7 +3,7 @@ export declare const CONVERSION_HELP: {
3
3
  readonly summary: "Convert one visual file, or compose ordered viewport images into complete pages.";
4
4
  readonly sections: readonly [{
5
5
  readonly heading: "Single-file conversion";
6
- readonly items: readonly ["Accepts PNG, JPEG, WebP, public LayerDoc v2 JSON, or a finished conversion ID.", "Image input waits, streams progress, and downloads results. --output html writes both the LayerDoc and responsive HTML through the fused path.", "Conversion-id input requires --out-dir and derives comma-separated formats concurrently without another image conversion.", "Image inputs support --model and proportional --width. Responsive HTML supports --responsive-quality."];
6
+ readonly items: readonly ["Accepts PNG, JPEG, WebP, public LayerDoc v2 JSON, or a finished conversion ID.", "--engine auto|codex|api defaults to auto (TWELVE_UI_ENGINE overrides the default). Auto selects local Codex when available; hosted-specific options select API. Explicit codex refuses unsupported hosted options.", "Conversion-id input requires --out-dir and derives comma-separated formats concurrently without another image conversion.", "Local HTML is editable HTML/CSS and assets without LayerDoc. --image-backend external|native is independent of the engine. New runs choose external when OPENAI_API_KEY is nonblank, otherwise native. Explicit choices and saved runs remain fixed; explicit external requires the key before planner execution. --clean-assets accepts crop|enhance. API image inputs support --model and proportional --width; API responsive HTML supports --responsive-quality."];
7
7
  }, {
8
8
  readonly heading: "Package conversion";
9
9
  readonly items: readonly ["`12ui convert package` preserves ordered viewport slices and composes them into scrolling pages.", "`12ui convert package --template` prints a valid starter manifest without authentication or network access."];
@@ -19,11 +19,18 @@ export declare const CONVERSION_HELP: {
19
19
  readonly items: readonly ["--template prints starter JSON to stdout and guidance to stderr, then exits before reading credentials or contacting the service."];
20
20
  }];
21
21
  };
22
+ readonly export: {
23
+ readonly summary: "Derive assets, browser renders, PDF, or whole-page React from local HTML.";
24
+ readonly sections: readonly [{
25
+ readonly heading: "Behavior";
26
+ readonly items: readonly ["Accepts a completed local run directory or an HTML output directory. Requires --output assets|png|jpg|webp|pdf|react and --out-dir.", "Raster and PDF exports require Chromium. React exports whole-page JSX, CSS, and assets, not a functional application or native LayerDoc."];
27
+ }];
28
+ };
22
29
  readonly resume: {
23
- readonly summary: "Recover every artifact in an original conversion purchase.";
30
+ readonly summary: "Resume a recorded local run or recover an original hosted conversion purchase.";
24
31
  readonly sections: readonly [{
25
32
  readonly heading: "Behavior";
26
- readonly items: readonly ["With only a conversion ID, restores the conversion and any linked fused export to their original filenames and directories.", "--out-dir keeps the original basenames but writes the recovered purchase into another directory.", "The optional --output plus --out power form collects one named operation from an older or externally-created purchase.", "Collects existing work only: it never retries, reconfigures, changes format, or creates a conversion."];
33
+ readonly items: readonly ["A local run directory uses its recorded engine and inputs; it never silently changes to API after failure. Local resume does not accept --out-dir, --timeout-ms, --output, --out, or hosted authentication flags.", "With only a conversion ID, restores the conversion and any linked fused export to their original filenames and directories.", "For hosted conversion IDs, --out-dir keeps the original basenames but writes the recovered purchase into another directory.", "For hosted conversion IDs, the optional --output plus --out power form collects one named operation from an older or externally-created purchase.", "Hosted recovery collects existing work only: it never retries, reconfigures, changes format, or creates a conversion."];
27
34
  }];
28
35
  };
29
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/cli-help/conversion.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDO,CAAC"}
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/cli-help/conversion.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DO,CAAC"}
@@ -6,9 +6,9 @@ export const CONVERSION_HELP = {
6
6
  heading: 'Single-file conversion',
7
7
  items: [
8
8
  'Accepts PNG, JPEG, WebP, public LayerDoc v2 JSON, or a finished conversion ID.',
9
- 'Image input waits, streams progress, and downloads results. --output html writes both the LayerDoc and responsive HTML through the fused path.',
9
+ '--engine auto|codex|api defaults to auto (TWELVE_UI_ENGINE overrides the default). Auto selects local Codex when available; hosted-specific options select API. Explicit codex refuses unsupported hosted options.',
10
10
  'Conversion-id input requires --out-dir and derives comma-separated formats concurrently without another image conversion.',
11
- 'Image inputs support --model and proportional --width. Responsive HTML supports --responsive-quality.',
11
+ 'Local HTML is editable HTML/CSS and assets without LayerDoc. --image-backend external|native is independent of the engine. New runs choose external when OPENAI_API_KEY is nonblank, otherwise native. Explicit choices and saved runs remain fixed; explicit external requires the key before planner execution. --clean-assets accepts crop|enhance. API image inputs support --model and proportional --width; API responsive HTML supports --responsive-quality.',
12
12
  ],
13
13
  },
14
14
  {
@@ -39,15 +39,23 @@ export const CONVERSION_HELP = {
39
39
  },
40
40
  ],
41
41
  },
42
+ export: {
43
+ summary: 'Derive assets, browser renders, PDF, or whole-page React from local HTML.',
44
+ sections: [{ heading: 'Behavior', items: [
45
+ 'Accepts a completed local run directory or an HTML output directory. Requires --output assets|png|jpg|webp|pdf|react and --out-dir.',
46
+ 'Raster and PDF exports require Chromium. React exports whole-page JSX, CSS, and assets, not a functional application or native LayerDoc.',
47
+ ] }],
48
+ },
42
49
  resume: {
43
- summary: 'Recover every artifact in an original conversion purchase.',
50
+ summary: 'Resume a recorded local run or recover an original hosted conversion purchase.',
44
51
  sections: [{
45
52
  heading: 'Behavior',
46
53
  items: [
54
+ 'A local run directory uses its recorded engine and inputs; it never silently changes to API after failure. Local resume does not accept --out-dir, --timeout-ms, --output, --out, or hosted authentication flags.',
47
55
  'With only a conversion ID, restores the conversion and any linked fused export to their original filenames and directories.',
48
- '--out-dir keeps the original basenames but writes the recovered purchase into another directory.',
49
- 'The optional --output plus --out power form collects one named operation from an older or externally-created purchase.',
50
- 'Collects existing work only: it never retries, reconfigures, changes format, or creates a conversion.',
56
+ 'For hosted conversion IDs, --out-dir keeps the original basenames but writes the recovered purchase into another directory.',
57
+ 'For hosted conversion IDs, the optional --output plus --out power form collects one named operation from an older or externally-created purchase.',
58
+ 'Hosted recovery collects existing work only: it never retries, reconfigures, changes format, or creates a conversion.',
51
59
  ],
52
60
  }],
53
61
  },
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/cli-help/conversion.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE;QACP,OAAO,EAAE,kFAAkF;QAC3F,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,wBAAwB;gBACjC,KAAK,EAAE;oBACL,gFAAgF;oBAChF,gJAAgJ;oBAChJ,2HAA2H;oBAC3H,uGAAuG;iBACxG;aACF;YACD;gBACE,OAAO,EAAE,oBAAoB;gBAC7B,KAAK,EAAE;oBACL,kGAAkG;oBAClG,6GAA6G;iBAC9G;aACF;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,iFAAiF;QAC1F,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE;oBACL,0IAA0I;oBAC1I,wHAAwH;oBACxH,+FAA+F;iBAChG;aACF;YACD;gBACE,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE;oBACL,mIAAmI;iBACpI;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,4DAA4D;QACrE,QAAQ,EAAE,CAAC;gBACT,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE;oBACL,6HAA6H;oBAC7H,kGAAkG;oBAClG,wHAAwH;oBACxH,uGAAuG;iBACxG;aACF,CAAC;KACH;CACgC,CAAC"}
1
+ {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/cli-help/conversion.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE;QACP,OAAO,EAAE,kFAAkF;QAC3F,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,wBAAwB;gBACjC,KAAK,EAAE;oBACL,gFAAgF;oBAChF,oNAAoN;oBACpN,2HAA2H;oBAC3H,scAAsc;iBACvc;aACF;YACD;gBACE,OAAO,EAAE,oBAAoB;gBAC7B,KAAK,EAAE;oBACL,kGAAkG;oBAClG,6GAA6G;iBAC9G;aACF;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,iFAAiF;QAC1F,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE;oBACL,0IAA0I;oBAC1I,wHAAwH;oBACxH,+FAA+F;iBAChG;aACF;YACD;gBACE,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE;oBACL,mIAAmI;iBACpI;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,2EAA2E;QACpF,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE;oBACvC,qIAAqI;oBACrI,0IAA0I;iBAC3I,EAAE,CAAC;KACL;IACD,MAAM,EAAE;QACN,OAAO,EAAE,gFAAgF;QACzF,QAAQ,EAAE,CAAC;gBACT,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE;oBACL,mNAAmN;oBACnN,6HAA6H;oBAC7H,6HAA6H;oBAC7H,mJAAmJ;oBACnJ,uHAAuH;iBACxH;aACF,CAAC;KACH;CACgC,CAAC"}
@@ -20,14 +20,14 @@ export declare const DESIGN_HELP: {
20
20
  readonly summary: "Continue an incomplete corpus retrieval from its durable output directory.";
21
21
  readonly sections: readonly [{
22
22
  readonly heading: "Safety";
23
- readonly items: readonly ["Reuses the saved request and idempotency key, preserves verified downloads, and fetches only what remains.", "Completed attempts, changed reference inputs, and incompatible evidence are refused rather than redispatched."];
23
+ readonly items: readonly ["Reuses the saved request and idempotency key, preserves verified downloads, and fetches only what remains.", "Completed attempts verify the saved files; missing files resume under the original paid identity. Changed reference inputs and incompatible evidence are refused."];
24
24
  }];
25
25
  };
26
26
  readonly draft: {
27
27
  readonly summary: "Retrieve references and generate first-viewport UI candidates.";
28
28
  readonly sections: readonly [{
29
29
  readonly heading: "Behavior";
30
- readonly items: readonly ["Creates a resumable temporary run directory, prints it first, retrieves a corpus reference set, and claims one hosted /api/v1/create run.", "--candidates accepts 2–16 and defaults to four; prefer at least four distinct directions.", "--profile standard|pro selects the Draft profile. Standard is the default; the selected profile is recorded with the hosted run.", "The reference search runs hedge and needs no flag: one reference per candidate slot, spread across distinct directions while holding the concept. --corpus-mode direct|balanced|adventurer chooses another; those retrieve the wider twelve-reference slate and pair its first candidates. A search conditioned on your own image (--reference, --redesign-source) runs balanced instead: the corpus refuses a hedge query that carries an image. An explicit mode is its own run, so it searches again instead of resuming the default run in the same workspace.", "Every service dispatch request stays in the foreground. The command returns after no slot remains pending; generation stays server-side.", "Run `12ui next <run-dir> --wait` to poll, repair only recorded slots that never started, and download real PNGs into <run-dir>/candidates/.", "Defaults to landscape. Authentication is 12ui-only; no Codex session or caller-side image-provider key is read."];
30
+ readonly items: readonly ["Creates a resumable temporary run directory, prints it first, retrieves a corpus reference set, and claims one hosted /api/v1/create run.", "--candidates accepts 2–16 and defaults to four; prefer at least four distinct directions.", "--profile standard|pro selects the Draft profile. Standard is the default; the selected profile is recorded with the hosted run.", "Keep full image-generation instructions in --concept. Optionally pass --corpus-query \"<short visual caption>\" or --corpus-query @file: hedge retrieval accepts at most 400 UTF-16 characters after whitespace normalization. Describe the surface and intended layout, typography, imagery, and palette. Longer queries automatically use balanced retrieval with the full text and an explanation. The separate query is recorded and part of the run identity.", "The reference search runs hedge and needs no flag: one reference per candidate slot, spread across distinct directions while holding the concept. --corpus-mode direct|balanced|adventurer chooses another; those retrieve the wider twelve-reference slate and pair its first candidates. A search conditioned on your own image (--reference, --redesign-source) runs balanced instead: the corpus refuses a hedge query that carries an image. An explicit mode is its own run, so it searches again instead of resuming the default run in the same workspace.", "Every service dispatch request stays in the foreground. The command returns after no slot remains pending; generation stays server-side.", "Run `12ui next <run-dir> --wait` to poll, repair only recorded slots that never started, and download real PNGs into <run-dir>/candidates/.", "Defaults to landscape. Authentication is 12ui-only; no Codex session or caller-side image-provider key is read."];
31
31
  }, {
32
32
  readonly heading: "Redesign modes";
33
33
  readonly items: readonly ["Without --reference, creates a new interface and pairs one corpus reference with each candidate.", "--reference accepts a local path or HTTP(S) URL, conditions corpus retrieval, and sends those original bytes to every candidate.", "A reference retains style by default while excluding layout, content, and assets. --retain accepts comma-separated values; layout is the explicit structure-preserving opt-in.", "--retain-source says what the reference IS. inspiration (the default) is a design you like, so an exclusion is a prohibition: do not reuse its words or its logo. subject is your own page, so the same exclusion is a licence: its words may be rewritten, its brand may be replaced. `12ui improve` sends subject. Against a subject, at least one of layout, copy, brand, and style must be left free to change: keeping all four asks for the page back unchanged and is refused.", "--redesign-source remains an alias for local redesign workflows. --mode reskin is the layout-retain shorthand."];
@@ -81,23 +81,23 @@ export declare const DESIGN_HELP: {
81
81
  }];
82
82
  };
83
83
  readonly improve: {
84
- readonly summary: "Improve one live interface, site, or screenshot and produce a replayable implementation kit.";
84
+ readonly summary: "Improve an interface with local source edits or a hosted implementation kit.";
85
85
  readonly sections: readonly [{
86
86
  readonly heading: "Behavior";
87
- readonly items: readonly ["Page scope runs five stages in order: local capture, hosted draft candidates, explicit pick, fused LayerDoc and responsive HTML conversion, then a local implementation plan.", "The pick is explicit and has no default. With no --pick and no pick already recorded, the run stops after the draw, prints where the candidates are and the exact command that continues (--from pick --pick <slot>), and buys no conversion: converting a candidate nobody chose spends money on a guess that cannot be cancelled. --target supplies the design instead and skips draft and pick.", "--retain says what to hold from the live page, in the four-facet vocabulary: layout, content, assets, style. It defaults to assets,content — keep the product's brand and words, rework its layout and visual system. Add layout to hold the geometry, add style to work inside the existing visual language, drop assets to let the brand be replaced. The /improve page exposes the same four as Keep layout, Keep copy, Keep brand, and Keep style. At least one of the four must be left free to change: keeping all four asks for the page back unchanged and is refused before anything is bought.", "Whatever is retained, no setting licenses inventing a product fact: with content held the page says the same things; with content freed the words may be rewritten but every claim, number, offer, and control must still be present and true.", "The draft stage searches references under the same policy as `12ui draft`. Improve always conditions that search on its own capture of the page, and the corpus refuses a hedge query carrying an image, so it searches balanced; --corpus-mode direct|adventurer chooses another. The mode is recorded in improve.json when you name it, so a resume searches what the run searched. A resume must repeat the recorded mode or drop the flag: naming a different one is refused before anything is bought, because the references were bought under the recorded mode and a different mode is a different run — start it with a fresh --out-dir. A resume after the draft settled replays the references it already bought and buys nothing.", "URL input uses one Playwright context for repeated --bootstrap actions, screenshot capture, and selector-verified DOM extraction. Image input normalizes the source locally.", string, "The kit keeps every candidate, winner, target, plan, assets, and improve.json replay record. Repeating a settled stage reuses it; --from pick --pick <slot> invalidates only the old target and plan.", "--responsive-quality selects standard or pro responsive export. If that export fails, is absent, or reaches the improve deadline after LayerDoc materialization, improve continues to plan with a warning and derives fixed HTML free when possible.", "--convert-stall-seconds is a no-progress bound for every hosted convert wait, including the free fixed-layout derivation (default: 960s standard and pro, 300s fast; refused below one typical wall). A newly polled live stage or active lane resets it, so healthy tall work stays attached to its original purchase and no second conversion is dispatched. A true no-progress stall with no LayerDoc writes plan/STALL.md and exits non-zero with free re-attachment commands. With a LayerDoc, improve derives fixed HTML for the plan and plan/STALL.md gives the free resume command that later collects responsive winner.html without changing that plan basis. Stopping the wait does not stop the conversion: there is no cancel, so an open run keeps billing.", "--fresh re-buys ONE conversion of the same settled winner under a new idempotency key: it records the abandoned conversion identity and reuses capture, draft and pick untouched. --redraw is the one that buys new candidates — it discards draft, pick, convert and plan, moves the old draw to candidates.previous, records any conversion it drops, and runs the draft stage again; it is also the one path allowed to change --direction, --candidates or --retain against the record. A temporarily unavailable stage retries once after 30 seconds.", "--target brings your own design image or LayerDoc, skips draft and pick, converts an image when needed, and aligns the plan to the captured URL DOM."];
87
+ readonly items: readonly ["--apply supports page scope only and capture/draft/pick source stages; branch/site/convert/plan options belong to hosted kits. --apply with a URL and --repo captures the current interface and edits the actual project locally. --target supplies an approved image; without a target, draft candidates and an explicit pick precede application. Omit --apply for the existing hosted kit workflow.", "Hosted page scope runs five stages in order: local capture, hosted draft candidates, explicit pick, fused LayerDoc and responsive HTML conversion, then a local implementation plan.", "The pick is explicit and has no default. With no --pick and no pick already recorded, the run stops after the draw, prints where the candidates are and the exact command that continues (--from pick --pick <slot>), and buys no conversion: converting a candidate nobody chose spends money on a guess that cannot be cancelled. --target supplies the design instead and skips draft and pick.", "--retain says what to hold from the live page, in the four-facet vocabulary: layout, content, assets, style. It defaults to assets,content — keep the product's brand and words, rework its layout and visual system. Add layout to hold the geometry, add style to work inside the existing visual language, drop assets to let the brand be replaced. The /improve page exposes the same four as Keep layout, Keep copy, Keep brand, and Keep style. At least one of the four must be left free to change: keeping all four asks for the page back unchanged and is refused before anything is bought.", "Whatever is retained, no setting licenses inventing a product fact: with content held the page says the same things; with content freed the words may be rewritten but every claim, number, offer, and control must still be present and true.", "The draft stage searches references under the same policy as `12ui draft`. Improve always conditions that search on its own capture of the page, and the corpus refuses a hedge query carrying an image, so it searches balanced; --corpus-mode direct|adventurer chooses another. The mode is recorded in improve.json when you name it, so a resume searches what the run searched. A resume must repeat the recorded mode or drop the flag: naming a different one is refused before anything is bought, because the references were bought under the recorded mode and a different mode is a different run — start it with a fresh --out-dir. A resume after the draft settled replays the references it already bought and buys nothing.", "URL input uses one Playwright context for repeated --bootstrap actions, screenshot capture, and selector-verified DOM extraction. Image input normalizes the source locally.", string, "The kit keeps every candidate, winner, target, plan, assets, and improve.json replay record. Repeating a settled stage reuses it; --from pick --pick <slot> invalidates only the old target and plan.", "--responsive-quality selects standard or pro responsive export. If that export fails, is absent, or reaches the improve deadline after LayerDoc materialization, improve continues to plan with a warning and derives fixed HTML free when possible.", "--convert-stall-seconds is a no-progress bound for every hosted convert wait, including the free fixed-layout derivation (default: 960s standard and pro, 300s fast; refused below one typical wall). A newly polled live stage or active lane resets it, so healthy tall work stays attached to its original purchase and no second conversion is dispatched. A true no-progress stall with no LayerDoc writes plan/STALL.md and exits non-zero with free re-attachment commands. With a LayerDoc, improve derives fixed HTML for the plan and plan/STALL.md gives the free resume command that later collects responsive winner.html without changing that plan basis. Stopping the wait does not stop the conversion: there is no cancel, so an open run keeps billing.", "--fresh re-buys ONE conversion of the same settled winner under a new idempotency key: it records the abandoned conversion identity and reuses capture, draft and pick untouched. --redraw is the one that buys new candidates — it discards draft, pick, convert and plan, moves the old draw to candidates.previous, records any conversion it drops, and runs the draft stage again; it is also the one path allowed to change --direction, --candidates or --retain against the record. A temporarily unavailable stage retries once after 30 seconds.", "--target brings your own design image or LayerDoc, skips draft and pick, converts an image when needed, and aligns the plan to the captured URL DOM."];
88
88
  }, {
89
89
  readonly heading: "Whole-site polish";
90
- readonly items: readonly ["--scope site captures 2–8 same-origin pages including the root, then runs capture, draft, pick, branch, convert, plan, and site. The accepted root is the visual system; each current non-root page is edited against it.", "Root and page conversions share one resilience policy: an unavailable responsive export never discards its LayerDoc or blocks that page plan, and the site kit records fixed-layout or LayerDoc-only delivery honestly.", "--pages caps free one-hop discovery including the root (default 5); repeat --page to supply explicit same-origin pages instead. --page-concurrency defaults to 3, and --reference-order defaults to current-first.", "The site roll-up writes site-plan/tokens.css, shared-shell.md, pages.md, and APPLY.md. It deduplicates tokens and shared shell changes so the implementation plan applies them once before per-page residue.", "Apply APPLY.md, then run `12ui improve <url> --scope site --out-dir <kit> --recheck`. It captures the root and every page once in one browser context, writes numbered recheck evidence, and replans only against kept targets without replaying settled stages. The command never applies code."];
90
+ readonly items: readonly ["--scope site captures 2–8 same-origin pages including the root, then runs capture, draft, pick, branch, convert, plan, and site. The accepted root is the visual system; each current non-root page is edited against it.", "Root and page conversions share one resilience policy: an unavailable responsive export never discards its LayerDoc or blocks that page plan, and the site kit records fixed-layout or LayerDoc-only delivery honestly.", "--pages caps free one-hop discovery including the root (default 5); repeat --page to supply explicit same-origin pages instead. --page-concurrency defaults to 3, and --reference-order defaults to current-first.", "The site roll-up writes site-plan/tokens.css, shared-shell.md, pages.md, and APPLY.md. It deduplicates tokens and shared shell changes so the implementation plan applies them once before per-page residue.", "Apply APPLY.md, then run `12ui improve <url> --scope site --out-dir <kit> --recheck`. It captures the root and every page once in one browser context, writes numbered recheck evidence, and replans only against kept targets without replaying settled stages. Without --apply, the command never applies code."];
91
91
  }, {
92
92
  readonly heading: "Planning";
93
- readonly items: readonly ["URL plans require at least 60% plausible DOM-side coverage; a blocked gate writes GATE.md while target HTML and LayerDoc remain authoritative sidecars.", "Image plans are target-only by default. --plan-source-convert buys one source LayerDoc conversion for an unanchored LayerDoc comparison.", "--repo adds evidence-ranked src/ TSX, JSX, and CSS file hints to a URL plan. The command never applies code.", "--dry-run prints exact catalog price ceilings for every stage and makes no network request."];
93
+ readonly items: readonly ["URL plans require at least 60% plausible DOM-side coverage; a blocked gate writes GATE.md while target HTML and LayerDoc remain authoritative sidecars.", "Image plans are target-only by default. --plan-source-convert buys one source LayerDoc conversion for an unanchored LayerDoc comparison.", "--repo adds evidence-ranked src/ TSX, JSX, and CSS file hints to a URL plan. Without --apply, the command never applies code.", "--dry-run prints exact catalog price ceilings for every stage and makes no network request."];
94
94
  }];
95
95
  };
96
96
  readonly next: {
97
97
  readonly summary: "Read durable status and report the one useful command to run next.";
98
98
  readonly sections: readonly [{
99
99
  readonly heading: "Behavior";
100
- readonly items: readonly ["Recognizes draft and branch directories, hosted run IDs, conversion IDs, and journal-backed workspaces.", "A bare read never starts, retries, or resumes work. Human status is the default; --json writes the machine record to stdout and suppresses the human progress stream.", "--wait repairs only recorded draft slots that are still pending, dispatching exactly those never-started slots before polling and downloading.", "--wait polls with heartbeats until terminal status. It has no hidden deadline; use --timeout-ms only for a deadline supplied by the user or request, never as an invented polling interval.", "Replaces the retired per-subsystem status commands."];
100
+ readonly items: readonly ["Recognizes local Codex conversion and project-apply runs, draft and branch directories, hosted run IDs, conversion IDs, and journal-backed workspaces.", "A bare read never starts, retries, or resumes work. Human status is the default; --json writes the machine record to stdout and suppresses the human progress stream.", "For local runs, --wait only observes recorded state; it never dispatches. For hosted drafts, --wait repairs only recorded draft slots that are still pending, dispatching exactly those never-started slots before polling and downloading.", "--wait polls with heartbeats until terminal status. It has no hidden deadline; use --timeout-ms only for a deadline supplied by the user or request, never as an invented polling interval.", "Replaces the retired per-subsystem status commands."];
101
101
  }];
102
102
  };
103
103
  readonly review: {
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0PW,CAAC"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4PW,CAAC"}
@@ -37,7 +37,7 @@ export const DESIGN_HELP = {
37
37
  heading: 'Safety',
38
38
  items: [
39
39
  'Reuses the saved request and idempotency key, preserves verified downloads, and fetches only what remains.',
40
- 'Completed attempts, changed reference inputs, and incompatible evidence are refused rather than redispatched.',
40
+ 'Completed attempts verify the saved files; missing files resume under the original paid identity. Changed reference inputs and incompatible evidence are refused.',
41
41
  ],
42
42
  }],
43
43
  },
@@ -50,6 +50,7 @@ export const DESIGN_HELP = {
50
50
  'Creates a resumable temporary run directory, prints it first, retrieves a corpus reference set, and claims one hosted /api/v1/create run.',
51
51
  '--candidates accepts 2–16 and defaults to four; prefer at least four distinct directions.',
52
52
  '--profile standard|pro selects the Draft profile. Standard is the default; the selected profile is recorded with the hosted run.',
53
+ 'Keep full image-generation instructions in --concept. Optionally pass --corpus-query "<short visual caption>" or --corpus-query @file: hedge retrieval accepts at most 400 UTF-16 characters after whitespace normalization. Describe the surface and intended layout, typography, imagery, and palette. Longer queries automatically use balanced retrieval with the full text and an explanation. The separate query is recorded and part of the run identity.',
53
54
  'The reference search runs hedge and needs no flag: one reference per candidate slot, spread across distinct directions while holding the concept. --corpus-mode direct|balanced|adventurer chooses another; those retrieve the wider twelve-reference slate and pair its first candidates. A search conditioned on your own image (--reference, --redesign-source) runs balanced instead: the corpus refuses a hedge query that carries an image. An explicit mode is its own run, so it searches again instead of resuming the default run in the same workspace.',
54
55
  'Every service dispatch request stays in the foreground. The command returns after no slot remains pending; generation stays server-side.',
55
56
  'Run `12ui next <run-dir> --wait` to poll, repair only recorded slots that never started, and download real PNGs into <run-dir>/candidates/.',
@@ -166,12 +167,13 @@ export const DESIGN_HELP = {
166
167
  ],
167
168
  },
168
169
  improve: {
169
- summary: 'Improve one live interface, site, or screenshot and produce a replayable implementation kit.',
170
+ summary: 'Improve an interface with local source edits or a hosted implementation kit.',
170
171
  sections: [
171
172
  {
172
173
  heading: 'Behavior',
173
174
  items: [
174
- 'Page scope runs five stages in order: local capture, hosted draft candidates, explicit pick, fused LayerDoc and responsive HTML conversion, then a local implementation plan.',
175
+ '--apply supports page scope only and capture/draft/pick source stages; branch/site/convert/plan options belong to hosted kits. --apply with a URL and --repo captures the current interface and edits the actual project locally. --target supplies an approved image; without a target, draft candidates and an explicit pick precede application. Omit --apply for the existing hosted kit workflow.',
176
+ 'Hosted page scope runs five stages in order: local capture, hosted draft candidates, explicit pick, fused LayerDoc and responsive HTML conversion, then a local implementation plan.',
175
177
  'The pick is explicit and has no default. With no --pick and no pick already recorded, the run stops after the draw, prints where the candidates are and the exact command that continues (--from pick --pick <slot>), and buys no conversion: converting a candidate nobody chose spends money on a guess that cannot be cancelled. --target supplies the design instead and skips draft and pick.',
176
178
  '--retain says what to hold from the live page, in the four-facet vocabulary: layout, content, assets, style. It defaults to assets,content — keep the product\'s brand and words, rework its layout and visual system. Add layout to hold the geometry, add style to work inside the existing visual language, drop assets to let the brand be replaced. The /improve page exposes the same four as Keep layout, Keep copy, Keep brand, and Keep style. At least one of the four must be left free to change: keeping all four asks for the page back unchanged and is refused before anything is bought.',
177
179
  'Whatever is retained, no setting licenses inventing a product fact: with content held the page says the same things; with content freed the words may be rewritten but every claim, number, offer, and control must still be present and true.',
@@ -199,7 +201,7 @@ export const DESIGN_HELP = {
199
201
  'Root and page conversions share one resilience policy: an unavailable responsive export never discards its LayerDoc or blocks that page plan, and the site kit records fixed-layout or LayerDoc-only delivery honestly.',
200
202
  '--pages caps free one-hop discovery including the root (default 5); repeat --page to supply explicit same-origin pages instead. --page-concurrency defaults to 3, and --reference-order defaults to current-first.',
201
203
  'The site roll-up writes site-plan/tokens.css, shared-shell.md, pages.md, and APPLY.md. It deduplicates tokens and shared shell changes so the implementation plan applies them once before per-page residue.',
202
- 'Apply APPLY.md, then run `12ui improve <url> --scope site --out-dir <kit> --recheck`. It captures the root and every page once in one browser context, writes numbered recheck evidence, and replans only against kept targets without replaying settled stages. The command never applies code.',
204
+ 'Apply APPLY.md, then run `12ui improve <url> --scope site --out-dir <kit> --recheck`. It captures the root and every page once in one browser context, writes numbered recheck evidence, and replans only against kept targets without replaying settled stages. Without --apply, the command never applies code.',
203
205
  ],
204
206
  },
205
207
  {
@@ -207,7 +209,7 @@ export const DESIGN_HELP = {
207
209
  items: [
208
210
  'URL plans require at least 60% plausible DOM-side coverage; a blocked gate writes GATE.md while target HTML and LayerDoc remain authoritative sidecars.',
209
211
  'Image plans are target-only by default. --plan-source-convert buys one source LayerDoc conversion for an unanchored LayerDoc comparison.',
210
- '--repo adds evidence-ranked src/ TSX, JSX, and CSS file hints to a URL plan. The command never applies code.',
212
+ '--repo adds evidence-ranked src/ TSX, JSX, and CSS file hints to a URL plan. Without --apply, the command never applies code.',
211
213
  '--dry-run prints exact catalog price ceilings for every stage and makes no network request.',
212
214
  ],
213
215
  },
@@ -218,9 +220,9 @@ export const DESIGN_HELP = {
218
220
  sections: [{
219
221
  heading: 'Behavior',
220
222
  items: [
221
- 'Recognizes draft and branch directories, hosted run IDs, conversion IDs, and journal-backed workspaces.',
223
+ 'Recognizes local Codex conversion and project-apply runs, draft and branch directories, hosted run IDs, conversion IDs, and journal-backed workspaces.',
222
224
  'A bare read never starts, retries, or resumes work. Human status is the default; --json writes the machine record to stdout and suppresses the human progress stream.',
223
- '--wait repairs only recorded draft slots that are still pending, dispatching exactly those never-started slots before polling and downloading.',
225
+ 'For local runs, --wait only observes recorded state; it never dispatches. For hosted drafts, --wait repairs only recorded draft slots that are still pending, dispatching exactly those never-started slots before polling and downloading.',
224
226
  '--wait polls with heartbeats until terminal status. It has no hidden deadline; use --timeout-ms only for a deadline supplied by the user or request, never as an invented polling interval.',
225
227
  'Replaces the retired per-subsystem status commands.',
226
228
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/cli-help/design.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export declare const CLI_HELP_CONTEXTS: {
36
36
  readonly summary: "Convert one visual file, or compose ordered viewport images into complete pages.";
37
37
  readonly sections: readonly [{
38
38
  readonly heading: "Single-file conversion";
39
- readonly items: readonly ["Accepts PNG, JPEG, WebP, public LayerDoc v2 JSON, or a finished conversion ID.", "Image input waits, streams progress, and downloads results. --output html writes both the LayerDoc and responsive HTML through the fused path.", "Conversion-id input requires --out-dir and derives comma-separated formats concurrently without another image conversion.", "Image inputs support --model and proportional --width. Responsive HTML supports --responsive-quality."];
39
+ readonly items: readonly ["Accepts PNG, JPEG, WebP, public LayerDoc v2 JSON, or a finished conversion ID.", "--engine auto|codex|api defaults to auto (TWELVE_UI_ENGINE overrides the default). Auto selects local Codex when available; hosted-specific options select API. Explicit codex refuses unsupported hosted options.", "Conversion-id input requires --out-dir and derives comma-separated formats concurrently without another image conversion.", "Local HTML is editable HTML/CSS and assets without LayerDoc. --image-backend external|native is independent of the engine. New runs choose external when OPENAI_API_KEY is nonblank, otherwise native. Explicit choices and saved runs remain fixed; explicit external requires the key before planner execution. --clean-assets accepts crop|enhance. API image inputs support --model and proportional --width; API responsive HTML supports --responsive-quality."];
40
40
  }, {
41
41
  readonly heading: "Package conversion";
42
42
  readonly items: readonly ["`12ui convert package` preserves ordered viewport slices and composes them into scrolling pages.", "`12ui convert package --template` prints a valid starter manifest without authentication or network access."];
@@ -52,11 +52,18 @@ export declare const CLI_HELP_CONTEXTS: {
52
52
  readonly items: readonly ["--template prints starter JSON to stdout and guidance to stderr, then exits before reading credentials or contacting the service."];
53
53
  }];
54
54
  };
55
+ readonly export: {
56
+ readonly summary: "Derive assets, browser renders, PDF, or whole-page React from local HTML.";
57
+ readonly sections: readonly [{
58
+ readonly heading: "Behavior";
59
+ readonly items: readonly ["Accepts a completed local run directory or an HTML output directory. Requires --output assets|png|jpg|webp|pdf|react and --out-dir.", "Raster and PDF exports require Chromium. React exports whole-page JSX, CSS, and assets, not a functional application or native LayerDoc."];
60
+ }];
61
+ };
55
62
  readonly resume: {
56
- readonly summary: "Recover every artifact in an original conversion purchase.";
63
+ readonly summary: "Resume a recorded local run or recover an original hosted conversion purchase.";
57
64
  readonly sections: readonly [{
58
65
  readonly heading: "Behavior";
59
- readonly items: readonly ["With only a conversion ID, restores the conversion and any linked fused export to their original filenames and directories.", "--out-dir keeps the original basenames but writes the recovered purchase into another directory.", "The optional --output plus --out power form collects one named operation from an older or externally-created purchase.", "Collects existing work only: it never retries, reconfigures, changes format, or creates a conversion."];
66
+ readonly items: readonly ["A local run directory uses its recorded engine and inputs; it never silently changes to API after failure. Local resume does not accept --out-dir, --timeout-ms, --output, --out, or hosted authentication flags.", "With only a conversion ID, restores the conversion and any linked fused export to their original filenames and directories.", "For hosted conversion IDs, --out-dir keeps the original basenames but writes the recovered purchase into another directory.", "For hosted conversion IDs, the optional --output plus --out power form collects one named operation from an older or externally-created purchase.", "Hosted recovery collects existing work only: it never retries, reconfigures, changes format, or creates a conversion."];
60
67
  }];
61
68
  };
62
69
  readonly corpus: {
@@ -80,14 +87,14 @@ export declare const CLI_HELP_CONTEXTS: {
80
87
  readonly summary: "Continue an incomplete corpus retrieval from its durable output directory.";
81
88
  readonly sections: readonly [{
82
89
  readonly heading: "Safety";
83
- readonly items: readonly ["Reuses the saved request and idempotency key, preserves verified downloads, and fetches only what remains.", "Completed attempts, changed reference inputs, and incompatible evidence are refused rather than redispatched."];
90
+ readonly items: readonly ["Reuses the saved request and idempotency key, preserves verified downloads, and fetches only what remains.", "Completed attempts verify the saved files; missing files resume under the original paid identity. Changed reference inputs and incompatible evidence are refused."];
84
91
  }];
85
92
  };
86
93
  readonly draft: {
87
94
  readonly summary: "Retrieve references and generate first-viewport UI candidates.";
88
95
  readonly sections: readonly [{
89
96
  readonly heading: "Behavior";
90
- readonly items: readonly ["Creates a resumable temporary run directory, prints it first, retrieves a corpus reference set, and claims one hosted /api/v1/create run.", "--candidates accepts 2–16 and defaults to four; prefer at least four distinct directions.", "--profile standard|pro selects the Draft profile. Standard is the default; the selected profile is recorded with the hosted run.", "The reference search runs hedge and needs no flag: one reference per candidate slot, spread across distinct directions while holding the concept. --corpus-mode direct|balanced|adventurer chooses another; those retrieve the wider twelve-reference slate and pair its first candidates. A search conditioned on your own image (--reference, --redesign-source) runs balanced instead: the corpus refuses a hedge query that carries an image. An explicit mode is its own run, so it searches again instead of resuming the default run in the same workspace.", "Every service dispatch request stays in the foreground. The command returns after no slot remains pending; generation stays server-side.", "Run `12ui next <run-dir> --wait` to poll, repair only recorded slots that never started, and download real PNGs into <run-dir>/candidates/.", "Defaults to landscape. Authentication is 12ui-only; no Codex session or caller-side image-provider key is read."];
97
+ readonly items: readonly ["Creates a resumable temporary run directory, prints it first, retrieves a corpus reference set, and claims one hosted /api/v1/create run.", "--candidates accepts 2–16 and defaults to four; prefer at least four distinct directions.", "--profile standard|pro selects the Draft profile. Standard is the default; the selected profile is recorded with the hosted run.", "Keep full image-generation instructions in --concept. Optionally pass --corpus-query \"<short visual caption>\" or --corpus-query @file: hedge retrieval accepts at most 400 UTF-16 characters after whitespace normalization. Describe the surface and intended layout, typography, imagery, and palette. Longer queries automatically use balanced retrieval with the full text and an explanation. The separate query is recorded and part of the run identity.", "The reference search runs hedge and needs no flag: one reference per candidate slot, spread across distinct directions while holding the concept. --corpus-mode direct|balanced|adventurer chooses another; those retrieve the wider twelve-reference slate and pair its first candidates. A search conditioned on your own image (--reference, --redesign-source) runs balanced instead: the corpus refuses a hedge query that carries an image. An explicit mode is its own run, so it searches again instead of resuming the default run in the same workspace.", "Every service dispatch request stays in the foreground. The command returns after no slot remains pending; generation stays server-side.", "Run `12ui next <run-dir> --wait` to poll, repair only recorded slots that never started, and download real PNGs into <run-dir>/candidates/.", "Defaults to landscape. Authentication is 12ui-only; no Codex session or caller-side image-provider key is read."];
91
98
  }, {
92
99
  readonly heading: "Redesign modes";
93
100
  readonly items: readonly ["Without --reference, creates a new interface and pairs one corpus reference with each candidate.", "--reference accepts a local path or HTTP(S) URL, conditions corpus retrieval, and sends those original bytes to every candidate.", "A reference retains style by default while excluding layout, content, and assets. --retain accepts comma-separated values; layout is the explicit structure-preserving opt-in.", "--retain-source says what the reference IS. inspiration (the default) is a design you like, so an exclusion is a prohibition: do not reuse its words or its logo. subject is your own page, so the same exclusion is a licence: its words may be rewritten, its brand may be replaced. `12ui improve` sends subject. Against a subject, at least one of layout, copy, brand, and style must be left free to change: keeping all four asks for the page back unchanged and is refused.", "--redesign-source remains an alias for local redesign workflows. --mode reskin is the layout-retain shorthand."];
@@ -141,23 +148,23 @@ export declare const CLI_HELP_CONTEXTS: {
141
148
  }];
142
149
  };
143
150
  readonly improve: {
144
- readonly summary: "Improve one live interface, site, or screenshot and produce a replayable implementation kit.";
151
+ readonly summary: "Improve an interface with local source edits or a hosted implementation kit.";
145
152
  readonly sections: readonly [{
146
153
  readonly heading: "Behavior";
147
- readonly items: readonly ["Page scope runs five stages in order: local capture, hosted draft candidates, explicit pick, fused LayerDoc and responsive HTML conversion, then a local implementation plan.", "The pick is explicit and has no default. With no --pick and no pick already recorded, the run stops after the draw, prints where the candidates are and the exact command that continues (--from pick --pick <slot>), and buys no conversion: converting a candidate nobody chose spends money on a guess that cannot be cancelled. --target supplies the design instead and skips draft and pick.", "--retain says what to hold from the live page, in the four-facet vocabulary: layout, content, assets, style. It defaults to assets,content — keep the product's brand and words, rework its layout and visual system. Add layout to hold the geometry, add style to work inside the existing visual language, drop assets to let the brand be replaced. The /improve page exposes the same four as Keep layout, Keep copy, Keep brand, and Keep style. At least one of the four must be left free to change: keeping all four asks for the page back unchanged and is refused before anything is bought.", "Whatever is retained, no setting licenses inventing a product fact: with content held the page says the same things; with content freed the words may be rewritten but every claim, number, offer, and control must still be present and true.", "The draft stage searches references under the same policy as `12ui draft`. Improve always conditions that search on its own capture of the page, and the corpus refuses a hedge query carrying an image, so it searches balanced; --corpus-mode direct|adventurer chooses another. The mode is recorded in improve.json when you name it, so a resume searches what the run searched. A resume must repeat the recorded mode or drop the flag: naming a different one is refused before anything is bought, because the references were bought under the recorded mode and a different mode is a different run — start it with a fresh --out-dir. A resume after the draft settled replays the references it already bought and buys nothing.", "URL input uses one Playwright context for repeated --bootstrap actions, screenshot capture, and selector-verified DOM extraction. Image input normalizes the source locally.", string, "The kit keeps every candidate, winner, target, plan, assets, and improve.json replay record. Repeating a settled stage reuses it; --from pick --pick <slot> invalidates only the old target and plan.", "--responsive-quality selects standard or pro responsive export. If that export fails, is absent, or reaches the improve deadline after LayerDoc materialization, improve continues to plan with a warning and derives fixed HTML free when possible.", "--convert-stall-seconds is a no-progress bound for every hosted convert wait, including the free fixed-layout derivation (default: 960s standard and pro, 300s fast; refused below one typical wall). A newly polled live stage or active lane resets it, so healthy tall work stays attached to its original purchase and no second conversion is dispatched. A true no-progress stall with no LayerDoc writes plan/STALL.md and exits non-zero with free re-attachment commands. With a LayerDoc, improve derives fixed HTML for the plan and plan/STALL.md gives the free resume command that later collects responsive winner.html without changing that plan basis. Stopping the wait does not stop the conversion: there is no cancel, so an open run keeps billing.", "--fresh re-buys ONE conversion of the same settled winner under a new idempotency key: it records the abandoned conversion identity and reuses capture, draft and pick untouched. --redraw is the one that buys new candidates — it discards draft, pick, convert and plan, moves the old draw to candidates.previous, records any conversion it drops, and runs the draft stage again; it is also the one path allowed to change --direction, --candidates or --retain against the record. A temporarily unavailable stage retries once after 30 seconds.", "--target brings your own design image or LayerDoc, skips draft and pick, converts an image when needed, and aligns the plan to the captured URL DOM."];
154
+ readonly items: readonly ["--apply supports page scope only and capture/draft/pick source stages; branch/site/convert/plan options belong to hosted kits. --apply with a URL and --repo captures the current interface and edits the actual project locally. --target supplies an approved image; without a target, draft candidates and an explicit pick precede application. Omit --apply for the existing hosted kit workflow.", "Hosted page scope runs five stages in order: local capture, hosted draft candidates, explicit pick, fused LayerDoc and responsive HTML conversion, then a local implementation plan.", "The pick is explicit and has no default. With no --pick and no pick already recorded, the run stops after the draw, prints where the candidates are and the exact command that continues (--from pick --pick <slot>), and buys no conversion: converting a candidate nobody chose spends money on a guess that cannot be cancelled. --target supplies the design instead and skips draft and pick.", "--retain says what to hold from the live page, in the four-facet vocabulary: layout, content, assets, style. It defaults to assets,content — keep the product's brand and words, rework its layout and visual system. Add layout to hold the geometry, add style to work inside the existing visual language, drop assets to let the brand be replaced. The /improve page exposes the same four as Keep layout, Keep copy, Keep brand, and Keep style. At least one of the four must be left free to change: keeping all four asks for the page back unchanged and is refused before anything is bought.", "Whatever is retained, no setting licenses inventing a product fact: with content held the page says the same things; with content freed the words may be rewritten but every claim, number, offer, and control must still be present and true.", "The draft stage searches references under the same policy as `12ui draft`. Improve always conditions that search on its own capture of the page, and the corpus refuses a hedge query carrying an image, so it searches balanced; --corpus-mode direct|adventurer chooses another. The mode is recorded in improve.json when you name it, so a resume searches what the run searched. A resume must repeat the recorded mode or drop the flag: naming a different one is refused before anything is bought, because the references were bought under the recorded mode and a different mode is a different run — start it with a fresh --out-dir. A resume after the draft settled replays the references it already bought and buys nothing.", "URL input uses one Playwright context for repeated --bootstrap actions, screenshot capture, and selector-verified DOM extraction. Image input normalizes the source locally.", string, "The kit keeps every candidate, winner, target, plan, assets, and improve.json replay record. Repeating a settled stage reuses it; --from pick --pick <slot> invalidates only the old target and plan.", "--responsive-quality selects standard or pro responsive export. If that export fails, is absent, or reaches the improve deadline after LayerDoc materialization, improve continues to plan with a warning and derives fixed HTML free when possible.", "--convert-stall-seconds is a no-progress bound for every hosted convert wait, including the free fixed-layout derivation (default: 960s standard and pro, 300s fast; refused below one typical wall). A newly polled live stage or active lane resets it, so healthy tall work stays attached to its original purchase and no second conversion is dispatched. A true no-progress stall with no LayerDoc writes plan/STALL.md and exits non-zero with free re-attachment commands. With a LayerDoc, improve derives fixed HTML for the plan and plan/STALL.md gives the free resume command that later collects responsive winner.html without changing that plan basis. Stopping the wait does not stop the conversion: there is no cancel, so an open run keeps billing.", "--fresh re-buys ONE conversion of the same settled winner under a new idempotency key: it records the abandoned conversion identity and reuses capture, draft and pick untouched. --redraw is the one that buys new candidates — it discards draft, pick, convert and plan, moves the old draw to candidates.previous, records any conversion it drops, and runs the draft stage again; it is also the one path allowed to change --direction, --candidates or --retain against the record. A temporarily unavailable stage retries once after 30 seconds.", "--target brings your own design image or LayerDoc, skips draft and pick, converts an image when needed, and aligns the plan to the captured URL DOM."];
148
155
  }, {
149
156
  readonly heading: "Whole-site polish";
150
- readonly items: readonly ["--scope site captures 2–8 same-origin pages including the root, then runs capture, draft, pick, branch, convert, plan, and site. The accepted root is the visual system; each current non-root page is edited against it.", "Root and page conversions share one resilience policy: an unavailable responsive export never discards its LayerDoc or blocks that page plan, and the site kit records fixed-layout or LayerDoc-only delivery honestly.", "--pages caps free one-hop discovery including the root (default 5); repeat --page to supply explicit same-origin pages instead. --page-concurrency defaults to 3, and --reference-order defaults to current-first.", "The site roll-up writes site-plan/tokens.css, shared-shell.md, pages.md, and APPLY.md. It deduplicates tokens and shared shell changes so the implementation plan applies them once before per-page residue.", "Apply APPLY.md, then run `12ui improve <url> --scope site --out-dir <kit> --recheck`. It captures the root and every page once in one browser context, writes numbered recheck evidence, and replans only against kept targets without replaying settled stages. The command never applies code."];
157
+ readonly items: readonly ["--scope site captures 2–8 same-origin pages including the root, then runs capture, draft, pick, branch, convert, plan, and site. The accepted root is the visual system; each current non-root page is edited against it.", "Root and page conversions share one resilience policy: an unavailable responsive export never discards its LayerDoc or blocks that page plan, and the site kit records fixed-layout or LayerDoc-only delivery honestly.", "--pages caps free one-hop discovery including the root (default 5); repeat --page to supply explicit same-origin pages instead. --page-concurrency defaults to 3, and --reference-order defaults to current-first.", "The site roll-up writes site-plan/tokens.css, shared-shell.md, pages.md, and APPLY.md. It deduplicates tokens and shared shell changes so the implementation plan applies them once before per-page residue.", "Apply APPLY.md, then run `12ui improve <url> --scope site --out-dir <kit> --recheck`. It captures the root and every page once in one browser context, writes numbered recheck evidence, and replans only against kept targets without replaying settled stages. Without --apply, the command never applies code."];
151
158
  }, {
152
159
  readonly heading: "Planning";
153
- readonly items: readonly ["URL plans require at least 60% plausible DOM-side coverage; a blocked gate writes GATE.md while target HTML and LayerDoc remain authoritative sidecars.", "Image plans are target-only by default. --plan-source-convert buys one source LayerDoc conversion for an unanchored LayerDoc comparison.", "--repo adds evidence-ranked src/ TSX, JSX, and CSS file hints to a URL plan. The command never applies code.", "--dry-run prints exact catalog price ceilings for every stage and makes no network request."];
160
+ readonly items: readonly ["URL plans require at least 60% plausible DOM-side coverage; a blocked gate writes GATE.md while target HTML and LayerDoc remain authoritative sidecars.", "Image plans are target-only by default. --plan-source-convert buys one source LayerDoc conversion for an unanchored LayerDoc comparison.", "--repo adds evidence-ranked src/ TSX, JSX, and CSS file hints to a URL plan. Without --apply, the command never applies code.", "--dry-run prints exact catalog price ceilings for every stage and makes no network request."];
154
161
  }];
155
162
  };
156
163
  readonly next: {
157
164
  readonly summary: "Read durable status and report the one useful command to run next.";
158
165
  readonly sections: readonly [{
159
166
  readonly heading: "Behavior";
160
- readonly items: readonly ["Recognizes draft and branch directories, hosted run IDs, conversion IDs, and journal-backed workspaces.", "A bare read never starts, retries, or resumes work. Human status is the default; --json writes the machine record to stdout and suppresses the human progress stream.", "--wait repairs only recorded draft slots that are still pending, dispatching exactly those never-started slots before polling and downloading.", "--wait polls with heartbeats until terminal status. It has no hidden deadline; use --timeout-ms only for a deadline supplied by the user or request, never as an invented polling interval.", "Replaces the retired per-subsystem status commands."];
167
+ readonly items: readonly ["Recognizes local Codex conversion and project-apply runs, draft and branch directories, hosted run IDs, conversion IDs, and journal-backed workspaces.", "A bare read never starts, retries, or resumes work. Human status is the default; --json writes the machine record to stdout and suppresses the human progress stream.", "For local runs, --wait only observes recorded state; it never dispatches. For hosted drafts, --wait repairs only recorded draft slots that are still pending, dispatching exactly those never-started slots before polling and downloading.", "--wait polls with heartbeats until terminal status. It has no hidden deadline; use --timeout-ms only for a deadline supplied by the user or request, never as an invented polling interval.", "Replaces the retired per-subsystem status commands."];
161
168
  }];
162
169
  };
163
170
  readonly review: {
@@ -233,7 +240,7 @@ export declare const CLI_HELP_CONTEXTS: {
233
240
  readonly summary: "Manage the bundled design skill for supported coding agents.";
234
241
  readonly sections: readonly [{
235
242
  readonly heading: "Actions";
236
- readonly items: readonly ["install — install the skill and ensure the CLI and authentication are ready.", "status — inspect skill, enablement, and credential-file state.", "print — write the bundled SKILL.md to stdout.", "remove — remove the skill while retaining the CLI and credentials."];
243
+ readonly items: readonly ["install — install the shared skill and ensure the CLI is ready.", "status — inspect skill, enablement, and credential-file state.", "print — write the bundled SKILL.md to stdout.", "remove — remove the skill while retaining the CLI and credentials."];
237
244
  }, {
238
245
  readonly heading: "Targets";
239
246
  readonly items: readonly ["Without --client, every detected Codex, Claude Code, Grok, Cursor, Antigravity, and Copilot installation is targeted.", "--home selects a custom client home and therefore requires --client."];
@@ -243,7 +250,7 @@ export declare const CLI_HELP_CONTEXTS: {
243
250
  readonly summary: "Install the bundled design skill into selected or detected coding-agent clients.";
244
251
  readonly sections: readonly [{
245
252
  readonly heading: "What it does";
246
- readonly items: readonly ["Installs the skill transactionally, pins the CLI, enables Codex installations, and authenticates required scopes.", "--skip-auth leaves authentication untouched. --force replaces a conflicting unrecognized or locally modified skill."];
253
+ readonly items: readonly ["Installs the shared skill transactionally, pins the CLI, and enables Codex installations. Authentication is unchanged by default.", "Explicit --api-key, --key-name, or --login-origin requests authentication setup; these conflict with --skip-auth. --force replaces a conflicting unrecognized or locally modified skill."];
247
254
  }];
248
255
  };
249
256
  readonly 'skill status': {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli-help/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKK,CAAC;AAIpC,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,MAAM,EAAE,KAAG,SAAS,MAAM,EAUzE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,MAAM,EAAE,KACzB,cAAc,GAAG,SAenB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli-help/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKK,CAAC;AAIpC,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,MAAM,EAAE,KAAG,SAAS,MAAM,EAUzE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,MAAM,EAAE,KACzB,cAAc,GAAG,SAenB,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -62,7 +62,7 @@ export declare const SETUP_HELP: {
62
62
  readonly summary: "Manage the bundled design skill for supported coding agents.";
63
63
  readonly sections: readonly [{
64
64
  readonly heading: "Actions";
65
- readonly items: readonly ["install — install the skill and ensure the CLI and authentication are ready.", "status — inspect skill, enablement, and credential-file state.", "print — write the bundled SKILL.md to stdout.", "remove — remove the skill while retaining the CLI and credentials."];
65
+ readonly items: readonly ["install — install the shared skill and ensure the CLI is ready.", "status — inspect skill, enablement, and credential-file state.", "print — write the bundled SKILL.md to stdout.", "remove — remove the skill while retaining the CLI and credentials."];
66
66
  }, {
67
67
  readonly heading: "Targets";
68
68
  readonly items: readonly ["Without --client, every detected Codex, Claude Code, Grok, Cursor, Antigravity, and Copilot installation is targeted.", "--home selects a custom client home and therefore requires --client."];
@@ -72,7 +72,7 @@ export declare const SETUP_HELP: {
72
72
  readonly summary: "Install the bundled design skill into selected or detected coding-agent clients.";
73
73
  readonly sections: readonly [{
74
74
  readonly heading: "What it does";
75
- readonly items: readonly ["Installs the skill transactionally, pins the CLI, enables Codex installations, and authenticates required scopes.", "--skip-auth leaves authentication untouched. --force replaces a conflicting unrecognized or locally modified skill."];
75
+ readonly items: readonly ["Installs the shared skill transactionally, pins the CLI, and enables Codex installations. Authentication is unchanged by default.", "Explicit --api-key, --key-name, or --login-origin requests authentication setup; these conflict with --skip-auth. --force replaces a conflicting unrecognized or locally modified skill."];
76
76
  }];
77
77
  };
78
78
  readonly 'skill status': {
@@ -97,7 +97,7 @@ export const SETUP_HELP = {
97
97
  {
98
98
  heading: 'Actions',
99
99
  items: [
100
- 'install — install the skill and ensure the CLI and authentication are ready.',
100
+ 'install — install the shared skill and ensure the CLI is ready.',
101
101
  'status — inspect skill, enablement, and credential-file state.',
102
102
  'print — write the bundled SKILL.md to stdout.',
103
103
  'remove — remove the skill while retaining the CLI and credentials.',
@@ -117,8 +117,8 @@ export const SETUP_HELP = {
117
117
  sections: [{
118
118
  heading: 'What it does',
119
119
  items: [
120
- 'Installs the skill transactionally, pins the CLI, enables Codex installations, and authenticates required scopes.',
121
- '--skip-auth leaves authentication untouched. --force replaces a conflicting unrecognized or locally modified skill.',
120
+ 'Installs the shared skill transactionally, pins the CLI, and enables Codex installations. Authentication is unchanged by default.',
121
+ 'Explicit --api-key, --key-name, or --login-origin requests authentication setup; these conflict with --skip-auth. --force replaces a conflicting unrecognized or locally modified skill.',
122
122
  ],
123
123
  }],
124
124
  },
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli-help/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli-help/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Resolve the image backend once, before a new conversion can spend planner usage. */
2
+ export declare function selectInitialImageBackend(requested?: string, environment?: NodeJS.ProcessEnv): 'external' | 'native';
3
+ //# sourceMappingURL=cli-image-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-image-backend.d.ts","sourceRoot":"","sources":["../src/cli-image-backend.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wBAAgB,yBAAyB,CACvC,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,UAAU,GAAG,QAAQ,CASvB"}
@@ -0,0 +1,12 @@
1
+ /** Resolve the image backend once, before a new conversion can spend planner usage. */
2
+ export function selectInitialImageBackend(requested, environment = process.env) {
3
+ if (requested !== undefined && requested !== 'external' && requested !== 'native') {
4
+ throw new Error('--image-backend must be external or native');
5
+ }
6
+ const hasExternalKey = Boolean(environment.OPENAI_API_KEY?.trim());
7
+ if (requested === 'external' && !hasExternalKey) {
8
+ throw new Error('External image execution requires OPENAI_API_KEY. Set that key or select --image-backend native before starting this conversion. No planner call was started.');
9
+ }
10
+ return requested ?? (hasExternalKey ? 'external' : 'native');
11
+ }
12
+ //# sourceMappingURL=cli-image-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-image-backend.js","sourceRoot":"","sources":["../src/cli-image-backend.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CACvC,SAAkB,EAClB,cAAiC,OAAO,CAAC,GAAG;IAE5C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,+JAA+J,CAAC,CAAC;IACnL,CAAC;IACD,OAAO,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type CliFlags } from './cli-arguments.js';
2
+ import type { EngineSelection } from './cli-engine.js';
3
+ import { launchLocalRuntime } from './cli-local-runtime.js';
4
+ import { type LocalConversionReceipt } from './cli-conversion-receipt.js';
5
+ type Input = {
6
+ source: string;
7
+ runDir: string;
8
+ flags: CliFlags;
9
+ selection: EngineSelection;
10
+ };
11
+ type Dependencies = {
12
+ launch?: typeof launchLocalRuntime;
13
+ };
14
+ export declare function runLocalConversion(input: Input, dependencies?: Dependencies): Promise<LocalConversionReceipt>;
15
+ export declare function resumeLocalConversion(runDir: string, flags: CliFlags, selection: EngineSelection, dependencies?: Dependencies): Promise<LocalConversionReceipt | undefined>;
16
+ export {};
17
+ //# sourceMappingURL=cli-local-conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-local-conversion.d.ts","sourceRoot":"","sources":["../src/cli-local-conversion.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAA4E,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAIpJ,KAAK,KAAK,GAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,QAAQ,CAAC;IAAA,SAAS,EAAC,eAAe,CAAA;CAAC,CAAC;AAClF,KAAK,YAAY,GAAC;IAAC,MAAM,CAAC,EAAC,OAAO,kBAAkB,CAAA;CAAC,CAAC;AAuBtD,wBAAsB,kBAAkB,CAAC,KAAK,EAAC,KAAK,EAAC,YAAY,GAAC,YAAe,GAAE,OAAO,CAAC,sBAAsB,CAAC,CAKjH;AACD,wBAAsB,qBAAqB,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,eAAe,EAAC,YAAY,GAAC,YAAe,GAAE,OAAO,CAAC,sBAAsB,GAAC,SAAS,CAAC,CAazK"}