@ethlete/cli 3.0.0-next.26 → 3.0.0-next.28

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 (837) hide show
  1. package/CHANGELOG.md +481 -0
  2. package/build-info.json +1 -0
  3. package/design/arrow-anchor.ts +55 -0
  4. package/design/define-call.ts +75 -30
  5. package/design/define-part.ts +64 -4
  6. package/design/icon-sheet.ts +1 -1
  7. package/design/interaction-rows.ts +13 -6
  8. package/design/mark-part.ts +51 -1
  9. package/design/token-sheet.ts +1 -1
  10. package/design/web/frame-fit.ts +7 -0
  11. package/design/web/frame-surfaces.ts +294 -0
  12. package/design/web/frame.ts +69 -15
  13. package/design/web/surface-interactive.css +42 -0
  14. package/design/with-action.ts +29 -0
  15. package/package.json +3 -1
  16. package/src/index.js +9 -1
  17. package/src/index.js.map +1 -1
  18. package/src/lib/api/compose.js +3 -2
  19. package/src/lib/api/compose.js.map +1 -1
  20. package/src/lib/api/git.js +2 -1
  21. package/src/lib/api/git.js.map +1 -1
  22. package/src/lib/api/setup.js +2 -2
  23. package/src/lib/api/setup.js.map +1 -1
  24. package/src/lib/design/asset-shot.js +4 -4
  25. package/src/lib/design/asset-shot.js.map +1 -1
  26. package/src/lib/design/blank-png.d.ts +2 -0
  27. package/src/lib/design/blank-png.js +28 -0
  28. package/src/lib/design/blank-png.js.map +1 -0
  29. package/src/lib/design/build-watch.d.ts +26 -0
  30. package/src/lib/design/build-watch.js +138 -0
  31. package/src/lib/design/build-watch.js.map +1 -0
  32. package/src/lib/design/cache-entry.d.ts +8 -0
  33. package/src/lib/design/cache-entry.js +30 -0
  34. package/src/lib/design/cache-entry.js.map +1 -0
  35. package/src/lib/design/calls-tsconfig.js +20 -13
  36. package/src/lib/design/calls-tsconfig.js.map +1 -1
  37. package/src/lib/design/calls.js +3 -3
  38. package/src/lib/design/calls.js.map +1 -1
  39. package/src/lib/design/changed-parts.d.ts +1 -1
  40. package/src/lib/design/check.d.ts +2 -0
  41. package/src/lib/design/check.js +217 -24
  42. package/src/lib/design/check.js.map +1 -1
  43. package/src/lib/design/code-hash.d.ts +30 -0
  44. package/src/lib/design/code-hash.js +118 -0
  45. package/src/lib/design/code-hash.js.map +1 -0
  46. package/src/lib/design/commit-hunks.d.ts +22 -0
  47. package/src/lib/design/commit-hunks.js +173 -0
  48. package/src/lib/design/commit-hunks.js.map +1 -0
  49. package/src/lib/design/design-command.d.ts +2 -0
  50. package/src/lib/design/design-command.js +271 -27
  51. package/src/lib/design/design-command.js.map +1 -1
  52. package/src/lib/design/{paths.d.ts → design-config.d.ts} +34 -28
  53. package/src/lib/design/design-config.js +35 -0
  54. package/src/lib/design/design-config.js.map +1 -0
  55. package/src/lib/design/design-lint.d.ts +68 -0
  56. package/src/lib/design/design-lint.js +183 -0
  57. package/src/lib/design/design-lint.js.map +1 -0
  58. package/src/lib/design/draw-ledger.d.ts +6 -0
  59. package/src/lib/design/draw-ledger.js +10 -0
  60. package/src/lib/design/draw-ledger.js.map +1 -1
  61. package/src/lib/design/force-interactions.d.ts +3 -1
  62. package/src/lib/design/force-interactions.js +8 -4
  63. package/src/lib/design/force-interactions.js.map +1 -1
  64. package/src/lib/design/generated-stylesheets.d.ts +1 -1
  65. package/src/lib/design/generated-stylesheets.js +2 -2
  66. package/src/lib/design/generated-stylesheets.js.map +1 -1
  67. package/src/lib/design/git-top.d.ts +5 -0
  68. package/src/lib/design/git-top.js +16 -0
  69. package/src/lib/design/git-top.js.map +1 -0
  70. package/src/lib/design/hooks-problem.d.ts +2 -0
  71. package/src/lib/design/hooks-problem.js +23 -0
  72. package/src/lib/design/hooks-problem.js.map +1 -0
  73. package/src/lib/design/inbox-command.js +9 -5
  74. package/src/lib/design/inbox-command.js.map +1 -1
  75. package/src/lib/design/index.d.ts +4 -1
  76. package/src/lib/design/index.js +4 -1
  77. package/src/lib/design/index.js.map +1 -1
  78. package/src/lib/design/is-running.d.ts +1 -0
  79. package/src/lib/design/is-running.js +14 -0
  80. package/src/lib/design/is-running.js.map +1 -0
  81. package/src/lib/design/legacy.js +3 -3
  82. package/src/lib/design/legacy.js.map +1 -1
  83. package/src/lib/design/mcp-command.d.ts +5 -1
  84. package/src/lib/design/mcp-command.js +27 -16
  85. package/src/lib/design/mcp-command.js.map +1 -1
  86. package/src/lib/design/merge-compare.d.ts +10 -2
  87. package/src/lib/design/merge-compare.js +63 -11
  88. package/src/lib/design/merge-compare.js.map +1 -1
  89. package/src/lib/design/motion-command.js +4 -4
  90. package/src/lib/design/motion-command.js.map +1 -1
  91. package/src/lib/design/motion-shot.js +3 -2
  92. package/src/lib/design/motion-shot.js.map +1 -1
  93. package/src/lib/design/new-call.js +22 -13
  94. package/src/lib/design/new-call.js.map +1 -1
  95. package/src/lib/design/old-shot-folders.d.ts +2 -0
  96. package/src/lib/design/old-shot-folders.js +26 -0
  97. package/src/lib/design/old-shot-folders.js.map +1 -0
  98. package/src/lib/design/package-root.d.ts +21 -0
  99. package/src/lib/design/package-root.js +79 -0
  100. package/src/lib/design/package-root.js.map +1 -0
  101. package/src/lib/design/parent-watch.d.ts +7 -0
  102. package/src/lib/design/parent-watch.js +23 -0
  103. package/src/lib/design/parent-watch.js.map +1 -0
  104. package/src/lib/design/part-marks.d.ts +3 -2
  105. package/src/lib/design/part-marks.js +15 -7
  106. package/src/lib/design/part-marks.js.map +1 -1
  107. package/src/lib/design/phase-timing.d.ts +5 -0
  108. package/src/lib/design/phase-timing.js +27 -0
  109. package/src/lib/design/phase-timing.js.map +1 -0
  110. package/src/lib/design/physical-cores.d.ts +12 -0
  111. package/src/lib/design/physical-cores.js +43 -0
  112. package/src/lib/design/physical-cores.js.map +1 -0
  113. package/src/lib/design/product-command.d.ts +1 -1
  114. package/src/lib/design/product-command.js +16 -18
  115. package/src/lib/design/product-command.js.map +1 -1
  116. package/src/lib/design/push-status.d.ts +30 -0
  117. package/src/lib/design/push-status.js +122 -0
  118. package/src/lib/design/push-status.js.map +1 -0
  119. package/src/lib/design/ready-shots.d.ts +21 -12
  120. package/src/lib/design/ready-shots.js +79 -44
  121. package/src/lib/design/ready-shots.js.map +1 -1
  122. package/src/lib/design/render-packages.d.ts +7 -18
  123. package/src/lib/design/render-packages.js +24 -63
  124. package/src/lib/design/render-packages.js.map +1 -1
  125. package/src/lib/design/render-worker.js +24 -6
  126. package/src/lib/design/render-worker.js.map +1 -1
  127. package/src/lib/design/render.d.ts +26 -3
  128. package/src/lib/design/render.js +52 -13
  129. package/src/lib/design/render.js.map +1 -1
  130. package/src/lib/design/resident/client.d.ts +52 -0
  131. package/src/lib/design/resident/client.js +263 -0
  132. package/src/lib/design/resident/client.js.map +1 -0
  133. package/src/lib/design/resident/discovery.d.ts +21 -0
  134. package/src/lib/design/resident/discovery.js +63 -0
  135. package/src/lib/design/resident/discovery.js.map +1 -0
  136. package/src/lib/design/resident/resident-process.d.ts +19 -0
  137. package/src/lib/design/resident/resident-process.js +189 -0
  138. package/src/lib/design/resident/resident-process.js.map +1 -0
  139. package/src/lib/design/resident/server.d.ts +52 -0
  140. package/src/lib/design/resident/server.js +212 -0
  141. package/src/lib/design/resident/server.js.map +1 -0
  142. package/src/lib/design/run-abort.d.ts +9 -0
  143. package/src/lib/design/run-abort.js +45 -0
  144. package/src/lib/design/run-abort.js.map +1 -0
  145. package/src/lib/design/run-deadline.d.ts +19 -0
  146. package/src/lib/design/run-deadline.js +104 -0
  147. package/src/lib/design/run-deadline.js.map +1 -0
  148. package/src/lib/design/run-yield.d.ts +8 -0
  149. package/src/lib/design/run-yield.js +43 -0
  150. package/src/lib/design/run-yield.js.map +1 -0
  151. package/src/lib/design/serve-state.d.ts +15 -0
  152. package/src/lib/design/serve-state.js +56 -0
  153. package/src/lib/design/serve-state.js.map +1 -0
  154. package/src/lib/design/serve.d.ts +41 -3
  155. package/src/lib/design/serve.js +272 -54
  156. package/src/lib/design/serve.js.map +1 -1
  157. package/src/lib/design/server-identity.d.ts +40 -0
  158. package/src/lib/design/server-identity.js +71 -0
  159. package/src/lib/design/server-identity.js.map +1 -0
  160. package/src/lib/design/settle-frames.d.ts +4 -0
  161. package/src/lib/design/settle-frames.js +22 -0
  162. package/src/lib/design/settle-frames.js.map +1 -0
  163. package/src/lib/design/shot-board.d.ts +26 -0
  164. package/src/lib/design/shot-board.js +80 -0
  165. package/src/lib/design/shot-board.js.map +1 -0
  166. package/src/lib/design/shot-command.d.ts +26 -5
  167. package/src/lib/design/shot-command.js +143 -50
  168. package/src/lib/design/shot-command.js.map +1 -1
  169. package/src/lib/design/shot-store.d.ts +29 -3
  170. package/src/lib/design/shot-store.js +206 -36
  171. package/src/lib/design/shot-store.js.map +1 -1
  172. package/src/lib/design/shot.d.ts +60 -2
  173. package/src/lib/design/shot.js +238 -28
  174. package/src/lib/design/shot.js.map +1 -1
  175. package/src/lib/design/sketch-at.js +2 -1
  176. package/src/lib/design/sketch-at.js.map +1 -1
  177. package/src/lib/design/sketch-command.d.ts +19 -1
  178. package/src/lib/design/sketch-command.js +664 -159
  179. package/src/lib/design/sketch-command.js.map +1 -1
  180. package/src/lib/design/ssr-shims.d.ts +1 -0
  181. package/src/lib/design/ssr-shims.js +3 -3
  182. package/src/lib/design/ssr-shims.js.map +1 -1
  183. package/src/lib/design/stale-cli-dist.d.ts +11 -0
  184. package/src/lib/design/stale-cli-dist.js +56 -0
  185. package/src/lib/design/stale-cli-dist.js.map +1 -0
  186. package/src/lib/design/stamp.d.ts +23 -1
  187. package/src/lib/design/stamp.js +56 -9
  188. package/src/lib/design/stamp.js.map +1 -1
  189. package/src/lib/design/started-by-studio.d.ts +1 -0
  190. package/src/lib/design/started-by-studio.js +6 -0
  191. package/src/lib/design/started-by-studio.js.map +1 -0
  192. package/src/lib/design/status.d.ts +1 -1
  193. package/src/lib/design/status.js +15 -4
  194. package/src/lib/design/status.js.map +1 -1
  195. package/src/lib/design/studio-api.d.ts +21 -10
  196. package/src/lib/design/studio-api.js +192 -88
  197. package/src/lib/design/studio-api.js.map +1 -1
  198. package/src/lib/design/system/accepted-pictures.d.ts +69 -0
  199. package/src/lib/design/system/accepted-pictures.js +346 -0
  200. package/src/lib/design/system/accepted-pictures.js.map +1 -0
  201. package/src/lib/design/system/action-cache.d.ts +45 -0
  202. package/src/lib/design/system/action-cache.js +72 -0
  203. package/src/lib/design/system/action-cache.js.map +1 -0
  204. package/src/lib/design/system/action-lost.d.ts +61 -0
  205. package/src/lib/design/system/action-lost.js +116 -0
  206. package/src/lib/design/system/action-lost.js.map +1 -0
  207. package/src/lib/design/system/action-press.d.ts +29 -0
  208. package/src/lib/design/system/action-press.js +88 -0
  209. package/src/lib/design/system/action-press.js.map +1 -0
  210. package/src/lib/design/system/action-undeclared.d.ts +34 -0
  211. package/src/lib/design/system/action-undeclared.js +81 -0
  212. package/src/lib/design/system/action-undeclared.js.map +1 -0
  213. package/src/lib/design/system/actions-command.d.ts +108 -0
  214. package/src/lib/design/system/actions-command.js +816 -0
  215. package/src/lib/design/system/actions-command.js.map +1 -0
  216. package/src/lib/design/system/actions.d.ts +181 -0
  217. package/src/lib/design/system/actions.js +333 -0
  218. package/src/lib/design/system/actions.js.map +1 -0
  219. package/src/lib/design/system/anti-alias.d.ts +2 -0
  220. package/src/lib/design/system/anti-alias.js +11 -0
  221. package/src/lib/design/system/anti-alias.js.map +1 -0
  222. package/src/lib/design/system/app-files.d.ts +10 -0
  223. package/src/lib/design/system/app-files.js +175 -0
  224. package/src/lib/design/system/app-files.js.map +1 -0
  225. package/src/lib/design/system/arrow-anchor.d.ts +9 -0
  226. package/src/lib/design/system/arrow-anchor.js +40 -0
  227. package/src/lib/design/system/arrow-anchor.js.map +1 -0
  228. package/src/lib/design/system/base-issues.d.ts +28 -0
  229. package/src/lib/design/system/base-issues.js +80 -0
  230. package/src/lib/design/system/base-issues.js.map +1 -0
  231. package/src/lib/design/system/base.d.ts +1 -1
  232. package/src/lib/design/system/base.js +2 -2
  233. package/src/lib/design/system/base.js.map +1 -1
  234. package/src/lib/design/system/baseline-history.d.ts +13 -0
  235. package/src/lib/design/system/baseline-history.js +40 -0
  236. package/src/lib/design/system/baseline-history.js.map +1 -0
  237. package/src/lib/design/system/bespoke-controls.d.ts +33 -0
  238. package/src/lib/design/system/bespoke-controls.js +149 -0
  239. package/src/lib/design/system/bespoke-controls.js.map +1 -0
  240. package/src/lib/design/system/build-ready-contract.d.ts +33 -0
  241. package/src/lib/design/system/build-ready-contract.js +18 -0
  242. package/src/lib/design/system/build-ready-contract.js.map +1 -0
  243. package/src/lib/design/system/build-running.d.ts +13 -0
  244. package/src/lib/design/system/build-running.js +48 -0
  245. package/src/lib/design/system/build-running.js.map +1 -0
  246. package/src/lib/design/system/check-record.d.ts +18 -0
  247. package/src/lib/design/system/check-record.js +47 -0
  248. package/src/lib/design/system/check-record.js.map +1 -0
  249. package/src/lib/design/system/check-rules.d.ts +1 -0
  250. package/src/lib/design/system/check-rules.js +100 -0
  251. package/src/lib/design/system/check-rules.js.map +1 -0
  252. package/src/lib/design/system/check-system.d.ts +83 -7
  253. package/src/lib/design/system/check-system.js +647 -68
  254. package/src/lib/design/system/check-system.js.map +1 -1
  255. package/src/lib/design/system/comments/comment.d.ts +4 -1
  256. package/src/lib/design/system/comments/comment.js +13 -4
  257. package/src/lib/design/system/comments/comment.js.map +1 -1
  258. package/src/lib/design/system/comments/inbox.d.ts +1 -1
  259. package/src/lib/design/system/comments/inbox.js +2 -2
  260. package/src/lib/design/system/comments/inbox.js.map +1 -1
  261. package/src/lib/design/system/compare-cache.d.ts +20 -0
  262. package/src/lib/design/system/compare-cache.js +92 -0
  263. package/src/lib/design/system/compare-cache.js.map +1 -0
  264. package/src/lib/design/system/compare-command.d.ts +150 -0
  265. package/src/lib/design/system/compare-command.js +580 -0
  266. package/src/lib/design/system/compare-command.js.map +1 -0
  267. package/src/lib/design/system/complete-command.js +1 -1
  268. package/src/lib/design/system/complete-command.js.map +1 -1
  269. package/src/lib/design/system/complete.d.ts +63 -2
  270. package/src/lib/design/system/complete.js +281 -71
  271. package/src/lib/design/system/complete.js.map +1 -1
  272. package/src/lib/design/system/component-outputs.d.ts +20 -0
  273. package/src/lib/design/system/component-outputs.js +86 -0
  274. package/src/lib/design/system/component-outputs.js.map +1 -0
  275. package/src/lib/design/system/contrast-check.d.ts +1 -1
  276. package/src/lib/design/system/contrast-check.js +14 -3
  277. package/src/lib/design/system/contrast-check.js.map +1 -1
  278. package/src/lib/design/system/decision-refs.d.ts +5 -0
  279. package/src/lib/design/system/decision-refs.js +21 -0
  280. package/src/lib/design/system/decision-refs.js.map +1 -0
  281. package/src/lib/design/system/demo-backdrop.d.ts +11 -0
  282. package/src/lib/design/system/demo-backdrop.js +41 -0
  283. package/src/lib/design/system/demo-backdrop.js.map +1 -0
  284. package/src/lib/design/system/design-hash.d.ts +52 -0
  285. package/src/lib/design/system/design-hash.js +132 -0
  286. package/src/lib/design/system/design-hash.js.map +1 -0
  287. package/src/lib/design/system/disabled-interaction.d.ts +8 -0
  288. package/src/lib/design/system/disabled-interaction.js +37 -0
  289. package/src/lib/design/system/disabled-interaction.js.map +1 -0
  290. package/src/lib/design/system/dom-command.d.ts +36 -0
  291. package/src/lib/design/system/dom-command.js +178 -0
  292. package/src/lib/design/system/dom-command.js.map +1 -0
  293. package/src/lib/design/system/drawn-open-points.d.ts +26 -4
  294. package/src/lib/design/system/drawn-open-points.js +65 -14
  295. package/src/lib/design/system/drawn-open-points.js.map +1 -1
  296. package/src/lib/design/system/dropped-props.d.ts +39 -0
  297. package/src/lib/design/system/dropped-props.js +271 -0
  298. package/src/lib/design/system/dropped-props.js.map +1 -0
  299. package/src/lib/design/system/embedded-actions.d.ts +21 -0
  300. package/src/lib/design/system/embedded-actions.js +37 -0
  301. package/src/lib/design/system/embedded-actions.js.map +1 -0
  302. package/src/lib/design/system/exceptions.js +2 -1
  303. package/src/lib/design/system/exceptions.js.map +1 -1
  304. package/src/lib/design/system/flows/flow.js +2 -1
  305. package/src/lib/design/system/flows/flow.js.map +1 -1
  306. package/src/lib/design/system/frozen-animations.d.ts +13 -0
  307. package/src/lib/design/system/frozen-animations.js +51 -0
  308. package/src/lib/design/system/frozen-animations.js.map +1 -0
  309. package/src/lib/design/system/grid-report.d.ts +5 -0
  310. package/src/lib/design/system/grid-report.js +78 -0
  311. package/src/lib/design/system/grid-report.js.map +1 -0
  312. package/src/lib/design/system/handoff.js +2 -1
  313. package/src/lib/design/system/handoff.js.map +1 -1
  314. package/src/lib/design/system/harness-build-cache.d.ts +49 -0
  315. package/src/lib/design/system/harness-build-cache.js +188 -0
  316. package/src/lib/design/system/harness-build-cache.js.map +1 -0
  317. package/src/lib/design/system/harness-command.d.ts +7 -0
  318. package/src/lib/design/system/harness-command.js +51 -0
  319. package/src/lib/design/system/harness-command.js.map +1 -0
  320. package/src/lib/design/system/harness-config.d.ts +9 -0
  321. package/src/lib/design/system/harness-config.js +65 -0
  322. package/src/lib/design/system/harness-config.js.map +1 -0
  323. package/src/lib/design/system/harness-inputs.d.ts +17 -0
  324. package/src/lib/design/system/harness-inputs.js +160 -0
  325. package/src/lib/design/system/harness-inputs.js.map +1 -0
  326. package/src/lib/design/system/harness-map.d.ts +44 -0
  327. package/src/lib/design/system/harness-map.js +126 -0
  328. package/src/lib/design/system/harness-map.js.map +1 -0
  329. package/src/lib/design/system/harness-samples.d.ts +20 -0
  330. package/src/lib/design/system/harness-samples.js +92 -0
  331. package/src/lib/design/system/harness-samples.js.map +1 -0
  332. package/src/lib/design/system/harness-server.d.ts +51 -0
  333. package/src/lib/design/system/harness-server.js +306 -0
  334. package/src/lib/design/system/harness-server.js.map +1 -0
  335. package/src/lib/design/system/harness-shot.d.ts +78 -0
  336. package/src/lib/design/system/harness-shot.js +349 -0
  337. package/src/lib/design/system/harness-shot.js.map +1 -0
  338. package/src/lib/design/system/harness-watch.d.ts +79 -0
  339. package/src/lib/design/system/harness-watch.js +334 -0
  340. package/src/lib/design/system/harness-watch.js.map +1 -0
  341. package/src/lib/design/system/implementation-baseline.d.ts +20 -0
  342. package/src/lib/design/system/implementation-baseline.js +44 -0
  343. package/src/lib/design/system/implementation-baseline.js.map +1 -0
  344. package/src/lib/design/system/imports.js +14 -1
  345. package/src/lib/design/system/imports.js.map +1 -1
  346. package/src/lib/design/system/in-order-at-once.d.ts +6 -0
  347. package/src/lib/design/system/in-order-at-once.js +28 -0
  348. package/src/lib/design/system/in-order-at-once.js.map +1 -0
  349. package/src/lib/design/system/inventory-approval.js +2 -1
  350. package/src/lib/design/system/inventory-approval.js.map +1 -1
  351. package/src/lib/design/system/inventory.d.ts +13 -4
  352. package/src/lib/design/system/inventory.js +36 -7
  353. package/src/lib/design/system/inventory.js.map +1 -1
  354. package/src/lib/design/system/leftover-gate-files.d.ts +2 -0
  355. package/src/lib/design/system/leftover-gate-files.js +15 -0
  356. package/src/lib/design/system/leftover-gate-files.js.map +1 -0
  357. package/src/lib/design/system/lib-build-lock.d.ts +18 -0
  358. package/src/lib/design/system/lib-build-lock.js +111 -0
  359. package/src/lib/design/system/lib-build-lock.js.map +1 -0
  360. package/src/lib/design/system/link-free.d.ts +12 -0
  361. package/src/lib/design/system/link-free.js +125 -0
  362. package/src/lib/design/system/link-free.js.map +1 -0
  363. package/src/lib/design/system/list-system.d.ts +8 -8
  364. package/src/lib/design/system/list-system.js +19 -80
  365. package/src/lib/design/system/list-system.js.map +1 -1
  366. package/src/lib/design/system/live-actions.d.ts +121 -0
  367. package/src/lib/design/system/live-actions.js +674 -0
  368. package/src/lib/design/system/live-actions.js.map +1 -0
  369. package/src/lib/design/system/live-compare.d.ts +136 -0
  370. package/src/lib/design/system/live-compare.js +441 -0
  371. package/src/lib/design/system/live-compare.js.map +1 -0
  372. package/src/lib/design/system/live-uncovered.d.ts +45 -0
  373. package/src/lib/design/system/live-uncovered.js +158 -0
  374. package/src/lib/design/system/live-uncovered.js.map +1 -0
  375. package/src/lib/design/system/nested-scroll.d.ts +7 -0
  376. package/src/lib/design/system/nested-scroll.js +25 -0
  377. package/src/lib/design/system/nested-scroll.js.map +1 -0
  378. package/src/lib/design/system/no-verdict.d.ts +13 -0
  379. package/src/lib/design/system/no-verdict.js +17 -0
  380. package/src/lib/design/system/no-verdict.js.map +1 -0
  381. package/src/lib/design/system/notes/note.js +2 -1
  382. package/src/lib/design/system/notes/note.js.map +1 -1
  383. package/src/lib/design/system/occluded.d.ts +13 -0
  384. package/src/lib/design/system/occluded.js +111 -0
  385. package/src/lib/design/system/occluded.js.map +1 -0
  386. package/src/lib/design/system/off-centre.d.ts +11 -0
  387. package/src/lib/design/system/off-centre.js +74 -0
  388. package/src/lib/design/system/off-centre.js.map +1 -0
  389. package/src/lib/design/system/open-points-cache.d.ts +11 -0
  390. package/src/lib/design/system/open-points-cache.js +27 -0
  391. package/src/lib/design/system/open-points-cache.js.map +1 -0
  392. package/src/lib/design/system/open-points-runner.d.ts +43 -0
  393. package/src/lib/design/system/open-points-runner.js +119 -0
  394. package/src/lib/design/system/open-points-runner.js.map +1 -0
  395. package/src/lib/design/system/open-points-worker.d.ts +1 -0
  396. package/src/lib/design/system/open-points-worker.js +28 -0
  397. package/src/lib/design/system/open-points-worker.js.map +1 -0
  398. package/src/lib/design/system/open-points.d.ts +24 -6
  399. package/src/lib/design/system/open-points.js +59 -30
  400. package/src/lib/design/system/open-points.js.map +1 -1
  401. package/src/lib/design/system/part-build-ready.d.ts +45 -0
  402. package/src/lib/design/system/part-build-ready.js +135 -0
  403. package/src/lib/design/system/part-build-ready.js.map +1 -0
  404. package/src/lib/design/system/part-command.js +2 -9
  405. package/src/lib/design/system/part-command.js.map +1 -1
  406. package/src/lib/design/system/part-compare.d.ts +139 -0
  407. package/src/lib/design/system/part-compare.js +501 -0
  408. package/src/lib/design/system/part-compare.js.map +1 -0
  409. package/src/lib/design/system/part-picture-cache.d.ts +23 -0
  410. package/src/lib/design/system/part-picture-cache.js +68 -0
  411. package/src/lib/design/system/part-picture-cache.js.map +1 -0
  412. package/src/lib/design/system/part-ready.d.ts +71 -7
  413. package/src/lib/design/system/part-ready.js +128 -19
  414. package/src/lib/design/system/part-ready.js.map +1 -1
  415. package/src/lib/design/system/part-task.d.ts +167 -0
  416. package/src/lib/design/system/part-task.js +331 -0
  417. package/src/lib/design/system/part-task.js.map +1 -0
  418. package/src/lib/design/system/pixel-cache.d.ts +16 -0
  419. package/src/lib/design/system/pixel-cache.js +79 -0
  420. package/src/lib/design/system/pixel-cache.js.map +1 -0
  421. package/src/lib/design/system/pointer-focus.d.ts +89 -0
  422. package/src/lib/design/system/pointer-focus.js +175 -0
  423. package/src/lib/design/system/pointer-focus.js.map +1 -0
  424. package/src/lib/design/system/prettier.d.ts +10 -0
  425. package/src/lib/design/system/prettier.js +37 -0
  426. package/src/lib/design/system/prettier.js.map +1 -0
  427. package/src/lib/design/system/problem.d.ts +6 -0
  428. package/src/lib/design/system/product.js +2 -2
  429. package/src/lib/design/system/product.js.map +1 -1
  430. package/src/lib/design/system/reach.d.ts +12 -0
  431. package/src/lib/design/system/reach.js +186 -0
  432. package/src/lib/design/system/reach.js.map +1 -0
  433. package/src/lib/design/system/reachable-controls.d.ts +6 -0
  434. package/src/lib/design/system/reachable-controls.js +19 -0
  435. package/src/lib/design/system/reachable-controls.js.map +1 -0
  436. package/src/lib/design/system/reachable-files.d.ts +14 -0
  437. package/src/lib/design/system/reachable-files.js +101 -0
  438. package/src/lib/design/system/reachable-files.js.map +1 -0
  439. package/src/lib/design/system/reached-state.d.ts +23 -0
  440. package/src/lib/design/system/reached-state.js +53 -0
  441. package/src/lib/design/system/reached-state.js.map +1 -0
  442. package/src/lib/design/system/read-open-points.d.ts +9 -3
  443. package/src/lib/design/system/read-open-points.js +38 -9
  444. package/src/lib/design/system/read-open-points.js.map +1 -1
  445. package/src/lib/design/system/ready-command.d.ts +6 -2
  446. package/src/lib/design/system/ready-command.js +52 -15
  447. package/src/lib/design/system/ready-command.js.map +1 -1
  448. package/src/lib/design/system/record-settled.d.ts +24 -0
  449. package/src/lib/design/system/record-settled.js +50 -0
  450. package/src/lib/design/system/record-settled.js.map +1 -0
  451. package/src/lib/design/system/render-check.d.ts +68 -1
  452. package/src/lib/design/system/render-check.js +427 -114
  453. package/src/lib/design/system/render-check.js.map +1 -1
  454. package/src/lib/design/system/render-issue-key.d.ts +9 -0
  455. package/src/lib/design/system/render-issue-key.js +27 -0
  456. package/src/lib/design/system/render-issue-key.js.map +1 -0
  457. package/src/lib/design/system/resolve-product.d.ts +4 -1
  458. package/src/lib/design/system/resolve-product.js +19 -3
  459. package/src/lib/design/system/resolve-product.js.map +1 -1
  460. package/src/lib/design/system/rule-baseline.d.ts +53 -0
  461. package/src/lib/design/system/rule-baseline.js +124 -0
  462. package/src/lib/design/system/rule-baseline.js.map +1 -0
  463. package/src/lib/design/system/rule-skips.d.ts +20 -0
  464. package/src/lib/design/system/rule-skips.js +36 -0
  465. package/src/lib/design/system/rule-skips.js.map +1 -0
  466. package/src/lib/design/system/rules/app-spec.d.ts +30 -0
  467. package/src/lib/design/system/rules/app-spec.js +87 -0
  468. package/src/lib/design/system/rules/app-spec.js.map +1 -0
  469. package/src/lib/design/system/rules/canonical-class.d.ts +6 -0
  470. package/src/lib/design/system/rules/canonical-class.js +92 -113
  471. package/src/lib/design/system/rules/canonical-class.js.map +1 -1
  472. package/src/lib/design/system/rules/capability-place.d.ts +46 -0
  473. package/src/lib/design/system/rules/capability-place.js +129 -0
  474. package/src/lib/design/system/rules/capability-place.js.map +1 -0
  475. package/src/lib/design/system/rules/command-text.d.ts +7 -0
  476. package/src/lib/design/system/rules/command-text.js +72 -0
  477. package/src/lib/design/system/rules/command-text.js.map +1 -0
  478. package/src/lib/design/system/rules/denied-class.d.ts +9 -0
  479. package/src/lib/design/system/rules/denied-class.js +121 -0
  480. package/src/lib/design/system/rules/denied-class.js.map +1 -0
  481. package/src/lib/design/system/rules/design-coverage.d.ts +30 -0
  482. package/src/lib/design/system/rules/design-coverage.js +205 -0
  483. package/src/lib/design/system/rules/design-coverage.js.map +1 -0
  484. package/src/lib/design/system/rules/exemptions.d.ts +18 -0
  485. package/src/lib/design/system/rules/exemptions.js +18 -0
  486. package/src/lib/design/system/rules/exemptions.js.map +1 -0
  487. package/src/lib/design/system/rules/flow.js +1 -1
  488. package/src/lib/design/system/rules/flow.js.map +1 -1
  489. package/src/lib/design/system/rules/glued-interpolation.d.ts +8 -0
  490. package/src/lib/design/system/rules/glued-interpolation.js +77 -0
  491. package/src/lib/design/system/rules/glued-interpolation.js.map +1 -0
  492. package/src/lib/design/system/rules/hard-coded-colour.js +2 -1
  493. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -1
  494. package/src/lib/design/system/rules/implemented-components.d.ts +22 -0
  495. package/src/lib/design/system/rules/implemented-components.js +45 -0
  496. package/src/lib/design/system/rules/implemented-components.js.map +1 -0
  497. package/src/lib/design/system/rules/implements-unrendered.d.ts +13 -0
  498. package/src/lib/design/system/rules/implements-unrendered.js +63 -0
  499. package/src/lib/design/system/rules/implements-unrendered.js.map +1 -0
  500. package/src/lib/design/system/rules/implements.d.ts +2 -1
  501. package/src/lib/design/system/rules/implements.js +26 -21
  502. package/src/lib/design/system/rules/implements.js.map +1 -1
  503. package/src/lib/design/system/rules/inline-svg.js +4 -1
  504. package/src/lib/design/system/rules/inline-svg.js.map +1 -1
  505. package/src/lib/design/system/rules/inline-ui-in-page-open.d.ts +13 -0
  506. package/src/lib/design/system/rules/inline-ui-in-page-open.js +5 -0
  507. package/src/lib/design/system/rules/inline-ui-in-page-open.js.map +1 -0
  508. package/src/lib/design/system/rules/inline-ui-in-page.d.ts +18 -0
  509. package/src/lib/design/system/rules/inline-ui-in-page.js +123 -0
  510. package/src/lib/design/system/rules/inline-ui-in-page.js.map +1 -0
  511. package/src/lib/design/system/rules/inline-ui.d.ts +16 -0
  512. package/src/lib/design/system/rules/inline-ui.js +100 -0
  513. package/src/lib/design/system/rules/inline-ui.js.map +1 -0
  514. package/src/lib/design/system/rules/motion.d.ts +1 -1
  515. package/src/lib/design/system/rules/motion.js +31 -17
  516. package/src/lib/design/system/rules/motion.js.map +1 -1
  517. package/src/lib/design/system/rules/native-title.d.ts +7 -0
  518. package/src/lib/design/system/rules/native-title.js +74 -0
  519. package/src/lib/design/system/rules/native-title.js.map +1 -0
  520. package/src/lib/design/system/rules/option-values.d.ts +1 -1
  521. package/src/lib/design/system/rules/orphan-endpoint-known.d.ts +12 -0
  522. package/src/lib/design/system/rules/orphan-endpoint-known.js +20 -0
  523. package/src/lib/design/system/rules/orphan-endpoint-known.js.map +1 -0
  524. package/src/lib/design/system/rules/orphan-endpoint.d.ts +23 -0
  525. package/src/lib/design/system/rules/orphan-endpoint.js +166 -0
  526. package/src/lib/design/system/rules/orphan-endpoint.js.map +1 -0
  527. package/src/lib/design/system/rules/part-rewrite.d.ts +13 -0
  528. package/src/lib/design/system/rules/part-rewrite.js +125 -0
  529. package/src/lib/design/system/rules/part-rewrite.js.map +1 -0
  530. package/src/lib/design/system/rules/pending-state.d.ts +39 -0
  531. package/src/lib/design/system/rules/pending-state.js +289 -0
  532. package/src/lib/design/system/rules/pending-state.js.map +1 -0
  533. package/src/lib/design/system/rules/sample-default-known.d.ts +5 -0
  534. package/src/lib/design/system/rules/sample-default-known.js +17 -0
  535. package/src/lib/design/system/rules/sample-default-known.js.map +1 -0
  536. package/src/lib/design/system/rules/sample-default.d.ts +22 -0
  537. package/src/lib/design/system/rules/sample-default.js +92 -0
  538. package/src/lib/design/system/rules/sample-default.js.map +1 -0
  539. package/src/lib/design/system/rules/sdk-attribute-value.d.ts +10 -0
  540. package/src/lib/design/system/rules/sdk-attribute-value.js +78 -0
  541. package/src/lib/design/system/rules/sdk-attribute-value.js.map +1 -0
  542. package/src/lib/design/system/rules/sdk-private-var.d.ts +9 -0
  543. package/src/lib/design/system/rules/sdk-private-var.js +54 -0
  544. package/src/lib/design/system/rules/sdk-private-var.js.map +1 -0
  545. package/src/lib/design/system/rules/skips.d.ts +4 -0
  546. package/src/lib/design/system/rules/skips.js +27 -0
  547. package/src/lib/design/system/rules/skips.js.map +1 -0
  548. package/src/lib/design/system/rules/stale-replace.js +5 -0
  549. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  550. package/src/lib/design/system/rules/state-in-component.d.ts +16 -0
  551. package/src/lib/design/system/rules/state-in-component.js +101 -0
  552. package/src/lib/design/system/rules/state-in-component.js.map +1 -0
  553. package/src/lib/design/system/rules/tailwind-classes.d.ts +52 -0
  554. package/src/lib/design/system/rules/tailwind-classes.js +237 -0
  555. package/src/lib/design/system/rules/tailwind-classes.js.map +1 -0
  556. package/src/lib/design/system/rules/token-selectors.js +10 -3
  557. package/src/lib/design/system/rules/token-selectors.js.map +1 -1
  558. package/src/lib/design/system/rules/top-level-await.d.ts +9 -0
  559. package/src/lib/design/system/rules/top-level-await.js +62 -0
  560. package/src/lib/design/system/rules/top-level-await.js.map +1 -0
  561. package/src/lib/design/system/rules/unbound-input-known.d.ts +7 -0
  562. package/src/lib/design/system/rules/unbound-input-known.js +44 -0
  563. package/src/lib/design/system/rules/unbound-input-known.js.map +1 -0
  564. package/src/lib/design/system/rules/unbound-input.d.ts +24 -0
  565. package/src/lib/design/system/rules/unbound-input.js +67 -0
  566. package/src/lib/design/system/rules/unbound-input.js.map +1 -0
  567. package/src/lib/design/system/rules/uncovered-region.d.ts +13 -0
  568. package/src/lib/design/system/rules/uncovered-region.js +36 -0
  569. package/src/lib/design/system/rules/uncovered-region.js.map +1 -0
  570. package/src/lib/design/system/rules/undefined-class.d.ts +9 -0
  571. package/src/lib/design/system/rules/undefined-class.js +41 -0
  572. package/src/lib/design/system/rules/undefined-class.js.map +1 -0
  573. package/src/lib/design/system/rules/undefined-token.d.ts +1 -1
  574. package/src/lib/design/system/rules/undefined-token.js +7 -61
  575. package/src/lib/design/system/rules/undefined-token.js.map +1 -1
  576. package/src/lib/design/system/rules/utility-css.d.ts +2 -1
  577. package/src/lib/design/system/rules/utility-css.js +40 -13
  578. package/src/lib/design/system/rules/utility-css.js.map +1 -1
  579. package/src/lib/design/system/rules/view-coverage.d.ts +8 -0
  580. package/src/lib/design/system/rules/view-coverage.js +51 -0
  581. package/src/lib/design/system/rules/view-coverage.js.map +1 -0
  582. package/src/lib/design/system/rules/visible-change.d.ts +19 -0
  583. package/src/lib/design/system/rules/visible-change.js +48 -0
  584. package/src/lib/design/system/rules/visible-change.js.map +1 -0
  585. package/src/lib/design/system/sdk-declarations.d.ts +10 -0
  586. package/src/lib/design/system/sdk-declarations.js +177 -0
  587. package/src/lib/design/system/sdk-declarations.js.map +1 -0
  588. package/src/lib/design/system/sdk-errors.d.ts +14 -0
  589. package/src/lib/design/system/sdk-errors.js +38 -0
  590. package/src/lib/design/system/sdk-errors.js.map +1 -0
  591. package/src/lib/design/system/sdk-selectors.d.ts +18 -0
  592. package/src/lib/design/system/sdk-selectors.js +131 -0
  593. package/src/lib/design/system/sdk-selectors.js.map +1 -0
  594. package/src/lib/design/system/see-through.d.ts +12 -0
  595. package/src/lib/design/system/see-through.js +112 -0
  596. package/src/lib/design/system/see-through.js.map +1 -0
  597. package/src/lib/design/system/served-cache.d.ts +99 -0
  598. package/src/lib/design/system/served-cache.js +202 -0
  599. package/src/lib/design/system/served-cache.js.map +1 -0
  600. package/src/lib/design/system/settled-panes.d.ts +23 -0
  601. package/src/lib/design/system/settled-panes.js +71 -0
  602. package/src/lib/design/system/settled-panes.js.map +1 -0
  603. package/src/lib/design/system/sketch/after-merge.d.ts +11 -0
  604. package/src/lib/design/system/sketch/after-merge.js +51 -0
  605. package/src/lib/design/system/sketch/after-merge.js.map +1 -0
  606. package/src/lib/design/system/sketch/aktuell-placeholders.d.ts +30 -0
  607. package/src/lib/design/system/sketch/aktuell-placeholders.js +87 -0
  608. package/src/lib/design/system/sketch/aktuell-placeholders.js.map +1 -0
  609. package/src/lib/design/system/sketch/baseline.d.ts +36 -2
  610. package/src/lib/design/system/sketch/baseline.js +76 -13
  611. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  612. package/src/lib/design/system/sketch/check-format.js +3 -9
  613. package/src/lib/design/system/sketch/check-format.js.map +1 -1
  614. package/src/lib/design/system/sketch/check-sketches.d.ts +10 -0
  615. package/src/lib/design/system/sketch/check-sketches.js +50 -4
  616. package/src/lib/design/system/sketch/check-sketches.js.map +1 -1
  617. package/src/lib/design/system/sketch/clean-copy.d.ts +18 -0
  618. package/src/lib/design/system/sketch/clean-copy.js +104 -0
  619. package/src/lib/design/system/sketch/clean-copy.js.map +1 -0
  620. package/src/lib/design/system/sketch/cli-args.d.ts +13 -3
  621. package/src/lib/design/system/sketch/cli-args.js +20 -5
  622. package/src/lib/design/system/sketch/cli-args.js.map +1 -1
  623. package/src/lib/design/system/sketch/covered-diffs.d.ts +40 -0
  624. package/src/lib/design/system/sketch/covered-diffs.js +106 -0
  625. package/src/lib/design/system/sketch/covered-diffs.js.map +1 -0
  626. package/src/lib/design/system/sketch/edit-sketch.d.ts +29 -0
  627. package/src/lib/design/system/sketch/edit-sketch.js +169 -0
  628. package/src/lib/design/system/sketch/edit-sketch.js.map +1 -0
  629. package/src/lib/design/system/sketch/frame-budget.d.ts +24 -0
  630. package/src/lib/design/system/sketch/frame-budget.js +23 -0
  631. package/src/lib/design/system/sketch/frame-budget.js.map +1 -0
  632. package/src/lib/design/system/sketch/identical-renders.d.ts +31 -0
  633. package/src/lib/design/system/sketch/identical-renders.js +143 -0
  634. package/src/lib/design/system/sketch/identical-renders.js.map +1 -0
  635. package/src/lib/design/system/sketch/merge-commit.d.ts +20 -0
  636. package/src/lib/design/system/sketch/merge-commit.js +72 -0
  637. package/src/lib/design/system/sketch/merge-commit.js.map +1 -0
  638. package/src/lib/design/system/sketch/merge-runner.d.ts +20 -0
  639. package/src/lib/design/system/sketch/merge-runner.js +73 -0
  640. package/src/lib/design/system/sketch/merge-runner.js.map +1 -0
  641. package/src/lib/design/system/sketch/merge-shared.d.ts +2 -0
  642. package/src/lib/design/system/sketch/merge-shared.js +7 -10
  643. package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
  644. package/src/lib/design/system/sketch/merge-step.d.ts +47 -0
  645. package/src/lib/design/system/sketch/merge-step.js +110 -0
  646. package/src/lib/design/system/sketch/merge-step.js.map +1 -0
  647. package/src/lib/design/system/sketch/merge-worker.d.ts +1 -0
  648. package/src/lib/design/system/sketch/merge-worker.js +14 -0
  649. package/src/lib/design/system/sketch/merge-worker.js.map +1 -0
  650. package/src/lib/design/system/sketch/merge.d.ts +19 -5
  651. package/src/lib/design/system/sketch/merge.js +245 -82
  652. package/src/lib/design/system/sketch/merge.js.map +1 -1
  653. package/src/lib/design/system/sketch/merged-layout.d.ts +17 -0
  654. package/src/lib/design/system/sketch/merged-layout.js +57 -0
  655. package/src/lib/design/system/sketch/merged-layout.js.map +1 -0
  656. package/src/lib/design/system/sketch/merged-parts.d.ts +31 -30
  657. package/src/lib/design/system/sketch/merged-parts.js +99 -84
  658. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  659. package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -0
  660. package/src/lib/design/system/sketch/no-visible-change.js +16 -6
  661. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  662. package/src/lib/design/system/sketch/note-language.d.ts +7 -0
  663. package/src/lib/design/system/sketch/note-language.js +83 -0
  664. package/src/lib/design/system/sketch/note-language.js.map +1 -0
  665. package/src/lib/design/system/sketch/part-definition.d.ts +27 -1
  666. package/src/lib/design/system/sketch/part-definition.js +109 -17
  667. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  668. package/src/lib/design/system/sketch/rebase-port.d.ts +24 -0
  669. package/src/lib/design/system/sketch/rebase-port.js +215 -0
  670. package/src/lib/design/system/sketch/rebase-port.js.map +1 -0
  671. package/src/lib/design/system/sketch/sample-mark-drift.d.ts +33 -0
  672. package/src/lib/design/system/sketch/sample-mark-drift.js +88 -0
  673. package/src/lib/design/system/sketch/sample-mark-drift.js.map +1 -0
  674. package/src/lib/design/system/sketch/sketch-check-cache.d.ts +11 -0
  675. package/src/lib/design/system/sketch/sketch-check-cache.js +22 -0
  676. package/src/lib/design/system/sketch/sketch-check-cache.js.map +1 -0
  677. package/src/lib/design/system/sketch/sketch-check-worker.d.ts +1 -0
  678. package/src/lib/design/system/sketch/sketch-check-worker.js +32 -0
  679. package/src/lib/design/system/sketch/sketch-check-worker.js.map +1 -0
  680. package/src/lib/design/system/sketch/sketch-checker.d.ts +40 -0
  681. package/src/lib/design/system/sketch/sketch-checker.js +109 -0
  682. package/src/lib/design/system/sketch/sketch-checker.js.map +1 -0
  683. package/src/lib/design/system/sketch/sketch.d.ts +100 -8
  684. package/src/lib/design/system/sketch/sketch.js +279 -36
  685. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  686. package/src/lib/design/system/sketch/stale-base.d.ts +22 -0
  687. package/src/lib/design/system/sketch/stale-base.js +56 -0
  688. package/src/lib/design/system/sketch/stale-base.js.map +1 -0
  689. package/src/lib/design/system/sketch/unchanged-states.d.ts +39 -3
  690. package/src/lib/design/system/sketch/unchanged-states.js +75 -23
  691. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  692. package/src/lib/design/system/sketch/unused-closure.js +16 -4
  693. package/src/lib/design/system/sketch/unused-closure.js.map +1 -1
  694. package/src/lib/design/system/sketch/viewed-shots.d.ts +32 -0
  695. package/src/lib/design/system/sketch/viewed-shots.js +54 -0
  696. package/src/lib/design/system/sketch/viewed-shots.js.map +1 -0
  697. package/src/lib/design/system/skip-classes.d.ts +3 -0
  698. package/src/lib/design/system/skip-classes.js +17 -0
  699. package/src/lib/design/system/skip-classes.js.map +1 -0
  700. package/src/lib/design/system/slot-hosts.d.ts +38 -0
  701. package/src/lib/design/system/slot-hosts.js +93 -0
  702. package/src/lib/design/system/slot-hosts.js.map +1 -0
  703. package/src/lib/design/system/slow-checks.d.ts +44 -0
  704. package/src/lib/design/system/slow-checks.js +250 -0
  705. package/src/lib/design/system/slow-checks.js.map +1 -0
  706. package/src/lib/design/system/slow-run.d.ts +67 -0
  707. package/src/lib/design/system/slow-run.js +312 -0
  708. package/src/lib/design/system/slow-run.js.map +1 -0
  709. package/src/lib/design/system/stale-design-mocks.d.ts +20 -0
  710. package/src/lib/design/system/stale-design-mocks.js +59 -0
  711. package/src/lib/design/system/stale-design-mocks.js.map +1 -0
  712. package/src/lib/design/system/stale-dist.d.ts +61 -0
  713. package/src/lib/design/system/stale-dist.js +141 -0
  714. package/src/lib/design/system/stale-dist.js.map +1 -0
  715. package/src/lib/design/system/stale-parts.d.ts +45 -0
  716. package/src/lib/design/system/stale-parts.js +168 -0
  717. package/src/lib/design/system/stale-parts.js.map +1 -0
  718. package/src/lib/design/system/surface-nesting.d.ts +11 -0
  719. package/src/lib/design/system/surface-nesting.js +86 -0
  720. package/src/lib/design/system/surface-nesting.js.map +1 -0
  721. package/src/lib/design/system/system-command.js +11 -9
  722. package/src/lib/design/system/system-command.js.map +1 -1
  723. package/src/lib/design/system/system-modules.d.ts +17 -2
  724. package/src/lib/design/system/system-modules.js +18 -2
  725. package/src/lib/design/system/system-modules.js.map +1 -1
  726. package/src/lib/design/system/system-tsconfig.d.ts +9 -2
  727. package/src/lib/design/system/system-tsconfig.js +73 -13
  728. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  729. package/src/lib/design/system/task-command.d.ts +52 -0
  730. package/src/lib/design/system/task-command.js +271 -0
  731. package/src/lib/design/system/task-command.js.map +1 -0
  732. package/src/lib/design/system/theming-text.d.ts +2 -0
  733. package/src/lib/design/system/theming-text.js +6 -0
  734. package/src/lib/design/system/theming-text.js.map +1 -0
  735. package/src/lib/design/system/touched-parts.d.ts +16 -0
  736. package/src/lib/design/system/touched-parts.js +121 -0
  737. package/src/lib/design/system/touched-parts.js.map +1 -0
  738. package/src/lib/design/system/tracked-reads.d.ts +27 -0
  739. package/src/lib/design/system/tracked-reads.js +100 -0
  740. package/src/lib/design/system/tracked-reads.js.map +1 -0
  741. package/src/lib/design/system/ts-source.d.ts +2 -0
  742. package/src/lib/design/system/ts-source.js +15 -1
  743. package/src/lib/design/system/ts-source.js.map +1 -1
  744. package/src/lib/design/system/unchanged-rows.d.ts +24 -0
  745. package/src/lib/design/system/unchanged-rows.js +212 -0
  746. package/src/lib/design/system/unchanged-rows.js.map +1 -0
  747. package/src/lib/design/system/uncommitted-decisions.d.ts +4 -0
  748. package/src/lib/design/system/uncommitted-decisions.js +35 -0
  749. package/src/lib/design/system/uncommitted-decisions.js.map +1 -0
  750. package/src/lib/design/system/uncovered-regions.d.ts +61 -0
  751. package/src/lib/design/system/uncovered-regions.js +171 -0
  752. package/src/lib/design/system/uncovered-regions.js.map +1 -0
  753. package/src/lib/design/system/unused-base-parts.d.ts +7 -0
  754. package/src/lib/design/system/unused-base-parts.js +76 -0
  755. package/src/lib/design/system/unused-base-parts.js.map +1 -0
  756. package/src/lib/design/system/visible-change-command.d.ts +60 -0
  757. package/src/lib/design/system/visible-change-command.js +310 -0
  758. package/src/lib/design/system/visible-change-command.js.map +1 -0
  759. package/src/lib/design/system/visible-change-parts.d.ts +28 -0
  760. package/src/lib/design/system/visible-change-parts.js +96 -0
  761. package/src/lib/design/system/visible-change-parts.js.map +1 -0
  762. package/src/lib/design/system/visible-change.d.ts +82 -0
  763. package/src/lib/design/system/visible-change.js +149 -0
  764. package/src/lib/design/system/visible-change.js.map +1 -0
  765. package/src/lib/design/system/write-origin.d.ts +12 -0
  766. package/src/lib/design/system/write-origin.js +18 -0
  767. package/src/lib/design/system/write-origin.js.map +1 -0
  768. package/src/lib/design/system-use.js +4 -4
  769. package/src/lib/design/system-use.js.map +1 -1
  770. package/src/lib/design/thumb.d.ts +37 -4
  771. package/src/lib/design/thumb.js +118 -21
  772. package/src/lib/design/thumb.js.map +1 -1
  773. package/src/lib/design/timings-command.d.ts +22 -0
  774. package/src/lib/design/timings-command.js +175 -0
  775. package/src/lib/design/timings-command.js.map +1 -0
  776. package/src/lib/design/timings.d.ts +117 -0
  777. package/src/lib/design/timings.js +296 -0
  778. package/src/lib/design/timings.js.map +1 -0
  779. package/src/lib/design/typecheck.d.ts +1 -1
  780. package/src/lib/design/typecheck.js +5 -5
  781. package/src/lib/design/typecheck.js.map +1 -1
  782. package/src/lib/design/unstable-cells.d.ts +23 -0
  783. package/src/lib/design/unstable-cells.js +40 -0
  784. package/src/lib/design/unstable-cells.js.map +1 -0
  785. package/src/lib/design/variant-diff.js +1 -1
  786. package/src/lib/design/variant-diff.js.map +1 -1
  787. package/src/lib/design/vite-cache.d.ts +11 -0
  788. package/src/lib/design/vite-cache.js +61 -0
  789. package/src/lib/design/vite-cache.js.map +1 -0
  790. package/src/lib/design/wait.d.ts +15 -0
  791. package/src/lib/design/wait.js +30 -0
  792. package/src/lib/design/wait.js.map +1 -0
  793. package/src/lib/design/warm-draw.d.ts +33 -0
  794. package/src/lib/design/warm-draw.js +74 -0
  795. package/src/lib/design/warm-draw.js.map +1 -0
  796. package/src/lib/design/warm-pages.d.ts +10 -2
  797. package/src/lib/design/warm-pages.js +6 -2
  798. package/src/lib/design/warm-pages.js.map +1 -1
  799. package/src/lib/design/work-root.d.ts +2 -0
  800. package/src/lib/design/work-root.js +8 -0
  801. package/src/lib/design/work-root.js.map +1 -0
  802. package/src/lib/json-file.d.ts +11 -0
  803. package/src/lib/json-file.js +21 -0
  804. package/src/lib/json-file.js.map +1 -0
  805. package/src/lib/plain-output.d.ts +27 -0
  806. package/src/lib/plain-output.js +66 -0
  807. package/src/lib/plain-output.js.map +1 -0
  808. package/src/lib/release.js +11 -3
  809. package/src/lib/release.js.map +1 -1
  810. package/src/lib/source-hash.d.ts +7 -0
  811. package/src/lib/source-hash.js +62 -0
  812. package/src/lib/source-hash.js.map +1 -0
  813. package/src/lib/update/agent-setup.js +2 -1
  814. package/src/lib/update/agent-setup.js.map +1 -1
  815. package/src/lib/update/commits.js +2 -2
  816. package/src/lib/update/commits.js.map +1 -1
  817. package/src/lib/update/migration-manifest.d.ts +12 -0
  818. package/src/lib/update/migration-manifest.js +13 -0
  819. package/src/lib/update/migration-manifest.js.map +1 -1
  820. package/src/lib/update/migration-record.js +2 -1
  821. package/src/lib/update/migration-record.js.map +1 -1
  822. package/src/lib/update/packages.js +4 -2
  823. package/src/lib/update/packages.js.map +1 -1
  824. package/src/lib/update/pending.js +2 -1
  825. package/src/lib/update/pending.js.map +1 -1
  826. package/src/lib/update/run-migrations.d.ts +3 -2
  827. package/src/lib/update/run-migrations.js +38 -5
  828. package/src/lib/update/run-migrations.js.map +1 -1
  829. package/src/lib/update/scan.js +8 -2
  830. package/src/lib/update/scan.js.map +1 -1
  831. package/src/lib/update/tasks.js +2 -1
  832. package/src/lib/update/tasks.js.map +1 -1
  833. package/src/lib/design/paths.js +0 -138
  834. package/src/lib/design/paths.js.map +0 -1
  835. package/src/lib/design/system/accept-command.d.ts +0 -7
  836. package/src/lib/design/system/accept-command.js +0 -55
  837. package/src/lib/design/system/accept-command.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import { ResolvedProduct } from '../resolve-product';
