@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,173 @@
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.designCommitHunks = exports.withPartHunks = exports.COMMIT_HUNKS_USAGE = void 0;
13
+ const child_process_1 = require("child_process");
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ const url_1 = require("url");
17
+ const json_layout_1 = require("./json-layout");
18
+ const resolve_product_1 = require("./system/resolve-product");
19
+ const cli_args_1 = require("./system/sketch/cli-args");
20
+ const sketch_1 = require("./system/sketch/sketch");
21
+ exports.COMMIT_HUNKS_USAGE = 'commit-hunks <file> --part <layer>/<name> [--part <layer>/<name>]… [--id <capability>]… [--message <text>]';
22
+ const same = (a, b) => JSON.stringify(a) === JSON.stringify(b);
23
+ const isEntry = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
24
+ const sortedByKey = (value) => Object.fromEntries(Object.entries(value).sort(([a], [b]) => a.localeCompare(b)));
25
+ const canonical = (value) => JSON.stringify(value, (_, item) => (isEntry(item) ? sortedByKey(item) : item));
26
+ const PART_KEY = /^[^/]+\/[^/]+$/u;
27
+ const REFUSAL = 'is not split per part: it is neither an object keyed by <layer>/<name>, a list of entries with a part field, nor a capabilities list (--id); commit the whole file with `yarn commit` when no other session edits it';
28
+ const idOf = (entry) => (isEntry(entry) && typeof entry['id'] === 'string' ? entry['id'] : null);
29
+ const mergeById = (lists, ids) => {
30
+ const { head, work } = lists;
31
+ const owned = (entry) => { var _a; return ids.includes((_a = idOf(entry)) !== null && _a !== void 0 ? _a : ''); };
32
+ const taken = work.filter(owned);
33
+ const merged = head.map((entry) => { var _a; return (owned(entry) ? ((_a = taken.find((t) => idOf(t) === idOf(entry))) !== null && _a !== void 0 ? _a : null) : entry); });
34
+ return [...merged.filter((entry) => entry !== null), ...taken.filter((t) => !head.some((h) => idOf(h) === idOf(t)))];
35
+ };
36
+ /**
37
+ * HEAD's content of a shared design JSON file with only the entries of `parts` (or, for `capabilities.json`, of
38
+ * `ids`) taken from the working tree: an object keyed by part, a list of entries with a `part` field, or an object
39
+ * whose `capabilities` list holds entries with an `id`. A string is the refusal for any other shape.
40
+ */
41
+ const withPartHunks = (options) => {
42
+ const { head, work, parts, ids = [] } = options;
43
+ if (isEntry(head) && isEntry(work) && Array.isArray(head['capabilities']) && Array.isArray(work['capabilities'])) {
44
+ if (ids.length === 0)
45
+ return 'holds capabilities, which are split per id: pass --id <capability>';
46
+ return Object.assign(Object.assign({}, head), { capabilities: mergeById({ head: head['capabilities'], work: work['capabilities'] }, ids) });
47
+ }
48
+ if (ids.length > 0)
49
+ return 'has no capabilities list, so --id does not apply';
50
+ if (Array.isArray(head) && Array.isArray(work)) {
51
+ const owned = (entry) => isEntry(entry) && typeof entry['part'] === 'string' && parts.includes(entry['part']);
52
+ if ([...head, ...work].some((entry) => !isEntry(entry) || typeof entry['part'] !== 'string'))
53
+ return REFUSAL;
54
+ return [
55
+ ...head.filter((entry) => !owned(entry) || work.some((candidate) => same(candidate, entry))),
56
+ ...work.filter((entry) => owned(entry) && !head.some((candidate) => same(candidate, entry))),
57
+ ];
58
+ }
59
+ if (isEntry(head) && isEntry(work)) {
60
+ if ([...Object.keys(head), ...Object.keys(work)].some((key) => !PART_KEY.test(key)))
61
+ return REFUSAL;
62
+ const composed = Object.assign({}, head);
63
+ for (const part of parts) {
64
+ if (part in work)
65
+ composed[part] = work[part];
66
+ else
67
+ delete composed[part];
68
+ }
69
+ return sortedByKey(composed);
70
+ }
71
+ return REFUSAL;
72
+ };
73
+ exports.withPartHunks = withPartHunks;
74
+ const git = (cwd, args) => (0, child_process_1.execFileSync)('git', args, { cwd, encoding: 'utf8', stdio: 'pipe' });
75
+ const LOCK_TRIES = 10;
76
+ const gitLocked = (error) => { var _a; return /index\.lock/u.test(String((_a = error.stderr) !== null && _a !== void 0 ? _a : '')); };
77
+ const wait = (ms) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
78
+ const gitRetrying = (cwd, args) => {
79
+ for (let attempt = 1;; attempt++) {
80
+ try {
81
+ return git(cwd, args);
82
+ }
83
+ catch (error) {
84
+ if (attempt >= LOCK_TRIES || !gitLocked(error))
85
+ throw error;
86
+ wait(attempt * 100);
87
+ }
88
+ }
89
+ };
90
+ const waitForIndexLock = (target) => __awaiter(void 0, void 0, void 0, function* () {
91
+ const module = (0, path_1.join)(target, 'tools/scripts/commit-wait.mjs');
92
+ if (!(0, fs_1.existsSync)(module))
93
+ return;
94
+ const { waitForLock } = (yield import((0, url_1.pathToFileURL)(module).href));
95
+ yield waitForLock((0, path_1.join)(git(target, ['rev-parse', '--absolute-git-dir']).trim(), 'index.lock'));
96
+ });
97
+ const fail = (message, code = 1) => {
98
+ console.error(message);
99
+ return code;
100
+ };
101
+ /**
102
+ * `et design commit-hunks <file> --part <p>` commits only the entries of part `p` of a shared JSON file (`merged.json`,
103
+ * `ready.json`, ...): HEAD plus those entries is committed for that path, and the working file keeps
104
+ * every other session's uncommitted entries.
105
+ */
106
+ const designCommitHunks = (options) => __awaiter(void 0, void 0, void 0, function* () {
107
+ var _a, _b, _c, _d, _e;
108
+ const { target, argv, invocation } = options;
109
+ const args = (0, cli_args_1.argsOf)(argv, { values: ['--part', '--id', '--message'], switches: [] });
110
+ const [asked, ...extra] = typeof args === 'string' ? [] : args.positional;
111
+ const asParts = (typeof args === 'string' ? [] : ((_a = args.repeated['--part']) !== null && _a !== void 0 ? _a : [])).map(sketch_1.parseTarget);
112
+ const ids = typeof args === 'string' ? [] : ((_b = args.repeated['--id']) !== null && _b !== void 0 ? _b : []);
113
+ const bad = asParts.find((part) => typeof part === 'string');
114
+ if (typeof args === 'string' || !asked || extra.length > 0 || asParts.length + ids.length === 0) {
115
+ return fail(`${typeof args === 'string' ? `${args}\n` : ''}usage: ${invocation} ${exports.COMMIT_HUNKS_USAGE}`, 2);
116
+ }
117
+ if (typeof bad === 'string')
118
+ return fail(bad, 2);
119
+ const parts = asParts.flatMap((part) => (typeof part === 'string' ? [] : [(0, resolve_product_1.partKeyOf)(part)]));
120
+ const absolute = (0, path_1.isAbsolute)(asked) ? asked : (0, path_1.resolve)(target, asked);
121
+ const file = (0, path_1.relative)(target, absolute);
122
+ let original;
123
+ let work;
124
+ let head;
125
+ let headText = '';
126
+ try {
127
+ original = (0, fs_1.readFileSync)(absolute, 'utf8');
128
+ work = JSON.parse(original);
129
+ }
130
+ catch (error) {
131
+ return fail(`${file} is not readable JSON: ${error instanceof Error ? error.message : String(error)}`);
132
+ }
133
+ try {
134
+ headText = git(target, ['show', `HEAD:./${file}`]);
135
+ head = JSON.parse(headText);
136
+ }
137
+ catch (_f) {
138
+ head = Array.isArray(work) ? [] : {};
139
+ }
140
+ const composed = (0, exports.withPartHunks)({ head, work, parts, ids });
141
+ const names = [...parts, ...ids];
142
+ if (typeof composed === 'string')
143
+ return fail(`${file} ${composed}`);
144
+ if (canonical(composed) === canonical(head)) {
145
+ const order = canonical(work) === canonical(head) && !same(work, head) ? ' (the rest differs in key order only)' : '';
146
+ console.log(`${file} holds no uncommitted entry of ${names.join(', ')}${order}`);
147
+ return 0;
148
+ }
149
+ const message = (_c = args.values['--message']) !== null && _c !== void 0 ? _c : `chore(repo): Record ${names.join(', ')} in ${(0, path_1.basename)(file)}`;
150
+ yield waitForIndexLock(target);
151
+ (0, fs_1.writeFileSync)(absolute, headText === `${JSON.stringify(head, null, 2)}\n`
152
+ ? `${JSON.stringify(composed, null, 2)}\n`
153
+ : (0, json_layout_1.jsonLayoutOf)(composed));
154
+ try {
155
+ gitRetrying(target, ['commit', '-m', message, '--', file]);
156
+ }
157
+ catch (error) {
158
+ const output = error;
159
+ return fail(`${(_d = output.stdout) !== null && _d !== void 0 ? _d : ''}${(_e = output.stderr) !== null && _e !== void 0 ? _e : ''}${file} was not committed`.trim());
160
+ }
161
+ finally {
162
+ (0, fs_1.writeFileSync)(absolute, original);
163
+ }
164
+ const rest = canonical(work) !== canonical(composed)
165
+ ? 'the other entries stay in the working tree'
166
+ : same(work, composed)
167
+ ? 'nothing else differs from HEAD'
168
+ : 'the rest differs from HEAD in key order only (order only)';
169
+ console.log(`committed ${names.join(', ')} of ${file}; ${rest}`);
170
+ return 0;
171
+ });
172
+ exports.designCommitHunks = designCommitHunks;
173
+ //# sourceMappingURL=commit-hunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-hunks.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/commit-hunks.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ /** Whether `et design <argv>` draws with the SDK libs, so it must not run on a stale build of them. */
2
+ export declare const drawsWithSdkLibs: (argv: string[]) => boolean;
1
3
  /**
2
4
  * `et design [checkout]` serves the variant frames of a checkout, and `et design check …` says why
3
5
  * a call does not render. Both work on any checkout that keeps a `.ethlete/design` folder, so a
@@ -9,13 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.designCommand = void 0;
12
+ exports.designCommand = exports.drawsWithSdkLibs = void 0;
13
13
  const fs_1 = require("fs");
14
+ const system_tsconfig_1 = require("./system/system-tsconfig");
14
15
  const path_1 = require("path");
15
- const accept_command_1 = require("./system/accept-command");
16
16
  const check_1 = require("./check");
17
17
  const complete_command_1 = require("./system/complete-command");
18
- const paths_1 = require("./paths");
18
+ const design_config_1 = require("./design-config");
19
+ const serve_state_1 = require("./serve-state");
20
+ const run_deadline_1 = require("./run-deadline");
19
21
  const inbox_command_1 = require("./inbox-command");
20
22
  const legacy_1 = require("./legacy");
21
23
  const new_call_1 = require("./new-call");
@@ -23,21 +25,39 @@ const product_command_1 = require("./product-command");
23
25
  const serve_1 = require("./serve");
24
26
  const asset_shot_1 = require("./asset-shot");
25
27
  const shot_command_1 = require("./shot-command");
28
+ const commit_hunks_1 = require("./commit-hunks");
26
29
  const mcp_command_1 = require("./mcp-command");
27
30
  const motion_command_1 = require("./motion-command");
28
31
  const sketch_command_1 = require("./sketch-command");
29
32
  const stamp_1 = require("./stamp");
33
+ const started_by_studio_1 = require("./started-by-studio");
34
+ const stale_cli_dist_1 = require("./stale-cli-dist");
30
35
  const status_1 = require("./status");
31
36
  const part_command_1 = require("./system/part-command");
37
+ const actions_command_1 = require("./system/actions-command");
38
+ const compare_command_1 = require("./system/compare-command");
39
+ const dom_command_1 = require("./system/dom-command");
40
+ const task_command_1 = require("./system/task-command");
41
+ const harness_command_1 = require("./system/harness-command");
32
42
  const ready_command_1 = require("./system/ready-command");
33
43
  const system_command_1 = require("./system/system-command");
44
+ const stale_dist_1 = require("./system/stale-dist");
45
+ const stale_design_mocks_1 = require("./system/stale-design-mocks");
46
+ const client_1 = require("./resident/client");
47
+ const resident_process_1 = require("./resident/resident-process");
48
+ const timings_1 = require("./timings");
49
+ const timings_command_1 = require("./timings-command");
50
+ const realOf = (path) => ((0, fs_1.existsSync)(path) ? (0, fs_1.realpathSync)(path) : path);
34
51
  /** Reads `--checkout <path>` out of an argument list, and answers with the path and the rest. */
