@12ui/design 0.2.56 → 0.2.58

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 (429) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/artifact-materializer.d.ts.map +1 -1
  3. package/dist/artifact-materializer.js +4 -1
  4. package/dist/artifact-materializer.js.map +1 -1
  5. package/dist/branch-client.d.ts +86 -2
  6. package/dist/branch-client.d.ts.map +1 -1
  7. package/dist/branch-client.js +31 -0
  8. package/dist/branch-client.js.map +1 -1
  9. package/dist/cli-arguments.d.ts.map +1 -1
  10. package/dist/cli-arguments.js +3 -1
  11. package/dist/cli-arguments.js.map +1 -1
  12. package/dist/cli-capabilities.d.ts +1 -1
  13. package/dist/cli-conversion-derivation.js +2 -2
  14. package/dist/cli-conversion-derivation.js.map +1 -1
  15. package/dist/cli-convert-command.d.ts +2 -0
  16. package/dist/cli-convert-command.d.ts.map +1 -1
  17. package/dist/cli-convert-command.js +176 -38
  18. package/dist/cli-convert-command.js.map +1 -1
  19. package/dist/cli-corpus-command.js +2 -2
  20. package/dist/cli-corpus-command.js.map +1 -1
  21. package/dist/cli-corpus-evidence.d.ts.map +1 -1
  22. package/dist/cli-corpus-evidence.js +2 -1
  23. package/dist/cli-corpus-evidence.js.map +1 -1
  24. package/dist/cli-corpus-reference-downloads.d.ts +1 -0
  25. package/dist/cli-corpus-reference-downloads.d.ts.map +1 -1
  26. package/dist/cli-corpus-reference-downloads.js +13 -3
  27. package/dist/cli-corpus-reference-downloads.js.map +1 -1
  28. package/dist/cli-corpus-types.d.ts +2 -0
  29. package/dist/cli-corpus-types.d.ts.map +1 -1
  30. package/dist/cli-draft-command.d.ts +9 -0
  31. package/dist/cli-draft-command.d.ts.map +1 -1
  32. package/dist/cli-draft-command.js +26 -1
  33. package/dist/cli-draft-command.js.map +1 -1
  34. package/dist/cli-help/design.d.ts +7 -4
  35. package/dist/cli-help/design.d.ts.map +1 -1
  36. package/dist/cli-help/design.js +23 -6
  37. package/dist/cli-help/design.js.map +1 -1
  38. package/dist/cli-help/index.d.ts +9 -6
  39. package/dist/cli-help/index.d.ts.map +1 -1
  40. package/dist/cli-help/meta.d.ts +2 -2
  41. package/dist/cli-help/meta.d.ts.map +1 -1
  42. package/dist/cli-help/meta.js +4 -1
  43. package/dist/cli-help/meta.js.map +1 -1
  44. package/dist/cli-improve-command.d.ts.map +1 -1
  45. package/dist/cli-improve-command.js +273 -28
  46. package/dist/cli-improve-command.js.map +1 -1
  47. package/dist/cli-redesign-command.d.ts.map +1 -1
  48. package/dist/cli-redesign-command.js +97 -24
  49. package/dist/cli-redesign-command.js.map +1 -1
  50. package/dist/cli-run.d.ts.map +1 -1
  51. package/dist/cli-run.js +13 -3
  52. package/dist/cli-run.js.map +1 -1
  53. package/dist/cli-spend-command.d.ts +12 -1
  54. package/dist/cli-spend-command.d.ts.map +1 -1
  55. package/dist/cli-spend-command.js +94 -2
  56. package/dist/cli-spend-command.js.map +1 -1
  57. package/dist/cli-usage.js +5 -5
  58. package/dist/cli-usage.js.map +1 -1
  59. package/dist/concept-input.d.ts +6 -56
  60. package/dist/concept-input.d.ts.map +1 -1
  61. package/dist/concept-input.js +6 -65
  62. package/dist/concept-input.js.map +1 -1
  63. package/dist/conversion-client.d.ts +92 -3
  64. package/dist/conversion-client.d.ts.map +1 -1
  65. package/dist/conversion-client.js +317 -23
  66. package/dist/conversion-client.js.map +1 -1
  67. package/dist/corpus-client.d.ts +7 -1
  68. package/dist/corpus-client.d.ts.map +1 -1
  69. package/dist/corpus-client.js +3 -2
  70. package/dist/corpus-client.js.map +1 -1
  71. package/dist/corpus-reference-download-retry.d.ts +68 -0
  72. package/dist/corpus-reference-download-retry.d.ts.map +1 -0
  73. package/dist/corpus-reference-download-retry.js +123 -0
  74. package/dist/corpus-reference-download-retry.js.map +1 -0
  75. package/dist/corpus-request-error.d.ts +17 -0
  76. package/dist/corpus-request-error.d.ts.map +1 -0
  77. package/dist/corpus-request-error.js +21 -0
  78. package/dist/corpus-request-error.js.map +1 -0
  79. package/dist/draft-run.d.ts +15 -0
  80. package/dist/draft-run.d.ts.map +1 -1
  81. package/dist/draft-run.js +32 -5
  82. package/dist/draft-run.js.map +1 -1
  83. package/dist/draft-workspace.d.ts +2 -1
  84. package/dist/draft-workspace.d.ts.map +1 -1
  85. package/dist/draft-workspace.js.map +1 -1
  86. package/dist/hosted-draft-identity.d.ts +9 -0
  87. package/dist/hosted-draft-identity.d.ts.map +1 -1
  88. package/dist/hosted-draft-identity.js +2 -0
  89. package/dist/hosted-draft-identity.js.map +1 -1
  90. package/dist/improve-added-specs.d.ts +12 -31
  91. package/dist/improve-added-specs.d.ts.map +1 -1
  92. package/dist/improve-added-specs.js +64 -152
  93. package/dist/improve-added-specs.js.map +1 -1
  94. package/dist/improve-artifact-writer.d.ts +13 -0
  95. package/dist/improve-artifact-writer.d.ts.map +1 -0
  96. package/dist/improve-artifact-writer.js +27 -0
  97. package/dist/improve-artifact-writer.js.map +1 -0
  98. package/dist/improve-bootstrap-history.d.ts +21 -0
  99. package/dist/improve-bootstrap-history.d.ts.map +1 -0
  100. package/dist/improve-bootstrap-history.js +43 -0
  101. package/dist/improve-bootstrap-history.js.map +1 -0
  102. package/dist/improve-bootstrap-secret.d.ts +35 -0
  103. package/dist/improve-bootstrap-secret.d.ts.map +1 -0
  104. package/dist/improve-bootstrap-secret.js +61 -0
  105. package/dist/improve-bootstrap-secret.js.map +1 -0
  106. package/dist/improve-branch-stage.d.ts +10 -0
  107. package/dist/improve-branch-stage.d.ts.map +1 -0
  108. package/dist/improve-branch-stage.js +325 -0
  109. package/dist/improve-branch-stage.js.map +1 -0
  110. package/dist/improve-capture-redirect.d.ts +65 -0
  111. package/dist/improve-capture-redirect.d.ts.map +1 -0
  112. package/dist/improve-capture-redirect.js +85 -0
  113. package/dist/improve-capture-redirect.js.map +1 -0
  114. package/dist/improve-capture-words.d.ts +43 -0
  115. package/dist/improve-capture-words.d.ts.map +1 -0
  116. package/dist/improve-capture-words.js +25 -0
  117. package/dist/improve-capture-words.js.map +1 -0
  118. package/dist/improve-concept.d.ts +6 -7
  119. package/dist/improve-concept.d.ts.map +1 -1
  120. package/dist/improve-concept.js +12 -38
  121. package/dist/improve-concept.js.map +1 -1
  122. package/dist/improve-conversion-attempts.d.ts +21 -9
  123. package/dist/improve-conversion-attempts.d.ts.map +1 -1
  124. package/dist/improve-conversion-attempts.js +6 -1
  125. package/dist/improve-conversion-attempts.js.map +1 -1
  126. package/dist/improve-conversion-stage.d.ts +20 -2
  127. package/dist/improve-conversion-stage.d.ts.map +1 -1
  128. package/dist/improve-conversion-stage.js +386 -178
  129. package/dist/improve-conversion-stage.js.map +1 -1
  130. package/dist/improve-convert-progress.d.ts +44 -0
  131. package/dist/improve-convert-progress.d.ts.map +1 -0
  132. package/dist/improve-convert-progress.js +47 -0
  133. package/dist/improve-convert-progress.js.map +1 -0
  134. package/dist/improve-convert-resilience.d.ts +96 -58
  135. package/dist/improve-convert-resilience.d.ts.map +1 -1
  136. package/dist/improve-convert-resilience.js +128 -72
  137. package/dist/improve-convert-resilience.js.map +1 -1
  138. package/dist/improve-core/concept-input.d.ts +80 -0
  139. package/dist/improve-core/concept-input.d.ts.map +1 -0
  140. package/dist/improve-core/concept-input.js +92 -0
  141. package/dist/improve-core/concept-input.js.map +1 -0
  142. package/dist/improve-core/improve-added-specs.d.ts +62 -0
  143. package/dist/improve-core/improve-added-specs.d.ts.map +1 -0
  144. package/dist/improve-core/improve-added-specs.js +160 -0
  145. package/dist/improve-core/improve-added-specs.js.map +1 -0
  146. package/dist/improve-core/improve-artifacts.d.ts +18 -0
  147. package/dist/improve-core/improve-artifacts.d.ts.map +1 -0
  148. package/dist/improve-core/improve-artifacts.js +4 -0
  149. package/dist/improve-core/improve-artifacts.js.map +1 -0
  150. package/dist/improve-core/improve-concept.d.ts +7 -0
  151. package/dist/improve-core/improve-concept.d.ts.map +1 -0
  152. package/dist/improve-core/improve-concept.js +185 -0
  153. package/dist/improve-core/improve-concept.js.map +1 -0
  154. package/dist/improve-core/improve-discovery.d.ts +84 -0
  155. package/dist/improve-core/improve-discovery.d.ts.map +1 -0
  156. package/dist/improve-core/improve-discovery.js +154 -0
  157. package/dist/improve-core/improve-discovery.js.map +1 -0
  158. package/dist/improve-core/improve-dom-anchor.d.ts.map +1 -0
  159. package/dist/{improve-dom-anchor.js → improve-core/improve-dom-anchor.js} +2 -0
  160. package/dist/improve-core/improve-dom-anchor.js.map +1 -0
  161. package/dist/improve-core/improve-dom-diff.d.ts +59 -0
  162. package/dist/improve-core/improve-dom-diff.d.ts.map +1 -0
  163. package/dist/improve-core/improve-dom-diff.js +151 -0
  164. package/dist/improve-core/improve-dom-diff.js.map +1 -0
  165. package/dist/improve-core/improve-dom-extract.d.ts.map +1 -0
  166. package/dist/{improve-dom-extract.js → improve-core/improve-dom-extract.js} +2 -0
  167. package/dist/improve-core/improve-dom-extract.js.map +1 -0
  168. package/dist/improve-core/improve-dom-gate.d.ts +49 -0
  169. package/dist/improve-core/improve-dom-gate.d.ts.map +1 -0
  170. package/dist/improve-core/improve-dom-gate.js +99 -0
  171. package/dist/improve-core/improve-dom-gate.js.map +1 -0
  172. package/dist/improve-core/improve-dom-neighbour.d.ts.map +1 -0
  173. package/dist/{improve-dom-neighbour.js → improve-core/improve-dom-neighbour.js} +2 -0
  174. package/dist/improve-core/improve-dom-neighbour.js.map +1 -0
  175. package/dist/improve-core/improve-dom-scale.d.ts.map +1 -0
  176. package/dist/{improve-dom-scale.js → improve-core/improve-dom-scale.js} +2 -0
  177. package/dist/improve-core/improve-dom-scale.js.map +1 -0
  178. package/dist/improve-core/improve-icon-svg.d.ts +29 -0
  179. package/dist/improve-core/improve-icon-svg.d.ts.map +1 -0
  180. package/dist/improve-core/improve-icon-svg.js +85 -0
  181. package/dist/improve-core/improve-icon-svg.js.map +1 -0
  182. package/dist/improve-core/improve-kit-asset-model.d.ts +177 -0
  183. package/dist/improve-core/improve-kit-asset-model.d.ts.map +1 -0
  184. package/dist/improve-core/improve-kit-asset-model.js +269 -0
  185. package/dist/improve-core/improve-kit-asset-model.js.map +1 -0
  186. package/dist/improve-core/improve-layerdoc-diff.d.ts.map +1 -0
  187. package/dist/{improve-layerdoc-diff.js → improve-core/improve-layerdoc-diff.js} +2 -0
  188. package/dist/improve-core/improve-layerdoc-diff.js.map +1 -0
  189. package/dist/{improve-layerdoc-types.d.ts → improve-core/improve-layerdoc-types.d.ts} +9 -0
  190. package/dist/improve-core/improve-layerdoc-types.d.ts.map +1 -0
  191. package/dist/improve-core/improve-layerdoc-types.js +4 -0
  192. package/dist/improve-core/improve-layerdoc-types.js.map +1 -0
  193. package/dist/improve-core/improve-page-words.d.ts +180 -0
  194. package/dist/improve-core/improve-page-words.d.ts.map +1 -0
  195. package/dist/improve-core/improve-page-words.js +303 -0
  196. package/dist/improve-core/improve-page-words.js.map +1 -0
  197. package/dist/{improve-plan-annotated-render.d.ts → improve-core/improve-plan-annotated-render.d.ts} +19 -2
  198. package/dist/improve-core/improve-plan-annotated-render.d.ts.map +1 -0
  199. package/dist/{improve-plan-annotated-render.js → improve-core/improve-plan-annotated-render.js} +77 -28
  200. package/dist/improve-core/improve-plan-annotated-render.js.map +1 -0
  201. package/dist/improve-core/improve-plan-annotator.d.ts +34 -0
  202. package/dist/improve-core/improve-plan-annotator.d.ts.map +1 -0
  203. package/dist/improve-core/improve-plan-annotator.js +52 -0
  204. package/dist/improve-core/improve-plan-annotator.js.map +1 -0
  205. package/dist/{improve-plan-render.d.ts → improve-core/improve-plan-render.d.ts} +2 -1
  206. package/dist/improve-core/improve-plan-render.d.ts.map +1 -0
  207. package/dist/{improve-plan-render.js → improve-core/improve-plan-render.js} +7 -1
  208. package/dist/improve-core/improve-plan-render.js.map +1 -0
  209. package/dist/improve-core/improve-plan-vector-keep.d.ts +29 -0
  210. package/dist/improve-core/improve-plan-vector-keep.d.ts.map +1 -0
  211. package/dist/improve-core/improve-plan-vector-keep.js +68 -0
  212. package/dist/improve-core/improve-plan-vector-keep.js.map +1 -0
  213. package/dist/{improve-raster-layers-section.d.ts → improve-core/improve-raster-layers-section.d.ts} +9 -1
  214. package/dist/improve-core/improve-raster-layers-section.d.ts.map +1 -0
  215. package/dist/{improve-raster-layers-section.js → improve-core/improve-raster-layers-section.js} +5 -2
  216. package/dist/improve-core/improve-raster-layers-section.js.map +1 -0
  217. package/dist/improve-core/improve-refusal.d.ts +6 -0
  218. package/dist/improve-core/improve-refusal.d.ts.map +1 -0
  219. package/dist/improve-core/improve-refusal.js +27 -0
  220. package/dist/improve-core/improve-refusal.js.map +1 -0
  221. package/dist/improve-core/improve-retain.d.ts +121 -0
  222. package/dist/improve-core/improve-retain.d.ts.map +1 -0
  223. package/dist/improve-core/improve-retain.js +115 -0
  224. package/dist/improve-core/improve-retain.js.map +1 -0
  225. package/dist/improve-core/improve-site-plan.d.ts +75 -0
  226. package/dist/improve-core/improve-site-plan.d.ts.map +1 -0
  227. package/dist/improve-core/improve-site-plan.js +135 -0
  228. package/dist/improve-core/improve-site-plan.js.map +1 -0
  229. package/dist/improve-core/improve-site-shell.d.ts +56 -0
  230. package/dist/improve-core/improve-site-shell.d.ts.map +1 -0
  231. package/dist/improve-core/improve-site-shell.js +152 -0
  232. package/dist/improve-core/improve-site-shell.js.map +1 -0
  233. package/dist/improve-core/improve-site-tokens.d.ts +44 -0
  234. package/dist/improve-core/improve-site-tokens.d.ts.map +1 -0
  235. package/dist/improve-core/improve-site-tokens.js +87 -0
  236. package/dist/improve-core/improve-site-tokens.js.map +1 -0
  237. package/dist/improve-core/improve-source-hints.d.ts +25 -0
  238. package/dist/improve-core/improve-source-hints.d.ts.map +1 -0
  239. package/dist/improve-core/improve-source-hints.js +17 -0
  240. package/dist/improve-core/improve-source-hints.js.map +1 -0
  241. package/dist/{improve-token-patch.d.ts → improve-core/improve-token-patch.d.ts} +2 -0
  242. package/dist/improve-core/improve-token-patch.d.ts.map +1 -0
  243. package/dist/{improve-token-patch.js → improve-core/improve-token-patch.js} +25 -5
  244. package/dist/improve-core/improve-token-patch.js.map +1 -0
  245. package/dist/improve-core/index.d.ts +47 -0
  246. package/dist/improve-core/index.d.ts.map +1 -0
  247. package/dist/improve-core/index.js +49 -0
  248. package/dist/improve-core/index.js.map +1 -0
  249. package/dist/improve-delivery-stages.d.ts +6 -0
  250. package/dist/improve-delivery-stages.d.ts.map +1 -1
  251. package/dist/improve-delivery-stages.js +91 -6
  252. package/dist/improve-delivery-stages.js.map +1 -1
  253. package/dist/improve-dom-diff.d.ts +8 -24
  254. package/dist/improve-dom-diff.d.ts.map +1 -1
  255. package/dist/improve-dom-diff.js +23 -123
  256. package/dist/improve-dom-diff.js.map +1 -1
  257. package/dist/improve-dom-gate.d.ts +1 -18
  258. package/dist/improve-dom-gate.d.ts.map +1 -1
  259. package/dist/improve-dom-gate.js +1 -46
  260. package/dist/improve-dom-gate.js.map +1 -1
  261. package/dist/improve-generation-stages.d.ts +0 -2
  262. package/dist/improve-generation-stages.d.ts.map +1 -1
  263. package/dist/improve-generation-stages.js +191 -15
  264. package/dist/improve-generation-stages.js.map +1 -1
  265. package/dist/improve-kit-assets.d.ts +8 -116
  266. package/dist/improve-kit-assets.d.ts.map +1 -1
  267. package/dist/improve-kit-assets.js +9 -229
  268. package/dist/improve-kit-assets.js.map +1 -1
  269. package/dist/improve-kit-ignore.d.ts +32 -0
  270. package/dist/improve-kit-ignore.d.ts.map +1 -0
  271. package/dist/improve-kit-ignore.js +111 -0
  272. package/dist/improve-kit-ignore.js.map +1 -0
  273. package/dist/improve-kit-readme.d.ts +4 -0
  274. package/dist/improve-kit-readme.d.ts.map +1 -1
  275. package/dist/improve-kit-readme.js +155 -24
  276. package/dist/improve-kit-readme.js.map +1 -1
  277. package/dist/improve-kit-stall.d.ts +51 -3
  278. package/dist/improve-kit-stall.d.ts.map +1 -1
  279. package/dist/improve-kit-stall.js +205 -21
  280. package/dist/improve-kit-stall.js.map +1 -1
  281. package/dist/improve-kit-status.d.ts +36 -0
  282. package/dist/improve-kit-status.d.ts.map +1 -1
  283. package/dist/improve-kit-status.js +82 -7
  284. package/dist/improve-kit-status.js.map +1 -1
  285. package/dist/improve-options.d.ts +14 -0
  286. package/dist/improve-options.d.ts.map +1 -1
  287. package/dist/improve-options.js +95 -12
  288. package/dist/improve-options.js.map +1 -1
  289. package/dist/improve-passthrough-flags.d.ts +8 -0
  290. package/dist/improve-passthrough-flags.d.ts.map +1 -0
  291. package/dist/improve-passthrough-flags.js +11 -0
  292. package/dist/improve-passthrough-flags.js.map +1 -0
  293. package/dist/improve-plan-annotator.d.ts +13 -2
  294. package/dist/improve-plan-annotator.d.ts.map +1 -1
  295. package/dist/improve-plan-annotator.js +35 -37
  296. package/dist/improve-plan-annotator.js.map +1 -1
  297. package/dist/improve-pricing-plan.d.ts +3 -0
  298. package/dist/improve-pricing-plan.d.ts.map +1 -1
  299. package/dist/improve-pricing-plan.js +33 -5
  300. package/dist/improve-pricing-plan.js.map +1 -1
  301. package/dist/improve-recheck.d.ts +9 -0
  302. package/dist/improve-recheck.d.ts.map +1 -0
  303. package/dist/improve-recheck.js +200 -0
  304. package/dist/improve-recheck.js.map +1 -0
  305. package/dist/improve-reset.d.ts.map +1 -1
  306. package/dist/improve-reset.js +11 -0
  307. package/dist/improve-reset.js.map +1 -1
  308. package/dist/improve-run-summary.d.ts +6 -0
  309. package/dist/improve-run-summary.d.ts.map +1 -1
  310. package/dist/improve-run-summary.js +77 -7
  311. package/dist/improve-run-summary.js.map +1 -1
  312. package/dist/improve-site-plan.d.ts +57 -0
  313. package/dist/improve-site-plan.d.ts.map +1 -0
  314. package/dist/improve-site-plan.js +79 -0
  315. package/dist/improve-site-plan.js.map +1 -0
  316. package/dist/improve-site-shell.d.ts +11 -0
  317. package/dist/improve-site-shell.d.ts.map +1 -0
  318. package/dist/improve-site-shell.js +24 -0
  319. package/dist/improve-site-shell.js.map +1 -0
  320. package/dist/improve-site-stage.d.ts +10 -0
  321. package/dist/improve-site-stage.d.ts.map +1 -0
  322. package/dist/improve-site-stage.js +84 -0
  323. package/dist/improve-site-stage.js.map +1 -0
  324. package/dist/improve-site-tokens.d.ts +9 -0
  325. package/dist/improve-site-tokens.d.ts.map +1 -0
  326. package/dist/improve-site-tokens.js +17 -0
  327. package/dist/improve-site-tokens.js.map +1 -0
  328. package/dist/improve-source-hints.d.ts +3 -12
  329. package/dist/improve-source-hints.d.ts.map +1 -1
  330. package/dist/improve-source-hints.js +4 -5
  331. package/dist/improve-source-hints.js.map +1 -1
  332. package/dist/improve-spend-ledger.d.ts +69 -0
  333. package/dist/improve-spend-ledger.d.ts.map +1 -0
  334. package/dist/improve-spend-ledger.js +118 -0
  335. package/dist/improve-spend-ledger.js.map +1 -0
  336. package/dist/improve-stage-runners.d.ts +5 -2
  337. package/dist/improve-stage-runners.d.ts.map +1 -1
  338. package/dist/improve-stage-runners.js +5 -2
  339. package/dist/improve-stage-runners.js.map +1 -1
  340. package/dist/improve-stage-shared.d.ts +49 -2
  341. package/dist/improve-stage-shared.d.ts.map +1 -1
  342. package/dist/improve-stage-shared.js +80 -3
  343. package/dist/improve-stage-shared.js.map +1 -1
  344. package/dist/improve-stop-handler.d.ts +15 -0
  345. package/dist/improve-stop-handler.d.ts.map +1 -1
  346. package/dist/improve-stop-handler.js +74 -3
  347. package/dist/improve-stop-handler.js.map +1 -1
  348. package/dist/improve-terminal-event.d.ts.map +1 -1
  349. package/dist/improve-terminal-event.js +13 -4
  350. package/dist/improve-terminal-event.js.map +1 -1
  351. package/dist/improve-workspace.d.ts +282 -9
  352. package/dist/improve-workspace.d.ts.map +1 -1
  353. package/dist/improve-workspace.js +250 -78
  354. package/dist/improve-workspace.js.map +1 -1
  355. package/dist/index.d.ts +2 -1
  356. package/dist/index.d.ts.map +1 -1
  357. package/dist/index.js +1 -0
  358. package/dist/index.js.map +1 -1
  359. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  360. package/dist/legacy-skill-catalog.js +202 -0
  361. package/dist/legacy-skill-catalog.js.map +1 -1
  362. package/dist/mcp-convert.js +1 -1
  363. package/dist/mcp-convert.js.map +1 -1
  364. package/dist/redesign-capture.d.ts +146 -15
  365. package/dist/redesign-capture.d.ts.map +1 -1
  366. package/dist/redesign-capture.js +182 -65
  367. package/dist/redesign-capture.js.map +1 -1
  368. package/dist/redesign-workspace.d.ts +13 -0
  369. package/dist/redesign-workspace.d.ts.map +1 -1
  370. package/dist/redesign-workspace.js +14 -0
  371. package/dist/redesign-workspace.js.map +1 -1
  372. package/dist/responsive-alternative-materializer.d.ts +24 -0
  373. package/dist/responsive-alternative-materializer.d.ts.map +1 -0
  374. package/dist/responsive-alternative-materializer.js +93 -0
  375. package/dist/responsive-alternative-materializer.js.map +1 -0
  376. package/dist/result-integrity.d.ts +38 -0
  377. package/dist/result-integrity.d.ts.map +1 -0
  378. package/dist/result-integrity.js +46 -0
  379. package/dist/result-integrity.js.map +1 -0
  380. package/dist/review-edit-source.d.ts.map +1 -1
  381. package/dist/review-edit-source.js +6 -2
  382. package/dist/review-edit-source.js.map +1 -1
  383. package/dist/review-edit.js +2 -2
  384. package/dist/review-edit.js.map +1 -1
  385. package/dist/review-prototype-gap.js +1 -1
  386. package/dist/review-prototype-gap.js.map +1 -1
  387. package/dist/spend-run-filter.d.ts +21 -0
  388. package/dist/spend-run-filter.d.ts.map +1 -0
  389. package/dist/spend-run-filter.js +65 -0
  390. package/dist/spend-run-filter.js.map +1 -0
  391. package/dist/spend-scoped-report-lines.d.ts +4 -0
  392. package/dist/spend-scoped-report-lines.d.ts.map +1 -0
  393. package/dist/spend-scoped-report-lines.js +46 -0
  394. package/dist/spend-scoped-report-lines.js.map +1 -0
  395. package/dist/spend-scoped-report.d.ts +28 -0
  396. package/dist/spend-scoped-report.d.ts.map +1 -0
  397. package/dist/spend-scoped-report.js +45 -0
  398. package/dist/spend-scoped-report.js.map +1 -0
  399. package/open-design.json +2 -2
  400. package/package.json +5 -5
  401. package/skills/12ui-design/SKILL.md +14 -4
  402. package/skills/12ui-design/improve.md +67 -5
  403. package/skills/12ui-design/inspire.md +1 -1
  404. package/dist/improve-dom-anchor.d.ts.map +0 -1
  405. package/dist/improve-dom-anchor.js.map +0 -1
  406. package/dist/improve-dom-extract.d.ts.map +0 -1
  407. package/dist/improve-dom-extract.js.map +0 -1
  408. package/dist/improve-dom-neighbour.d.ts.map +0 -1
  409. package/dist/improve-dom-neighbour.js.map +0 -1
  410. package/dist/improve-dom-scale.d.ts.map +0 -1
  411. package/dist/improve-dom-scale.js.map +0 -1
  412. package/dist/improve-layerdoc-diff.d.ts.map +0 -1
  413. package/dist/improve-layerdoc-diff.js.map +0 -1
  414. package/dist/improve-layerdoc-types.d.ts.map +0 -1
  415. package/dist/improve-layerdoc-types.js +0 -2
  416. package/dist/improve-layerdoc-types.js.map +0 -1
  417. package/dist/improve-plan-annotated-render.d.ts.map +0 -1
  418. package/dist/improve-plan-annotated-render.js.map +0 -1
  419. package/dist/improve-plan-render.d.ts.map +0 -1
  420. package/dist/improve-plan-render.js.map +0 -1
  421. package/dist/improve-raster-layers-section.d.ts.map +0 -1
  422. package/dist/improve-raster-layers-section.js.map +0 -1
  423. package/dist/improve-token-patch.d.ts.map +0 -1
  424. package/dist/improve-token-patch.js.map +0 -1
  425. /package/dist/{improve-dom-anchor.d.ts → improve-core/improve-dom-anchor.d.ts} +0 -0
  426. /package/dist/{improve-dom-extract.d.ts → improve-core/improve-dom-extract.d.ts} +0 -0
  427. /package/dist/{improve-dom-neighbour.d.ts → improve-core/improve-dom-neighbour.d.ts} +0 -0
  428. /package/dist/{improve-dom-scale.d.ts → improve-core/improve-dom-scale.d.ts} +0 -0
  429. /package/dist/{improve-layerdoc-diff.d.ts → improve-core/improve-layerdoc-diff.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
- import { mkdir, writeFile } from 'node:fs/promises';
1
+ import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { formatDuration } from './cli-progress.js';
4
4
  import { readImproveKitAssets } from './improve-kit-assets.js';
5
- import { IMPROVE_NO_APPROXIMATION_RULE, improveRecoveryLine, readImproveKitStatus, } from './improve-kit-status.js';
6
- import { improveConversionIdFromText, improveErrorText, improveResumeConversion, } from './improve-convert-resilience.js';
7
- import { renderImproveRasterLayers } from './improve-raster-layers-section.js';
5
+ import { IMPROVE_NO_APPROXIMATION_RULE, IMPROVE_STALL_RESOLVED_HEADING, improveRecoveryLine, readImproveKitStatus, shellArg, } from './improve-kit-status.js';
6
+ import { improveConversionIdFromText, improveErrorText, improveResponsiveOutcomeWord, improveResumeConversion, } from './improve-convert-resilience.js';
7
+ import { renderImproveRasterLayers } from './improve-core/index.js';
8
8
  import { improveAbandonedLines } from './improve-reset.js';
9
9
  import { readRunJournal } from './run-journal.js';
10
- import { improvePaths } from './improve-workspace.js';
10
+ import { improvePaths, } from './improve-workspace.js';
11
11
  /**
12
12
  * A stalled run still writes a plan directory.
13
13
  *
@@ -34,7 +34,14 @@ export const collectImproveStallFacts = async (args) => {
34
34
  const hostedRunId = args.inFlight
35
35
  ? journalled ?? improveConversionIdFromText(text) ?? recorded
36
36
  : recorded ?? improveConversionIdFromText(text) ?? journalled;
37
- const resume = improveResumeConversion(args.record);
37
+ // A `convert` block still on the record while this run is INSIDE convert
38
+ // settled an earlier conversion — the same reason the hosted run above prefers
39
+ // the journal. Only the convert stage owns that block, so a stop during plan
40
+ // leaves it alone: there the settled conversion really is what a resume
41
+ // replays, and saying nothing would send a lane to convert again.
42
+ const resume = improveResumeConversion(args.record, {
43
+ inFlight: args.inFlight === true && args.stage === 'convert',
44
+ });
38
45
  // An attempt whose id never reached the record, named from the journal
39
46
  // instead. It is the same conversion: the open attempt is what THIS
40
47
  // invocation dispatched, and `inFlight` is what makes the journal's newest
@@ -76,8 +83,20 @@ const targetContents = (status) => {
76
83
  * which is false and costs a conversion when the reader buys another instead.
77
84
  */
78
85
  const resumeLines = (facts) => {
79
- if (!facts.resume)
80
- return [];
86
+ // A report that cannot say how to reattach is a report that costs the reader a
87
+ // conversion. `facts.resume` is populated by the resume ledger, and whether it
88
+ // exists depends on WHEN a signal landed — a SIGTERM early enough leaves the
89
+ // hosted run alive with nothing recorded about it. That is exactly the case in
90
+ // which the reader most needs the id, so returning nothing here was backwards:
91
+ // the run id we already hold is enough to reattach, and it is on the record.
92
+ if (!facts.resume) {
93
+ return facts.hostedRunId
94
+ ? [`- Resume attaches to: \`${facts.hostedRunId}\` — the first command below`
95
+ + ' re-attaches to the conversion this run dispatched, rather than buying another']
96
+ : ['- Resume attaches to: the conversion this kit dispatched under its recorded key —'
97
+ + ' no id was recorded before the run stopped, but the key is on the record, so the'
98
+ + ' first command below rebuilds it and re-attaches rather than buying another'];
99
+ }
81
100
  const reaches = facts.resume.reason === 'settled'
82
101
  ? 'the first command below replays it and buys nothing'
83
102
  : 'the first command below rebuilds this kit\'s conversion key and re-attaches to it,'
@@ -98,39 +117,204 @@ const resumeLines = (facts) => {
98
117
  }
99
118
  return lines;
100
119
  };
120
+ /**
121
+ * What a recovered run owes its reader: what stalled, what shipped instead, and
122
+ * how to collect the stalled half later without buying anything. That later
123
+ * responsive collection does not revise the plan: its anchored evidence is the
124
+ * free fixed-layout derivation this invocation actually used.
125
+ *
126
+ * `12ui resume` collects an existing purchase — it never retries, reconfigures
127
+ * or creates — so it is the only honest way to offer the responsive export a
128
+ * lane already paid for. The kit itself needs no re-run: the plan is built.
129
+ */
130
+ const fallbackLines = (facts, runDir) => [
131
+ '',
132
+ '## What shipped instead',
133
+ '',
134
+ '- The fixed-layout HTML derived free from the same conversion, and the plan was built from'
135
+ + ' that derivation. It is not a responsive deliverable.',
136
+ '- The LayerDoc and its assets are unaffected: they are the full-quality source of truth and'
137
+ + ' the plan anchors to them.',
138
+ '- Nothing here needs re-running, and nothing was bought twice.',
139
+ '',
140
+ '## Recovery',
141
+ '',
142
+ // A conversion the SERVICE failed is finished. Offering `resume` for it sends
143
+ // a lane to collect an artifact that will never exist (F34).
144
+ ...(facts.responsiveOutcome === 'server-failed'
145
+ ? ['The service failed this export; the reason is on the line above. There is nothing to'
146
+ + ' collect and nothing running. A responsive deliverable needs a new conversion, which'
147
+ + ' costs money — decide that deliberately rather than as a recovery step.']
148
+ : [
149
+ 'If the responsive export completes later, collect `target/winner.html`. `resume` recovers an'
150
+ + ' existing purchase; it never retries, reconfigures, or creates a conversion, so it buys nothing.',
151
+ 'The plan remains based on the fixed-layout fallback; collection does not silently revise it:',
152
+ '',
153
+ ...(facts.hostedRunId
154
+ ? [` 12ui resume ${facts.hostedRunId} --out-dir ${shellArg(path.join(runDir, 'target'))}`]
155
+ : [' 12ui resume <conversion-id> --out-dir <kit>/target']),
156
+ ]),
157
+ '',
158
+ ];
101
159
  export const renderImproveStall = (args) => {
102
160
  const waited = args.facts.waitedSeconds === undefined
103
161
  ? 'unrecorded'
104
162
  : `${formatDuration(args.facts.waitedSeconds)}`
163
+ + `${args.facts.boundSeconds === undefined
164
+ ? ''
165
+ : ` (bound ${formatDuration(args.facts.boundSeconds)})`}`
105
166
  + `${args.facts.typicalSeconds === undefined
106
167
  ? ''
107
168
  : ` against a typical ${formatDuration(args.facts.typicalSeconds)}`}`;
169
+ const fallback = args.facts.kind === 'fallback';
108
170
  const lines = [
109
- `# INCOMPLETE — this run ${args.facts.kind === 'stopped' ? 'was stopped' : 'stalled'}`,
171
+ // A recovered run is not INCOMPLETE — the kit is whole and the plan is
172
+ // built — so it must not lead with the word that tells a lane to stop and
173
+ // resume. It still leads with what stalled, because that is the fact the
174
+ // summary, the README and this file all have to agree on (F8).
175
+ fallback
176
+ ? `# Responsive export ${improveResponsiveOutcomeWord(args.facts.responsiveOutcome)}`
177
+ + ' — plan from the fixed-layout fallback'
178
+ : `# INCOMPLETE — this run ${args.facts.kind === 'stopped' ? 'was stopped' : 'stalled'}`,
110
179
  '',
111
- `- Stage: ${args.facts.stage}`
180
+ `- Stage: ${args.facts.stage}${fallback ? ' (responsive export)' : ''}`
112
181
  + `${args.facts.serviceStage ? ` (service stage \`${args.facts.serviceStage}\`)` : ''}`,
113
182
  `- Waited: ${waited}`,
114
183
  `- Hosted run: ${args.facts.hostedRunId ? `\`${args.facts.hostedRunId}\`` : 'not recorded'}`,
115
- ...resumeLines(args.facts),
184
+ ...(fallback ? [] : resumeLines(args.facts)),
116
185
  `- In \`target/\`: ${targetContents(args.status)}`,
117
186
  `- Reason: ${args.facts.reason}`,
118
187
  ...improveAbandonedLines(args.record),
119
- '',
120
- '## Recovery',
121
- '',
122
- 'Run the first command; it resumes and replays every settled stage rather than buying them again.',
123
- '',
124
- ...args.status.recovery.map(improveRecoveryLine),
125
- '',
126
- IMPROVE_NO_APPROXIMATION_RULE,
127
- '',
188
+ ...(fallback ? fallbackLines(args.facts, args.record.runDir) : [
189
+ '',
190
+ '## Recovery',
191
+ '',
192
+ 'Run the first command; it resumes and replays every settled stage rather than buying them again.',
193
+ '',
194
+ ...args.status.recovery.map(improveRecoveryLine),
195
+ // The conversion this run was waiting on is still running and still
196
+ // billing, and improve bought nothing to replace it (F19). `resume`
197
+ // collects it — it never retries, reconfigures or creates — so it is the
198
+ // second thing to reach for, ahead of any command that converts again.
199
+ ...(args.facts.hostedRunId ? [
200
+ '',
201
+ 'The conversion above is still running. Collect it directly once it finishes;'
202
+ + ' `resume` recovers an existing purchase and buys nothing:',
203
+ '',
204
+ ` 12ui resume ${args.facts.hostedRunId}`
205
+ + ` --out-dir ${shellArg(path.join(args.record.runDir, 'target'))}`,
206
+ ] : []),
207
+ '',
208
+ // Only for a kit that is actually missing something. Telling a complete
209
+ // fallback kit to "resume or convert first" would send a lane to buy the
210
+ // conversion it already has.
211
+ IMPROVE_NO_APPROXIMATION_RULE,
212
+ '',
213
+ ]),
128
214
  ];
129
215
  if (args.status.present.layerDoc) {
130
- lines.push('A LayerDoc survived this run, so the design\'s raster layers are usable without a plan.', '', ...renderImproveRasterLayers({ layers: args.index.rasterLayers }));
216
+ lines.push(
217
+ // What the LayerDoc makes available, in the words the README uses for the
218
+ // same fact (F22). "Usable without a plan" read as permission to build
219
+ // the page without one, three lines under a rule that forbids exactly
220
+ // that; the boundary now lives in one place and both files print it.
221
+ 'A LayerDoc survived this run, so the design\'s raster layers are already extracted.'
222
+ + ' They are files: carry them.', '', ...renderImproveRasterLayers({ layers: args.index.rasterLayers }));
131
223
  }
132
224
  return lines.join('\n');
133
225
  };
226
+ /**
227
+ * The same file, for the run that recovered.
228
+ *
229
+ * The facts come off the durable record rather than out of an error, because
230
+ * there is no error: the responsive export stalled, the free derivation took
231
+ * over, and the run went on to build a plan. A kit written before
232
+ * `responsiveStall` existed records the fallback but not its timings, so this
233
+ * writes what it has and never invents a number.
234
+ */
235
+ export const writeImproveFallbackStall = async (args) => {
236
+ const convert = args.record.convert;
237
+ if (convert?.layout !== 'fixed')
238
+ return undefined;
239
+ const paths = improvePaths(args.record.runDir);
240
+ const stall = convert.responsiveStall;
241
+ const facts = {
242
+ stage: 'convert',
243
+ kind: 'fallback',
244
+ ...(stall?.conversionId ?? convert.sourceConversionId
245
+ ? { hostedRunId: stall?.conversionId ?? convert.sourceConversionId }
246
+ : {}),
247
+ ...(stall ? { waitedSeconds: stall.waitedSeconds, boundSeconds: stall.boundSeconds } : {}),
248
+ ...(convert.responsiveOutcome ? { responsiveOutcome: convert.responsiveOutcome } : {}),
249
+ reason: convert.responsiveWarning ?? 'Responsive HTML was unavailable.',
250
+ };
251
+ const [status, index] = await Promise.all([
252
+ readImproveKitStatus({
253
+ record: args.record,
254
+ ...(args.requestedTo ? { requestedTo: args.requestedTo } : {}),
255
+ }),
256
+ readImproveKitAssets({ runDir: args.record.runDir, layerDocPath: paths.targetLayerDoc }),
257
+ ]);
258
+ await mkdir(paths.planDir, { recursive: true });
259
+ const file = path.join(paths.planDir, 'STALL.md');
260
+ await writeFile(file, renderImproveStall({ record: args.record, facts, status, index }), 'utf8');
261
+ return file;
262
+ };
263
+ const stalledStageFrom = (content) => (/^- Stage: ([a-z]+)/mu.exec(content)?.[1]);
264
+ /**
265
+ * The stall this kit recorded is over, so the file that recorded it stops
266
+ * saying the kit is INCOMPLETE (F21).
267
+ *
268
+ * Freshdesk's `--from convert` resume settled at 18:56:41Z and wrote a whole
269
+ * plan; the `plan/STALL.md` from 18:48:17Z survived beside it, still saying
270
+ * "this run was stopped", "no plan", and "resume or convert first" — directly
271
+ * contradicting the README above it, which said the plan was settled. A reader
272
+ * opening that kit cold got two mutually exclusive statuses and no way to tell
273
+ * which was current.
274
+ *
275
+ * The file is REPLACED rather than deleted: it is the durable record that this
276
+ * kit stalled once, which is worth keeping, and a README that links to it must
277
+ * not link to nothing. Its mtime is when the stall was written, which is the
278
+ * one timestamp neither the record nor the journal keeps.
279
+ */
280
+ export const resolveImproveStall = async (args) => {
281
+ // Only once every stage this kit was asked for has settled. A `--to pick`
282
+ // run, or one that stalled again, leaves the file standing because it is
283
+ // still true.
284
+ if (!args.status.present.stall)
285
+ return undefined;
286
+ if (args.status.stages.some((stage) => stage.state === 'incomplete'))
287
+ return undefined;
288
+ // A fallback kit's STALL.md is rewritten by `writeImproveFallbackStall` every
289
+ // run and describes a stall that is not over: the responsive export never
290
+ // arrived, and the recovery it offers still collects it.
291
+ if (args.record.convert?.layout === 'fixed')
292
+ return undefined;
293
+ const file = path.join(improvePaths(args.record.runDir).planDir, 'STALL.md');
294
+ const [content, stalledAt] = await Promise.all([
295
+ readFile(file, 'utf8').catch(() => undefined),
296
+ stat(file).then((entry) => entry.mtime).catch(() => undefined),
297
+ ]);
298
+ if (content === undefined)
299
+ return undefined;
300
+ if (content.startsWith(IMPROVE_STALL_RESOLVED_HEADING))
301
+ return file;
302
+ const stage = stalledStageFrom(content);
303
+ await writeFile(file, [
304
+ IMPROVE_STALL_RESOLVED_HEADING,
305
+ '',
306
+ `- Stalled at: ${stalledAt ? stalledAt.toISOString() : 'unrecorded'}`
307
+ + `${stage ? ` (stage ${stage})` : ''}`,
308
+ `- Resumed and settled at: ${(args.now ?? new Date()).toISOString()}`,
309
+ '- Every stage this kit was asked for has settled since. The plan and the target'
310
+ + ' beside this file are current, and nothing here needs re-running.',
311
+ '',
312
+ 'This file is kept as the record that the run stalled once. `README.md` has the'
313
+ + ' kit\'s status, and `plan/plan-annotated.md` has the work.',
314
+ '',
315
+ ].join('\n'), 'utf8');
316
+ return file;
317
+ };
134
318
  /**
135
319
  * Write `plan/STALL.md`, creating `plan/` when the plan stage never ran.
136
320
  * Returns the file so the caller can journal it as an artifact.
@@ -1 +1 @@
1
- {"version":3,"file":"improve-kit-stall.js","sourceRoot":"","sources":["../src/improve-kit-stall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-kit-stall.js","sourceRoot":"","sources":["../src/improve-kit-stall.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,8 @@ export type ImproveKitStatus = {
41
41
  plan: boolean;
42
42
  gate: boolean;
43
43
  stall: boolean;
44
+ /** The `STALL.md` present is the record of a stall that has since settled. */
45
+ stallResolved: boolean;
44
46
  };
