@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
@@ -0,0 +1,152 @@
1
+ // GENERATED — do not edit. Copied verbatim from
2
+ // packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
3
+ import { flattenLayerDoc } from './improve-layerdoc-diff.js';
4
+ const SHELL_REGION = /(?:^|[-_:/.#\s>])(header|nav(?:igation)?|sidebar|footer)(?:$|[-_:/.#\s>])/iu;
5
+ const selectorKinds = new Set(['id', 'testid', 'class', 'path']);
6
+ const compareText = (left, right) => left.localeCompare(right, 'en');
7
+ const normalizeContent = (value) => typeof value === 'string'
8
+ ? value.replace(/\s+/gu, ' ').trim().toLowerCase()
9
+ : '';
10
+ const isRecord = (value) => (Boolean(value) && typeof value === 'object' && !Array.isArray(value));
11
+ const asDeltas = (value) => Array.isArray(value)
12
+ ? value.flatMap((item) => isRecord(item) && typeof item.field === 'string'
13
+ ? [{ field: item.field, before: item.before, after: item.after }]
14
+ : [])
15
+ : [];
16
+ const isShellRegion = (change) => {
17
+ const identity = [
18
+ change.selector,
19
+ change.classSelector ?? '',
20
+ change.tag ?? '',
21
+ change.path ?? '',
22
+ ...(change.classList ?? []),
23
+ ].join(' ');
24
+ return SHELL_REGION.test(identity);
25
+ };
26
+ const selectorFor = (change) => (change.selectorKind === 'path' && change.classSelector ? change.classSelector : change.selector);
27
+ const signature = (change) => JSON.stringify([
28
+ change.selectorKind,
29
+ selectorFor(change),
30
+ normalizeContent(change.content),
31
+ ]);
32
+ const deltaSummary = (change) => [
33
+ ...change.deltas,
34
+ ...(change.impliedPadding ?? []),
35
+ ].map((delta) => `${delta.field} ${JSON.stringify(delta.before)}→${JSON.stringify(delta.after)}`).join(', ')
36
+ || 'no declared delta';
37
+ /**
38
+ * Retains only changed, shell-region entries that recur on two or more distinct
39
+ * pages. The signature deliberately includes content so identical selector names
40
+ * do not merge unrelated navigation items.
41
+ */
42
+ export const detectImproveSiteSharedShell = (changes) => {
43
+ const groups = new Map();
44
+ for (const change of changes) {
45
+ if (!isShellRegion(change))
46
+ continue;
47
+ const key = signature(change);
48
+ groups.set(key, [...(groups.get(key) ?? []), change]);
49
+ }
50
+ return [...groups.values()].flatMap((group) => {
51
+ const pages = [...new Set(group.map((change) => change.pageId))].sort(compareText);
52
+ if (pages.length < 2)
53
+ return [];
54
+ const first = group[0];
55
+ if (!first)
56
+ return [];
57
+ return [{
58
+ selectorKind: first.selectorKind,
59
+ selector: selectorFor(first),
60
+ content: normalizeContent(first.content),
61
+ pages,
62
+ changes: [...group].sort((left, right) => compareText(left.pageId, right.pageId)),
63
+ }];
64
+ }).sort((left, right) => (compareText(left.selector, right.selector)
65
+ || compareText(left.content, right.content)
66
+ || compareText(left.selectorKind, right.selectorKind)));
67
+ };
68
+ /** Alias matching the artifact name used by the site stage. */
69
+ export const findImproveSiteSharedShell = detectImproveSiteSharedShell;
70
+ export const renderImproveSiteSharedShell = (changes, relativePath = (file) => file) => {
71
+ const lines = [
72
+ '# Shared shell changes', '',
73
+ 'These matched shell changes recur across pages. Apply each one once in the shared header, navigation, sidebar, or footer component; the linked page plans remain the complete per-page evidence.', '',
74
+ ];
75
+ if (changes.length === 0) {
76
+ lines.push('_No changed header, navigation, sidebar, or footer selector recurred on two pages._', '');
77
+ return lines.join('\n');
78
+ }
79
+ changes.forEach((change, index) => {
80
+ lines.push(`## ${index + 1}. \`${change.selector}\`${change.content ? ` — ${change.content}` : ''}`, '');
81
+ lines.push(`- Selector kind: \`${change.selectorKind}\``);
82
+ lines.push(`- Pages: ${change.pages.map((pageId) => {
83
+ const source = change.changes.find((entry) => entry.pageId === pageId);
84
+ return source?.planPath ? `[${pageId}](${relativePath(source.planPath)})` : pageId;
85
+ }).join(', ')}`);
86
+ lines.push(`- Change: ${deltaSummary(change.changes[0])}`);
87
+ lines.push('- Status: **shared — apply once**. Do not repeat this implementation in the per-page residue.', '');
88
+ });
89
+ return lines.join('\n');
90
+ };
91
+ /**
92
+ * Turns each page's settled plan JSON into shell-change candidates. A page with
93
+ * no diff contributes nothing — that is the normal shape of a blocked or failed
94
+ * page, not an error.
95
+ */
96
+ export const parseImproveSiteShellChanges = (sources) => sources.flatMap((source) => {
97
+ if (!source.diffText)
98
+ return [];
99
+ const document = JSON.parse(source.diffText);
100
+ if (!isRecord(document) || !Array.isArray(document.matched))
101
+ return [];
102
+ const beforeLeaves = source.currentDomDocText
103
+ ? flattenLayerDoc(JSON.parse(source.currentDomDocText))
104
+ : [];
105
+ return document.matched.flatMap((entry) => {
106
+ if (!isRecord(entry) || !isRecord(entry.before))
107
+ return [];
108
+ const impliedPadding = asDeltas(entry.impliedPadding);
109
+ if (entry.changed !== true && impliedPadding.length === 0)
110
+ return [];
111
+ const before = typeof entry.beforeIndex === 'number' ? beforeLeaves[entry.beforeIndex] : undefined;
112
+ const dom = isRecord(before?.dom)
113
+ ? before.dom
114
+ : isRecord(entry.before.dom)
115
+ ? entry.before.dom
116
+ : undefined;
117
+ const selectorKind = dom?.selectorKind;
118
+ const selector = dom?.selector;
119
+ if (typeof selectorKind !== 'string' || !selectorKinds.has(selectorKind)
120
+ || typeof selector !== 'string')
121
+ return [];
122
+ const classSelector = typeof dom?.classSelector === 'string' ? dom.classSelector : undefined;
123
+ const tag = typeof dom?.tag === 'string' ? dom.tag : undefined;
124
+ const domPath = typeof dom?.path === 'string' ? dom.path : undefined;
125
+ const classList = Array.isArray(dom?.classList)
126
+ ? dom.classList.filter((value) => typeof value === 'string')
127
+ : undefined;
128
+ const content = typeof before?.content === 'string'
129
+ ? before.content
130
+ : typeof entry.before.content === 'string'
131
+ ? entry.before.content
132
+ : typeof entry.after === 'object' && entry.after && !Array.isArray(entry.after)
133
+ && typeof entry.after.content === 'string'
134
+ ? entry.after.content
135
+ : undefined;
136
+ return [{
137
+ pageId: source.pageId,
138
+ selectorKind: selectorKind,
139
+ selector,
140
+ ...(classSelector ? { classSelector } : {}),
141
+ ...(tag ? { tag } : {}),
142
+ ...(domPath ? { path: domPath } : {}),
143
+ ...(classList && classList.length > 0 ? { classList } : {}),
144
+ ...(content === undefined ? {} : { content }),
145
+ deltas: asDeltas(entry.deltas),
146
+ impliedPadding,
147
+ ...(source.planPath ? { planPath: source.planPath } : {}),
148
+ }];
149
+ });
150
+ });
151
+ export const IMPROVE_SITE_SHARED_SHELL_FILE = 'shared-shell.md';
152
+ //# sourceMappingURL=improve-site-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-site-shell.js","sourceRoot":"","sources":["../../src/improve-core/improve-site-shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Site token roll-up. Reading each page's `token-patch.css` and writing the
3
+ * combined `tokens.css` are host jobs; deciding what the combination IS lives
4
+ * here so the CLI kit and the browser kit cannot disagree.
5
+ */
6
+ export type ImproveSiteTokenPatch = {
7
+ pageId: string;
8
+ css: string;
9
+ };
10
+ export type ImproveSiteToken = {
11
+ /** The custom-property name as it appears in the page token patch. */
12
+ property: string;
13
+ /** Alias retained for callers that describe CSS declarations by name. */
14
+ name: string;
15
+ value: string;
16
+ pages: string[];
17
+ };
18
+ export type ImproveSiteTokenConflict = {
19
+ property: string;
20
+ name: string;
21
+ values: Array<{
22
+ value: string;
23
+ pages: string[];
24
+ }>;
25
+ emittedValue: string;
26
+ hasMajority: boolean;
27
+ };
28
+ export type ImproveSiteTokenRollup = {
29
+ css: string;
30
+ tokens: ImproveSiteToken[];
31
+ conflicts: ImproveSiteTokenConflict[];
32
+ imports: string[];
33
+ };
34
+ /**
35
+ * Combines the per-page :root token declarations. A property/value pair is
36
+ * represented once regardless of how many pages proposed it. When the same
37
+ * property carries different values, the value present on the most pages is
38
+ * the emitted value and every candidate is kept in the CSS conflicts block.
39
+ */
40
+ export declare const mergeImproveSiteTokens: (patches: readonly ImproveSiteTokenPatch[]) => ImproveSiteTokenRollup;
41
+ /** Alias using the noun first at the site-stage call boundary. */
42
+ export declare const mergeSiteImproveTokens: (patches: readonly ImproveSiteTokenPatch[]) => ImproveSiteTokenRollup;
43
+ export declare const IMPROVE_SITE_TOKENS_FILE = "tokens.css";
44
+ //# sourceMappingURL=improve-site-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-site-tokens.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-site-tokens.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AA0BF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,qBAAqB,EAAE,KACxC,sBAyDF,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,YA7DxB,SAAS,qBAAqB,EAAE,KACxC,sBA4DyD,CAAC;AAE7D,eAAO,MAAM,wBAAwB,eAAe,CAAC"}
@@ -0,0 +1,87 @@
1
+ // GENERATED — do not edit. Copied verbatim from
2
+ // packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
3
+ const declarationPattern = /^\s*(--[A-Za-z0-9_-]+)\s*:\s*([^;{}]+);/gmu;
4
+ const importPattern = /^\s*@import\s+[^;]+;/gmu;
5
+ const compareText = (left, right) => left.localeCompare(right, 'en');
6
+ const uniqueSorted = (values) => [...new Set(values)].sort(compareText);
7
+ const parseDeclarations = (css) => {
8
+ const declarations = [];
9
+ for (const root of css.matchAll(/:root\s*\{([\s\S]*?)\}/gu)) {
10
+ const body = root[1] ?? '';
11
+ for (const declaration of body.matchAll(declarationPattern)) {
12
+ const property = declaration[1];
13
+ const value = declaration[2]?.replace(/\s+/gu, ' ').trim();
14
+ if (property && value)
15
+ declarations.push({ property, value });
16
+ }
17
+ }
18
+ return declarations;
19
+ };
20
+ const parseImports = (css) => uniqueSorted([...css.matchAll(importPattern)].map((entry) => entry[0].trim()));
21
+ /**
22
+ * Combines the per-page :root token declarations. A property/value pair is
23
+ * represented once regardless of how many pages proposed it. When the same
24
+ * property carries different values, the value present on the most pages is
25
+ * the emitted value and every candidate is kept in the CSS conflicts block.
26
+ */
27
+ export const mergeImproveSiteTokens = (patches) => {
28
+ const valuesByProperty = new Map();
29
+ const imports = uniqueSorted(patches.flatMap((patch) => parseImports(patch.css)));
30
+ for (const patch of patches) {
31
+ for (const declaration of parseDeclarations(patch.css)) {
32
+ const values = valuesByProperty.get(declaration.property) ?? new Map();
33
+ const pages = values.get(declaration.value) ?? new Set();
34
+ pages.add(patch.pageId);
35
+ values.set(declaration.value, pages);
36
+ valuesByProperty.set(declaration.property, values);
37
+ }
38
+ }
39
+ const tokens = [];
40
+ const conflicts = [];
41
+ for (const [property, values] of [...valuesByProperty].sort(([left], [right]) => compareText(left, right))) {
42
+ const candidates = [...values].map(([value, pages]) => ({ value, pages: uniqueSorted(pages) }))
43
+ .sort((left, right) => right.pages.length - left.pages.length || compareText(left.value, right.value));
44
+ const selected = candidates[0];
45
+ if (!selected)
46
+ continue;
47
+ tokens.push({
48
+ property,
49
+ name: property,
50
+ value: selected.value,
51
+ pages: selected.pages,
52
+ });
53
+ if (candidates.length > 1) {
54
+ conflicts.push({
55
+ property,
56
+ name: property,
57
+ values: candidates,
58
+ emittedValue: selected.value,
59
+ hasMajority: selected.pages.length > patches.length / 2,
60
+ });
61
+ }
62
+ }
63
+ const lines = [
64
+ '/* Site-wide token roll-up. Apply through the repository theme entry point. */',
65
+ ...imports,
66
+ ...(imports.length > 0 ? [''] : []),
67
+ ':root {',
68
+ ...(tokens.length > 0
69
+ ? tokens.map((token) => ` ${token.property}: ${token.value}; /* pages: ${token.pages.join(', ')} */`)
70
+ : [' /* No CSS-capable page token patches were available. */']),
71
+ '}',
72
+ ];
73
+ if (conflicts.length > 0) {
74
+ lines.push('', '/* conflicts */');
75
+ for (const conflict of conflicts) {
76
+ const alternatives = conflict.values.map(({ value, pages }) => `${value} [${pages.join(', ')}]`).join('; ');
77
+ const selection = conflict.hasMajority ? 'majority emitted' : 'tie; deterministic value emitted';
78
+ lines.push(`/* ${conflict.property}: ${alternatives}; ${selection}: ${conflict.emittedValue} */`);
79
+ }
80
+ }
81
+ lines.push('');
82
+ return { css: lines.join('\n'), tokens, conflicts, imports };
83
+ };
84
+ /** Alias using the noun first at the site-stage call boundary. */
85
+ export const mergeSiteImproveTokens = mergeImproveSiteTokens;
86
+ export const IMPROVE_SITE_TOKENS_FILE = 'tokens.css';
87
+ //# sourceMappingURL=improve-site-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-site-tokens.js","sourceRoot":"","sources":["../../src/improve-core/improve-site-tokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Source hints are evidence, never certainty. Resolving one means reading a
3
+ * repository, so the resolver stays in `packages/12ui`; the shape it produces
4
+ * and the one line the plan renders from it live here, because the annotated
5
+ * plan is rendered by the core in both hosts. A host with no repository to
6
+ * index passes the unresolved hint.
7
+ */
8
+ export type SourceHint = {
9
+ confidence: 'high' | 'medium' | 'low' | 'unresolved';
10
+ evidence: string;
11
+ relativePath?: string;
12
+ line?: number;
13
+ sourceLine?: string;
14
+ candidateCount?: number;
15
+ ancestorDepth?: number;
16
+ };
17
+ export declare const UNRESOLVED_IMPROVE_SOURCE_HINT: SourceHint;
18
+ export declare const formatImproveSourceHint: (hint: SourceHint) => string;
19
+ /**
20
+ * The site roll-up quotes each page plan's resolved file hints. Reading the
21
+ * markdown is the caller's job; recognizing a hint in it is policy, and the
22
+ * pattern has to stay paired with what `formatImproveSourceHint` writes.
23
+ */
24
+ export declare const parseImproveSourceHintRefs: (markdown: string) => string[];
25
+ //# sourceMappingURL=improve-source-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-source-hints.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-source-hints.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,UAG5C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM,UAAU,KAAG,MAI1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,MAAM,KAAG,MAAM,EAGnE,CAAC"}
@@ -0,0 +1,17 @@
1
+ // GENERATED — do not edit. Copied verbatim from
2
+ // packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
3
+ export const UNRESOLVED_IMPROVE_SOURCE_HINT = {
4
+ confidence: 'unresolved',
5
+ evidence: 'unresolved',
6
+ };
7
+ export const formatImproveSourceHint = (hint) => (hint.confidence === 'unresolved'
8
+ ? 'file: unresolved _(confidence: unresolved)_'
9
+ : `file: \`${hint.relativePath}:${hint.line}\` _(confidence: ${hint.confidence}; ${hint.evidence})_`);
10
+ /**
11
+ * The site roll-up quotes each page plan's resolved file hints. Reading the
12
+ * markdown is the caller's job; recognizing a hint in it is policy, and the
13
+ * pattern has to stay paired with what `formatImproveSourceHint` writes.
14
+ */
15
+ export const parseImproveSourceHintRefs = (markdown) => ([...new Set([...markdown.matchAll(/file:\s*`([^`]+:\d+)`/gu)].map((match) => match[1]))]
16
+ .sort((left, right) => left.localeCompare(right, 'en')));
17
+ //# sourceMappingURL=improve-source-hints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-source-hints.js","sourceRoot":"","sources":["../../src/improve-core/improve-source-hints.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,uEAAuE;AAmBvE,MAAM,CAAC,MAAM,8BAA8B,GAAe;IACxD,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,CACnE,IAAI,CAAC,UAAU,KAAK,YAAY;IAC9B,CAAC,CAAC,6CAA6C;IAC/C,CAAC,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,CACvG,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAgB,EAAY,EAAE,CAAC,CACxE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;KACtF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAC1D,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { LayerDiffMatch, LayerLeaf } from './improve-layerdoc-types.js';
2
2
  export declare const snapImproveDesignNumber: (field: string, input: unknown) => unknown;
3
3
  export declare const snapImproveDesignValue: (field: string, value: unknown) => unknown;
4
+ /** The one place the design's font family is named, and what everything else points at. */
5
+ export declare const fontTokenName: (family: string) => string;
4
6
  export type ImproveTokenPatch = {
5
7
  css: string;
6
8
  tokens: Array<{
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-token-patch.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-token-patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAU7E,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,OASvE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,OAQtE,CAAC;AAYF,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MAAqC,CAAC;AAarF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrG,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,cAAc,EAAE,EAClC,QAAQ,SAAS,SAAS,EAAE,EAC5B,QAAO,SAAS,SAAS,EAAO,KAC/B,iBAoFF,CAAC"}
@@ -1,3 +1,5 @@
1
+ // GENERATED — do not edit. Copied verbatim from
2
+ // packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
1
3
  import { aggregateRecurringDeltas } from './improve-plan-render.js';
2
4
  const cssName = (value) => value.replace(/([a-z0-9])([A-Z])/gu, '$1-$2')
3
5
  .replace(/[^A-Za-z0-9-]+/gu, '-').replace(/^-+|-+$/gu, '').toLowerCase();
@@ -38,9 +40,15 @@ const cssProperty = (field) => {
38
40
  return field;
39
41
  return undefined;
40
42
  };
43
+ /** The one place the design's font family is named, and what everything else points at. */
44
+ export const fontTokenName = (family) => `--font-${cssName(family)}`;
45
+ const fontStack = (family) => `'${family.replace(/'/gu, "\\'")}', sans-serif`;
41
46
  const cssValue = (field, value) => {
47
+ // A recurring font-family delta resolves to the family token above rather
48
+ // than repeating its stack, so a repository that swaps the loaded family
49
+ // swaps it in one declaration.
42
50
  if (field === 'googleFontFamily')
43
- return `'${String(value).replace(/'/gu, "\\'")}', sans-serif`;
51
+ return `var(${fontTokenName(String(value))})`;
44
52
  if ((field === 'fontSizePx' || field === 'fittedFontSizePx') && typeof value === 'number')
45
53
  return `${value}px`;
46
54
  return String(value);
@@ -101,13 +109,25 @@ export const buildImproveTokenPatch = (entries, before, after = []) => {
101
109
  const lines = [
102
110
  '/* Proposed tokens from recurring target deltas. Review names in the owning design system. */',
103
111
  ];
104
- if (fontLoads.length > 0) {
105
- const query = fontLoads.map(({ family, weights }) => (`family=${family.trim().replace(/\s+/gu, '+')}:wght@${weights.join(';')}`)).join('&');
106
- lines.push(`@import url('https://fonts.googleapis.com/css2?${query}&display=swap');`);
112
+ // NO NETWORK IMPORT (F23). This file opened with
113
+ // `@import url('https://fonts.googleapis.com/css2?...')`, and the kit README
114
+ // makes applying it wholesale step 3 of "Start here" — so the one step a lane
115
+ // is told to apply without thinking was also the step that added a
116
+ // third-party font request, and a CSP and offline hazard, to a repository
117
+ // that declared no such dependency. Two of the four wave-2 lanes that got a
118
+ // token patch refused it on exactly that ground. The family is named as a
119
+ // token and as a comment; how it is loaded belongs to the repository.
120
+ for (const { family, weights } of fontLoads) {
121
+ lines.push(`/* Font: ${family} (weights ${weights.join(', ')}). Declared as a token only —`
122
+ + ' this patch loads nothing over the network. Load the family the way this repository'
123
+ + ' already loads fonts: self-host it, or add it to the existing loader. */');
107
124
  }
108
125
  lines.push('', ':root {');
109
- if (tokens.length === 0)
126
+ for (const { family } of fontLoads)
127
+ lines.push(` ${fontTokenName(family)}: ${fontStack(family)};`);
128
+ if (tokens.length === 0 && fontLoads.length === 0) {
110
129
  lines.push(' /* No recurring CSS-capable deltas (2+ matching nodes). */');
130
+ }
111
131
  for (const token of tokens) {
112
132
  lines.push(` /* selectors: ${token.selectors.join(', ')} */`);
113
133
  lines.push(` ${token.name}: ${token.value};`);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-token-patch.js","sourceRoot":"","sources":["../../src/improve-core/improve-token-patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * `@just-every/layerdoc/improve-core` — the whole of improve's plan policy, and
3
+ * nothing that reads or writes anything.
4
+ *
5
+ * Two hosts run these functions: the CLI (`packages/12ui`), which realizes the
6
+ * returned artifact maps under a run directory, and the `/improve` web page,
7
+ * which zips the same maps in the browser. Neither owns the policy, so the two
8
+ * kits cannot drift: given the same documents and the same injected
9
+ * `generatedAt`, both produce byte-identical files.
10
+ *
11
+ * The rules that keep it that way, enforced by `tsconfig.improve-core.json`
12
+ * (no `node` types, so a `node:*` import will not compile):
13
+ * - no filesystem, network, or clock — `generatedAt` is an argument;
14
+ * - no absolute paths in rendered prose — the caller supplies `describePath` or
15
+ * `relativePath` and names its own files;
16
+ * - artifact keys are relative POSIX paths, and `remove` lists what a run's
17
+ * outcome invalidates from a previous one.
18
+ */
19
+ export * from './improve-artifacts.js';
20
+ export * from './improve-refusal.js';
21
+ export * from './improve-layerdoc-types.js';
22
+ export * from './improve-layerdoc-diff.js';
23
+ export * from './improve-dom-scale.js';
24
+ export * from './improve-dom-anchor.js';
25
+ export * from './improve-dom-neighbour.js';
26
+ export * from './improve-kit-asset-model.js';
27
+ export * from './improve-raster-layers-section.js';
28
+ export * from './improve-dom-gate.js';
29
+ export * from './improve-dom-extract.js';
30
+ export * from './improve-discovery.js';
31
+ export * from './improve-dom-diff.js';
32
+ export * from './improve-plan-render.js';
33
+ export * from './improve-token-patch.js';
34
+ export * from './improve-source-hints.js';
35
+ export * from './improve-added-specs.js';
36
+ export * from './improve-icon-svg.js';
37
+ export * from './improve-plan-annotated-render.js';
38
+ export * from './improve-plan-vector-keep.js';
39
+ export * from './improve-plan-annotator.js';
40
+ export * from './improve-site-tokens.js';
41
+ export * from './improve-site-shell.js';
42
+ export * from './improve-site-plan.js';
43
+ export * from './concept-input.js';
44
+ export * from './improve-concept.js';
45
+ export * from './improve-page-words.js';
46
+ export * from './improve-retain.js';
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/improve-core/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,49 @@
1
+ // GENERATED — do not edit. Copied verbatim from
2
+ // packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
3
+ /**
4
+ * `@just-every/layerdoc/improve-core` — the whole of improve's plan policy, and
5
+ * nothing that reads or writes anything.
6
+ *
7
+ * Two hosts run these functions: the CLI (`packages/12ui`), which realizes the
8
+ * returned artifact maps under a run directory, and the `/improve` web page,
9
+ * which zips the same maps in the browser. Neither owns the policy, so the two
10
+ * kits cannot drift: given the same documents and the same injected
11
+ * `generatedAt`, both produce byte-identical files.
12
+ *
13
+ * The rules that keep it that way, enforced by `tsconfig.improve-core.json`
14
+ * (no `node` types, so a `node:*` import will not compile):
15
+ * - no filesystem, network, or clock — `generatedAt` is an argument;
16
+ * - no absolute paths in rendered prose — the caller supplies `describePath` or
17
+ * `relativePath` and names its own files;
18
+ * - artifact keys are relative POSIX paths, and `remove` lists what a run's
19
+ * outcome invalidates from a previous one.
20
+ */
21
+ export * from './improve-artifacts.js';
22
+ export * from './improve-refusal.js';
23
+ export * from './improve-layerdoc-types.js';
24
+ export * from './improve-layerdoc-diff.js';
25
+ export * from './improve-dom-scale.js';
26
+ export * from './improve-dom-anchor.js';
27
+ export * from './improve-dom-neighbour.js';
28
+ export * from './improve-kit-asset-model.js';
29
+ export * from './improve-raster-layers-section.js';
30
+ export * from './improve-dom-gate.js';
31
+ export * from './improve-dom-extract.js';
32
+ export * from './improve-discovery.js';
33
+ export * from './improve-dom-diff.js';
34
+ export * from './improve-plan-render.js';
35
+ export * from './improve-token-patch.js';
36
+ export * from './improve-source-hints.js';
37
+ export * from './improve-added-specs.js';
38
+ export * from './improve-icon-svg.js';
39
+ export * from './improve-plan-annotated-render.js';
40
+ export * from './improve-plan-vector-keep.js';
41
+ export * from './improve-plan-annotator.js';
42
+ export * from './improve-site-tokens.js';
43
+ export * from './improve-site-shell.js';
44
+ export * from './improve-site-plan.js';
45
+ export * from './concept-input.js';
46
+ export * from './improve-concept.js';
47
+ export * from './improve-page-words.js';
48
+ export * from './improve-retain.js';
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/improve-core/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,uEAAuE;AAEvE;;;;;;;;;;;;;;;;;GAiBG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC"}
@@ -7,4 +7,10 @@ export declare const runImprovePlanStage: (args: {
7
7
  dependencies: ImproveCommandDependencies;
8
8
  price: number;
9
9
  }) => Promise<ImproveRecord>;
10
+ export declare const runImproveSitePlanPagesStage: (args: {
11
+ record: ImproveRecord;
12
+ options: ImproveOptions;
13
+ dependencies: ImproveCommandDependencies;
14
+ price: number;
15
+ }) => Promise<ImproveRecord>;
10
16
  //# sourceMappingURL=improve-delivery-stages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"improve-delivery-stages.d.ts","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA6FhF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CA8DxB,CAAC"}
1
+ {"version":3,"file":"improve-delivery-stages.d.ts","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AA0GhC,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CAgFxB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAU,MAAM;IACvD,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CAqDxB,CAAC"}