2
+ import { Sketch } from './sketch';
3
+ import { SketchPartLoader } from './unchanged-states';
4
+ export declare const SAMPLE_MARK_DRIFT = "SAMPLE-MARK-DRIFT";
5
+ type Sample = {
6
+ part: string;
7
+ id: string;
8
+ marks: Record<string, unknown>;
9
+ };
10
+ type Drawn = {
11
+ state: string;
12
+ sample: Sample;
13
+ };
14
+ export type SampleMarkDrift = {
15
+ part: string;
16
+ id: string;
17
+ first: Drawn;
18
+ other: Drawn;
19
+ };
20
+ /**
21
+ * Each embedded sample whose marks differ between two states of the part `definition`: renders every state and
22
+ * compares the marks of the instances that carry the same part and `id`, see `PartSample`. A state that fails to
23
+ * render is skipped.
24
+ */
25
+ export declare const sampleMarkDriftsOf: (definition: unknown) => Promise<SampleMarkDrift[]>;
26
+ export declare const sampleMarkDriftLineOf: (drift: SampleMarkDrift) => string;
27
+ /** One `SAMPLE-MARK-DRIFT` line per sample whose marks differ between two states of a target of a live variant. */
28
+ export declare const sampleMarkDriftLinesOf: (options: {
29
+ product: ResolvedProduct;
30
+ sketch: Sketch;
31
+ load: SketchPartLoader;
32
+ }) => Promise<string[]>;
33
+ export {};
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.sampleMarkDriftLinesOf = exports.sampleMarkDriftLineOf = exports.sampleMarkDriftsOf = exports.SAMPLE_MARK_DRIFT = void 0;
13
+ const resolve_product_1 = require("../resolve-product");
14
+ const overlay_1 = require("./overlay");
15
+ const sketch_1 = require("./sketch");
16
+ exports.SAMPLE_MARK_DRIFT = 'SAMPLE-MARK-DRIFT';
17
+ const SAMPLES = Symbol.for('@ethlete/cli/design/samples');
18
+ const isRecord = (value) => typeof value === 'object' && value !== null;
19
+ const samplesOf = (render, props) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const samples = [];
21
+ const scope = globalThis;
22
+ scope[SAMPLES] = (sample) => samples.push(sample);
23
+ try {
24
+ yield render(props);
25
+ }
26
+ finally {
27
+ delete scope[SAMPLES];
28
+ }
29
+ return samples;
30
+ });
31
+ const marksDifferOf = (first, other) => [...new Set([...Object.keys(first.marks), ...Object.keys(other.marks)])].filter((mark) => { var _a, _b; return JSON.stringify((_a = first.marks[mark]) !== null && _a !== void 0 ? _a : null) !== JSON.stringify((_b = other.marks[mark]) !== null && _b !== void 0 ? _b : null); });
32
+ /**
33
+ * Each embedded sample whose marks differ between two states of the part `definition`: renders every state and
34
+ * compares the marks of the instances that carry the same part and `id`, see `PartSample`. A state that fails to
35
+ * render is skipped.
36
+ */
37
+ const sampleMarkDriftsOf = (definition) => __awaiter(void 0, void 0, void 0, function* () {
38
+ if (!isRecord(definition) || typeof definition['render'] !== 'function' || !isRecord(definition['states']))
39
+ return [];
40
+ const render = definition['render'];
41
+ const seen = new Map();
42
+ const drifts = new Map();
43
+ for (const [state, props] of Object.entries(definition['states'])) {
44
+ const samples = yield samplesOf(render, props).catch(() => []);
45
+ for (const sample of samples) {
46
+ const key = `${sample.part}\n${sample.id}`;
47
+ const first = seen.get(key);
48
+ if (!first)
49
+ seen.set(key, { state, sample });
50
+ else if (!drifts.has(key) && marksDifferOf(first.sample, sample).length > 0)
51
+ drifts.set(key, { part: sample.part, id: sample.id, first, other: { state, sample } });
52
+ }
53
+ }
54
+ return [...drifts.values()];
55
+ });
56
+ exports.sampleMarkDriftsOf = sampleMarkDriftsOf;
57
+ const marksOf = (sample, marks) => marks.map((mark) => { var _a; return `${mark}=${JSON.stringify((_a = sample.marks[mark]) !== null && _a !== void 0 ? _a : null)}`; }).join(' ');
58
+ const sampleMarkDriftLineOf = (drift) => {
59
+ const marks = marksDifferOf(drift.first.sample, drift.other.sample);
60
+ return (`${drift.part} "${drift.id}" draws ${marksOf(drift.first.sample, marks)} in ${drift.first.state} but ` +
61
+ `${marksOf(drift.other.sample, marks)} in ${drift.other.state} - give it the same marks in every state, or ` +
62
+ `another id where the state shows another sample`);
63
+ };
64
+ exports.sampleMarkDriftLineOf = sampleMarkDriftLineOf;
65
+ /** One `SAMPLE-MARK-DRIFT` line per sample whose marks differ between two states of a target of a live variant. */
66
+ const sampleMarkDriftLinesOf = (options) => __awaiter(void 0, void 0, void 0, function* () {
67
+ var _a;
68
+ const { product, sketch, load } = options;
69
+ const lines = [];
70
+ for (const variant of sketch.variants.filter((entry) => !(0, sketch_1.rejectionOf)(sketch, entry))) {
71
+ const parts = (0, overlay_1.overlaySketch)({ product, sketch, variant }).parts;
72
+ for (const target of sketch.targets) {
73
+ const file = (_a = parts.find((entry) => (0, resolve_product_1.partKeyOf)(entry) === target)) === null || _a === void 0 ? void 0 : _a.file;
74
+ if (!file)
75
+ continue;
76
+ const loaded = (yield load({
77
+ file,
78
+ product: product.name,
79
+ sketch: { target: sketch.target, variant },
80
+ }).catch(() => null));
81
+ for (const drift of yield (0, exports.sampleMarkDriftsOf)(loaded === null || loaded === void 0 ? void 0 : loaded.default))
82
+ lines.push(`${exports.SAMPLE_MARK_DRIFT} ${sketch.target} ${variant} ${target}: ${(0, exports.sampleMarkDriftLineOf)(drift)}`);
83
+ }
84
+ }
85
+ return lines;
86
+ });
87
+ exports.sampleMarkDriftLinesOf = sampleMarkDriftLinesOf;
88
+ //# sourceMappingURL=sample-mark-drift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample-mark-drift.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/sample-mark-drift.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ type CheckRequest = {
2
+ kind: string;
3
+ target: string;
4
+ product: string;
5
+ };
6
+ /**
7
+ * Wraps a synchronous check so it runs again only when a file or folder listing its last run for the same request
8
+ * read prints differently; a throwing run keeps nothing.
9
+ */
10
+ export declare const cachedCheckOf: <TRequest extends CheckRequest, T>(check: (request: TRequest) => T) => (request: TRequest) => T;
11
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cachedCheckOf = void 0;
4
+ const tracked_reads_1 = require("../tracked-reads");
5
+ /**
6
+ * Wraps a synchronous check so it runs again only when a file or folder listing its last run for the same request
7
+ * read prints differently; a throwing run keeps nothing.
8
+ */
9
+ const cachedCheckOf = (check) => {
10
+ const entries = new Map();
11
+ return (request) => {
12
+ const key = `${request.kind}\n${request.target}\n${request.product}`;
13
+ const held = entries.get(key);
14
+ if (held && (0, tracked_reads_1.inputsUnchanged)(held.inputs))
15
+ return held.value;
16
+ const { value, inputs } = (0, tracked_reads_1.trackedRun)(() => check(request));
17
+ entries.set(key, { inputs, value });
18
+ return value;
19
+ };
20
+ };
21
+ exports.cachedCheckOf = cachedCheckOf;
22
+ //# sourceMappingURL=sketch-check-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sketch-check-cache.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/sketch-check-cache.ts"],"names":[],"mappings":";;;AAAA,oDAA6E;AAI7E;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAmC,KAA+B,EAAE,EAAE;IACjG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgD,CAAC;IAExE,OAAO,CAAC,OAAiB,EAAK,EAAE;QAC9B,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,IAAI,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAE5D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ const worker_threads_1 = require("worker_threads");
15
+ const sketch_check_cache_1 = require("./sketch-check-cache");
16
+ const sketch_checker_1 = require("./sketch-checker");
17
+ const checkOf = (0, sketch_check_cache_1.cachedCheckOf)((_a) => {
18
+ var { kind } = _a, request = __rest(_a, ["kind"]);
19
+ return kind === 'rules' ? (0, sketch_checker_1.ruleProblemsAt)(request) : (0, sketch_checker_1.openSketchListingAt)(request);
20
+ });
21
+ const answerOf = (_a) => {
22
+ var { id } = _a, request = __rest(_a, ["id"]);
23
+ try {
24
+ const listing = checkOf(request);
25
+ return typeof listing === 'string' ? { id, error: listing } : { id, result: listing };
26
+ }
27
+ catch (error) {
28
+ return { id, error: error instanceof Error ? error.message : String(error) };
29
+ }
30
+ };
31
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('message', (request) => worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage(answerOf(request)));
32
+ //# sourceMappingURL=sketch-check-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sketch-check-worker.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/sketch-check-worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAA4C;AAC5C,6DAAqD;AACrD,qDAAgH;AAEhH,MAAM,OAAO,GAAG,IAAA,kCAAa,EAAC,CAAC,EAAoD,EAAE,EAAE;QAAxD,EAAE,IAAI,OAA8C,EAAzC,OAAO,cAAlB,QAAoB,CAAF;IAC/C,OAAA,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,oCAAmB,EAAC,OAAO,CAAC,CAAA;CAAA,CAC1E,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAsC,EAAuB,EAAE;QAA/D,EAAE,EAAE,OAAkC,EAA7B,OAAO,cAAhB,MAAkB,CAAF;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC,CAAC;AAEF,2BAAU,aAAV,2BAAU,uBAAV,2BAAU,CAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,2BAAU,aAAV,2BAAU,uBAAV,2BAAU,CAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { Problem } from '../problem';
2
+ import { OpenSketchListing } from './check-sketches';
3
+ export type SketchCheckRequest = {
4
+ id: number;
5
+ target: string;
6
+ product: string;
7
+ kind: 'sketches' | 'rules';
8
+ };
9
+ export type SketchCheckResponse = {
10
+ id: number;
11
+ result?: OpenSketchListing | Problem[];
12
+ error?: string;
13
+ };
14
+ export type CheckSketches = (options: {
15
+ target: string;
16
+ product: string;
17
+ }) => Promise<OpenSketchListing>;
18
+ /** The problems the rules find in a product, read from the files as they are when it runs. */
19
+ export type CheckRules = (options: {
20
+ target: string;
21
+ product: string;
22
+ }) => Promise<Problem[]>;
23
+ /** The rule checks of `product`'s open sketches in `target`, on this thread; a string when the product does not resolve. */
24
+ export declare const openSketchListingAt: ({ target, product }: {
25
+ target: string;
26
+ product: string;
27
+ }) => string | OpenSketchListing;
28
+ /** {@link ruleProblemsOf} of `product` in `target`, on this thread; a string when the product does not resolve. */
29
+ export declare const ruleProblemsAt: ({ target, product }: {
30
+ target: string;
31
+ product: string;
32
+ }) => string | Problem[];
33
+ /**
34
+ * Runs the rule checks of a product's open sketches in a worker, so the server keeps answering
35
+ * while they run. A listing asked while one for the same product runs gets that one's result.
36
+ */
37
+ export declare const createSketchChecker: () => CheckSketches & {
38
+ rules: CheckRules;
39
+ close: () => Promise<void>;
40
+ };
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createSketchChecker = exports.ruleProblemsAt = exports.openSketchListingAt = void 0;
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const url_1 = require("url");
16
+ const worker_threads_1 = require("worker_threads");
17
+ const package_root_1 = require("../../package-root");
18
+ const design_config_1 = require("../../design-config");
19
+ const check_system_1 = require("../check-system");
20
+ const check_sketches_1 = require("./check-sketches");
21
+ const cli_args_1 = require("./cli-args");
22
+ /** The rule checks of `product`'s open sketches in `target`, on this thread; a string when the product does not resolve. */
23
+ const openSketchListingAt = ({ target, product }) => {
24
+ const config = (0, design_config_1.readConfig)(target);
25
+ const resolved = config ? (0, cli_args_1.oneProductOf)({ target, config, asked: product }) : 'no design config';
26
+ return typeof resolved === 'string' ? resolved : (0, check_sketches_1.openSketchListingOf)(resolved);
27
+ };
28
+ exports.openSketchListingAt = openSketchListingAt;
29
+ /** {@link ruleProblemsOf} of `product` in `target`, on this thread; a string when the product does not resolve. */
30
+ const ruleProblemsAt = ({ target, product }) => {
31
+ const config = (0, design_config_1.readConfig)(target);
32
+ const resolved = config ? (0, cli_args_1.oneProductOf)({ target, config, asked: product }) : 'no design config';
33
+ return typeof resolved === 'string' ? resolved : (0, check_system_1.ruleProblemsOf)(resolved);
34
+ };
35
+ exports.ruleProblemsAt = ruleProblemsAt;
36
+ const startWorker = () => {
37
+ const built = (0, package_root_1.packageFileOf)((0, path_1.resolve)(__dirname, 'sketch-check-worker.js'));
38
+ // Specs run this file from source, where only the `.ts` worker exists.
39
+ return (0, fs_1.existsSync)(built)
40
+ ? new worker_threads_1.Worker(built)
41
+ : new worker_threads_1.Worker((0, path_1.resolve)(__dirname, 'sketch-check-worker.ts'), {
42
+ execArgv: [
43
+ '--import',
44
+ (0, url_1.pathToFileURL)((0, path_1.resolve)(require.resolve('jiti/package.json'), '../lib/jiti-register.mjs')).href,
45
+ ],
46
+ });
47
+ };
48
+ /**
49
+ * Runs the rule checks of a product's open sketches in a worker, so the server keeps answering
50
+ * while they run. A listing asked while one for the same product runs gets that one's result.
51
+ */
52
+ const createSketchChecker = () => {
53
+ const pending = new Map();
54
+ const running = new Map();
55
+ let worker = null;
56
+ let nextId = 0;
57
+ const failAll = (error) => {
58
+ for (const [id, settle] of pending)
59
+ settle({ id, error });
60
+ pending.clear();
61
+ worker = null;
62
+ };
63
+ const start = () => {
64
+ const started = startWorker();
65
+ started.unref();
66
+ started.on('message', (response) => {
67
+ var _a;
68
+ (_a = pending.get(response.id)) === null || _a === void 0 ? void 0 : _a(response);
69
+ pending.delete(response.id);
70
+ });
71
+ started.on('error', (error) => {
72
+ if (started === worker)
73
+ failAll(`the sketch check worker failed: ${error.message}`);
74
+ });
75
+ started.on('exit', () => {
76
+ if (started === worker)
77
+ failAll('the sketch check worker exited before it answered');
78
+ });
79
+ return started;
80
+ };
81
+ const run = (request) => __awaiter(void 0, void 0, void 0, function* () {
82
+ worker !== null && worker !== void 0 ? worker : (worker = start());
83
+ const id = nextId++;
84
+ const answered = new Promise((settle) => pending.set(id, settle));
85
+ worker.postMessage(Object.assign(Object.assign({}, request), { id }));
86
+ const { result, error } = yield answered;
87
+ if (!result)
88
+ throw new Error(error !== null && error !== void 0 ? error : 'the sketch check worker answered nothing');
89
+ return result;
90
+ });
91
+ const check = (request) => {
92
+ const key = `${request.target}\n${request.product}`;
93
+ const known = running.get(key);
94
+ if (known)
95
+ return known;
96
+ const started = run(Object.assign(Object.assign({}, request), { kind: 'sketches' })).finally(() => running.delete(key));
97
+ running.set(key, started);
98
+ return started;
99
+ };
100
+ const close = () => __awaiter(void 0, void 0, void 0, function* () {
101
+ const stopping = worker;
102
+ failAll('the sketch checker closed');
103
+ yield (stopping === null || stopping === void 0 ? void 0 : stopping.terminate());
104
+ });
105
+ const rules = (request) => run(Object.assign(Object.assign({}, request), { kind: 'rules' }));
106
+ return Object.assign(check, { rules, close });
107
+ };
108
+ exports.createSketchChecker = createSketchChecker;
109
+ //# sourceMappingURL=sketch-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sketch-checker.js","sourceRoot":"","sources":["../../../../../../../libs/cli/src/lib/design/system/sketch/sketch-checker.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,26 @@
1
1
  import { SHARED_FOLDER } from '../imports';
