@12ui/design 0.2.57 → 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 (400) 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 +84 -2
  6. package/dist/branch-client.d.ts.map +1 -1
  7. package/dist/branch-client.js +30 -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 +2 -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 +76 -33
  18. package/dist/cli-convert-command.js.map +1 -1
  19. package/dist/cli-corpus-command.d.ts.map +1 -1
  20. package/dist/cli-corpus-command.js +0 -3
  21. package/dist/cli-corpus-command.js.map +1 -1
  22. package/dist/cli-draft-command.d.ts +9 -0
  23. package/dist/cli-draft-command.d.ts.map +1 -1
  24. package/dist/cli-draft-command.js +26 -1
  25. package/dist/cli-draft-command.js.map +1 -1
  26. package/dist/cli-help/design.d.ts +7 -4
  27. package/dist/cli-help/design.d.ts.map +1 -1
  28. package/dist/cli-help/design.js +18 -5
  29. package/dist/cli-help/design.js.map +1 -1
  30. package/dist/cli-help/index.d.ts +9 -6
  31. package/dist/cli-help/index.d.ts.map +1 -1
  32. package/dist/cli-help/meta.d.ts +2 -2
  33. package/dist/cli-help/meta.d.ts.map +1 -1
  34. package/dist/cli-help/meta.js +4 -1
  35. package/dist/cli-help/meta.js.map +1 -1
  36. package/dist/cli-improve-command.d.ts.map +1 -1
  37. package/dist/cli-improve-command.js +215 -33
  38. package/dist/cli-improve-command.js.map +1 -1
  39. package/dist/cli-redesign-command.d.ts.map +1 -1
  40. package/dist/cli-redesign-command.js +97 -24
  41. package/dist/cli-redesign-command.js.map +1 -1
  42. package/dist/cli-run.d.ts.map +1 -1
  43. package/dist/cli-run.js +13 -3
  44. package/dist/cli-run.js.map +1 -1
  45. package/dist/cli-spend-command.d.ts +12 -1
  46. package/dist/cli-spend-command.d.ts.map +1 -1
  47. package/dist/cli-spend-command.js +94 -2
  48. package/dist/cli-spend-command.js.map +1 -1
  49. package/dist/cli-usage.js +5 -5
  50. package/dist/cli-usage.js.map +1 -1
  51. package/dist/concept-input.d.ts +6 -77
  52. package/dist/concept-input.d.ts.map +1 -1
  53. package/dist/concept-input.js +6 -87
  54. package/dist/concept-input.js.map +1 -1
  55. package/dist/conversion-client.d.ts +68 -17
  56. package/dist/conversion-client.d.ts.map +1 -1
  57. package/dist/conversion-client.js +170 -78
  58. package/dist/conversion-client.js.map +1 -1
  59. package/dist/corpus-client.d.ts.map +1 -1
  60. package/dist/corpus-client.js +0 -3
  61. package/dist/corpus-client.js.map +1 -1
  62. package/dist/draft-run.d.ts +6 -0
  63. package/dist/draft-run.d.ts.map +1 -1
  64. package/dist/draft-run.js +12 -2
  65. package/dist/draft-run.js.map +1 -1
  66. package/dist/hosted-draft-identity.d.ts +8 -0
  67. package/dist/hosted-draft-identity.d.ts.map +1 -1
  68. package/dist/hosted-draft-identity.js +1 -0
  69. package/dist/hosted-draft-identity.js.map +1 -1
  70. package/dist/improve-added-specs.d.ts +12 -40
  71. package/dist/improve-added-specs.d.ts.map +1 -1
  72. package/dist/improve-added-specs.js +63 -172
  73. package/dist/improve-added-specs.js.map +1 -1
  74. package/dist/improve-artifact-writer.d.ts +13 -0
  75. package/dist/improve-artifact-writer.d.ts.map +1 -0
  76. package/dist/improve-artifact-writer.js +27 -0
  77. package/dist/improve-artifact-writer.js.map +1 -0
  78. package/dist/improve-bootstrap-history.d.ts +21 -0
  79. package/dist/improve-bootstrap-history.d.ts.map +1 -0
  80. package/dist/improve-bootstrap-history.js +43 -0
  81. package/dist/improve-bootstrap-history.js.map +1 -0
  82. package/dist/improve-branch-stage.d.ts +10 -0
  83. package/dist/improve-branch-stage.d.ts.map +1 -0
  84. package/dist/improve-branch-stage.js +325 -0
  85. package/dist/improve-branch-stage.js.map +1 -0
  86. package/dist/improve-capture-redirect.d.ts +19 -0
  87. package/dist/improve-capture-redirect.d.ts.map +1 -1
  88. package/dist/improve-capture-redirect.js +18 -1
  89. package/dist/improve-capture-redirect.js.map +1 -1
  90. package/dist/improve-capture-words.d.ts +43 -0
  91. package/dist/improve-capture-words.d.ts.map +1 -0
  92. package/dist/improve-capture-words.js +25 -0
  93. package/dist/improve-capture-words.js.map +1 -0
  94. package/dist/improve-concept.d.ts +6 -20
  95. package/dist/improve-concept.d.ts.map +1 -1
  96. package/dist/improve-concept.js +12 -59
  97. package/dist/improve-concept.js.map +1 -1
  98. package/dist/improve-conversion-attempts.d.ts +12 -4
  99. package/dist/improve-conversion-attempts.d.ts.map +1 -1
  100. package/dist/improve-conversion-attempts.js.map +1 -1
  101. package/dist/improve-conversion-stage.d.ts +13 -2
  102. package/dist/improve-conversion-stage.d.ts.map +1 -1
  103. package/dist/improve-conversion-stage.js +211 -20
  104. package/dist/improve-conversion-stage.js.map +1 -1
  105. package/dist/improve-convert-progress.d.ts +10 -2
  106. package/dist/improve-convert-progress.d.ts.map +1 -1
  107. package/dist/improve-convert-progress.js +7 -3
  108. package/dist/improve-convert-progress.js.map +1 -1
  109. package/dist/improve-convert-resilience.d.ts +60 -13
  110. package/dist/improve-convert-resilience.d.ts.map +1 -1
  111. package/dist/improve-convert-resilience.js +85 -22
  112. package/dist/improve-convert-resilience.js.map +1 -1
  113. package/dist/improve-core/concept-input.d.ts +80 -0
  114. package/dist/improve-core/concept-input.d.ts.map +1 -0
  115. package/dist/improve-core/concept-input.js +92 -0
  116. package/dist/improve-core/concept-input.js.map +1 -0
  117. package/dist/improve-core/improve-added-specs.d.ts +62 -0
  118. package/dist/improve-core/improve-added-specs.d.ts.map +1 -0
  119. package/dist/improve-core/improve-added-specs.js +160 -0
  120. package/dist/improve-core/improve-added-specs.js.map +1 -0
  121. package/dist/improve-core/improve-artifacts.d.ts +18 -0
  122. package/dist/improve-core/improve-artifacts.d.ts.map +1 -0
  123. package/dist/improve-core/improve-artifacts.js +4 -0
  124. package/dist/improve-core/improve-artifacts.js.map +1 -0
  125. package/dist/improve-core/improve-concept.d.ts +7 -0
  126. package/dist/improve-core/improve-concept.d.ts.map +1 -0
  127. package/dist/improve-core/improve-concept.js +185 -0
  128. package/dist/improve-core/improve-concept.js.map +1 -0
  129. package/dist/improve-core/improve-discovery.d.ts +84 -0
  130. package/dist/improve-core/improve-discovery.d.ts.map +1 -0
  131. package/dist/improve-core/improve-discovery.js +154 -0
  132. package/dist/improve-core/improve-discovery.js.map +1 -0
  133. package/dist/improve-core/improve-dom-anchor.d.ts.map +1 -0
  134. package/dist/{improve-dom-anchor.js → improve-core/improve-dom-anchor.js} +2 -0
  135. package/dist/improve-core/improve-dom-anchor.js.map +1 -0
  136. package/dist/improve-core/improve-dom-diff.d.ts +59 -0
  137. package/dist/improve-core/improve-dom-diff.d.ts.map +1 -0
  138. package/dist/improve-core/improve-dom-diff.js +151 -0
  139. package/dist/improve-core/improve-dom-diff.js.map +1 -0
  140. package/dist/improve-core/improve-dom-extract.d.ts.map +1 -0
  141. package/dist/{improve-dom-extract.js → improve-core/improve-dom-extract.js} +2 -0
  142. package/dist/improve-core/improve-dom-extract.js.map +1 -0
  143. package/dist/improve-core/improve-dom-gate.d.ts +49 -0
  144. package/dist/improve-core/improve-dom-gate.d.ts.map +1 -0
  145. package/dist/improve-core/improve-dom-gate.js +99 -0
  146. package/dist/improve-core/improve-dom-gate.js.map +1 -0
  147. package/dist/improve-core/improve-dom-neighbour.d.ts.map +1 -0
  148. package/dist/{improve-dom-neighbour.js → improve-core/improve-dom-neighbour.js} +2 -0
  149. package/dist/improve-core/improve-dom-neighbour.js.map +1 -0
  150. package/dist/improve-core/improve-dom-scale.d.ts.map +1 -0
  151. package/dist/{improve-dom-scale.js → improve-core/improve-dom-scale.js} +2 -0
  152. package/dist/improve-core/improve-dom-scale.js.map +1 -0
  153. package/dist/improve-core/improve-icon-svg.d.ts +29 -0
  154. package/dist/improve-core/improve-icon-svg.d.ts.map +1 -0
  155. package/dist/{improve-icon-svg.js → improve-core/improve-icon-svg.js} +2 -0
  156. package/dist/improve-core/improve-icon-svg.js.map +1 -0
  157. package/dist/improve-core/improve-kit-asset-model.d.ts +177 -0
  158. package/dist/improve-core/improve-kit-asset-model.d.ts.map +1 -0
  159. package/dist/improve-core/improve-kit-asset-model.js +269 -0
  160. package/dist/improve-core/improve-kit-asset-model.js.map +1 -0
  161. package/dist/improve-core/improve-layerdoc-diff.d.ts.map +1 -0
  162. package/dist/{improve-layerdoc-diff.js → improve-core/improve-layerdoc-diff.js} +2 -0
  163. package/dist/improve-core/improve-layerdoc-diff.js.map +1 -0
  164. package/dist/{improve-layerdoc-types.d.ts → improve-core/improve-layerdoc-types.d.ts} +9 -0
  165. package/dist/improve-core/improve-layerdoc-types.d.ts.map +1 -0
  166. package/dist/improve-core/improve-layerdoc-types.js +4 -0
  167. package/dist/improve-core/improve-layerdoc-types.js.map +1 -0
  168. package/dist/improve-core/improve-page-words.d.ts +180 -0
  169. package/dist/improve-core/improve-page-words.d.ts.map +1 -0
  170. package/dist/improve-core/improve-page-words.js +303 -0
  171. package/dist/improve-core/improve-page-words.js.map +1 -0
  172. package/dist/{improve-plan-annotated-render.d.ts → improve-core/improve-plan-annotated-render.d.ts} +6 -1
  173. package/dist/improve-core/improve-plan-annotated-render.d.ts.map +1 -0
  174. package/dist/{improve-plan-annotated-render.js → improve-core/improve-plan-annotated-render.js} +56 -28
  175. package/dist/{improve-plan-annotated-render.js.map → improve-core/improve-plan-annotated-render.js.map} +1 -1
  176. package/dist/improve-core/improve-plan-annotator.d.ts +34 -0
  177. package/dist/improve-core/improve-plan-annotator.d.ts.map +1 -0
  178. package/dist/improve-core/improve-plan-annotator.js +52 -0
  179. package/dist/improve-core/improve-plan-annotator.js.map +1 -0
  180. package/dist/{improve-plan-render.d.ts → improve-core/improve-plan-render.d.ts} +2 -1
  181. package/dist/improve-core/improve-plan-render.d.ts.map +1 -0
  182. package/dist/{improve-plan-render.js → improve-core/improve-plan-render.js} +7 -1
  183. package/dist/improve-core/improve-plan-render.js.map +1 -0
  184. package/dist/improve-core/improve-plan-vector-keep.d.ts +29 -0
  185. package/dist/improve-core/improve-plan-vector-keep.d.ts.map +1 -0
  186. package/dist/improve-core/improve-plan-vector-keep.js +68 -0
  187. package/dist/improve-core/improve-plan-vector-keep.js.map +1 -0
  188. package/dist/{improve-raster-layers-section.d.ts → improve-core/improve-raster-layers-section.d.ts} +9 -1
  189. package/dist/improve-core/improve-raster-layers-section.d.ts.map +1 -0
  190. package/dist/{improve-raster-layers-section.js → improve-core/improve-raster-layers-section.js} +5 -2
  191. package/dist/improve-core/improve-raster-layers-section.js.map +1 -0
  192. package/dist/improve-core/improve-refusal.d.ts +6 -0
  193. package/dist/improve-core/improve-refusal.d.ts.map +1 -0
  194. package/dist/improve-core/improve-refusal.js +27 -0
  195. package/dist/improve-core/improve-refusal.js.map +1 -0
  196. package/dist/improve-core/improve-retain.d.ts +121 -0
  197. package/dist/improve-core/improve-retain.d.ts.map +1 -0
  198. package/dist/improve-core/improve-retain.js +115 -0
  199. package/dist/improve-core/improve-retain.js.map +1 -0
  200. package/dist/improve-core/improve-site-plan.d.ts +75 -0
  201. package/dist/improve-core/improve-site-plan.d.ts.map +1 -0
  202. package/dist/improve-core/improve-site-plan.js +135 -0
  203. package/dist/improve-core/improve-site-plan.js.map +1 -0
  204. package/dist/improve-core/improve-site-shell.d.ts +56 -0
  205. package/dist/improve-core/improve-site-shell.d.ts.map +1 -0
  206. package/dist/improve-core/improve-site-shell.js +152 -0
  207. package/dist/improve-core/improve-site-shell.js.map +1 -0
  208. package/dist/improve-core/improve-site-tokens.d.ts +44 -0
  209. package/dist/improve-core/improve-site-tokens.d.ts.map +1 -0
  210. package/dist/improve-core/improve-site-tokens.js +87 -0
  211. package/dist/improve-core/improve-site-tokens.js.map +1 -0
  212. package/dist/improve-core/improve-source-hints.d.ts +25 -0
  213. package/dist/improve-core/improve-source-hints.d.ts.map +1 -0
  214. package/dist/improve-core/improve-source-hints.js +17 -0
  215. package/dist/improve-core/improve-source-hints.js.map +1 -0
  216. package/dist/improve-core/improve-token-patch.d.ts.map +1 -0
  217. package/dist/{improve-token-patch.js → improve-core/improve-token-patch.js} +2 -0
  218. package/dist/improve-core/improve-token-patch.js.map +1 -0
  219. package/dist/improve-core/index.d.ts +47 -0
  220. package/dist/improve-core/index.d.ts.map +1 -0
  221. package/dist/improve-core/index.js +49 -0
  222. package/dist/improve-core/index.js.map +1 -0
  223. package/dist/improve-delivery-stages.d.ts +6 -0
  224. package/dist/improve-delivery-stages.d.ts.map +1 -1
  225. package/dist/improve-delivery-stages.js +87 -6
  226. package/dist/improve-delivery-stages.js.map +1 -1
  227. package/dist/improve-dom-diff.d.ts +8 -24
  228. package/dist/improve-dom-diff.d.ts.map +1 -1
  229. package/dist/improve-dom-diff.js +23 -123
  230. package/dist/improve-dom-diff.js.map +1 -1
  231. package/dist/improve-dom-gate.d.ts +1 -18
  232. package/dist/improve-dom-gate.d.ts.map +1 -1
  233. package/dist/improve-dom-gate.js +1 -46
  234. package/dist/improve-dom-gate.js.map +1 -1
  235. package/dist/improve-generation-stages.d.ts +0 -2
  236. package/dist/improve-generation-stages.d.ts.map +1 -1
  237. package/dist/improve-generation-stages.js +162 -15
  238. package/dist/improve-generation-stages.js.map +1 -1
  239. package/dist/improve-kit-assets.d.ts +8 -116
  240. package/dist/improve-kit-assets.d.ts.map +1 -1
  241. package/dist/improve-kit-assets.js +9 -229
  242. package/dist/improve-kit-assets.js.map +1 -1
  243. package/dist/improve-kit-readme.d.ts +4 -0
  244. package/dist/improve-kit-readme.d.ts.map +1 -1
  245. package/dist/improve-kit-readme.js +57 -16
  246. package/dist/improve-kit-readme.js.map +1 -1
  247. package/dist/improve-kit-stall.d.ts +3 -1
  248. package/dist/improve-kit-stall.d.ts.map +1 -1
  249. package/dist/improve-kit-stall.js +46 -14
  250. package/dist/improve-kit-stall.js.map +1 -1
  251. package/dist/improve-kit-status.d.ts.map +1 -1
  252. package/dist/improve-kit-status.js +8 -3
  253. package/dist/improve-kit-status.js.map +1 -1
  254. package/dist/improve-options.d.ts +8 -0
  255. package/dist/improve-options.d.ts.map +1 -1
  256. package/dist/improve-options.js +92 -12
  257. package/dist/improve-options.js.map +1 -1
  258. package/dist/improve-passthrough-flags.d.ts +8 -0
  259. package/dist/improve-passthrough-flags.d.ts.map +1 -0
  260. package/dist/improve-passthrough-flags.js +11 -0
  261. package/dist/improve-passthrough-flags.js.map +1 -0
  262. package/dist/improve-plan-annotator.d.ts +8 -2
  263. package/dist/improve-plan-annotator.d.ts.map +1 -1
  264. package/dist/improve-plan-annotator.js +35 -38
  265. package/dist/improve-plan-annotator.js.map +1 -1
  266. package/dist/improve-pricing-plan.d.ts +3 -0
  267. package/dist/improve-pricing-plan.d.ts.map +1 -1
  268. package/dist/improve-pricing-plan.js +33 -5
  269. package/dist/improve-pricing-plan.js.map +1 -1
  270. package/dist/improve-recheck.d.ts +9 -0
  271. package/dist/improve-recheck.d.ts.map +1 -0
  272. package/dist/improve-recheck.js +200 -0
  273. package/dist/improve-recheck.js.map +1 -0
  274. package/dist/improve-reset.d.ts.map +1 -1
  275. package/dist/improve-reset.js +11 -0
  276. package/dist/improve-reset.js.map +1 -1
  277. package/dist/improve-run-summary.d.ts +6 -0
  278. package/dist/improve-run-summary.d.ts.map +1 -1
  279. package/dist/improve-run-summary.js +29 -5
  280. package/dist/improve-run-summary.js.map +1 -1
  281. package/dist/improve-site-plan.d.ts +57 -0
  282. package/dist/improve-site-plan.d.ts.map +1 -0
  283. package/dist/improve-site-plan.js +79 -0
  284. package/dist/improve-site-plan.js.map +1 -0
  285. package/dist/improve-site-shell.d.ts +11 -0
  286. package/dist/improve-site-shell.d.ts.map +1 -0
  287. package/dist/improve-site-shell.js +24 -0
  288. package/dist/improve-site-shell.js.map +1 -0
  289. package/dist/improve-site-stage.d.ts +10 -0
  290. package/dist/improve-site-stage.d.ts.map +1 -0
  291. package/dist/improve-site-stage.js +84 -0
  292. package/dist/improve-site-stage.js.map +1 -0
  293. package/dist/improve-site-tokens.d.ts +9 -0
  294. package/dist/improve-site-tokens.d.ts.map +1 -0
  295. package/dist/improve-site-tokens.js +17 -0
  296. package/dist/improve-site-tokens.js.map +1 -0
  297. package/dist/improve-source-hints.d.ts +3 -12
  298. package/dist/improve-source-hints.d.ts.map +1 -1
  299. package/dist/improve-source-hints.js +4 -5
  300. package/dist/improve-source-hints.js.map +1 -1
  301. package/dist/improve-spend-ledger.d.ts +69 -0
  302. package/dist/improve-spend-ledger.d.ts.map +1 -0
  303. package/dist/improve-spend-ledger.js +118 -0
  304. package/dist/improve-spend-ledger.js.map +1 -0
  305. package/dist/improve-stage-runners.d.ts +5 -2
  306. package/dist/improve-stage-runners.d.ts.map +1 -1
  307. package/dist/improve-stage-runners.js +5 -2
  308. package/dist/improve-stage-runners.js.map +1 -1
  309. package/dist/improve-stage-shared.d.ts +10 -1
  310. package/dist/improve-stage-shared.d.ts.map +1 -1
  311. package/dist/improve-stage-shared.js.map +1 -1
  312. package/dist/improve-stop-handler.d.ts +15 -0
  313. package/dist/improve-stop-handler.d.ts.map +1 -1
  314. package/dist/improve-stop-handler.js +74 -3
  315. package/dist/improve-stop-handler.js.map +1 -1
  316. package/dist/improve-terminal-event.d.ts.map +1 -1
  317. package/dist/improve-terminal-event.js +7 -4
  318. package/dist/improve-terminal-event.js.map +1 -1
  319. package/dist/improve-workspace.d.ts +198 -2
  320. package/dist/improve-workspace.d.ts.map +1 -1
  321. package/dist/improve-workspace.js +249 -92
  322. package/dist/improve-workspace.js.map +1 -1
  323. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  324. package/dist/legacy-skill-catalog.js +79 -0
  325. package/dist/legacy-skill-catalog.js.map +1 -1
  326. package/dist/mcp-convert.js +1 -1
  327. package/dist/mcp-convert.js.map +1 -1
  328. package/dist/mcp-tool-definitions.js +1 -1
  329. package/dist/mcp-tool-definitions.js.map +1 -1
  330. package/dist/mcp-tool-handler.d.ts.map +1 -1
  331. package/dist/mcp-tool-handler.js +0 -3
  332. package/dist/mcp-tool-handler.js.map +1 -1
  333. package/dist/redesign-capture.d.ts +145 -15
  334. package/dist/redesign-capture.d.ts.map +1 -1
  335. package/dist/redesign-capture.js +182 -71
  336. package/dist/redesign-capture.js.map +1 -1
  337. package/dist/redesign-workspace.d.ts +13 -0
  338. package/dist/redesign-workspace.d.ts.map +1 -1
  339. package/dist/redesign-workspace.js +14 -0
  340. package/dist/redesign-workspace.js.map +1 -1
  341. package/dist/responsive-alternative-materializer.d.ts +8 -3
  342. package/dist/responsive-alternative-materializer.d.ts.map +1 -1
  343. package/dist/responsive-alternative-materializer.js +68 -51
  344. package/dist/responsive-alternative-materializer.js.map +1 -1
  345. package/dist/result-integrity.d.ts +38 -0
  346. package/dist/result-integrity.d.ts.map +1 -0
  347. package/dist/result-integrity.js +46 -0
  348. package/dist/result-integrity.js.map +1 -0
  349. package/dist/review-edit-source.d.ts.map +1 -1
  350. package/dist/review-edit-source.js +6 -2
  351. package/dist/review-edit-source.js.map +1 -1
  352. package/dist/review-edit.js +2 -2
  353. package/dist/review-edit.js.map +1 -1
  354. package/dist/review-prototype-gap.js +1 -1
  355. package/dist/review-prototype-gap.js.map +1 -1
  356. package/dist/spend-run-filter.d.ts +21 -0
  357. package/dist/spend-run-filter.d.ts.map +1 -0
  358. package/dist/spend-run-filter.js +65 -0
  359. package/dist/spend-run-filter.js.map +1 -0
  360. package/dist/spend-scoped-report-lines.d.ts +4 -0
  361. package/dist/spend-scoped-report-lines.d.ts.map +1 -0
  362. package/dist/spend-scoped-report-lines.js +46 -0
  363. package/dist/spend-scoped-report-lines.js.map +1 -0
  364. package/dist/spend-scoped-report.d.ts +28 -0
  365. package/dist/spend-scoped-report.d.ts.map +1 -0
  366. package/dist/spend-scoped-report.js +45 -0
  367. package/dist/spend-scoped-report.js.map +1 -0
  368. package/open-design.json +2 -2
  369. package/package.json +5 -5
  370. package/skills/12ui-design/SKILL.md +8 -4
  371. package/skills/12ui-design/improve.md +50 -3
  372. package/dist/improve-dom-anchor.d.ts.map +0 -1
  373. package/dist/improve-dom-anchor.js.map +0 -1
  374. package/dist/improve-dom-extract.d.ts.map +0 -1
  375. package/dist/improve-dom-extract.js.map +0 -1
  376. package/dist/improve-dom-neighbour.d.ts.map +0 -1
  377. package/dist/improve-dom-neighbour.js.map +0 -1
  378. package/dist/improve-dom-scale.d.ts.map +0 -1
  379. package/dist/improve-dom-scale.js.map +0 -1
  380. package/dist/improve-icon-svg.d.ts +0 -47
  381. package/dist/improve-icon-svg.d.ts.map +0 -1
  382. package/dist/improve-icon-svg.js.map +0 -1
  383. package/dist/improve-layerdoc-diff.d.ts.map +0 -1
  384. package/dist/improve-layerdoc-diff.js.map +0 -1
  385. package/dist/improve-layerdoc-types.d.ts.map +0 -1
  386. package/dist/improve-layerdoc-types.js +0 -2
  387. package/dist/improve-layerdoc-types.js.map +0 -1
  388. package/dist/improve-plan-annotated-render.d.ts.map +0 -1
  389. package/dist/improve-plan-render.d.ts.map +0 -1
  390. package/dist/improve-plan-render.js.map +0 -1
  391. package/dist/improve-raster-layers-section.d.ts.map +0 -1
  392. package/dist/improve-raster-layers-section.js.map +0 -1
  393. package/dist/improve-token-patch.d.ts.map +0 -1
  394. package/dist/improve-token-patch.js.map +0 -1
  395. /package/dist/{improve-dom-anchor.d.ts → improve-core/improve-dom-anchor.d.ts} +0 -0
  396. /package/dist/{improve-dom-extract.d.ts → improve-core/improve-dom-extract.d.ts} +0 -0
  397. /package/dist/{improve-dom-neighbour.d.ts → improve-core/improve-dom-neighbour.d.ts} +0 -0
  398. /package/dist/{improve-dom-scale.d.ts → improve-core/improve-dom-scale.d.ts} +0 -0
  399. /package/dist/{improve-layerdoc-diff.d.ts → improve-core/improve-layerdoc-diff.d.ts} +0 -0
  400. /package/dist/{improve-token-patch.d.ts → improve-core/improve-token-patch.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"draft-run.js","sourceRoot":"","sources":["../src/draft-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-run.js","sourceRoot":"","sources":["../src/draft-run.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,13 @@ export declare const hostedDraftRunKey: (args: {
18
18
  candidates: readonly HostedDraftCandidateSpecInput[];
19
19
  referenceImageSha256?: string;
20
20
  retainIdentity?: string;
21
+ /**
22
+ * The attached page's own visible text, when improve carried it. Different
23
+ * words are a different image prompt and therefore a different purchase, so
24
+ * they belong in the paid identity — and they are APPENDED ONLY WHEN PRESENT
25
+ * so every key claimed before this existed still hashes to the same run and
26
+ * replays instead of re-buying (CLAUDE.md item 3).
27
+ */
28
+ pageWords?: string;
21
29
  }) => string;
22
30
  //# sourceMappingURL=hosted-draft-identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-draft-identity.d.ts","sourceRoot":"","sources":["../src/hosted-draft-identity.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,oBAAoB,CAAC;AAEhE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAcF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,MAeO,CAAC"}
1
+ {"version":3,"file":"hosted-draft-identity.d.ts","sourceRoot":"","sources":["../src/hosted-draft-identity.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,oBAAoB,CAAC;AAEhE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAcF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,MAgBO,CAAC"}
@@ -26,6 +26,7 @@ export const hostedDraftRunKey = (args) => [
26
26
  .sort((left, right) => left.slot.localeCompare(right.slot))
27
27
  .map(canonicalCandidate)
28
28
  .join('\u0001'),
29
+ ...(args.pageWords ? [args.pageWords] : []),
29
30
  HOSTED_DRAFT_WORKFLOW_REVISION,
30
31
  ].join('\u0002')),
31
32
  ].join(':');
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-draft-identity.js","sourceRoot":"","sources":["../src/hosted-draft-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;AAUhE,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,UAAU,GAAG,EAAE,EAAU,EAAE,CAAC,CAC9D,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CACtE,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,SAAwC,EAAU,EAAE,CAAC;IAC/E,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,SAAS,IAAI,EAAE;IACzB,SAAS,CAAC,WAAW,IAAI,EAAE;IAC3B,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;IAC9E,SAAS,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;CACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAOjC,EAAU,EAAE,CAAC;IACZ,OAAO;IACP,WAAW;IACX,WAAW,CAAC;QACV,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,IAAI,IAAI,aAAa;QAC1B,IAAI,CAAC,oBAAoB,IAAI,EAAE;QAC/B,IAAI,CAAC,cAAc,IAAI,EAAE;QACzB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aACjB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1D,GAAG,CAAC,kBAAkB,CAAC;aACvB,IAAI,CAAC,QAAQ,CAAC;QACjB,8BAA8B;KAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;CAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"hosted-draft-identity.js","sourceRoot":"","sources":["../src/hosted-draft-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;AAUhE,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,UAAU,GAAG,EAAE,EAAU,EAAE,CAAC,CAC9D,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CACtE,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,SAAwC,EAAU,EAAE,CAAC;IAC/E,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,SAAS,IAAI,EAAE;IACzB,SAAS,CAAC,WAAW,IAAI,EAAE;IAC3B,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;IAC9E,SAAS,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;CACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAejC,EAAU,EAAE,CAAC;IACZ,OAAO;IACP,WAAW;IACX,WAAW,CAAC;QACV,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,IAAI,IAAI,aAAa;QAC1B,IAAI,CAAC,oBAAoB,IAAI,EAAE;QAC/B,IAAI,CAAC,cAAc,IAAI,EAAE;QACzB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aACjB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1D,GAAG,CAAC,kBAAkB,CAAC;aACvB,IAAI,CAAC,QAAQ,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,8BAA8B;KAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;CAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -1,41 +1,13 @@
1
- import type { LayerDiffResult, LayerLeaf } from './improve-layerdoc-types.js';
2
- type HierarchyLeaf = {
3
- leaf: LayerLeaf;
4
- parentPath: string[];
5
- };
6
- export type AddedElementSpec = {
7
- designIndex: number;
8
- insertion: string;
9
- markdown: string;
10
- asset?: {
11
- kind: string;
12
- path?: string;
13
- destination?: string;
14
- resolvable: boolean;
15
- /** How the named file may be used: an external file, or inline only (F30). */
16
- usage?: 'img' | 'inline';
17
- /** The `currentColor` sibling, when the icon has both variants. */
18
- inline?: {
19
- path: string;
20
- destination: string;
21
- };
22
- /** One sentence naming which file goes where. */
23
- colorNote?: string;
24
- };
25
- };
26
- /** Flatten target leaves while retaining group ancestry for sibling placement. */
27
- export declare const flattenImproveHierarchy: (document: unknown) => HierarchyLeaf[];
28
- export declare const buildImproveAddedElementSpecs: (args: {
29
- targetDoc: unknown;
30
- designPath: string;
31
- normalizedTarget: readonly LayerLeaf[];
32
- before: readonly LayerLeaf[];
33
- canvas: {
34
- width: number;
35
- height: number;
36
- };
37
- diff: LayerDiffResult;
38
- outDir: string;
39
- }) => Promise<AddedElementSpec[]>;
40
- export {};
1
+ import type { ImproveAssetResolver } from './improve-core/index.js';
2
+ export { buildImproveAddedElementSpecs, flattenImproveHierarchy, improveArtifactIds, type AddedElementSpec, type ImproveAssetResolver, } from './improve-core/index.js';
3
+ /**
4
+ * Resolves an added element's extracted raster against what the conversion left
5
+ * beside the target design.
6
+ *
7
+ * The manifest is the declaration and the directory is the fact, so a declared
8
+ * `localPath` only wins if it is really there; otherwise the artifact id's own
9
+ * file is looked up by prefix. Both reads happen once per plan rather than once
10
+ * per leaf, and synchronously, because the plan core is synchronous by design.
11
+ */
12
+ export declare const createImproveAssetResolver: (designPath: string) => ImproveAssetResolver;
41
13
  //# sourceMappingURL=improve-added-specs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"improve-added-specs.d.ts","sourceRoot":"","sources":["../src/improve-added-specs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE9E,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,8EAA8E;QAC9E,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;QACzB,mEAAmE;QACnE,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,iDAAiD;QACjD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,GAAI,UAAU,OAAO,KAAG,aAAa,EAexE,CAAC;AA+GF,eAAO,MAAM,6BAA6B,GAAU,MAAM;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,OAAO,CAAC,gBAAgB,EAAE,CAoE7B,CAAC"}
1
+ {"version":3,"file":"improve-added-specs.d.ts","sourceRoot":"","sources":["../src/improve-added-specs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,KAAG,oBAgD/D,CAAC"}
@@ -1,183 +1,74 @@
1
- import { mkdir, readFile, readdir, stat, writeFile } from 'node:fs/promises';
1
+ import { readdirSync, readFileSync, statSync } from 'node:fs';
2
2
  import path from 'node:path';
3
- import { insertionAnchor, selectorLabel, domPx } from './improve-dom-anchor.js';
4
- import { improveIconSvgVariants } from './improve-icon-svg.js';
5
- /** Flatten target leaves while retaining group ancestry for sibling placement. */
6
- export const flattenImproveHierarchy = (document) => {
7
- const layers = document && typeof document === 'object' && 'layers' in document
8
- && Array.isArray(document.layers) ? document.layers : [];
9
- const output = [];
10
- const visit = (nodes, parents) => {
11
- nodes.forEach((node, index) => {
12
- if (!node || typeof node !== 'object')
13
- return;
14
- const leaf = node;
15
- if (leaf.kind === 'group' && Array.isArray(leaf.children)) {
16
- visit(leaf.children, [...parents, `${leaf.name ?? 'group'}[${index}]`]);
17
- }
18
- else
19
- output.push({ leaf, parentPath: parents });
20
- });
21
- };
22
- visit(layers, []);
23
- return output;
24
- };
25
- const commonDepth = (left, right) => {
26
- let index = 0;
27
- while (index < left.length && left[index] === right[index])
28
- index += 1;
29
- return index;
30
- };
31
- const insertionFor = (args) => {
32
- const target = args.normalizedTarget[args.designIndex];
33
- const siblings = args.diff.matched.filter((entry) => args.before[entry.beforeIndex]?.dom)
34
- .map((entry) => ({
35
- entry,
36
- depth: commonDepth(args.hierarchy[args.designIndex]?.parentPath ?? [], args.hierarchy[entry.afterIndex]?.parentPath ?? []),
37
- distance: target?.box && args.normalizedTarget[entry.afterIndex]?.box
38
- ? Math.hypot(target.box[0] - args.normalizedTarget[entry.afterIndex].box[0], target.box[1] - args.normalizedTarget[entry.afterIndex].box[1])
39
- : Number.POSITIVE_INFINITY,
40
- }))
41
- .sort((left, right) => right.depth - left.depth || left.distance - right.distance);
42
- const sibling = siblings[0];
43
- if (sibling) {
44
- const siblingBox = args.normalizedTarget[sibling.entry.afterIndex]?.box;
45
- const relation = target?.box && siblingBox
46
- && (target.box[1] < siblingBox[1] || (target.box[1] === siblingBox[1] && target.box[0] < siblingBox[0]))
47
- ? 'before'
48
- : 'after';
49
- return `${relation} ${selectorLabel(args.before[sibling.entry.beforeIndex])}`;
3
+ export { buildImproveAddedElementSpecs, flattenImproveHierarchy, improveArtifactIds, } from './improve-core/index.js';
4
+ const exists = (file) => {
5
+ try {
6
+ return statSync(file).isFile();
50
7
  }
51
- if (target?.box) {
52
- const fallback = insertionAnchor(target.box, args.before);
53
- if (fallback.container >= 0)
54
- return `inside ${selectorLabel(args.before[fallback.container])}`;
8
+ catch {
9
+ return false;
55
10
  }
56
- return 'unresolved — no matched parent or sibling selector';
57
- };
58
- const shown = (value, suffix = '') => value === undefined || value === null || value === ''
59
- ? 'not specified'
60
- : `${typeof value === 'object' ? JSON.stringify(value) : String(value)}${suffix}`;
61
- const exists = async (file) => Boolean(await stat(file).then(() => true).catch(() => false));
62
- const artifactIds = (leaf) => {
63
- const artifacts = leaf.artifacts;
64
- if (!artifacts || typeof artifacts !== 'object' || Array.isArray(artifacts))
65
- return [];
66
- const preference = ['cutout', 'region2x', 'crop'];
67
- return Object.entries(artifacts).flatMap(([name, value]) => (value && typeof value === 'object' && !Array.isArray(value)
68
- && typeof value.artifactId === 'string'
69
- ? [{ name, id: value.artifactId }]
70
- : [])).sort((left, right) => {
71
- const leftIndex = preference.indexOf(left.name);
72
- const rightIndex = preference.indexOf(right.name);
73
- return (leftIndex < 0 ? preference.length : leftIndex)
74
- - (rightIndex < 0 ? preference.length : rightIndex);
75
- }).map((entry) => entry.id);
76
11
  };
77
- const rasterAsset = async (leaf, designPath) => {
78
- const ids = artifactIds(leaf);
79
- if (ids.length === 0)
80
- return undefined;
12
+ /**
13
+ * Resolves an added element's extracted raster against what the conversion left
14
+ * beside the target design.
15
+ *
16
+ * The manifest is the declaration and the directory is the fact, so a declared
17
+ * `localPath` only wins if it is really there; otherwise the artifact id's own
18
+ * file is looked up by prefix. Both reads happen once per plan rather than once
19
+ * per leaf, and synchronously, because the plan core is synchronous by design.
20
+ */
21
+ export const createImproveAssetResolver = (designPath) => {
81
22
  const directory = `${designPath}.assets`;
82
- const manifest = await readFile(path.join(directory, 'manifest.json'), 'utf8')
83
- .then((raw) => JSON.parse(raw))
84
- .catch(() => ({ artifacts: [] }));
85
- for (const id of ids) {
86
- const declared = manifest.artifacts?.find((entry) => entry.id === id)?.localPath;
87
- const declaredPath = declared
88
- ? (path.isAbsolute(declared) ? declared : path.resolve(directory, declared))
89
- : undefined;
90
- if (declaredPath && await exists(declaredPath)) {
91
- return {
92
- kind: `extracted artifact ${id}`,
93
- path: declaredPath,
94
- destination: `src/assets/design/${path.basename(declaredPath)}`,
95
- resolvable: true,
96
- };
23
+ let manifest;
24
+ let names;
25
+ const readManifest = () => {
26
+ if (manifest)
27
+ return manifest;
28
+ try {
29
+ manifest = JSON.parse(readFileSync(path.join(directory, 'manifest.json'), 'utf8'));
97
30
  }
98
- const fallback = await readdir(directory)
99
- .then((names) => names.find((name) => name.startsWith(`${id}-`)))
100
- .catch(() => undefined);
101
- if (fallback) {
102
- const assetPath = path.resolve(directory, fallback);
103
- return {
104
- kind: `extracted artifact ${id}`,
105
- path: assetPath,
106
- destination: `src/assets/design/${fallback}`,
107
- resolvable: true,
108
- };
31
+ catch {
32
+ manifest = { artifacts: [] };
109
33
  }
110
- }
111
- return { kind: `unresolved extracted artifact (${ids.join(', ')})`, resolvable: false };
112
- };
113
- export const buildImproveAddedElementSpecs = async (args) => {
114
- const hierarchy = flattenImproveHierarchy(args.targetDoc);
115
- const matched = new Set(args.diff.matched.map((entry) => entry.afterIndex));
116
- const specs = [];
117
- for (const [designIndex, entry] of hierarchy.entries()) {
118
- if (matched.has(designIndex))
119
- continue;
120
- const leaf = entry.leaf;
121
- let asset = await rasterAsset(leaf, args.designPath);
122
- if (typeof leaf.iconSvg === 'string' && leaf.iconSvg.trim()) {
123
- const assetDir = path.join(args.outDir, 'assets');
124
- const stem = `added-${String(designIndex).padStart(3, '0')}-${(leaf.content ?? 'icon')
125
- .toLowerCase().replace(/[^a-z0-9]+/gu, '-').replace(/^-+|-+$/gu, '') || 'icon'}`;
126
- // A single `currentColor` file rendered black wherever the kit told a
127
- // lane to put it (F30). The layer declares its colour, so both forms are
128
- // written and the spec says which is which.
129
- const variants = improveIconSvgVariants({ svg: leaf.iconSvg, color: leaf.color, stem });
130
- await mkdir(assetDir, { recursive: true });
131
- for (const file of variants.files) {
132
- await writeFile(path.join(assetDir, file.name), `${file.svg}\n`, 'utf8');
133
- }
134
- const inline = variants.inline && variants.inline.name !== variants.primary.name
135
- ? {
136
- path: path.join(assetDir, variants.inline.name),
137
- destination: `src/assets/design/${variants.inline.name}`,
138
- }
34
+ return manifest;
35
+ };
36
+ const readNames = () => {
37
+ if (names)
38
+ return names;
39
+ try {
40
+ names = readdirSync(directory);
41
+ }
42
+ catch {
43
+ names = [];
44
+ }
45
+ return names;
46
+ };
47
+ return (artifactIds) => {
48
+ for (const id of artifactIds) {
49
+ const declared = readManifest().artifacts?.find((entry) => entry.id === id)?.localPath;
50
+ const declaredPath = declared
51
+ ? (path.isAbsolute(declared) ? declared : path.resolve(directory, declared))
139
52
  : undefined;
140
- asset = {
141
- kind: variants.color
142
- ? `inline iconSvg materialized as SVG, painted ${variants.color}`
143
- : 'inline iconSvg materialized as SVG',
144
- path: path.join(assetDir, variants.primary.name),
145
- destination: `src/assets/design/${variants.primary.name}`,
146
- resolvable: true,
147
- usage: variants.primary.usage,
148
- ...(inline ? { inline } : {}),
149
- colorNote: variants.note,
150
- };
53
+ if (declaredPath && exists(declaredPath)) {
54
+ return {
55
+ kind: `extracted artifact ${id}`,
56
+ path: declaredPath,
57
+ destination: `src/assets/design/${path.basename(declaredPath)}`,
58
+ resolvable: true,
59
+ };
60
+ }
61
+ const fallback = readNames().find((name) => name.startsWith(`${id}-`));
62
+ if (fallback) {
63
+ return {
64
+ kind: `extracted artifact ${id}`,
65
+ path: path.resolve(directory, fallback),
66
+ destination: `src/assets/design/${fallback}`,
67
+ resolvable: true,
68
+ };
69
+ }
151
70
  }
152
- const insertion = insertionFor({
153
- designIndex,
154
- hierarchy,
155
- normalizedTarget: args.normalizedTarget,
156
- before: args.before,
157
- diff: args.diff,
158
- });
159
- const markdown = [
160
- `### Added ${designIndex}: ${leaf.kind ?? 'layer'} — ${shown(leaf.content)}`,
161
- '',
162
- `- Kind: \`${leaf.kind ?? 'layer'}\``,
163
- `- Content: ${shown(leaf.content)}`,
164
- `- Box: target-design px ${shown(leaf.box)}; DOM-frame px ${shown(domPx(args.normalizedTarget[designIndex]?.box, args.canvas))}`,
165
- `- Insert: ${insertion}`,
166
- `- Typography: font-family ${shown(leaf.googleFontFamily)}; font-size ${shown(leaf.fontSizePx, leaf.fontSizePx === undefined ? '' : 'px')}; fitted-font-size ${shown(leaf.fittedFontSizePx, leaf.fittedFontSizePx === undefined ? '' : 'px')}; font-weight ${shown(leaf.fontWeight)}; color ${shown(leaf.color)}; align ${shown(leaf.align)}`,
167
- `- Style map: \`${JSON.stringify(leaf.style ?? {})}\``,
168
- `- Visual fields: surface ${shown(leaf.surface)}; opacity ${shown(leaf.opacity)}; rotation ${shown(leaf.rotationDeg, leaf.rotationDeg === undefined ? '' : 'deg')}`,
169
- asset?.path
170
- ? `- Asset: ${asset.kind}; absolute path \`${asset.path}\`; suggested destination \`${asset.destination}\`; resolvable: yes`
171
- : asset
172
- ? `- Asset: ${asset.kind}; absolute path unresolved; suggested destination unresolved; resolvable: no`
173
- : '- Asset: none referenced by the target node',
174
- ...(asset?.inline
175
- ? [`- Inline variant: absolute path \`${asset.inline.path}\`; suggested destination \`${asset.inline.destination}\``]
176
- : []),
177
- ...(asset?.colorNote ? [`- Colour: ${asset.colorNote}`] : []),
178
- ].join('\n');
179
- specs.push({ designIndex, insertion, markdown, ...(asset ? { asset } : {}) });
180
- }
181
- return specs;
71
+ return undefined;
72
+ };
182
73
  };
183
74
  //# sourceMappingURL=improve-added-specs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"improve-added-specs.js","sourceRoot":"","sources":["../src/improve-added-specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-added-specs.js","sourceRoot":"","sources":["../src/improve-added-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ImproveArtifactMap } from './improve-core/index.js';
2
+ /**
3
+ * Realizes a plan-core artifact map under a run directory.
4
+ *
5
+ * The core decides every byte and every relative path; this decides only where
6
+ * the directory is. The returned absolute paths keep the order the map declared
7
+ * them in, because the improve record lists artifacts in the order a reader
8
+ * should meet them.
9
+ */
10
+ export declare const writeImproveArtifactMap: (outDir: string, map: ImproveArtifactMap) => Promise<string[]>;
11
+ /** The absolute path a relative artifact key will land on, for rendered prose. */
12
+ export declare const improveDescribePath: (outDir: string) => (relativePath: string) => string;
13
+ //# sourceMappingURL=improve-artifact-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-artifact-writer.d.ts","sourceRoot":"","sources":["../src/improve-artifact-writer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,EACd,KAAK,kBAAkB,KACtB,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,MAAM,cAAc,MAAM,KAAG,MAE9E,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { mkdir, rm, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ /**
4
+ * Realizes a plan-core artifact map under a run directory.
5
+ *
6
+ * The core decides every byte and every relative path; this decides only where
7
+ * the directory is. The returned absolute paths keep the order the map declared
8
+ * them in, because the improve record lists artifacts in the order a reader
9
+ * should meet them.
10
+ */
11
+ export const writeImproveArtifactMap = async (outDir, map) => {
12
+ await mkdir(outDir, { recursive: true });
13
+ await Promise.all(map.remove.map((relativePath) => (rm(path.join(outDir, ...relativePath.split('/')), { force: true }))));
14
+ const entries = Object.entries(map.files).map(([relativePath, contents]) => ({
15
+ absolute: path.join(outDir, ...relativePath.split('/')),
16
+ contents,
17
+ }));
18
+ await Promise.all([...new Set(entries.map((entry) => path.dirname(entry.absolute)))]
19
+ .map((directory) => mkdir(directory, { recursive: true })));
20
+ await Promise.all(entries.map((entry) => (typeof entry.contents === 'string'
21
+ ? writeFile(entry.absolute, entry.contents, 'utf8')
22
+ : writeFile(entry.absolute, entry.contents))));
23
+ return entries.map((entry) => entry.absolute);
24
+ };
25
+ /** The absolute path a relative artifact key will land on, for rendered prose. */
26
+ export const improveDescribePath = (outDir) => (relativePath) => (path.join(outDir, ...relativePath.split('/')));
27
+ //# sourceMappingURL=improve-artifact-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-artifact-writer.js","sourceRoot":"","sources":["../src/improve-artifact-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAc,EACd,GAAuB,EACJ,EAAE;IACrB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACjD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CACnE,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvD,QAAQ;KACT,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjF,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACvC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAChC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC9C,CAAC,CAAC,CAAC;IACJ,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,YAAoB,EAAU,EAAE,CAAC,CACvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAC9C,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ImproveRecord } from './improve-workspace.js';
2
+ /** Does the supplied live bootstrap name the same free capture identity? */
3
+ export declare const improveBootstrapChanged: (record: ImproveRecord, values: readonly string[]) => boolean;
4
+ /**
5
+ * The stage ledger is the durable authority for whether the capture has become
6
+ * the input to paid work. Older draft records settle without `dispatchedAt`,
7
+ * so price is the portable fact rather than a timestamp implementation detail.
8
+ */
9
+ export declare const hasImprovePaidStage: (record: ImproveRecord) => boolean;
10
+ /**
11
+ * Replacing a bootstrap is safe only before its free capture has fed paid
12
+ * work. Keep the old redacted/digested identity for audit, invalidate every
13
+ * capture-derived record, and let the ordinary capture stage overwrite files
14
+ * in the same kit.
15
+ */
16
+ export declare const rebootstrapImproveRecord: (args: {
17
+ record: ImproveRecord;
18
+ bootstrapValues: readonly string[];
19
+ now?: () => string;
20
+ }) => ImproveRecord;
21
+ //# sourceMappingURL=improve-bootstrap-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-bootstrap-history.d.ts","sourceRoot":"","sources":["../src/improve-bootstrap-history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,GAAI,QAAQ,aAAa,EAAE,QAAQ,SAAS,MAAM,EAAE,KAAG,OAE1F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,KAAG,OAS3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM;IAC7C,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,KAAG,aAkBH,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { improveBootstrapDigest, improveBootstrapRecordFields } from './improve-bootstrap-secret.js';
2
+ import { withoutImproveStages } from './improve-reset.js';
3
+ /** Does the supplied live bootstrap name the same free capture identity? */
4
+ export const improveBootstrapChanged = (record, values) => (JSON.stringify(record.bootstrapSha256 ?? []) !== JSON.stringify(values.map(improveBootstrapDigest)));
5
+ /**
6
+ * The stage ledger is the durable authority for whether the capture has become
7
+ * the input to paid work. Older draft records settle without `dispatchedAt`,
8
+ * so price is the portable fact rather than a timestamp implementation detail.
9
+ */
10
+ export const hasImprovePaidStage = (record) => (Object.values(record.stages).some((stage) => (stage?.priceCeilingUsd ?? 0) > 0)
11
+ // A pre-ledger kit can still prove that a paid stage settled. Treat those
12
+ // artifacts as immutable too rather than trusting an absent old price.
13
+ || record.draft !== undefined
14
+ || record.branch !== undefined
15
+ || (record.convert?.purchaseIds.length ?? 0) > 0
16
+ || (record.sourceConvert?.purchaseIds.length ?? 0) > 0
17
+ || (record.plan?.purchaseIds.length ?? 0) > 0);
18
+ /**
19
+ * Replacing a bootstrap is safe only before its free capture has fed paid
20
+ * work. Keep the old redacted/digested identity for audit, invalidate every
21
+ * capture-derived record, and let the ordinary capture stage overwrite files
22
+ * in the same kit.
23
+ */
24
+ export const rebootstrapImproveRecord = (args) => {
25
+ const reset = withoutImproveStages(args.record, ['draft', 'pick', 'branch', 'convert', 'plan', 'site']);
26
+ const stages = Object.fromEntries(Object.entries(reset.stages).filter(([stage]) => stage !== 'capture'));
27
+ return {
28
+ ...reset,
29
+ ...improveBootstrapRecordFields(args.bootstrapValues),
30
+ bootstrapHistory: [
31
+ ...(args.record.bootstrapHistory ?? []),
32
+ {
33
+ bootstrap: [...args.record.bootstrap],
34
+ ...(args.record.bootstrapSha256 === undefined ? {} : { bootstrapSha256: [...args.record.bootstrapSha256] }),
35
+ replacedAt: (args.now ?? (() => new Date().toISOString()))(),
36
+ },
37
+ ],
38
+ capture: undefined,
39
+ pages: reset.pages.map((page) => ({ ...page, capture: undefined })),
40
+ stages,
41
+ };
42
+ };
43
+ //# sourceMappingURL=improve-bootstrap-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-bootstrap-history.js","sourceRoot":"","sources":["../src/improve-bootstrap-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAqB,EAAE,MAAyB,EAAW,EAAE,CAAC,CACpG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CACpG,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAqB,EAAW,EAAE,CAAC,CACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/E,0EAA0E;IAC1E,uEAAuE;OACpE,MAAM,CAAC,KAAK,KAAK,SAAS;OAC1B,MAAM,CAAC,MAAM,KAAK,SAAS;OAC3B,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;OAC7C,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;OACnD,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAC9C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAIxC,EAAiB,EAAE;IAClB,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxG,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;IACzG,OAAO;QACL,GAAG,KAAK;QACR,GAAG,4BAA4B,CAAC,IAAI,CAAC,eAAe,CAAC;QACrD,gBAAgB,EAAE;YAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACvC;gBACE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3G,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;aAC7D;SACF;QACD,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ImproveOptions } from './improve-options.js';
2
+ import { type ImproveCommandDependencies } from './improve-stage-shared.js';
3
+ import { type ImproveRecord } from './improve-workspace.js';
4
+ export declare const runImproveBranchStage: (args: {
5
+ record: ImproveRecord;
6
+ options: ImproveOptions;
7
+ dependencies: ImproveCommandDependencies;
8
+ price: number;
9
+ }) => Promise<ImproveRecord>;
10
+ //# sourceMappingURL=improve-branch-stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-branch-stage.d.ts","sourceRoot":"","sources":["../src/improve-branch-stage.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAmC,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC7G,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA6KlG,eAAO,MAAM,qBAAqB,GAAU,MAAM;IAChD,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CAqLxB,CAAC"}