@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":"mcp-convert.js","sourceRoot":"","sources":["../src/mcp-convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-convert.js","sourceRoot":"","sources":["../src/mcp-convert.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ export const MCP_TOOL_DEFINITIONS = [
84
84
  query: { type: 'string', minLength: 1 },
85
85
  outDir: pathProperty('New directory in which to write attempt evidence, the manifest, and downloaded references.'),
86
86
  mode: { type: 'string', enum: [...INSPIRATION_MODES], default: 'balanced' },
87
- count: { type: 'integer', minimum: 1, maximum: 48, default: 4, description: 'Hedge requires 4 through 12.' },
87
+ count: { type: 'integer', minimum: 1, maximum: 48, default: 4 },
88
88
  referenceImagePath: pathProperty('Optional local PNG, JPEG, or WebP used to condition retrieval.'),
89
89
  idempotencyKey: { type: 'string', minLength: 1, maxLength: 128 },
90
90
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-definitions.js","sourceRoot":"","sources":["../src/mcp-tool-definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tool-definitions.js","sourceRoot":"","sources":["../src/mcp-tool-definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-handler.d.ts","sourceRoot":"","sources":["../src/mcp-tool-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAOlF,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAEL,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAK5B,KAAK,gBAAgB,GAAG,IAAI,CAC1B,wBAAwB,EACxB,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,CACnG,CAAC;AACF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAClF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,gBAAgB,KAAG,mBAKnE,CAAC;AAkEH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,gBAAgB,OAAO,EACvB,cAAc,mBAAmB,KAChC,OAAO,CAAC,aAAa,CAiDvB,CAAC"}
1
+ {"version":3,"file":"mcp-tool-handler.d.ts","sourceRoot":"","sources":["../src/mcp-tool-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAOlF,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAEL,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAK5B,KAAK,gBAAgB,GAAG,IAAI,CAC1B,wBAAwB,EACxB,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,CACnG,CAAC;AACF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAClF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,gBAAgB,KAAG,mBAKnE,CAAC;AA+DH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,gBAAgB,OAAO,EACvB,cAAc,mBAAmB,KAChC,OAAO,CAAC,aAAa,CAiDvB,CAAC"}
@@ -45,9 +45,6 @@ const handleCorpusInspire = async (input, dependencies) => {
45
45
  if (!Number.isSafeInteger(count) || count < 1 || count > 48) {
46
46
  throw new Error('count must be an integer between 1 and 48');
47
47
  }
48
- if (modeValue === 'hedge' && (count < 4 || count > 12)) {
49
- throw new Error('hedge count must be an integer between 4 and 12');
50
- }
51
48
  const request = {
52
49
  q: query,
53
50
  mode: modeValue,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-handler.js","sourceRoot":"","sources":["../src/mcp-tool-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tool-handler.js","sourceRoot":"","sources":["../src/mcp-tool-handler.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@ import type { RedesignCapturedPageRecord } from './redesign-workspace.js';
2
2
  /**
3
3
  * Stage 1: full-height screenshots of a target site's key pages.
4
4
  *
5
- * Discovery reads one page's HTML over `fetch` and keeps same-origin links
6
- * found in `nav`/`header`/`footer` (where a site states its own key pages),
7
- * falling back to the whole document when none of those hold a link. It never
8
- * launches a browser: link discovery is free and must stay that way so
9
- * `--dry-run` can report a page count without paying for a screenshot.
5
+ * A real capture discovers rendered links inside its own browser context,
6
+ * after any `--bootstrap` flow has seated authentication. It ranks those links
7
+ * with the shared improve ranker (`layerdoc/improve-core/improve-discovery.ts`)
8
+ * so the CLI and hosted capture service agree on a site's page inventory.
9
+ * The fetch-only helper below remains for dry-run/reporting callers that do
10
+ * not need a browser session; it cannot see routes that anonymous HTML does
11
+ * not link.
10
12
  *
11
13
  * Screenshotting is the one real Playwright dependency in this package (every
12
14
  * other stage buys through the hosted API). `capturePage` is injected so
@@ -15,21 +17,45 @@ import type { RedesignCapturedPageRecord } from './redesign-workspace.js';
15
17
  * reached in production.
16
18
  */
17
19
  export declare const REDESIGN_DEFAULT_MAX_PAGES = 5;
20
+ /** Stable filesystem-safe slug for a discovered URL. */
21
+ export declare const pageId: (url: string, index: number) => string;
22
+ /**
23
+ * The root as fetched. `url` is the address the request finally landed on:
24
+ * `https://hubspot.com/` answers with `https://www.hubspot.com/`, whose every
25
+ * link is off-origin against the requested apex — discovery used to keep the
26
+ * requested URL and drop all 238 of them, finding one page where the capture
27
+ * service (which navigates and keeps `page.url()`) finds five. A caller that
28
+ * states only HTML states no redirect.
29
+ */
30
+ export type RedesignRootDocument = {
31
+ url?: string;
32
+ html: string;
33
+ };
34
+ export type RedesignRootFetch = (url: string) => Promise<string | RedesignRootDocument>;
18
35
  /**
19
36
  * Same-origin URLs a caller would call this site's key pages: the homepage
20
- * first, then links found in navigational chrome, deduplicated by pathname
21
- * and capped at `maxPages`.
37
+ * first, then every other same-origin link the root states, ranked by the
38
+ * shared improve ranker (landmark chrome, then the page's bands, account
39
+ * plumbing last), deduplicated by pathname and capped at `maxPages`.
40
+ *
41
+ * A fetched document declares landmark membership but nothing laid it out, so
42
+ * `collectLinksFromDocument` states no position — the ranker then keeps
43
+ * document order inside the body tier rather than inventing geometry. Where a
44
+ * site hides links behind CSS the fetched document cannot resolve (a mega-menu
45
+ * that is `display:none` until hover), the rendered service ranks those below
46
+ * their visible siblings and this list cannot; the site's own origin, after
47
+ * redirects, is the root everything is resolved against.
22
48
  */
23
49
  export declare const discoverRedesignPageUrls: (args: {
24
50
  url: string;
25
51
  maxPages?: number;
26
- fetchHtml?: (url: string) => Promise<string>;
52
+ fetchHtml?: RedesignRootFetch;
27
53
  }) => Promise<string[]>;
28
54
  export type RedesignCapturePageResult = {
29
55
  width: number;
30
56
  height: number;
31
57
  };
32
- export type RedesignCaptureDependencies = {
58
+ export type RedesignCaptureDependencies = ImproveCaptureDependencies & {
33
59
  /**
34
60
  * Injectable browser boundary. Test callers can return a frozen inventory
35
61
  * directly, so capture-stage record plumbing has no browser dependency.
@@ -68,24 +94,128 @@ export declare const IMPROVE_BOOTSTRAP_FORM: string;
68
94
  * classified rather than assumed.
69
95
  */
70
96
  export declare const parseImproveBootstrap: (value: string) => ImproveBootstrapAction;
71
- /**
72
- * Improve reuses redesign's local Playwright provisioning, but keeps capture,
73
- * bootstrap seating, and selector extraction in one browser context. Nothing
74
- * in this boundary calls a hosted 12ui surface.
75
- */
76
- export declare const captureImprovePage: (args: {
97
+ type ImproveCapturePage = {
98
+ goto: (url: string, options: {
99
+ waitUntil: 'networkidle';
100
+ }) => Promise<unknown>;
101
+ /** Where the browser actually IS, which is not always where it was sent (F27). */
102
+ url: () => string;
103
+ locator: (selector: string) => {
104
+ click: () => Promise<unknown>;
105
+ };
106
+ waitForURL: (url: string, options: {
107
+ waitUntil: 'networkidle';
108
+ }) => Promise<unknown>;
109
+ screenshot: (options: {
110
+ path: string;
111
+ fullPage: boolean;
112
+ }) => Promise<unknown>;
113
+ evaluate: <T>(pageFunction: (...args: never[]) => T, arg?: {
114
+ fullPage: boolean;
115
+ }) => Promise<T>;
116
+ };
117
+ type ImproveCaptureContext = {
118
+ newPage: () => Promise<ImproveCapturePage>;
119
+ };
120
+ type ImproveCaptureBrowser = {
121
+ newContext: (options: {
122
+ viewport: {
123
+ width: number;
124
+ height: number;
125
+ };
126
+ }) => Promise<ImproveCaptureContext>;
127
+ close: () => Promise<void>;
128
+ };
129
+ /** A bootstrap changed page state, but its requested route never appeared. */
130
+ export declare class ImproveBootstrapWaitUrlMismatch extends Error {
131
+ readonly waitUrl: string;
132
+ readonly capturedUrl: string;
133
+ constructor(args: {
134
+ waitUrl: string;
135
+ capturedUrl: string;
136
+ });
137
+ }
138
+ /** Injectable only so browser/session ownership is deterministic in focused tests. */
139
+ export type ImproveCaptureDependencies = {
140
+ launch?: () => Promise<ImproveCaptureBrowser>;
141
+ };
142
+ export type ImproveCaptureTarget = {
77
143
  url: string;
78
144
  screenshotFile: string;
79
145
  domDocFile: string;
146
+ };
147
+ export type ImproveCapturedPage = ImproveCaptureTarget & {
148
+ width: number;
149
+ height: number;
150
+ /** Where the browser landed for this page, which may not be `url` (F27). */
151
+ capturedUrl?: string;
152
+ };
153
+ type ImproveCaptureSettings = {
80
154
  viewport: {
81
155
  width: number;
82
156
  height: number;
83
157
  };
84
158
  fullPage: boolean;
159
+ };
160
+ export type RedesignRenderedDiscovery = {
161
+ count: number;
162
+ cap: number;
163
+ /** The page whose rendered links were inspected, after bootstrap seating. */
164
+ rootUrl: string;
165
+ context: 'public' | 'authenticated';
166
+ };
167
+ /**
168
+ * Discovers and captures a redesign in one browser context. This is deliberately
169
+ * the same session boundary as improve: an auth/bootstrap flow may land on an
170
+ * app shell whose routes do not exist in the anonymous HTML fetched from the
171
+ * public root. The `maxPages` limit caps the real discovered list; it never
172
+ * invents placeholder URLs to meet the requested count.
173
+ */
174
+ export declare const captureRedesignSite: (args: {
175
+ url: string;
176
+ outDir: string;
177
+ maxPages: number;
178
+ bootstrap: readonly ImproveBootstrapAction[];
179
+ dependencies?: RedesignCaptureDependencies;
180
+ }) => Promise<{
181
+ pages: RedesignCapturedPageRecord[];
182
+ discovery: RedesignRenderedDiscovery;
183
+ }>;
184
+ /**
185
+ * Improve reuses redesign's local Playwright provisioning, but keeps capture,
186
+ * bootstrap seating, and selector extraction in one browser context. Nothing
187
+ * in this boundary calls a hosted 12ui surface.
188
+ *
189
+ * This single-page entrypoint deliberately keeps its legacy navigation order:
190
+ * load the requested URL, apply bootstrap, then capture the page where that
191
+ * bootstrap left the session.
192
+ */
193
+ export declare const captureImprovePage: (args: ImproveCaptureTarget & ImproveCaptureSettings & {
85
194
  bootstrap: readonly ImproveBootstrapAction[];
195
+ dependencies?: ImproveCaptureDependencies;
86
196
  }) => Promise<{
87
197
  width: number;
88
198
  height: number;
89
199
  url?: string;
90
200
  }>;
201
+ /**
202
+ * Captures a root screen and its sibling pages through one browser and one
203
+ * context. Bootstrap establishes authenticated/session state once; each URL
204
+ * is then revisited in that same state before its screenshot and DOM document
205
+ * are collected, in the supplied order.
206
+ */
207
+ export declare const captureImproveSite: (args: ImproveCaptureSettings & {
208
+ pages: readonly ImproveCaptureTarget[];
209
+ bootstrap: readonly ImproveBootstrapAction[];
210
+ /**
211
+ * Normal site capture discovers from the root that this very context already
212
+ * rendered. The CLI's free dry-run deliberately omits this field and keeps
213
+ * its fetch-only inventory.
214
+ */
215
+ discover?: {
216
+ maxPages: number;
217
+ };
218
+ dependencies?: ImproveCaptureDependencies;
219
+ }) => Promise<ImproveCapturedPage[]>;
220
+ export {};
91
221
  //# sourceMappingURL=redesign-capture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redesign-capture.d.ts","sourceRoot":"","sources":["../src/redesign-capture.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAyB5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAU,MAAM;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C,KAAG,OAAO,CAAC,MAAM,EAAE,CA6BnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC1C,CAAC;AAuBF,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,GAAU,MAAM;IAC/C,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C,KAAG,OAAO,CAAC,0BAA0B,EAAE,CA4BvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAOhD,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAQQ,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,sBAuBrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC9C,KAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAiC1D,CAAC"}
1
+ {"version":3,"file":"redesign-capture.d.ts","sourceRoot":"","sources":["../src/redesign-capture.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,20 @@ import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import { parseHTML } from 'linkedom';
5
5
  import { CliRefusal } from './cli-refusal.js';
6
+ import { redactImproveBootstrap } from './improve-bootstrap-secret.js';
6
7
  import { resolvePrototypeBrowserProvisioning } from './prototype-browsers.js';
7
- import { extractImproveDomInPage } from './improve-dom-extract.js';
8
+ import { collectRenderedLinksInPage, collectLinksFromDocument, discoverSameOriginPages, extractImproveDomInPage, IMPROVE_DISCOVERY_DEFAULT_MAX_PAGES, rankRenderedLinks, } from './improve-core/index.js';
9
+ import { withImproveFullPageWords } from './improve-capture-words.js';
8
10
  /**
9
11
  * Stage 1: full-height screenshots of a target site's key pages.
10
12
  *
11
- * Discovery reads one page's HTML over `fetch` and keeps same-origin links
12
- * found in `nav`/`header`/`footer` (where a site states its own key pages),
13
- * falling back to the whole document when none of those hold a link. It never
14
- * launches a browser: link discovery is free and must stay that way so
15
- * `--dry-run` can report a page count without paying for a screenshot.
13
+ * A real capture discovers rendered links inside its own browser context,
14
+ * after any `--bootstrap` flow has seated authentication. It ranks those links
15
+ * with the shared improve ranker (`layerdoc/improve-core/improve-discovery.ts`)
16
+ * so the CLI and hosted capture service agree on a site's page inventory.
17
+ * The fetch-only helper below remains for dry-run/reporting callers that do
18
+ * not need a browser session; it cannot see routes that anonymous HTML does
19
+ * not link.
16
20
  *
17
21
  * Screenshotting is the one real Playwright dependency in this package (every
18
22
  * other stage buys through the hosted API). `capturePage` is injected so
@@ -20,10 +24,10 @@ import { extractImproveDomInPage } from './improve-dom-extract.js';
20
24
  * without a real browser or network call; the default implementation is only
21
25
  * reached in production.
22
26
  */
23
- export const REDESIGN_DEFAULT_MAX_PAGES = 5;
27
+ export const REDESIGN_DEFAULT_MAX_PAGES = IMPROVE_DISCOVERY_DEFAULT_MAX_PAGES;
24
28
  const CAPTURE_VIEWPORT = { width: 1440, height: 900 };
25
- const NAVIGATION_SELECTORS = ['nav', 'header', 'footer'];
26
- const pageId = (url, index) => {
29
+ /** Stable filesystem-safe slug for a discovered URL. */
30
+ export const pageId = (url, index) => {
27
31
  const pathname = (() => {
28
32
  try {
29
33
  return new URL(url).pathname;
@@ -42,47 +46,29 @@ const defaultFetchHtml = async (url) => {
42
46
  const response = await fetch(url, { redirect: 'follow' });
43
47
  if (!response.ok)
44
48
  throw new Error(`${url} returned HTTP ${response.status}`);
45
- return response.text();
49
+ return { url: response.url || url, html: await response.text() };
46
50
  };
47
51
  /**
48
52
  * Same-origin URLs a caller would call this site's key pages: the homepage
49
- * first, then links found in navigational chrome, deduplicated by pathname
50
- * and capped at `maxPages`.
53
+ * first, then every other same-origin link the root states, ranked by the
54
+ * shared improve ranker (landmark chrome, then the page's bands, account
55
+ * plumbing last), deduplicated by pathname and capped at `maxPages`.
56
+ *
57
+ * A fetched document declares landmark membership but nothing laid it out, so
58
+ * `collectLinksFromDocument` states no position — the ranker then keeps
59
+ * document order inside the body tier rather than inventing geometry. Where a
60
+ * site hides links behind CSS the fetched document cannot resolve (a mega-menu
61
+ * that is `display:none` until hover), the rendered service ranks those below
62
+ * their visible siblings and this list cannot; the site's own origin, after
63
+ * redirects, is the root everything is resolved against.
51
64
  */
52
65
  export const discoverRedesignPageUrls = async (args) => {
53
66
  const maxPages = args.maxPages ?? REDESIGN_DEFAULT_MAX_PAGES;
54
- const origin = new URL(args.url);
55
- const html = await (args.fetchHtml ?? defaultFetchHtml)(args.url);
56
- const { document } = parseHTML(html);
57
- const scopes = NAVIGATION_SELECTORS
58
- .flatMap((selector) => Array.from(document.querySelectorAll(selector)));
59
- const anchors = (scopes.length > 0 ? scopes : [document])
60
- .flatMap((scope) => Array.from(scope.querySelectorAll('a[href]')));
61
- const seen = new Set([origin.pathname || '/']);
62
- const urls = [origin.toString()];
63
- for (const anchor of anchors) {
64
- if (urls.length >= maxPages)
65
- break;
66
- const href = anchor.getAttribute('href');
67
- if (!href || href.startsWith('#') || href.startsWith('mailto:') || href.startsWith('tel:'))
68
- continue;
69
- const resolved = (() => {
70
- try {
71
- return new URL(href, origin);
72
- }
73
- catch {
74
- return null;
75
- }
76
- })();
77
- if (!resolved || resolved.origin !== origin.origin)
78
- continue;
79
- const key = resolved.pathname || '/';
80
- if (seen.has(key))
81
- continue;
82
- seen.add(key);
83
- urls.push(resolved.toString());
84
- }
85
- return urls.slice(0, maxPages);
67
+ const fetched = await (args.fetchHtml ?? defaultFetchHtml)(args.url);
68
+ const root = typeof fetched === 'string' ? { url: args.url, html: fetched } : fetched;
69
+ const { document } = parseHTML(root.html);
70
+ const ranked = rankRenderedLinks(collectLinksFromDocument(document));
71
+ return discoverSameOriginPages(root.url ?? args.url, ranked, maxPages);
86
72
  };
87
73
  const realCapturePage = async (args) => {
88
74
  const provisioning = await resolvePrototypeBrowserProvisioning();
@@ -190,44 +176,169 @@ export const parseImproveBootstrap = (value) => {
190
176
  ...(waitUrl ? { waitUrl } : {}),
191
177
  };
192
178
  };
179
+ /** A bootstrap changed page state, but its requested route never appeared. */
180
+ export class ImproveBootstrapWaitUrlMismatch extends Error {
181
+ waitUrl;
182
+ capturedUrl;
183
+ constructor(args) {
184
+ super(`Bootstrap wait URL ${redactImproveBootstrap(args.waitUrl)} never matched`);
185
+ this.name = 'ImproveBootstrapWaitUrlMismatch';
186
+ this.waitUrl = redactImproveBootstrap(args.waitUrl);
187
+ this.capturedUrl = args.capturedUrl;
188
+ }
189
+ }
190
+ const launchImproveCaptureBrowser = async () => {
191
+ const provisioning = await resolvePrototypeBrowserProvisioning();
192
+ process.env.PLAYWRIGHT_BROWSERS_PATH = provisioning.browsersPath;
193
+ const { chromium } = await import('@playwright/test');
194
+ return await chromium.launch();
195
+ };
196
+ const applyImproveBootstrap = async (page, bootstrap) => {
197
+ for (const action of bootstrap) {
198
+ if (action.url)
199
+ await page.goto(action.url, { waitUntil: 'networkidle' });
200
+ if (action.clickSelector)
201
+ await page.locator(action.clickSelector).click();
202
+ if (action.waitUrl) {
203
+ try {
204
+ await page.waitForURL(action.waitUrl, { waitUntil: 'networkidle' });
205
+ }
206
+ catch {
207
+ throw new ImproveBootstrapWaitUrlMismatch({
208
+ waitUrl: action.waitUrl,
209
+ capturedUrl: page.url(),
210
+ });
211
+ }
212
+ }
213
+ }
214
+ };
215
+ /**
216
+ * Discovers and captures a redesign in one browser context. This is deliberately
217
+ * the same session boundary as improve: an auth/bootstrap flow may land on an
218
+ * app shell whose routes do not exist in the anonymous HTML fetched from the
219
+ * public root. The `maxPages` limit caps the real discovered list; it never
220
+ * invents placeholder URLs to meet the requested count.
221
+ */
222
+ export const captureRedesignSite = async (args) => {
223
+ const browser = await (args.dependencies?.launch ?? launchImproveCaptureBrowser)();
224
+ try {
225
+ const context = await browser.newContext({ viewport: CAPTURE_VIEWPORT });
226
+ const page = await context.newPage();
227
+ await page.goto(args.url, { waitUntil: 'networkidle' });
228
+ await applyImproveBootstrap(page, args.bootstrap);
229
+ const rootUrl = page.url();
230
+ const urls = discoverSameOriginPages(rootUrl, rankRenderedLinks(await page.evaluate(collectRenderedLinksInPage)), args.maxPages);
231
+ const pages = await captureRedesignPages({
232
+ urls,
233
+ outDir: args.outDir,
234
+ dependencies: {
235
+ capturePage: async ({ url, outFile }) => {
236
+ await page.goto(url, { waitUntil: 'networkidle' });
237
+ await page.screenshot({ path: outFile, fullPage: true });
238
+ return await page.evaluate(() => ({
239
+ width: document.documentElement.scrollWidth,
240
+ height: document.documentElement.scrollHeight,
241
+ }));
242
+ },
243
+ },
244
+ });
245
+ return {
246
+ pages,
247
+ discovery: {
248
+ count: urls.length,
249
+ cap: args.maxPages,
250
+ rootUrl,
251
+ context: args.bootstrap.length > 0 ? 'authenticated' : 'public',
252
+ },
253
+ };
254
+ }
255
+ finally {
256
+ await browser.close();
257
+ }
258
+ };
259
+ const captureImproveDocument = async (args) => {
260
+ await Promise.all([
261
+ mkdir(path.dirname(args.target.screenshotFile), { recursive: true }),
262
+ mkdir(path.dirname(args.target.domDocFile), { recursive: true }),
263
+ ]);
264
+ await args.page.screenshot({ path: args.target.screenshotFile, fullPage: args.settings.fullPage });
265
+ // The page that was actually photographed, which is not always the page that
266
+ // was asked for: an auth gate answers `/app` with `/signin?next=/app` and
267
+ // every stage after this one improves the sign-in card (F27). Only capture
268
+ // knows both URLs, so only capture can report the one it landed on.
269
+ const capturedUrl = args.page.url();
270
+ const domDoc = await args.page.evaluate(extractImproveDomInPage, { fullPage: args.settings.fullPage });
271
+ // The kit carries the WHOLE page's words beside this viewport document; the
272
+ // document's own geometry is untouched (improve-capture-words.ts).
273
+ const written = await withImproveFullPageWords({
274
+ page: args.page, domDoc, fullPage: args.settings.fullPage,
275
+ });
276
+ await writeFile(args.target.domDocFile, `${JSON.stringify(written, null, 2)}\n`, 'utf8');
277
+ const canvas = domDoc && typeof domDoc === 'object' && 'canvas' in domDoc
278
+ ? domDoc.canvas
279
+ : undefined;
280
+ return {
281
+ width: typeof canvas?.width === 'number' ? canvas.width : args.settings.viewport.width,
282
+ height: typeof canvas?.height === 'number' ? canvas.height : args.settings.viewport.height,
283
+ capturedUrl,
284
+ };
285
+ };
193
286
  /**
194
287
  * Improve reuses redesign's local Playwright provisioning, but keeps capture,
195
288
  * bootstrap seating, and selector extraction in one browser context. Nothing
196
289
  * in this boundary calls a hosted 12ui surface.
290
+ *
291
+ * This single-page entrypoint deliberately keeps its legacy navigation order:
292
+ * load the requested URL, apply bootstrap, then capture the page where that
293
+ * bootstrap left the session.
197
294
  */
198
295
  export const captureImprovePage = async (args) => {
199
- const provisioning = await resolvePrototypeBrowserProvisioning();
200
- process.env.PLAYWRIGHT_BROWSERS_PATH = provisioning.browsersPath;
201
- const { chromium } = await import('@playwright/test');
202
- const browser = await chromium.launch();
296
+ const browser = await (args.dependencies?.launch ?? launchImproveCaptureBrowser)();
203
297
  try {
204
298
  const context = await browser.newContext({ viewport: args.viewport });
205
299
  const page = await context.newPage();
206
300
  await page.goto(args.url, { waitUntil: 'networkidle' });
207
- for (const action of args.bootstrap) {
208
- if (action.url)
209
- await page.goto(action.url, { waitUntil: 'networkidle' });
210
- if (action.clickSelector)
211
- await page.locator(action.clickSelector).click();
212
- if (action.waitUrl)
213
- await page.waitForURL(action.waitUrl, { waitUntil: 'networkidle' });
214
- }
215
- await page.screenshot({ path: args.screenshotFile, fullPage: args.fullPage });
216
- // The page that was actually photographed, which is not always the page
217
- // that was asked for: an auth gate answers `/app` with `/signin?next=/app`
218
- // and every stage after this one improves the sign-in card (F27). Only
219
- // capture knows both URLs, so only capture can report the one it landed on.
220
- const capturedUrl = page.url();
221
- const domDoc = await page.evaluate(extractImproveDomInPage, { fullPage: args.fullPage });
222
- await writeFile(args.domDocFile, `${JSON.stringify(domDoc, null, 2)}\n`, 'utf8');
223
- const canvas = domDoc && typeof domDoc === 'object' && 'canvas' in domDoc
224
- ? domDoc.canvas
301
+ await applyImproveBootstrap(page, args.bootstrap);
302
+ const { capturedUrl, ...dimensions } = await captureImproveDocument({
303
+ page, target: args, settings: args,
304
+ });
305
+ return { ...dimensions, url: capturedUrl };
306
+ }
307
+ finally {
308
+ await browser.close();
309
+ }
310
+ };
311
+ /**
312
+ * Captures a root screen and its sibling pages through one browser and one
313
+ * context. Bootstrap establishes authenticated/session state once; each URL
314
+ * is then revisited in that same state before its screenshot and DOM document
315
+ * are collected, in the supplied order.
316
+ */
317
+ export const captureImproveSite = async (args) => {
318
+ if (args.pages.length === 0)
319
+ return [];
320
+ const browser = await (args.dependencies?.launch ?? launchImproveCaptureBrowser)();
321
+ try {
322
+ const context = await browser.newContext({ viewport: args.viewport });
323
+ const page = await context.newPage();
324
+ await page.goto(args.pages[0].url, { waitUntil: 'networkidle' });
325
+ await applyImproveBootstrap(page, args.bootstrap);
326
+ // Retain this capture context while resolving its rendered inventory; no
327
+ // second browser gets launched for discovery. The caller provides slots
328
+ // through the page cap, and the root retains its canonical files.
329
+ const discovered = args.discover
330
+ ? discoverSameOriginPages(page.url(), rankRenderedLinks(await page.evaluate(collectRenderedLinksInPage)), args.discover.maxPages)
225
331
  : undefined;
226
- return {
227
- width: typeof canvas?.width === 'number' ? canvas.width : args.viewport.width,
228
- height: typeof canvas?.height === 'number' ? canvas.height : args.viewport.height,
229
- url: capturedUrl,
230
- };
332
+ const targets = discovered
333
+ ? discovered.map((url, index) => ({ ...args.pages[index], url }))
334
+ : args.pages;
335
+ const captured = [];
336
+ for (const target of targets) {
337
+ await page.goto(target.url, { waitUntil: 'networkidle' });
338
+ const dimensions = await captureImproveDocument({ page, target, settings: args });
339
+ captured.push({ ...target, ...dimensions });
340
+ }
341
+ return captured;
231
342
  }
232
343
  finally {
233
344
  await browser.close();