2
2
  import { Layer } from '../layers';
3
3
  import { ResolvedProduct } from '../resolve-product';
4
+ import { WriteOrigin } from '../write-origin';
4
5
  export declare const SKETCH_STATUSES: readonly ["in progress", "ready"];
5
6
  export type SketchStatus = (typeof SKETCH_STATUSES)[number];
7
+ /** A part, and `sketch` when it names one of several sketches on that part; a sketch without a name is the part's only one. */
6
8
  export type SketchTarget = {
7
9
  layer: Layer;
8
10
  name: string;
11
+ sketch?: string;
9
12
  };
10
13
  /** What the user decided in Studio: a variant to merge, or the whole sketch to drop. */
11
- export type SketchDecision = {
14
+ export type SketchDecision = ({
12
15
  kind: 'pick';
13
16
  variant: string;
14
17
  comment?: string;
15
18
  decidedAt: string;
16
- } | {
19
+ } & Partial<WriteOrigin>) | ({
17
20
  kind: 'discard';
18
21
  comment?: string;
19
22
  decidedAt: string;
20
- };
23
+ } & Partial<WriteOrigin>);
21
24
  /**
22
25
  * What `sketch.json` knows about one variant: the model ids that reported on it, in the order of their first report,
23
26
  * the key of its round, and its note - what it is and what it costs - kept apart from the part's merged note.
@@ -45,6 +48,9 @@ export type SketchRejection = {
45
48
  reason?: string;
46
49
  reasonBy?: SketchVerdictBy;
47
50
  reopened?: SketchReopening;
51
+ /** `withdrawn`: the agent that drew the variant took it out of the open set, `withdrawnBy` is its model id. Absent on a rejection. */
52
+ status?: 'withdrawn';
53
+ withdrawnBy?: string;
48
54
  };