45
47
  /** The file a reader should look at and a conversion can be re-run from. */
46
48
  designImage: string;
@@ -48,6 +50,25 @@ export type ImproveKitStatus = {
48
50
  designKind: 'image' | 'layerdoc';
49
51
  recovery: ImproveRecoveryCommand[];
50
52
  };
53
+ /**
54
+ * The heading a `plan/STALL.md` leads with once the stall it recorded has
55
+ * settled. It lives here rather than beside the renderer because the kit
56
+ * status has to be able to tell a live stall from a resolved one without
57
+ * importing the renderer that writes it.
58
+ */
59
+ export declare const IMPROVE_STALL_RESOLVED_HEADING = "# Resolved \u2014 the stall recorded here has settled";
60
+ /**
61
+ * THE ONE BOUNDARY SENTENCE, and the reason it is one sentence in one module.
62
+ *
63
+ * The README and `plan/STALL.md` shipped together and disagreed (F22). The
64
+ * README said "do not approximate the design in CSS from the PNG while a stage
65
+ * is incomplete"; three lines further down STALL.md said "a LayerDoc survived
66
+ * this run, so the design's raster layers are usable without a plan". Both are
67
+ * true of different things — carry the rasters, do not redraw the layout — but
68
+ * nothing in the kit said so, and a lane had to adjudicate the contradiction
69
+ * itself, after both of its conversions were already spent. Every renderer
70
+ * prints this string; none writes its own version of it.
71
+ */
51
72
  export declare const IMPROVE_NO_APPROXIMATION_RULE: string;