35
52
  const splitCheckout = (argv, root) => {
36
53
  var _a;
37
54
  const index = argv.indexOf('--checkout');
38
55
  if (index === -1)
39
- return { target: (0, paths_1.findCheckoutRoot)(root), rest: argv };
40
- return { target: (0, path_1.resolve)(root, (_a = argv[index + 1]) !== null && _a !== void 0 ? _a : '.'), rest: [...argv.slice(0, index), ...argv.slice(index + 2)] };
56
+ return { target: realOf((0, design_config_1.findCheckoutRoot)(root)), rest: argv };
57
+ return {
58
+ target: realOf((0, path_1.resolve)(root, (_a = argv[index + 1]) !== null && _a !== void 0 ? _a : '.')),
59
+ rest: [...argv.slice(0, index), ...argv.slice(index + 2)],
60
+ };
41
61
  };
42
62
  const helpOf = (invocation) => [
43
63
  `${invocation} [checkout] [--host <address>]`,
@@ -48,12 +68,45 @@ const helpOf = (invocation) => [
48
68
  ' Find out why a call does not render: eslint, then tsc, then the live frames. --tsconfig also types each variant',
49
69
  ' of an open sketch. --receipt writes the call, the variant, ok, the time and the output to a JSON file.',
50
70
  '',
51
- `${invocation} check --product <name> [--complete]`,
71
+ `${invocation} check [<layer>/<name> | --part <layer>/<name>] [--product <name>]`,
52
72
  " Check a product's design system: layer dependencies, hard-coded colours, var() tokens nothing defines,",
53
73
  ' copied components, scripted motion, then tsc. Without any flag, check checks every product in config.json.',
54
- ' Then it prints the open points of each part: open comments, unmerged sketches, no implements, no controls',
55
- ' declared, and the contrasts the render check found under the rule. --complete also draws every component part',
56
- ' as complete does and lists each control that lacks a drawn state or surface; it is slow. Open points never fail.',
74
+ ' Then it prints the open points of each part: open comments, unmerged sketches, no controls',
75
+ ' declared, the contrasts the render check found under the rule, and each control of a component part that lacks',
76
+ ' a drawn state or surface as complete draws it - what ready refuses on. Open points never fail.',
77
+ ' It also lists each view of the harness app (*-view.component.ts) that no part implements and the parts',
78
+ ' without an implements link (UNLINKED, not an open point), and ends with one',
79
+ ' line per part with findings and a count of the clean ones. --part (or a leading <layer>/<name>) keeps only that',
80
+ ' part. A flag no form of check reads, or one the chosen form ignores, fails with exit code 2.',
81
+ '',
82
+ `${invocation} check --product <name>… --app-classes [--fix]`,
83
+ " Only report the Tailwind classes in the product's harness app source (templates and class strings) that have a",
84
+ ' canonical form under the stylesheet the app builds with. Exits 1 on a finding. --fix rewrites them in the app source',
85
+ " and in the product's parts instead.",
86
+ '',
87
+ `${invocation} check --product <name>… --rules [--base <rev|range>]`,
88
+ " Only run the static rules on the product's design files and harness app source - no draw, no tsc, no open",
89
+ ' points. Seconds instead of minutes; CI runs it. Exits 1 on a problem. --base also fails with',
90
+ ' IMPLEMENTATION-UNCOMPARED on each file git diff <base> names that an implemented part reaches and that moved since',
91
+ ' its implemented.json record and names the parts; compare --affected compares and records them again.',
92
+ '',
93
+ `${invocation} check --product <name>… --live`,
94
+ " Open every live state of the product's harness.live spec on the real app and report each visible region",
95
+ ' (UNCOVERED) that no part component covers and no "partless" { selector, reason } of the spec exempts.',
96
+ ' Exits 1 on a finding.',
97
+ '',
98
+ `${invocation} check --product <name>… --visible-change [--base <rev>] [--part <layer>/<name>…]`,
99
+ " Draw each harness part's states in the app at the base (default: the merge base of HEAD and harness.baseBranch,",
100
+ ' else the branch origin/HEAD names) and',
101
+ " at HEAD, against HEAD's design. A part that looks different fails unless a picked or merged sketch of it is in",
102
+ ' base..HEAD or every changed state is closer to the design than before. --part keeps only those parts.',
103
+ ' Exits 1 on a failing part.',
104
+ '',
105
+ `${invocation} check --product <name>… --slow [--part <layer>/<name>…] [--base <rev>]`,
106
+ ' Run the slow rules - APP-SPEC, UNCOVERED-REGION, IMPLEMENTS-UNRENDERED, VISIBLE-CHANGE, compare and the SDK-error',
107
+ " watch - and store each part's problems in node_modules/.cache/ethlete-design, where the build-ready state reads",
108
+ ' them.',
109
+ ' Exits 1 on a problem.',
57
110
  '',
58
111
  `${invocation} system --json [--product <name>]`,
59
112
  " Print each product's parts as JSON: origin, note, states, widths, presets and the problems of each part.",
@@ -73,6 +126,8 @@ const helpOf = (invocation) => [
73
126
  '',
74
127
  `${invocation} status <slug> <${status_1.CALL_STATES.join('|')}>`,
75
128
  ' Record the state of a call for Ethlete Studio. new and check --call record theirs on their own.',
129
+ `${invocation} status [--json]`,
130
+ ' Without a call: the unpushed commits, the age of the oldest and the CI state of this head.',
76
131
  '',
77
132
  `${invocation} sketch new <layer>/<name> [<layer>/<name>…] --variants a,b --by <model id> [--like <layer>/<name>[:<variant>]] [--round <title>] [--note <text>] [--product <name>]`,
78
133
  ' Open a sketch on a part, new or existing, in progress. Each variant starts as a copy of the part, or of the part',
@@ -87,38 +142,75 @@ const helpOf = (invocation) => [
87
142
  '',
88
143
  `${invocation} sketch report <layer>/<name> --variant <key> --by <model id> <text> [--product <name>] | sketch ready <layer>/<name> --by <model id>`,
89
144
  ' Tell Studio what you build on a variant now ("phone, outline state"), which also records you as one of its',
90
- ' authors, then mark the sketch ready for the user to pick.',
145
+ ' authors, then mark the sketch ready for the user to pick. Ready refuses (SHOT-NOT-VIEWED) while a variant draws',
146
+ ` a pixel diff and no shot of it was handed out since its last edit: run \`${invocation} shot <layer>/<name> --states --variants\``,
147
+ ' or GET /__design/shot with sketch= and variant=, and look at it.',
91
148
  '',
92
149
  `${invocation} sketch round <layer>/<name> <round> [--title <text>] [--note <text>] [--drops <state,state>] --by <model id> | sketch list [--json] | sketch check [<layer>/<name>] | sketch preview <layer>/<name> <variant> [--json]`,
93
150
  ' List open sketches, check each variant laid over the product, and list the elements and pages a merge changes.',
94
151
  '',
95
- `${invocation} sketch note <layer>/<name> <variant> <text> --by <model id>`,
152
+ `${invocation} sketch note <layer>/<name> [<variant>] <text> [--round <round>] --by <model id>`,
96
153
  ' Set the note of one variant in sketch.json, the one sketch new sets with --variant-note.',
97
154
  '',
98
- `${invocation} sketch merge <layer>/<name> [--note <reason>] --by <model id> | sketch discard <layer>/<name> --by <model id>`,
99
- ' Merge the variant the user picked, set the note and madeBy (its authors) on the target, then check and',
100
- ' restore the old files on failure. Or drop the sketch. Both resolve the addressed comments on its variants and mark the open ones addressed. Studio runs',
155
+ `${invocation} sketch covers <layer>/<name> [[<layer>/<name>:]<state>[@<x>,<y>,<w>,<h>]…] --by <model id>`,
156
+ ' Set the compare DIFFs an open sketch covers (ADR 0222): compare lists them with the sketch name and passes.',
157
+ " A bare state covers its whole DIFF; @x,y,w,h covers only DIFF pixels inside that box of the state's picture.",
158
+ ' A sketch with several targets needs <layer>/<name>:<state> (a bare state exits 2); one target takes both.',
159
+ ' No state clears them; a pick ends the cover.',
160
+ '',
161
+ `${invocation} sketch merge <layer>/<name> [--note <reason> [--replace-note]] --by <model id> | sketch discard <layer>/<name> --by <model id>`,
162
+ ' Merge the variant the user picked, note --note in merged.json (the part note stays; --replace-note writes it',
163
+ ' over), set madeBy (its authors) on the target, then check and',
164
+ ' restore the old files on failure. Or drop the sketch. Both resolve the addressed comments on its variants and mark the open ones addressed;',
165
+ ' a merge keeps a thread open that has no reply yet or whose last entry asks a question. Studio runs',
101
166
  " both on the user's click, so an agent runs neither after a pick. Merge refuses without a pick,",
102
167
  ' and when a part the variant replaces changed in the product since the sketch was created.',
103
168
  '',
104
169
  `${invocation} sketch rebase <layer>/<name> --by <model id>`,
105
- ' After bringing each variant up to date with the product, record the product as it is now for the merge.',
106
- '',
107
- `${invocation} ${accept_command_1.ACCEPT_USAGE}`,
108
- " Record a direct edit of a merged part that the user approved without a sketch: writes the part's hash to",
109
- ' merged.json, so check stops warning of it, and logs who accepted it and why in accepted.json. Refuses an unknown',
110
- ' part, a part with an open sketch, and a part with no change outside a sketch.',
170
+ ' Port what changed in the product since the sketch was cut into each variant (a 3-way merge per file), then record',
171
+ ' the product as it is now for the merge. Any conflict lists the files and writes nothing.',
111
172
  '',
112
173
  `${invocation} ${ready_command_1.READY_USAGE}`,
113
174
  ' Mark a part ready in .ethlete/design/<product>/ready.json. It draws the part and refuses with its open points',
114
175
  ' while it has any. The mark drops when the part changes.',
115
176
  '',
177
+ `${invocation} ${task_command_1.TASK_USAGE}`,
178
+ ' Print what implementing a build-ready part takes: its implements link, each state with its props, the',
179
+ ' states new or changed since implemented.json, and the files it may change. --verify checks the files of a',
180
+ ' commit or range (default HEAD) against them, then runs compare and records implemented.json when both pass.',
181
+ '',
182
+ `${invocation} ${compare_command_1.COMPARE_USAGE}`,
183
+ ' Draw each state of a linked build-ready part, or the one --state names, and shoot the',
184
+ ' [data-design-harness-host] element of <url>/__design-harness?part=&state=&props= in the same Chromium. Prints ok,',
185
+ ' DIFF <n> px or SIZE per state at tolerance 0 and keeps the pictures of a failing state in a temp folder.',
186
+ ' A component or element is fitted to its content; a page draws at --preset (default: the first preset of the',
187
+ ' product) and its harness url adds layout=page, so the host fills that viewport.',
188
+ ' Without --url it makes a development build of the harness app in a temp folder, serves it on a free port and',
189
+ ' stops it afterwards, also next to a running dev server of the same app; exits 1 unless every state is ok.',
190
+ ' --affected compares, on one harness, every implemented part whose app files changed since its implemented.json',
191
+ ' record, runs its actions check there and records each part that passes both.',
192
+ '',
193
+ `${invocation} ${dom_command_1.DOM_USAGE}`,
194
+ ' Print the pretty-printed HTML of one state of a part (default: its first): the rendered design, or with --app the',
195
+ ' [data-design-harness-host] element of the app harness page that compare shoots. --app needs a current harness map.',
196
+ '',
197
+ `${invocation} ${actions_command_1.ACTIONS_USAGE}`,
198
+ " Click and press Enter and Space on each interactive element of the part in the app's harness page, from each",
199
+ ' state that forces no interaction. Each must reach the state or fire the output its design element declares in',
200
+ ' data-et-action ("<state>" or "emit:<output>"); a key reaches the "<state>-focus-visible" row where the part draws',
201
+ ' one. Fails on an element without a declared action and on a design element the app does not draw.',
202
+ '',
203
+ `${invocation} ${harness_command_1.HARNESS_USAGE}`,
204
+ ' Write the harness map named in config.json products.<name>.harness.map: a lazy import of the component each',
205
+ " part implements, keyed by <layer>/<name>, for the app's /__design-harness route. --check exits 1 when it is",
206
+ ' stale; compare and task --verify refuse a stale map.',
207
+ '',
116
208
  `${invocation} ${complete_command_1.COMPLETE_USAGE}`,
117
209
  ' Exit 1 while a control the part declares in definePart({ controls }) lacks a drawn state or surface: hover and',
118
210
  ' active for pointer input, focus-visible for keyboard, and per kind: active for a button; a collapsed state and',
119
211
  ' its visible body for a disclosure; the open surface with hovered, focused and selected options for a select or',
120
212
  ' menu; a selected look and selected hover for a row; the visible tooltip for a tooltip; a disabled look when the',
121
- ' control declares disabled. A part that changed since its last merge or accept fails too, and so does a drawn',
213
+ ' control declares disabled. A part that changed since its last merge fails too, and so does a drawn',
122
214
  ' control without a data-et-control marker, or an element with a pointer cursor or :hover rule but no control',
123
215
  ' role. A control',
124
216
  ' inside an embedded part (its data-et-part root) belongs to that part, which must be complete itself; a rule',
@@ -183,13 +275,78 @@ const helpOf = (invocation) => [
183
275
  ' working directory and returns its output, its images and its JSON. check on a call writes its receipt to',
184
276
  ' --receipt.',
185
277
  '',
278
+ `${invocation} ${commit_hunks_1.COMMIT_HUNKS_USAGE}`,
279
+ ' Commit only the entries of the part from a shared JSON file (merged.json, ready.json, ...): HEAD plus',
280
+ ' those entries is committed for that path, and entries of other parts stay uncommitted in the working tree.',
281
+ '',
282
+ `${invocation} serve-state`,
283
+ ' Print who serves the design port (the Studio app or a terminal, with its pid), which cli build it runs against this',
284
+ ' checkout and how to restart it.',
285
+ '',
186
286
  `${invocation} stamp`,
187
287
  ' Print the version and build of this cli as JSON, which a running server answers with too.',
188
288
  '',
289
+ `${invocation} ${timings_command_1.TIMINGS_USAGE}`,
290
+ ' Every design run appends its timings to .ethlete/design/.timings.jsonl. timings reports the median of each command',
291
+ ' against its target (compare 5 s, sketch check and ready 10 s, full check 60 s), each miss with its most expensive',
292
+ ' phase, and the slowest phases and runs. --since defaults to 1d.',
293
+ '',
294
+ `${invocation} stop`,
295
+ ' End the resident design process of the checkout. compare, check --product/--part, sketch check and sketch ready',
296
+ ' run in it, one at a time (a waiting compare runs between two parts of a check): the first one starts it detached',
297
+ ' (printed as a cold start), later ones reuse its design server, Chromium and harness app, and it exits after',
298
+ ' 30 min without a request. CI and ETHLETE_DESIGN_RESIDENT=0 run them in their own process.',
299
+ '',
189
300
  'Every command takes --checkout <path>. DE_PORT overrules the port in .ethlete/design/config.json.',
190
301
  '',
191
302
  ].join('\n');
192
303
  const HELP_FLAGS = new Set(['--help', '-h']);
304
+ const TIMED_COMMANDS = new Set([
305
+ 'actions',
306
+ 'check',
307
+ 'comment',
308
+ 'commit-hunks',
309
+ 'compare',
310
+ 'complete',
311
+ 'dom',
312
+ 'harness',
313
+ 'inbox',
314
+ 'legacy',
315
+ 'motion',
316
+ 'new',
317
+ 'part',
318
+ 'product',
319
+ 'ready',
320
+ 'shot',
321
+ 'sketch',
322
+ 'status',
323
+ 'stop',
324
+ 'system',
325
+ 'task',
326
+ 'token',
327
+ ]);
328
+ const DRAWING_COMMANDS = new Set([
329
+ 'check',
330
+ 'shot',
331
+ 'compare',
332
+ 'ready',
333
+ 'harness',
334
+ 'motion',
335
+ 'dom',
336
+ 'actions',
337
+ 'complete',
338
+ ]);
339
+ const DRAWING_SKETCH_COMMANDS = new Set(['check', 'ready', 'preview']);
340
+ /** Whether `et design <argv>` draws with the SDK libs, so it must not run on a stale build of them. */
341
+ const drawsWithSdkLibs = (argv) => {
342
+ const [command = '', subcommand = ''] = argv;
343
+ if (command === 'sketch')
344
+ return DRAWING_SKETCH_COMMANDS.has(subcommand);
345
+ if (command === 'task')
346
+ return argv.includes('--verify');
347
+ return DRAWING_COMMANDS.has(command);
348
+ };
349
+ exports.drawsWithSdkLibs = drawsWithSdkLibs;
193
350
  const alternativesOf = (block, invocation) => { var _a; return ((_a = block[0]) !== null && _a !== void 0 ? _a : '').split(' | ').map((usage) => usage.replace(`${invocation} `, '')); };
194
351
  const matchingBlocksOf = (invocation, words) => {
195
352
  const blocks = helpOf(invocation)
@@ -217,6 +374,7 @@ const subcommandHelpOf = (invocation, argv) => {
217
374
  * repository needs no design tooling of its own.
218
375
  */
219
376
  const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* () {
377
+ var _a, _b;
220
378
  const { root, argv, invocation } = options;
221
379
  if (argv[0] === '--help' || argv[0] === '-h' || argv[0] === 'help') {
222
380
  console.log(helpOf(invocation));
@@ -226,10 +384,61 @@ const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* (
226
384
  console.log(subcommandHelpOf(invocation, argv));
227
385
  return 0;
228
386
  }
387
+ const deadline = { argv, ms: (0, run_deadline_1.deadlineMsOf)((_a = argv[0]) !== null && _a !== void 0 ? _a : '') };
388
+ if (!TIMED_COMMANDS.has((_b = argv[0]) !== null && _b !== void 0 ? _b : ''))
389
+ return (0, run_deadline_1.withRunDeadline)(deadline, () => runDesign(options));
390
+ const { target, rest } = splitCheckout(argv.slice(1), root);
391
+ return (0, run_deadline_1.withRunDeadline)(deadline, () => { var _a; return (0, timings_1.recordRun)({ file: (0, timings_1.timingsFileOf)(target), argv: [(_a = argv[0]) !== null && _a !== void 0 ? _a : '', ...rest] }, () => runDesign(options)); });
392
+ });
393
+ exports.designCommand = designCommand;
394
+ const runDesign = (options) => __awaiter(void 0, void 0, void 0, function* () {
395
+ var _a;
396
+ const { root, argv, invocation } = options;
397
+ const staleWarning = argv[0] === 'stamp' ? null : (0, stale_cli_dist_1.runningCliStaleWarning)();
398
+ if (staleWarning)
399
+ console.error(staleWarning);
229
400
  if (argv[0] === 'stamp') {
230
401
  console.log(JSON.stringify((0, stamp_1.buildStampOf)()));
231
402
  return 0;
232
403
  }
404
+ (0, system_tsconfig_1.repairEditorTsconfigs)(splitCheckout(argv.slice(1), root).target);
405
+ if (argv[0] === client_1.RESIDENT_SERVE || argv[0] === 'stop' || (0, client_1.runsInResident)(argv)) {
406
+ const { target, rest } = splitCheckout(argv.slice(1), root);
407
+ if (argv[0] === client_1.RESIDENT_SERVE)
408
+ return (0, resident_process_1.serveResident)({ target });
409
+ const client = (0, client_1.realResidentClient)((0, stamp_1.buildStampOf)().build);
410
+ if (argv[0] === 'stop')
411
+ return (0, client_1.stopResident)(target, client);
412
+ if ((0, stale_design_mocks_1.guardsDesignMocks)(argv) && !(0, stale_design_mocks_1.designMocksFresh)({ target }))
413
+ return 1;
414
+ const answered = yield (0, client_1.runThroughResident)({ target, argv: [(_a = argv[0]) !== null && _a !== void 0 ? _a : '', ...rest], invocation, client });
415
+ if (answered !== null) {
416
+ (0, timings_1.skipRunTimings)();
417
+ return answered;
418
+ }
419
+ }
420
+ let release = () => undefined;
421
+ if ((0, exports.drawsWithSdkLibs)(argv)) {
422
+ const { target } = splitCheckout(argv.slice(1), root);
423
+ const read = yield (0, stale_dist_1.readFreshDist)({ target, config: (0, design_config_1.readConfig)(target) });
424
+ if (!read.ok)
425
+ return 1;
426
+ release = read.release;
427
+ }
428
+ try {
429
+ return yield dispatchDesign({ root, argv, invocation });
430
+ }
431
+ finally {
432
+ release();
433
+ }
434
+ });
435
+ const dispatchDesign = (options) => __awaiter(void 0, void 0, void 0, function* () {
436
+ const { root, argv, invocation } = options;
437
+ if ((0, stale_design_mocks_1.guardsDesignMocks)(argv)) {
438
+ const { target } = splitCheckout(argv.slice(1), root);
439
+ if (!(0, stale_design_mocks_1.designMocksFresh)({ target }))
440
+ return 1;
441
+ }
233
442
  if (argv[0] === 'check') {
234
443
  const { target, rest } = splitCheckout(argv.slice(1), root);
235
444
  return (0, check_1.checkDesign)({ target, argv: rest, invocation });
@@ -254,14 +463,30 @@ const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* (
254
463
  const { target, rest } = splitCheckout(argv.slice(1), root);
255
464
  return (0, sketch_command_1.designSketch)({ target, argv: rest, invocation });
256
465
  }
257
- if (argv[0] === 'accept') {
258
- const { target, rest } = splitCheckout(argv.slice(1), root);
259
- return (0, accept_command_1.designAccept)({ target, argv: rest, invocation });
260
- }
261
466
  if (argv[0] === 'complete') {
262
467
  const { target, rest } = splitCheckout(argv.slice(1), root);
263
468
  return (0, complete_command_1.designComplete)({ target, argv: rest, invocation });
264
469
  }
470
+ if (argv[0] === 'task') {
471
+ const { target, rest } = splitCheckout(argv.slice(1), root);
472
+ return (0, task_command_1.designTask)({ target, argv: rest, invocation });
473
+ }
474
+ if (argv[0] === 'harness') {
475
+ const { target, rest } = splitCheckout(argv.slice(1), root);
476
+ return (0, harness_command_1.designHarness)({ target, argv: rest, invocation });
477
+ }
478
+ if (argv[0] === 'compare') {
479
+ const { target, rest } = splitCheckout(argv.slice(1), root);
480
+ return (0, compare_command_1.designCompare)({ target, argv: rest, invocation });
481
+ }
482
+ if (argv[0] === 'dom') {
483
+ const { target, rest } = splitCheckout(argv.slice(1), root);
484
+ return (0, dom_command_1.designDom)({ target, argv: rest, invocation });
485
+ }
486
+ if (argv[0] === 'actions') {
487
+ const { target, rest } = splitCheckout(argv.slice(1), root);
488
+ return (0, actions_command_1.designActions)({ target, argv: rest, invocation });
489
+ }
265
490
  if (argv[0] === 'ready') {
266
491
  const { target, rest } = splitCheckout(argv.slice(1), root);
267
492
  return (0, ready_command_1.designReady)({ target, argv: rest, invocation });
@@ -289,6 +514,10 @@ const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* (
289
514
  const { target, rest } = splitCheckout(argv.slice(1), root);
290
515
  return (0, asset_shot_1.designToken)({ target, argv: rest, invocation });
291
516
  }
517
+ if (argv[0] === 'commit-hunks') {
518
+ const { target, rest } = splitCheckout(argv.slice(1), root);
519
+ return (0, commit_hunks_1.designCommitHunks)({ target, argv: rest, invocation });
520
+ }
292
521
  if (argv[0] === 'inbox') {
293
522
  const { target, rest } = splitCheckout(argv.slice(1), root);
294
523
  return (0, inbox_command_1.designInbox)({ target, argv: rest, invocation });
@@ -297,6 +526,18 @@ const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* (
297
526
  const { target, rest } = splitCheckout(argv.slice(1), root);
298
527
  return (0, inbox_command_1.designComment)({ target, argv: rest, invocation });
299
528
  }
529
+ if (argv[0] === 'timings') {
530
+ const { target, rest } = splitCheckout(argv.slice(1), root);
531
+ return (0, timings_command_1.designTimings)({ target, argv: rest, invocation });
532
+ }
533
+ if (argv[0] === 'serve-state') {
534
+ const { target } = splitCheckout(argv.slice(1), root);
535
+ const config = (0, design_config_1.readConfig)(target);
536
+ return (0, serve_state_1.designServeState)({
537
+ base: `http://localhost:${config ? (0, design_config_1.portOf)(config) : design_config_1.DEFAULT_PORT}`,
538
+ own: (0, stamp_1.buildStampOf)(),
539
+ });
540
+ }
300
541
  if (argv[0] === 'status') {
301
542
  const { target, rest } = splitCheckout(argv.slice(1), root);
302
543
  return (0, status_1.designStatus)({ target, argv: rest, invocation });
@@ -311,7 +552,10 @@ const designCommand = (options) => __awaiter(void 0, void 0, void 0, function* (
311
552
  console.error(helpOf(invocation));
312
553
  return 2;
313
554
  }
314
- return (0, serve_1.serveDesign)({ target: positional ? (0, path_1.resolve)(root, positional) : target, host });
555
+ return (0, serve_1.serveDesign)({
556
+ target: positional ? realOf((0, path_1.resolve)(root, positional)) : target,
557
+ host,
558
+ reloadOnRebuild: !(0, started_by_studio_1.startedByStudio)(),
559
+ });
315
560
  });
316
- exports.designCommand = designCommand;
317
561
  //# sourceMappingURL=design-command.js.map