49
55
  /** One round of variants: its title, the note on what it shows, and why its variants lost once a newer round runs. */
50
56
  export type SketchRound = {
@@ -60,6 +66,22 @@ export type SketchHold = {
60
66
  by: string;
61
67
  heldAt: string;
62
68
  };
69
+ /** A rebase after the merge of `merged` that could not port `parts` by itself; the sketch's agent ports `reasons` by hand. */
70
+ export type SketchPortMark = {
71
+ merged: string[];
72
+ parts: string[];
73
+ reasons: string[];
74
+ at: string;
75
+ };
76
+ /**
77
+ * Why the last `sketch ready` run left a ready sketch unmerged; only a ready sketch keeps it. `dirty` lists the
78
+ * uncommitted files that refused the automatic merge; the next sketch command retries it once they are committed.
79
+ */
80
+ export type SketchMergeHold = {
81
+ reason: string;
82
+ at: string;
83
+ dirty?: string[];
84
+ };
63
85
  export type SketchFile = {
64
86
  target: string;
65
87
  /** Every part the sketch targets, `target` first; absent on a sketch with one target. */
@@ -78,7 +100,13 @@ export type SketchFile = {
78
100
  * `into-base`, into the base, removing the product copy the sketch started from.
79
101
  */
80
102
  merge?: SketchMerge;
103
+ /** The compare DIFFs this sketch covers while it is open (ADR 0222): `<state>`, or `<state>@<x>,<y>,<w>,<h>` for one region of its picture. */
104
+ covers?: string[];
81
105
  hold?: SketchHold;
106
+ /** The content hash of each variant when `sketch ready` judged it; a change drops a ready sketch back to in progress. */
107
+ readyContent?: Record<string, string>;
108
+ portAfterMerge?: SketchPortMark;
109
+ mergeHold?: SketchMergeHold;
82
110
  };
83
111
  export declare const SKETCH_MERGES: readonly ["override", "into-base"];
84
112
  export type SketchMerge = (typeof SKETCH_MERGES)[number];
@@ -96,6 +124,7 @@ export type Sketch = SketchFile & {
96
124
  export declare const SKETCH_FILE = "sketch.json";
97
125
  export declare const sketchesDirOf: (productDir: string) => string;
98
126
  export declare const sketchFolderOf: (target: SketchTarget) => string;
127
+ export declare const sketchIdOf: (target: SketchTarget) => string;
99
128
  export declare const sketchDirOf: (options: {
100
129
  productDir: string;
101
130
  sketch: SketchTarget;
@@ -105,10 +134,38 @@ export { SHARED_FOLDER };
105
134
  export declare const sharedDirOf: (sketch: Pick<Sketch, "dir">) => string;
106
135
  /** A variant's own `shared/` folder: a file there wins over the sketch's `shared/` file of the same path. */
107
136
  export declare const variantSharedDirOf: (sketch: Sketch, variant: string) => string;
137
+ export declare const SOURCE_FILE: RegExp;
108
138
  export declare const sourceFilesIn: (dir: string) => string[];
139
+ /** `source`, the file `file` of the part in `partDir`, with its relative imports of the part's own `shared/` folder as `@shared/`. */
140
+ export declare const withSharedImports: (options: {
141
+ source: string;
142
+ file: string;
143
+ partDir: string;
144
+ }) => string;
145
+ export declare const relativeSpecifierOf: (options: {
146
+ from: string;
147
+ to: string;
148
+ }) => string;
149
+ /**
150
+ * Rewrites the relative imports of the files in `dir`, a copy of the folder `from`, that leave `from` - and `within`,
151
+ * when given - so they reach the same files from `dir`.
152
+ */
153
+ export declare const rebaseOutsideImports: (options: {
154
+ dir: string;
155
+ from: string;
156
+ within?: string;
157
+ settledIn?: string;
158
+ skip?: string;
159
+ }) => void;
160
+ /** Rewrites the relative imports of the part's own `shared/` folder in its files to `@shared/`. */
161
+ export declare const rewriteSharedImports: (partDir: string) => void;
109
162
  /** Reads `<layer>/<name>` as a sketch target, or answers with why it is not one. */
110
163
  export declare const parseTarget: (value: string | undefined) => SketchTarget | string;
164
+ /** Reads a sketch id (`<layer>/<name>[@<sketch>]`), `<layer>/<name>.<sketch>` or a sketch folder name (`<layer>-<name>[.<sketch>]`) as a sketch id, or `null` when it is none of them. */
165
+ export declare const sketchIdOfName: (value: string) => string | null;
111
166
  export declare const isVariantName: (name: string) => boolean;
167
+ /** Deletes a sketch folder, then its `sketches/` folder when nothing else is left in it. */
168
+ export declare const removeSketchDir: (dir: string) => void;
112
169
  /** The round new variants join: the last one. */
113
170
  export declare const runningRoundOf: (sketch: Pick<Sketch, "rounds">) => SketchRound;
114
171
  /** The rejection that holds on a variant now, or `null` when it is live. */
@@ -127,6 +184,11 @@ export declare const listSketches: (options: {
127
184
  productDir: string;
128
185
  product: string;
129
186
  }) => (string | Sketch)[];
187
+ /** `listSketches`, letting the server answer other requests before each sketch it reads. */
188
+ export declare const listSketchesInTurns: (options: {
189
+ productDir: string;
190
+ product: string;
191
+ }) => Promise<(string | Sketch)[]>;
130
192
  /** The open sketch that targets `sketch`, found by its first target or by any other it names; `null` when none does. */
131
193
  export declare const findSketch: (options: {
132
194
  productDir: string;
@@ -153,7 +215,7 @@ export declare const sketchSourceOf: (options: {
153
215
  * author. Each variant starts from `like` when given - renamed to the target, without its `madeBy`, and with its
154
216
  * sketch's `shared/` folder - else from the part the product resolves for the target, or from an empty part when the
155
217
  * target is new. A part's own `shared/` folder becomes the sketch's, imported as `@shared/`. A target holds one open
156
- * sketch at a time. Each of `others` joins every variant the same way, as a further target; `like` takes one target only.
218
+ * sketch at a time, or one per sketch name when `sketch.sketch` names it. Each of `others` joins every variant the same way, as a further target; `like` takes one target only.
157
219
  * A target the product overrides in its base needs `merge`: `override` or `into-base`.
158
220
  */
159
221
  export declare const createSketch: (options: {
@@ -178,6 +240,14 @@ export declare const addTarget: (options: {
178
240
  part: SketchTarget;
179
241
  author?: string;
180
242
  }) => Sketch | string;
243
+ /**
244
+ * Removes `part` from the targets of an open sketch and deletes its folder in every variant. The first target
245
+ * cannot be removed.
246
+ */
247
+ export declare const removeTarget: (options: {
248
+ sketch: Sketch;
249
+ part: SketchTarget;
250
+ }) => Sketch | string;
181
251
  /** The sketch with `author` among the authors of `variant`; the same sketch when it is there already. */
182
252
  export declare const withAuthor: (options: {
183
253
  sketch: Sketch;
@@ -191,7 +261,8 @@ export declare const sketchReportPath: (options: {
191
261
  }) => string;
192
262
  /**
193
263
  * Records what an agent builds on a variant of a sketch right now ("phone, outline state"), for Studio to show,
194
- * and adds the agent's model id to the variant's authors in `sketch.json` unless it is there already.
264
+ * and adds the agent's model id to the variant's authors in `sketch.json` unless it is there already. A ready sketch
265
+ * refuses a report unless `reopen` moves it back to in progress.
195
266
  */
196
267
  export declare const reportSketch: (options: {
197
268
  checkout: string;
@@ -199,6 +270,7 @@ export declare const reportSketch: (options: {
199
270
  variant: string;
200
271
  author: string;
201
272
  message: string;
273
+ reopen?: boolean;
202
274
  }) => Sketch | string;
203
275
  /** The live report of an agent on a sketch: its message, the variant and the model id it named. `variant` and `author` are `null` in a report written before they were recorded. */
204
276
  export type SketchReport = {
@@ -231,6 +303,16 @@ export declare const markSketchReady: (options: {
231
303
  sketch: Sketch;
232
304
  author?: string;
233
305
  }) => Sketch | string;
306
+ /** The content hash of every file a variant draws from: its folder and the `shared/` folder of the sketch. */
307
+ export declare const variantContentHashOf: (sketch: Sketch, variant: string) => string;
308
+ /**
309
+ * Moves an undecided ready sketch back to in progress when a variant changed since `sketch ready` judged it, and
310
+ * answers the changed variants, or `null` when nothing changed or the sketch recorded no content.
311
+ */
312
+ export declare const reopenChangedReady: (sketch: Sketch) => {
313
+ sketch: Sketch;
314
+ changed: string[];
315
+ } | null;
234
316
  /** Why a held sketch cannot be ready, or `null` when it holds nothing. */
235
317
  export declare const heldProblemOf: (sketch: Pick<Sketch, "target" | "hold">) => string | null;
236
318
  /**
@@ -264,14 +346,24 @@ export type SketchVariantVerdict = {
264
346
  reason?: string;
265
347
  by: SketchVerdictBy;
266
348
  };
267
- export type SketchDecisionInput = {
349
+ export type SketchDecisionInput = ({
268
350
  kind: 'pick';
269
351
  variant: string;
270
352
  comment?: string;
271
- } | {
353
+ } & WriteOrigin) | ({
272
354
  kind: 'discard';
273
355
  comment?: string;
274
- } | SketchVariantVerdict;
356
+ } & WriteOrigin) | SketchVariantVerdict;
357
+ /**
358
+ * Takes a variant out of the open set as `withdrawn` by the agent `by`, with `reason`; refused when `by` did not draw
359
+ * the variant or it is rejected already. Writes sketch.json.
360
+ */
361
+ export declare const withdrawVariant: (options: {
362
+ sketch: Sketch;
363
+ variant: string;
364
+ by: string;
365
+ reason: string;
366
+ }) => Sketch | string;
275
367
  /**
276
368
  * Records the user's pick or discard on a sketch, the decision Studio writes and the agent acts on, or a verdict on
277
369
  * one variant. A rejected variant cannot be picked; rejecting the picked variant clears the pick.