52
73
  /**
53
74
  * A recovery command is presented as copy-and-run, so it has to survive being
@@ -55,6 +76,21 @@ export declare const IMPROVE_NO_APPROXIMATION_RULE: string;
55
76
  * either one unquoted breaks the line or backgrounds it at the `&`.
56
77
  */
57
78
  export declare const shellArg: (value: string) => string;
79
+ /**
80
+ * The draw is ready and nobody has chosen.
81
+ *
82
+ * `--pick` has no default, so a run with candidates and no pick is a finished
83
+ * run holding a drafts-only kit — not a stall. It is the one incomplete state
84
+ * whose recovery is neither a resume nor a conversion.
85
+ */
86
+ export declare const improveAwaitingPick: (record: ImproveRecord) => boolean;
87
+ /**
88
+ * The `--pick` placeholder, in one place, so the run summary and the kit README
89
+ * cannot drift into naming different slots for the same draw.
90
+ */
91
+ export declare const improvePickSlotHint: (record: ImproveRecord) => string;
92
+ /** The one sentence a never-picked kit needs before its recovery command. */
93
+ export declare const IMPROVE_AWAITING_PICK_RULE: string;
58
94
  export declare const improveRecoveryCommands: (args: {
59
95
  record: ImproveRecord;
60
96
  designImage: string;
@@ -1 +1 @@
1
- {"version":3,"file":"improve-kit-status.d.ts","sourceRoot":"","sources":["../src/improve-kit-status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7G;;;;;;;GAOG;AAEH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,eAAe,GACf,MAAM,CAAC;AAEX,sDAAsD;AACtD,MAAM,MAAM,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IACjC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC,CAAC;AAgDF,eAAO,MAAM,6BAA6B,QACkB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,MAExC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,KAAG,sBAAsB,EAmBzB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,GAAI,OAAO,sBAAsB,KAAG,MAEnE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM;IAC/C,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,KAAG,OAAO,CAAC,gBAAgB,CA8E3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,MAGnE,CAAC"}
1
+ {"version":3,"file":"improve-kit-status.d.ts","sourceRoot":"","sources":["../src/improve-kit-status.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AAEH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,eAAe,GACf,MAAM,CAAC;AAEX,sDAAsD;AACtD,MAAM,MAAM,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,8EAA8E;QAC9E,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IACjC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC,CAAC;AA8DF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,0DAAqD,CAAC;AAEjG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,QAE2C,CAAC;AAEtF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,MAExC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,KAAG,OAE3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,KAAG,MAG3D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,QAEoC,CAAC;AAE5E,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,KAAG,sBAAsB,EA8BzB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,GAAI,OAAO,sBAAsB,KAAG,MAEnE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM;IAC/C,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,KAAG,OAAO,CAAC,gBAAgB,CAwF3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,MAGnE,CAAC"}
@@ -1,6 +1,6 @@
1
- import { stat } from 'node:fs/promises';
1
+ import { readFile, stat } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { IMPROVE_STAGES, improvePaths } from './improve-workspace.js';
3
+ import { IMPROVE_STAGES, improvePaths, improveStagesForScope, } from './improve-workspace.js';
4
4
  const isFile = async (file) => Boolean(await stat(file).then((entry) => entry.isFile()).catch(() => false));
5
5
  const isDirectory = async (file) => Boolean(await stat(file).then((entry) => entry.isDirectory()).catch(() => false));
6
6
  const stageState = (args) => {
@@ -13,6 +13,20 @@ const stageState = (args) => {
13
13
  if (settled.outcome === 'skipped') {
14
14
  return { stage: args.stage, state: 'skipped', detail: 'a target was supplied' };
15
15
  }
16
+ // Recorded at dispatch and never settled (F19). The entry exists so the kit
17
+ // can price the paid call it is still owed a result for; it is not evidence
18
+ // the stage ran, and reading it as one would call a stalled kit settled.
19
+ // `stalled` is the same entry after the run gave up on it (F28) — still
20
+ // incomplete, and still the stage `plan/STALL.md` is about.
21
+ if (settled.outcome === 'dispatched' || settled.outcome === 'stalled') {
22
+ return {
23
+ stage: args.stage,
24
+ state: 'incomplete',
25
+ detail: settled.outcome === 'stalled'
26
+ ? 'a paid call was dispatched and stalled; read `plan/STALL.md`'
27
+ : 'a paid call was dispatched and has not settled; read `plan/STALL.md`',
28
+ };
29
+ }
16
30
  if (args.blocked) {
17
31
  return {
18
32
  stage: args.stage,
@@ -35,18 +49,69 @@ const stageState = (args) => {
35
49
  ...(settled.replayCount > 0 ? { detail: `replayed ${settled.replayCount}×, bought once` } : {}),
36
50
  };
37
51
  };
38
- export const IMPROVE_NO_APPROXIMATION_RULE = 'Do not approximate the design in CSS from the PNG'
39
- + ' while a stage is incomplete; resume or convert first.';
52
+ /**
53
+ * The heading a `plan/STALL.md` leads with once the stall it recorded has
54
+ * settled. It lives here rather than beside the renderer because the kit
55
+ * status has to be able to tell a live stall from a resolved one without
56
+ * importing the renderer that writes it.
57
+ */
58
+ export const IMPROVE_STALL_RESOLVED_HEADING = '# Resolved — the stall recorded here has settled';
59
+ /**
60
+ * THE ONE BOUNDARY SENTENCE, and the reason it is one sentence in one module.
61
+ *
62
+ * The README and `plan/STALL.md` shipped together and disagreed (F22). The
63
+ * README said "do not approximate the design in CSS from the PNG while a stage
64
+ * is incomplete"; three lines further down STALL.md said "a LayerDoc survived
65
+ * this run, so the design's raster layers are usable without a plan". Both are
66
+ * true of different things — carry the rasters, do not redraw the layout — but
67
+ * nothing in the kit said so, and a lane had to adjudicate the contradiction
68
+ * itself, after both of its conversions were already spent. Every renderer
69
+ * prints this string; none writes its own version of it.
70
+ */
71
+ export const IMPROVE_NO_APPROXIMATION_RULE = 'Once the LayerDoc exists, carry its raster layers as'
72
+ + ' real assets — copy the files and reference them. Do not approximate the design\'s layout or'
73
+ + ' text in CSS from the PNG while a stage is incomplete; resume or convert first.';
40
74
  /**
41
75
  * A recovery command is presented as copy-and-run, so it has to survive being
42
76
  * pasted. Capture URLs carry query strings and `--out-dir` paths carry spaces;
43
77
  * either one unquoted breaks the line or backgrounds it at the `&`.
44
78
  */
45
79
  export const shellArg = (value) => (/^[A-Za-z0-9_./:=-]+$/u.test(value) ? value : `'${value.replace(/'/gu, "'\\''")}'`);
80
+ /**
81
+ * The draw is ready and nobody has chosen.
82
+ *
83
+ * `--pick` has no default, so a run with candidates and no pick is a finished
84
+ * run holding a drafts-only kit — not a stall. It is the one incomplete state
85
+ * whose recovery is neither a resume nor a conversion.
86
+ */
87
+ export const improveAwaitingPick = (record) => (!record.pick && !record.target && (record.draft?.candidates.length ?? 0) > 0);
88
+ /**
89
+ * The `--pick` placeholder, in one place, so the run summary and the kit README
90
+ * cannot drift into naming different slots for the same draw.
91
+ */
92
+ export const improvePickSlotHint = (record) => {
93
+ const slots = (record.draft?.candidates ?? []).map((candidate) => candidate.slot);
94
+ return `<A-${slots.at(-1) ?? 'P'}>`;
95
+ };
96
+ /** The one sentence a never-picked kit needs before its recovery command. */
97
+ export const IMPROVE_AWAITING_PICK_RULE = 'The draw is ready and nothing has been picked.'
98
+ + ' The CLI stops after drafting by design: nothing is converted until you choose a candidate,'
99
+ + ' because converting a candidate nobody chose spends money on a guess.';
46
100
  export const improveRecoveryCommands = (args) => {
47
101
  const runDir = shellArg(args.record.runDir);
48
102
  const input = shellArg(args.record.input.value);
49
103
  const design = shellArg(args.designImage);
104
+ // A never-picked kit has no winner, so `designImage` falls back to the
105
+ // capture — the page the run was asked to improve. The three commands below
106
+ // all resolve to it, so offering them here sent a reader to buy a conversion
107
+ // of the page they were improving. The pick is this state's only recovery.
108
+ if (improveAwaitingPick(args.record)) {
109
+ return [{
110
+ command: `12ui improve ${input} --out-dir ${runDir}`
111
+ + ` --from pick --pick ${improvePickSlotHint(args.record)}`,
112
+ spends: 'picks a candidate, then buys its conversion and plan',
113
+ }];
114
+ }
50
115
  return [
51
116
  {
52
117
  command: `12ui improve ${input} --out-dir ${runDir} --from convert`,
@@ -67,7 +132,8 @@ export const improveRecoveryCommands = (args) => {
67
132
  export const improveRecoveryLine = (entry) => (` ${entry.command} # ${entry.spends}`);
68
133
  export const readImproveKitStatus = async (args) => {
69
134
  const paths = improvePaths(args.record.runDir);
70
- const requestedTo = args.requestedTo ?? IMPROVE_STAGES[IMPROVE_STAGES.length - 1];
135
+ const scopeStages = improveStagesForScope(args.record.scope);
136
+ const requestedTo = args.requestedTo ?? scopeStages[scopeStages.length - 1];
71
137
  const [winner, sourceImage, layerDoc, assets, plan, gate, stall] = await Promise.all([
72
138
  isFile(paths.winnerImage),
73
139
  isFile(paths.sourceImage),
@@ -77,6 +143,9 @@ export const readImproveKitStatus = async (args) => {
77
143
  isFile(path.join(paths.planDir, 'GATE.md')),
78
144
  isFile(path.join(paths.planDir, 'STALL.md')),
79
145
  ]);
146
+ const stallResolved = stall && (await readFile(path.join(paths.planDir, 'STALL.md'), 'utf8')
147
+ .then((content) => content.startsWith(IMPROVE_STALL_RESOLVED_HEADING))
148
+ .catch(() => false));
80
149
  const recordedHtml = args.record.convert?.html;
81
150
  const targetHtml = recordedHtml ? await isFile(recordedHtml) : await isFile(paths.targetHtml);
82
151
  // Name a file that is actually here. A `--target <layerdoc>` kit never gets a
@@ -96,11 +165,15 @@ export const readImproveKitStatus = async (args) => {
96
165
  capture: Boolean(args.record.capture),
97
166
  draft: Boolean(args.record.draft),
98
167
  pick: Boolean(args.record.pick),
168
+ // A page-scope kit never runs branch or site; `stageState` reads the
169
+ // record's own settlement ledger to tell "skipped" from "did not settle".
170
+ branch: Boolean(args.record.branch),
99
171
  convert: layerDoc,
100
172
  plan: plan || gate,
173
+ site: Boolean(args.record.site),
101
174
  };
102
175
  const gateBlocked = gate && !plan;
103
- const stages = IMPROVE_STAGES.map((stage) => stageState({
176
+ const stages = scopeStages.map((stage) => stageState({
104
177
  record: args.record,
105
178
  stage,
106
179
  requestedTo,
@@ -132,7 +205,9 @@ export const readImproveKitStatus = async (args) => {
132
205
  gateBlocked,
133
206
  missing,
134
207
  targetMode,
135
- present: { design: winner || sourceImage, layerDoc, assets, targetHtml, plan, gate, stall },
208
+ present: {
209
+ design: winner || sourceImage, layerDoc, assets, targetHtml, plan, gate, stall, stallResolved,
210
+ },
136
211
  designImage,
137
212
  designKind,
138
213
  recovery: improveRecoveryCommands({ record: args.record, designImage }),
@@ -1 +1 @@
1
- {"version":3,"file":"improve-kit-status.js","sourceRoot":"","sources":["../src/improve-kit-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-kit-status.js","sourceRoot":"","sources":["../src/improve-kit-status.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { CreateRetainPolicy } from './branch-client.js';
2
2
  import { type CliFlags } from './cli-arguments.js';
3
+ import { type ImprovePassthroughFlags } from './improve-passthrough-flags.js';
3
4
  import { type ConversionModel } from './conversion-models.js';
4
5
  import { type ResponsiveConversionQuality } from './responsive-quality.js';
5
6
  import { type ImproveBootstrapAction } from './redesign-capture.js';
6
7
  import { type ImprovePaths, type ImproveStage } from './improve-workspace.js';
7
8
  export type ImproveOptions = {
9
+ scope: 'page' | 'site';
8
10
  input: {
9
11
  kind: 'url' | 'image';
10
12
  value: string;
@@ -32,6 +34,12 @@ export type ImproveOptions = {
32
34
  fullPage: boolean;
33
35
  bootstrapValues: string[];
34
36
  bootstrap: ImproveBootstrapAction[];
37
+ /**
38
+ * Improve the page the capture actually landed on, even when a redirect took
39
+ * it somewhere else (F27). Without it a redirected capture refuses before the
40
+ * draft purchase instead of buying a surface against the wrong page.
41
+ */
42
+ allowRedirect: boolean;
35
43
  paths: ImprovePaths;
36
44
  from: ImproveStage;
37
45
  to: ImproveStage;
@@ -44,6 +52,12 @@ export type ImproveOptions = {
44
52
  fresh: boolean;
45
53
  /** Re-buy the whole draw: new candidates, then a new pick. */
46
54
  redraw: boolean;
55
+ pages: number;
56
+ explicitPages: string[];
57
+ pageConcurrency: number;
58
+ referenceOrder: 'current-first' | 'root-first';
59
+ recheck: boolean;
60
+ passthrough: ImprovePassthroughFlags;
47
61
  };
48
62
  export declare const parseImproveOptions: (args: {
49
63
  command: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"improve-options.d.ts","sourceRoot":"","sources":["../src/improve-options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EAAkC,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAqGF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IACxC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KAAG,cA4HH,CAAC"}
1
+ {"version":3,"file":"improve-options.d.ts","sourceRoot":"","sources":["../src/improve-options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EAAkC,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,eAAe,GAAG,YAAY,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,uBAAuB,CAAC;CACtC,CAAC;AAyHF,eAAO,MAAM,mBAAmB,GAAI,MAAM;IACxC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KAAG,cAwMH,CAAC"}