@ethlete/cli 3.0.0-next.21 → 3.0.0-next.22

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 (335) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/design/assets.d.ts +9 -0
  3. package/design/define-call.ts +20 -11
  4. package/design/define-part.ts +102 -0
  5. package/design/embed-page.ts +70 -0
  6. package/design/interaction-rows.ts +32 -0
  7. package/design/mark-part.ts +66 -0
  8. package/design/svg-asset.ts +36 -0
  9. package/design/systems/config.json +10 -0
  10. package/design/systems/ethlete-components/components/button/button.ts +18 -0
  11. package/design/web/env.d.ts +20 -0
  12. package/design/web/frame.ts +173 -41
  13. package/design/wireframe-kit.ts +386 -0
  14. package/package.json +4 -2
  15. package/src/index.js.map +1 -1
  16. package/src/lib/api/api-command.js.map +1 -1
  17. package/src/lib/api/api-context.js.map +1 -1
  18. package/src/lib/api/api-state.js.map +1 -1
  19. package/src/lib/api/auth-hint.js.map +1 -1
  20. package/src/lib/api/clear.js.map +1 -1
  21. package/src/lib/api/clone.js.map +1 -1
  22. package/src/lib/api/compose.js.map +1 -1
  23. package/src/lib/api/definition.js.map +1 -1
  24. package/src/lib/api/doctor.js.map +1 -1
  25. package/src/lib/api/fingerprint.js.map +1 -1
  26. package/src/lib/api/git.js.map +1 -1
  27. package/src/lib/api/help.js.map +1 -1
  28. package/src/lib/api/index.js.map +1 -1
  29. package/src/lib/api/load-definitions.js.map +1 -1
  30. package/src/lib/api/lock.js.map +1 -1
  31. package/src/lib/api/parse-argv.js.map +1 -1
  32. package/src/lib/api/ports.js.map +1 -1
  33. package/src/lib/api/resolve-checkout.js.map +1 -1
  34. package/src/lib/api/run-locked.js.map +1 -1
  35. package/src/lib/api/run-ready.js.map +1 -1
  36. package/src/lib/api/run-snapshot.js.map +1 -1
  37. package/src/lib/api/run-status.js.map +1 -1
  38. package/src/lib/api/run.js.map +1 -1
  39. package/src/lib/api/seeds.js.map +1 -1
  40. package/src/lib/api/setup.js.map +1 -1
  41. package/src/lib/api/snapshot.js.map +1 -1
  42. package/src/lib/api/state.js.map +1 -1
  43. package/src/lib/api/suggest.js.map +1 -1
  44. package/src/lib/api/validate-definition.js.map +1 -1
  45. package/src/lib/auth/auth-command.js.map +1 -1
  46. package/src/lib/auth/composer-auth.js.map +1 -1
  47. package/src/lib/auth/composer-repositories.js.map +1 -1
  48. package/src/lib/auth/gitlab-token.js.map +1 -1
  49. package/src/lib/auth/index.js.map +1 -1
  50. package/src/lib/config/diagnose.js.map +1 -1
  51. package/src/lib/config/index.js.map +1 -1
  52. package/src/lib/config/local-config.js.map +1 -1
  53. package/src/lib/design/asset-shot.d.ts +26 -0
  54. package/src/lib/design/asset-shot.js +191 -0
  55. package/src/lib/design/asset-shot.js.map +1 -0
  56. package/src/lib/design/browser.js.map +1 -1
  57. package/src/lib/design/calls-tsconfig.d.ts +14 -1
  58. package/src/lib/design/calls-tsconfig.js +23 -18
  59. package/src/lib/design/calls-tsconfig.js.map +1 -1
  60. package/src/lib/design/calls.d.ts +28 -0
  61. package/src/lib/design/calls.js +58 -0
  62. package/src/lib/design/calls.js.map +1 -0
  63. package/src/lib/design/changed-parts.d.ts +51 -0
  64. package/src/lib/design/changed-parts.js +103 -0
  65. package/src/lib/design/changed-parts.js.map +1 -0
  66. package/src/lib/design/check.js +53 -54
  67. package/src/lib/design/check.js.map +1 -1
  68. package/src/lib/design/contact-sheet.d.ts +68 -0
  69. package/src/lib/design/contact-sheet.js +169 -0
  70. package/src/lib/design/contact-sheet.js.map +1 -0
  71. package/src/lib/design/design-command.js +165 -6
  72. package/src/lib/design/design-command.js.map +1 -1
  73. package/src/lib/design/force-interactions.d.ts +13 -0
  74. package/src/lib/design/force-interactions.js +75 -0
  75. package/src/lib/design/force-interactions.js.map +1 -0
  76. package/src/lib/design/inbox-command.d.ts +21 -0
  77. package/src/lib/design/inbox-command.js +156 -0
  78. package/src/lib/design/inbox-command.js.map +1 -0
  79. package/src/lib/design/index.js.map +1 -1
  80. package/src/lib/design/json-layout.d.ts +5 -0
  81. package/src/lib/design/json-layout.js +41 -0
  82. package/src/lib/design/json-layout.js.map +1 -0
  83. package/src/lib/design/legacy.d.ts +7 -0
  84. package/src/lib/design/legacy.js +23 -8
  85. package/src/lib/design/legacy.js.map +1 -1
  86. package/src/lib/design/merge-compare.d.ts +57 -0
  87. package/src/lib/design/merge-compare.js +80 -0
  88. package/src/lib/design/merge-compare.js.map +1 -0
  89. package/src/lib/design/missing-package.js.map +1 -1
  90. package/src/lib/design/new-call.js.map +1 -1
  91. package/src/lib/design/part-marks.d.ts +12 -0
  92. package/src/lib/design/part-marks.js +38 -0
  93. package/src/lib/design/part-marks.js.map +1 -0
  94. package/src/lib/design/paths.d.ts +35 -2
  95. package/src/lib/design/paths.js +62 -4
  96. package/src/lib/design/paths.js.map +1 -1
  97. package/src/lib/design/product-command.d.ts +38 -0
  98. package/src/lib/design/product-command.js +158 -0
  99. package/src/lib/design/product-command.js.map +1 -0
  100. package/src/lib/design/ready-shots.d.ts +13 -0
  101. package/src/lib/design/ready-shots.js +55 -0
  102. package/src/lib/design/ready-shots.js.map +1 -0
  103. package/src/lib/design/render-fields.js.map +1 -1
  104. package/src/lib/design/render-packages.js.map +1 -1
  105. package/src/lib/design/render-worker.js.map +1 -1
  106. package/src/lib/design/render.d.ts +8 -1
  107. package/src/lib/design/render.js +43 -14
  108. package/src/lib/design/render.js.map +1 -1
  109. package/src/lib/design/serve.d.ts +17 -0
  110. package/src/lib/design/serve.js +444 -67
  111. package/src/lib/design/serve.js.map +1 -1
  112. package/src/lib/design/shot-command.d.ts +75 -0
  113. package/src/lib/design/shot-command.js +361 -0
  114. package/src/lib/design/shot-command.js.map +1 -0
  115. package/src/lib/design/shot.d.ts +97 -0
  116. package/src/lib/design/shot.js +346 -0
  117. package/src/lib/design/shot.js.map +1 -0
  118. package/src/lib/design/sketch-at.d.ts +16 -0
  119. package/src/lib/design/sketch-at.js +34 -0
  120. package/src/lib/design/sketch-at.js.map +1 -0
  121. package/src/lib/design/sketch-command.d.ts +9 -0
  122. package/src/lib/design/sketch-command.js +572 -0
  123. package/src/lib/design/sketch-command.js.map +1 -0
  124. package/src/lib/design/ssr-shims.js.map +1 -1
  125. package/src/lib/design/stamp.js.map +1 -1
  126. package/src/lib/design/status.d.ts +2 -2
  127. package/src/lib/design/status.js +2 -2
  128. package/src/lib/design/status.js.map +1 -1
  129. package/src/lib/design/studio-api.d.ts +102 -0
  130. package/src/lib/design/studio-api.js +452 -0
  131. package/src/lib/design/studio-api.js.map +1 -0
  132. package/src/lib/design/system/accept-command.d.ts +7 -0
  133. package/src/lib/design/system/accept-command.js +55 -0
  134. package/src/lib/design/system/accept-command.js.map +1 -0
  135. package/src/lib/design/system/assets.d.ts +34 -0
  136. package/src/lib/design/system/assets.js +64 -0
  137. package/src/lib/design/system/assets.js.map +1 -0
  138. package/src/lib/design/system/base.d.ts +33 -0
  139. package/src/lib/design/system/base.js +49 -0
  140. package/src/lib/design/system/base.js.map +1 -0
  141. package/src/lib/design/system/check-system.d.ts +23 -0
  142. package/src/lib/design/system/check-system.js +151 -0
  143. package/src/lib/design/system/check-system.js.map +1 -0
  144. package/src/lib/design/system/colour.d.ts +2 -0
  145. package/src/lib/design/system/colour.js +9 -0
  146. package/src/lib/design/system/colour.js.map +1 -0
  147. package/src/lib/design/system/comments/comment.d.ts +196 -0
  148. package/src/lib/design/system/comments/comment.js +332 -0
  149. package/src/lib/design/system/comments/comment.js.map +1 -0
  150. package/src/lib/design/system/comments/complete.d.ts +15 -0
  151. package/src/lib/design/system/comments/complete.js +63 -0
  152. package/src/lib/design/system/comments/complete.js.map +1 -0
  153. package/src/lib/design/system/comments/inbox.d.ts +49 -0
  154. package/src/lib/design/system/comments/inbox.js +100 -0
  155. package/src/lib/design/system/comments/inbox.js.map +1 -0
  156. package/src/lib/design/system/css-source.d.ts +12 -0
  157. package/src/lib/design/system/css-source.js +39 -0
  158. package/src/lib/design/system/css-source.js.map +1 -0
  159. package/src/lib/design/system/flows/flow.d.ts +66 -0
  160. package/src/lib/design/system/flows/flow.js +157 -0
  161. package/src/lib/design/system/flows/flow.js.map +1 -0
  162. package/src/lib/design/system/imports.d.ts +70 -0
  163. package/src/lib/design/system/imports.js +159 -0
  164. package/src/lib/design/system/imports.js.map +1 -0
  165. package/src/lib/design/system/kit.d.ts +4 -0
  166. package/src/lib/design/system/kit.js +51 -0
  167. package/src/lib/design/system/kit.js.map +1 -0
  168. package/src/lib/design/system/layers.d.ts +9 -0
  169. package/src/lib/design/system/layers.js +16 -0
  170. package/src/lib/design/system/layers.js.map +1 -0
  171. package/src/lib/design/system/list-system.d.ts +104 -0
  172. package/src/lib/design/system/list-system.js +212 -0
  173. package/src/lib/design/system/list-system.js.map +1 -0
  174. package/src/lib/design/system/notes/note.d.ts +53 -0
  175. package/src/lib/design/system/notes/note.js +116 -0
  176. package/src/lib/design/system/notes/note.js.map +1 -0
  177. package/src/lib/design/system/part-command.d.ts +7 -0
  178. package/src/lib/design/system/part-command.js +134 -0
  179. package/src/lib/design/system/part-command.js.map +1 -0
  180. package/src/lib/design/system/problem.d.ts +5 -0
  181. package/src/lib/design/system/problem.js +3 -0
  182. package/src/lib/design/system/problem.js.map +1 -0
  183. package/src/lib/design/system/product.d.ts +18 -0
  184. package/src/lib/design/system/product.js +35 -0
  185. package/src/lib/design/system/product.js.map +1 -0
  186. package/src/lib/design/system/render-check.d.ts +45 -0
  187. package/src/lib/design/system/render-check.js +427 -0
  188. package/src/lib/design/system/render-check.js.map +1 -0
  189. package/src/lib/design/system/resolve-product.d.ts +32 -0
  190. package/src/lib/design/system/resolve-product.js +62 -0
  191. package/src/lib/design/system/resolve-product.js.map +1 -0
  192. package/src/lib/design/system/rules/component-copy.d.ts +7 -0
  193. package/src/lib/design/system/rules/component-copy.js +53 -0
  194. package/src/lib/design/system/rules/component-copy.js.map +1 -0
  195. package/src/lib/design/system/rules/flow.d.ts +8 -0
  196. package/src/lib/design/system/rules/flow.js +60 -0
  197. package/src/lib/design/system/rules/flow.js.map +1 -0
  198. package/src/lib/design/system/rules/hard-coded-colour.d.ts +7 -0
  199. package/src/lib/design/system/rules/hard-coded-colour.js +27 -0
  200. package/src/lib/design/system/rules/hard-coded-colour.js.map +1 -0
  201. package/src/lib/design/system/rules/interactions.d.ts +4 -0
  202. package/src/lib/design/system/rules/interactions.js +16 -0
  203. package/src/lib/design/system/rules/interactions.js.map +1 -0
  204. package/src/lib/design/system/rules/kit-outside-pages.d.ts +4 -0
  205. package/src/lib/design/system/rules/kit-outside-pages.js +14 -0
  206. package/src/lib/design/system/rules/kit-outside-pages.js.map +1 -0
  207. package/src/lib/design/system/rules/motion.d.ts +4 -0
  208. package/src/lib/design/system/rules/motion.js +13 -0
  209. package/src/lib/design/system/rules/motion.js.map +1 -0
  210. package/src/lib/design/system/rules/stale-comment.d.ts +8 -0
  211. package/src/lib/design/system/rules/stale-comment.js +51 -0
  212. package/src/lib/design/system/rules/stale-comment.js.map +1 -0
  213. package/src/lib/design/system/rules/stale-replace.d.ts +4 -0
  214. package/src/lib/design/system/rules/stale-replace.js +65 -0
  215. package/src/lib/design/system/rules/stale-replace.js.map +1 -0
  216. package/src/lib/design/system/rules/svg-asset.d.ts +6 -0
  217. package/src/lib/design/system/rules/svg-asset.js +30 -0
  218. package/src/lib/design/system/rules/svg-asset.js.map +1 -0
  219. package/src/lib/design/system/rules/token-selectors.d.ts +3 -0
  220. package/src/lib/design/system/rules/token-selectors.js +87 -0
  221. package/src/lib/design/system/rules/token-selectors.js.map +1 -0
  222. package/src/lib/design/system/rules/undefined-token.d.ts +8 -0
  223. package/src/lib/design/system/rules/undefined-token.js +103 -0
  224. package/src/lib/design/system/rules/undefined-token.js.map +1 -0
  225. package/src/lib/design/system/rules/unused-shared-export.d.ts +18 -0
  226. package/src/lib/design/system/rules/unused-shared-export.js +60 -0
  227. package/src/lib/design/system/rules/unused-shared-export.js.map +1 -0
  228. package/src/lib/design/system/rules/upward-dependency.d.ts +4 -0
  229. package/src/lib/design/system/rules/upward-dependency.js +17 -0
  230. package/src/lib/design/system/rules/upward-dependency.js.map +1 -0
  231. package/src/lib/design/system/rules/widths.d.ts +4 -0
  232. package/src/lib/design/system/rules/widths.js +14 -0
  233. package/src/lib/design/system/rules/widths.js.map +1 -0
  234. package/src/lib/design/system/sketch/baseline.d.ts +38 -0
  235. package/src/lib/design/system/sketch/baseline.js +66 -0
  236. package/src/lib/design/system/sketch/baseline.js.map +1 -0
  237. package/src/lib/design/system/sketch/check-format.d.ts +17 -0
  238. package/src/lib/design/system/sketch/check-format.js +56 -0
  239. package/src/lib/design/system/sketch/check-format.js.map +1 -0
  240. package/src/lib/design/system/sketch/check-sketches.d.ts +38 -0
  241. package/src/lib/design/system/sketch/check-sketches.js +104 -0
  242. package/src/lib/design/system/sketch/check-sketches.js.map +1 -0
  243. package/src/lib/design/system/sketch/cli-args.d.ts +26 -0
  244. package/src/lib/design/system/sketch/cli-args.js +63 -0
  245. package/src/lib/design/system/sketch/cli-args.js.map +1 -0
  246. package/src/lib/design/system/sketch/duplicate-class.d.ts +14 -0
  247. package/src/lib/design/system/sketch/duplicate-class.js +57 -0
  248. package/src/lib/design/system/sketch/duplicate-class.js.map +1 -0
  249. package/src/lib/design/system/sketch/merge-preview.d.ts +15 -0
  250. package/src/lib/design/system/sketch/merge-preview.js +43 -0
  251. package/src/lib/design/system/sketch/merge-preview.js.map +1 -0
  252. package/src/lib/design/system/sketch/merge-shared.d.ts +25 -0
  253. package/src/lib/design/system/sketch/merge-shared.js +53 -0
  254. package/src/lib/design/system/sketch/merge-shared.js.map +1 -0
  255. package/src/lib/design/system/sketch/merge.d.ts +31 -0
  256. package/src/lib/design/system/sketch/merge.js +145 -0
  257. package/src/lib/design/system/sketch/merge.js.map +1 -0
  258. package/src/lib/design/system/sketch/merged-parts.d.ts +59 -0
  259. package/src/lib/design/system/sketch/merged-parts.js +134 -0
  260. package/src/lib/design/system/sketch/merged-parts.js.map +1 -0
  261. package/src/lib/design/system/sketch/no-visible-change.d.ts +15 -0
  262. package/src/lib/design/system/sketch/no-visible-change.js +70 -0
  263. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -0
  264. package/src/lib/design/system/sketch/overlay.d.ts +20 -0
  265. package/src/lib/design/system/sketch/overlay.js +38 -0
  266. package/src/lib/design/system/sketch/overlay.js.map +1 -0
  267. package/src/lib/design/system/sketch/part-definition.d.ts +31 -0
  268. package/src/lib/design/system/sketch/part-definition.js +157 -0
  269. package/src/lib/design/system/sketch/part-definition.js.map +1 -0
  270. package/src/lib/design/system/sketch/shared-class.d.ts +9 -0
  271. package/src/lib/design/system/sketch/shared-class.js +65 -0
  272. package/src/lib/design/system/sketch/shared-class.js.map +1 -0
  273. package/src/lib/design/system/sketch/sketch.d.ts +221 -0
  274. package/src/lib/design/system/sketch/sketch.js +481 -0
  275. package/src/lib/design/system/sketch/sketch.js.map +1 -0
  276. package/src/lib/design/system/sketch/unchanged-states.d.ts +23 -0
  277. package/src/lib/design/system/sketch/unchanged-states.js +144 -0
  278. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -0
  279. package/src/lib/design/system/sketch/unused-files.d.ts +10 -0
  280. package/src/lib/design/system/sketch/unused-files.js +56 -0
  281. package/src/lib/design/system/sketch/unused-files.js.map +1 -0
  282. package/src/lib/design/system/system-command.d.ts +9 -0
  283. package/src/lib/design/system/system-command.js +56 -0
  284. package/src/lib/design/system/system-command.js.map +1 -0
  285. package/src/lib/design/system/system-modules.d.ts +58 -0
  286. package/src/lib/design/system/system-modules.js +189 -0
  287. package/src/lib/design/system/system-modules.js.map +1 -0
  288. package/src/lib/design/system/system-tsconfig.d.ts +26 -0
  289. package/src/lib/design/system/system-tsconfig.js +68 -0
  290. package/src/lib/design/system/system-tsconfig.js.map +1 -0
  291. package/src/lib/design/system/ts-source.d.ts +13 -0
  292. package/src/lib/design/system/ts-source.js +108 -0
  293. package/src/lib/design/system/ts-source.js.map +1 -0
  294. package/src/lib/design/system-use.js.map +1 -1
  295. package/src/lib/design/thumb.d.ts +48 -4
  296. package/src/lib/design/thumb.js +127 -37
  297. package/src/lib/design/thumb.js.map +1 -1
  298. package/src/lib/design/typecheck.d.ts +27 -0
  299. package/src/lib/design/typecheck.js +60 -0
  300. package/src/lib/design/typecheck.js.map +1 -0
  301. package/src/lib/design/variant-diff.d.ts +48 -0
  302. package/src/lib/design/variant-diff.js +77 -0
  303. package/src/lib/design/variant-diff.js.map +1 -0
  304. package/src/lib/design/vite-paths.d.ts +2 -0
  305. package/src/lib/design/vite-paths.js +10 -1
  306. package/src/lib/design/vite-paths.js.map +1 -1
  307. package/src/lib/doctor/doctor-command.js.map +1 -1
  308. package/src/lib/doctor/index.js.map +1 -1
  309. package/src/lib/index.js.map +1 -1
  310. package/src/lib/invocation.js +6 -2
  311. package/src/lib/invocation.js.map +1 -1
  312. package/src/lib/release.js.map +1 -1
  313. package/src/lib/update/agent-rules-sync.js.map +1 -1
  314. package/src/lib/update/agent-setup.js.map +1 -1
  315. package/src/lib/update/ai.js.map +1 -1
  316. package/src/lib/update/args.js.map +1 -1
  317. package/src/lib/update/available-migrations.js.map +1 -1
  318. package/src/lib/update/commits.js.map +1 -1
  319. package/src/lib/update/gitignore.js.map +1 -1
  320. package/src/lib/update/index.js.map +1 -1
  321. package/src/lib/update/migration-manifest.js.map +1 -1
  322. package/src/lib/update/migration-record.js.map +1 -1
  323. package/src/lib/update/migrations-command.js.map +1 -1
  324. package/src/lib/update/package-manager.d.ts +1 -1
  325. package/src/lib/update/package-manager.js.map +1 -1
  326. package/src/lib/update/packages.js.map +1 -1
  327. package/src/lib/update/pending.js.map +1 -1
  328. package/src/lib/update/plan.js.map +1 -1
  329. package/src/lib/update/registry.js.map +1 -1
  330. package/src/lib/update/run-migrations.js.map +1 -1
  331. package/src/lib/update/scan.js.map +1 -1
  332. package/src/lib/update/semver.js.map +1 -1
  333. package/src/lib/update/tasks.js.map +1 -1
  334. package/src/lib/update/update-command.js.map +1 -1
  335. package/src/lib/utils.js.map +1 -1
@@ -0,0 +1,572 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.designSketch = exports.sketchFlagHelpOf = exports.SKETCH_USAGE = void 0;
24
+ const path_1 = require("path");
25
+ const assets_1 = require("./system/assets");
26
+ const comment_1 = require("./system/comments/comment");
27
+ const product_1 = require("./system/product");
28
+ const resolve_product_1 = require("./system/resolve-product");
29
+ const check_format_1 = require("./system/sketch/check-format");
30
+ const check_sketches_1 = require("./system/sketch/check-sketches");
31
+ const cli_args_1 = require("./system/sketch/cli-args");
32
+ const ready_shots_1 = require("./ready-shots");
33
+ const merge_1 = require("./system/sketch/merge");
34
+ const merged_parts_1 = require("./system/sketch/merged-parts");
35
+ const render_check_1 = require("./system/render-check");
36
+ const merge_preview_1 = require("./system/sketch/merge-preview");
37
+ const sketch_1 = require("./system/sketch/sketch");
38
+ exports.SKETCH_USAGE = [
39
+ 'sketch new <layer>/<name> --variants a,b --by <model id> [--like <layer>/<name>[:<variant>]] [--round <title>] [--note <text>] [--variant-note <variant>=<text>]… [--product <name>]',
40
+ 'sketch variant <layer>/<name> <variant>[,<variant>…] --from <variant> --by <model id> [--round <title> --note <why the running round lost> [--round-note <what the new round shows>]] [--product <name>]',
41
+ 'sketch round <layer>/<name> <round> [--title <text>] [--note <text>] [--drops <state,state>] --by <model id> [--product <name>]',
42
+ 'sketch list [--product <name>] [--json]',
43
+ 'sketch report <layer>/<name> --variant <key> --by <model id> (<text> | --done) [--product <name>]',
44
+ 'sketch ready <layer>/<name> --by <model id> [--product <name>]',
45
+ 'sketch check [<layer>/<name>] [--fix] [--product <name>]',
46
+ 'sketch preview <layer>/<name> <variant> [--product <name>] [--json]',
47
+ 'sketch rebase <layer>/<name> --by <model id> [--product <name>]',
48
+ 'sketch merge <layer>/<name> [--note <reason>] --by <model id> [--product <name>]',
49
+ 'sketch discard <layer>/<name> --by <model id> [--product <name>]',
50
+ ];
51
+ const FLAG_HELP = {
52
+ '--variants': 'the variant folders to open, a comma list: a,b,c',
53
+ '--variant-note': "the note of one variant, kept in sketch.json apart from the part's merged note; repeat it per variant: a=<text>",
54
+ '--by': 'the exact model id the coordinator gave you, e.g. claude-opus-5-5',
55
+ '--like': 'start each variant from another part, or from a variant of the open sketch on it',
56
+ '--round': 'the title of a new round',
57
+ '--round-note': 'what the new round shows',
58
+ '--from': 'the variant to copy',
59
+ '--title': 'the new title of the round',
60
+ '--drops': 'the states the round drops on purpose, a comma list',
61
+ '--variant': 'the variant the report is about',
62
+ '--done': 'end the live report of the variant',
63
+ '--product': 'the product; needed only when config.json declares more than one and no other product has the sketch',
64
+ '--json': 'print JSON',
65
+ '--fix': "write the variants in the checkout's Prettier format first",
66
+ };
67
+ const NOTE_HELP = {
68
+ new: 'what the first round shows',
69
+ variant: 'why the running round lost; needed with --round',
70
+ round: 'what the round shows',
71
+ merge: 'why this variant',
72
+ };
73
+ /** One line per flag the usage line names, for `sketch <command> --help`. */
74
+ const sketchFlagHelpOf = (usage) => {
75
+ var _a, _b;
76
+ const help = Object.assign(Object.assign({}, FLAG_HELP), { '--note': NOTE_HELP[(_a = usage.split(' ')[1]) !== null && _a !== void 0 ? _a : ''] });
77
+ return [...new Set((_b = usage.match(/--[a-z-]+/gu)) !== null && _b !== void 0 ? _b : [])].flatMap((flag) => help[flag] === undefined ? [] : [` ${flag.padEnd(16)}${help[flag]}`]);
78
+ };
79
+ exports.sketchFlagHelpOf = sketchFlagHelpOf;
80
+ const WRITES = new Set(['new', 'variant', 'round', 'report', 'ready', 'rebase', 'merge', 'discard']);
81
+ const fail = (message) => {
82
+ console.error(message);
83
+ return 1;
84
+ };
85
+ const productsWithSketchOf = (context, has) => {
86
+ var _a;
87
+ return Object.keys((_a = context.config.products) !== null && _a !== void 0 ? _a : {}).filter((name) => has((0, product_1.productDirOf)({ target: context.target, product: name }), name));
88
+ };
89
+ /**
90
+ * The product a sketch command works on: the one `--product` names or the only one the config declares, else the
91
+ * only product with an open sketch on the target - or with any open sketch when the command names no target.
92
+ */
93
+ const sketchProductOf = (context) => {
94
+ var _a;
95
+ const { target, config, args } = context;
96
+ const asked = args.values['--product'];
97
+ const declared = Object.keys((_a = config.products) !== null && _a !== void 0 ? _a : {});
98
+ if (asked !== undefined || declared.length < 2)
99
+ return (0, cli_args_1.oneProductOf)({ target, config, asked });
100
+ const parsed = (0, sketch_1.parseTarget)(args.positional[0]);
101
+ const holders = args.positional[0] === undefined
102
+ ? productsWithSketchOf(context, (productDir, product) => (0, sketch_1.listSketches)({ productDir, product }).some((sketch) => typeof sketch !== 'string'))
103
+ : typeof parsed === 'string'
104
+ ? []
105
+ : productsWithSketchOf(context, (productDir, product) => (0, sketch_1.findSketch)({ productDir, product, sketch: parsed }) !== null);
106
+ return (0, cli_args_1.oneProductOf)({ target, config, asked: holders.length === 1 ? holders[0] : undefined });
107
+ };
108
+ const productAndSketchOf = (context) => {
109
+ var _a;
110
+ const { args } = context;
111
+ const product = sketchProductOf(context);
112
+ if (typeof product === 'string')
113
+ return product;
114
+ const parsed = (0, sketch_1.parseTarget)(args.positional[0]);
115
+ if (typeof parsed === 'string')
116
+ return parsed;
117
+ const sketch = (0, sketch_1.findSketch)({ productDir: product.dir, product: product.name, sketch: parsed });
118
+ if (sketch === null)
119
+ return `NO SKETCH on ${(0, resolve_product_1.partKeyOf)(parsed)} in ${product.name}${(_a = context.noSketchHint) !== null && _a !== void 0 ? _a : ''}`;
120
+ if (typeof sketch === 'string')
121
+ return sketch;
122
+ return { product, sketch };
123
+ };
124
+ const withSketch = (context, run) => {
125
+ const found = productAndSketchOf(context);
126
+ return typeof found === 'string' ? fail(found) : run(found);
127
+ };
128
+ const partFileOf = (options) => {
129
+ var _a;
130
+ const { root, sketch, variant } = options;
131
+ const name = (_a = sketch.target.split('/').pop()) !== null && _a !== void 0 ? _a : '';
132
+ return (0, path_1.relative)(root, (0, path_1.resolve)(sketch.dir, variant, sketch.target, `${name}.ts`));
133
+ };
134
+ const variantLineOf = (options) => {
135
+ const { root, sketch, variant } = options;
136
+ return ` ${variant}: ${partFileOf(options)} assets: ${(0, path_1.relative)(root, (0, path_1.resolve)(sketch.dir, variant, assets_1.ASSETS_FOLDER))}/`;
137
+ };
138
+ const created = (context) => {
139
+ var _a, _b, _c, _d;
140
+ const { target, config, args } = context;
141
+ const product = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
142
+ if (typeof product === 'string')
143
+ return fail(product);
144
+ const parsed = (0, sketch_1.parseTarget)(args.positional[0]);
145
+ if (typeof parsed === 'string')
146
+ return fail(parsed);
147
+ const variants = ((_a = args.values['--variants']) !== null && _a !== void 0 ? _a : '').split(',').filter((variant) => variant !== '');
148
+ const notes = variantNotesOf((_b = args.repeated['--variant-note']) !== null && _b !== void 0 ? _b : [], variants);
149
+ if (typeof notes === 'string')
150
+ return fail(notes);
151
+ if (args.values['--round'] !== undefined && ((_c = args.values['--note']) !== null && _c !== void 0 ? _c : '').trim() === '')
152
+ return fail(`--round needs --note "<what the round shows>" - sketch ready refuses a round without a note`);
153
+ const asked = args.values['--like'];
154
+ const like = asked === undefined ? undefined : (0, sketch_1.sketchSourceOf)({ product, like: asked });
155
+ if (typeof like === 'string')
156
+ return fail(like);
157
+ const sketch = (0, sketch_1.createSketch)({
158
+ product,
159
+ sketch: parsed,
160
+ variants,
161
+ roundTitle: args.values['--round'],
162
+ roundNote: args.values['--note'],
163
+ author: (_d = (0, cli_args_1.authorOf)(args)) !== null && _d !== void 0 ? _d : undefined,
164
+ like,
165
+ variantNotes: notes,
166
+ });
167
+ if (typeof sketch === 'string')
168
+ return fail(sketch);
169
+ (0, check_format_1.formatSketch)({ target, sketch, variants: sketch.variants });
170
+ console.log(`${sketch.target} in progress: ${(0, path_1.relative)(target, sketch.dir)} with ${sketch.variants.join(', ')}`);
171
+ for (const variant of sketch.variants)
172
+ console.log(variantLineOf({ root: target, sketch, variant }));
173
+ const shared = (0, sketch_1.sourceFilesIn)((0, sketch_1.sharedDirOf)(sketch));
174
+ if (shared.length > 0) {
175
+ console.log(` shared by every variant, imported as @shared/<path>; edit it here, not in a copy:`);
176
+ shared.forEach((file) => console.log(` ${(0, path_1.relative)(target, file)}`));
177
+ }
178
+ nextStepsOf(sketch, product.name).forEach((line) => console.log(line));
179
+ return 0;
180
+ };
181
+ const nextStepsOf = (sketch, product) => {
182
+ var _a;
183
+ const at = `${sketch.target} --product ${product}`;
184
+ const first = (_a = sketch.variants[0]) !== null && _a !== void 0 ? _a : '<key>';
185
+ const running = (0, sketch_1.runningRoundOf)(sketch);
186
+ return [
187
+ 'Next:',
188
+ ` sketch report ${at} --variant ${first} --by <model id> "<what you draw>" while you draw a variant`,
189
+ ` sketch report ${at} --variant ${first} --by <model id> --done when you stop drawing it; no report runs yet, so none is needed now`,
190
+ ...(running.note.trim() === ''
191
+ ? [
192
+ ` sketch round ${sketch.target} ${running.key} --product ${product} --note "<what the round shows>" --by <model id>`,
193
+ ]
194
+ : []),
195
+ ` sketch check ${at}`,
196
+ ` sketch ready ${at} --by <model id>`,
197
+ ];
198
+ };
199
+ const variantNotesOf = (pairs, variants) => {
200
+ const notes = new Map();
201
+ for (const pair of pairs) {
202
+ const split = pair.indexOf('=');
203
+ const variant = pair.slice(0, split);
204
+ if (split < 1 || !variants.includes(variant))
205
+ return `--variant-note needs <variant>=<text> with one of ${variants.join(', ') || 'the --variants'}; got "${pair}"`;
206
+ notes.set(variant, pair.slice(split + 1).trim());
207
+ }
208
+ return notes;
209
+ };
210
+ const VARIANT_USAGE = 'usage: sketch variant <layer>/<name> <variant>[,<variant>…] --from <variant> [--round <title> --note <why the running round lost> [--round-note <what the new round shows>]]';
211
+ const varied = (context) => {
212
+ var _a;
213
+ return withSketch(Object.assign(Object.assign({}, context), { noSketchHint: ` - start one with: sketch new ${(_a = context.args.positional[0]) !== null && _a !== void 0 ? _a : '<layer>/<name>'} --variants a,b,c --round "<title>"` }), ({ sketch }) => {
214
+ var _a, _b, _c, _d, _e;
215
+ const { positional, values } = context.args;
216
+ const variant = positional[1];
217
+ const from = values['--from'];
218
+ const title = values['--round'];
219
+ const lostNote = values['--note'];
220
+ const roundNote = values['--round-note'];
221
+ if (positional.length !== 2 ||
222
+ !variant ||
223
+ !from ||
224
+ (title === undefined) !== (lostNote === undefined) ||
225
+ (title === undefined && roundNote !== undefined))
226
+ return fail(VARIANT_USAGE);
227
+ const open = title === undefined
228
+ ? (0, comment_1.commentsOnSketch)({ productDir: (0, path_1.resolve)(sketch.dir, '..', '..'), product: sketch.product, sketch })
229
+ : [];
230
+ if (open.length > 0)
231
+ return fail([
232
+ `${sketch.target} has ${open.length} open comment(s) - a variant that answers them starts a new round:`,
233
+ ...open.map((comment) => { var _a, _b; return ` ${comment.id} on ${(_b = (_a = comment.sketch) === null || _a === void 0 ? void 0 : _a.variant) !== null && _b !== void 0 ? _b : ''}: ${comment.text}`; }),
234
+ `sketch variant ${sketch.target} ${variant} --from <variant> --round "<title>" --note "<why the running round lost>" --round-note "<what the new round shows>"`,
235
+ `if the variant answers none of them, close each first with: inbox done <id> --note <text>`,
236
+ ].join('\n'));
237
+ const variants = variant.split(',').filter((name) => name !== '');
238
+ const taken = variants.find((name, index) => sketch.variants.includes(name) || variants.indexOf(name) !== index);
239
+ const invalid = variants.find((name) => !(0, sketch_1.isVariantName)(name));
240
+ if (invalid !== undefined)
241
+ return fail(`"${invalid}" is no variant name - use lower case letters, digits and dashes, and not "shared"`);
242
+ if (taken !== undefined)
243
+ return fail(`${sketch.target} already has a variant "${taken}"`);
244
+ let added = sketch;
245
+ for (const [index, name] of variants.entries()) {
246
+ const next = (0, sketch_1.addVariant)(Object.assign({ sketch: added, variant: name, from, author: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined }, (index === 0 && title !== undefined && lostNote !== undefined
247
+ ? { round: { title, lostNote, note: roundNote } }
248
+ : {})));
249
+ if (typeof next === 'string')
250
+ return fail(next);
251
+ added = next;
252
+ }
253
+ const round = added.rounds.find((entry) => { var _a, _b; return entry.key === ((_b = added.variantInfo[(_a = variants[0]) !== null && _a !== void 0 ? _a : '']) === null || _b === void 0 ? void 0 : _b.round); });
254
+ const previous = title === undefined ? undefined : added.rounds[added.rounds.length - 2];
255
+ if (previous)
256
+ console.log(`why round ${previous.key} ${previous.title} lost: ${(_b = previous.lost) !== null && _b !== void 0 ? _b : ''}`);
257
+ (0, check_format_1.formatSketch)({ target: context.target, sketch: added, variants });
258
+ for (const name of variants) {
259
+ console.log(`${added.target} in progress: variant ${name} from ${from} in round ${(_c = round === null || round === void 0 ? void 0 : round.key) !== null && _c !== void 0 ? _c : ''}`);
260
+ console.log(variantLineOf({ root: context.target, sketch: added, variant: name }));
261
+ }
262
+ if (title !== undefined && (round === null || round === void 0 ? void 0 : round.note) === '')
263
+ console.log(`round ${round.key} has no note yet - sketch ready needs one: sketch round ${added.target} ${round.key} --note "<what the round shows>" --by <model id>`);
264
+ if (title === undefined)
265
+ return 0;
266
+ const addressed = (0, comment_1.addressSketchComments)({
267
+ sketch,
268
+ variant: from,
269
+ reason: 'round',
270
+ author: (_d = (0, cli_args_1.authorOf)(context.args)) !== null && _d !== void 0 ? _d : undefined,
271
+ note: lostNote,
272
+ round: round === null || round === void 0 ? void 0 : round.key,
273
+ });
274
+ if (addressed.length > 0)
275
+ console.log(`addressed ${addressed.length} comment(s) on variant ${from} in round ${(_e = round === null || round === void 0 ? void 0 : round.key) !== null && _e !== void 0 ? _e : ''}: ${addressed.map(({ id }) => id).join(', ')}`);
276
+ return 0;
277
+ });
278
+ };
279
+ const listed = (context) => {
280
+ const names = (0, cli_args_1.productNamesOf)({ config: context.config, asked: context.args.values['--product'] });
281
+ if (typeof names === 'string')
282
+ return fail(names);
283
+ const sketches = names.flatMap((name) => (0, sketch_1.listSketches)({ productDir: (0, product_1.productDirOf)({ target: context.target, product: name }), product: name }));
284
+ const unreadable = sketches.filter((sketch) => typeof sketch === 'string');
285
+ const open = sketches.filter((sketch) => typeof sketch !== 'string');
286
+ unreadable.forEach((problem) => console.error(problem));
287
+ if (context.args.flags.has('--json')) {
288
+ console.log(JSON.stringify(open.map((_a) => {
289
+ var { dir } = _a, sketch = __rest(_a, ["dir"]);
290
+ return (Object.assign(Object.assign({}, sketch), { dir: (0, path_1.relative)(context.target, dir) }));
291
+ }), null, 2));
292
+ }
293
+ else {
294
+ for (const sketch of open) {
295
+ const decided = sketch.decision
296
+ ? sketch.decision.kind === 'pick'
297
+ ? `, picked ${sketch.decision.variant}`
298
+ : ', discard asked'
299
+ : '';
300
+ console.log(`${sketch.product} ${sketch.target} ${sketch.status} ${sketch.variants.join(', ')}${decided}`);
301
+ for (const round of sketch.rounds) {
302
+ const variants = sketch.variants.filter((variant) => { var _a; return ((_a = sketch.variantInfo[variant]) === null || _a === void 0 ? void 0 : _a.round) === round.key; });
303
+ console.log(` ${round.key} ${round.title} ${variants.join(', ')}${round.note === '' ? '' : ` - ${round.note}`}${round.lost ? ` - lost: ${round.lost}` : ''}`);
304
+ }
305
+ }
306
+ if (open.length === 0)
307
+ console.log('no open sketch');
308
+ }
309
+ return unreadable.length > 0 ? 1 : 0;
310
+ };
311
+ const reported = (context) => withSketch(context, ({ sketch }) => {
312
+ const message = context.args.positional.slice(1).join(' ');
313
+ const variant = context.args.values['--variant'];
314
+ const author = (0, cli_args_1.authorOf)(context.args);
315
+ const done = context.args.flags.has('--done');
316
+ if ((message === '' && !done) || !variant || !author)
317
+ return fail(`usage: sketch report <layer>/<name> --variant <key> --by <model id> (<text> | --done) [--product <name>] - --product is needed when config.json declares more than one product`);
318
+ if (done) {
319
+ (0, sketch_1.finishSketchReport)({ checkout: context.target, sketch, variant });
320
+ console.log(`${sketch.target} variant ${variant} marked done`);
321
+ return 0;
322
+ }
323
+ const reported = (0, sketch_1.reportSketch)({ checkout: context.target, sketch, variant, author, message });
324
+ if (typeof reported === 'string')
325
+ return fail(reported);
326
+ console.log(`reported on ${sketch.target} variant ${variant}: ${message}`);
327
+ return 0;
328
+ });
329
+ const ROUND_USAGE = 'usage: sketch round <layer>/<name> <round> [--title <text>] [--note <text>] [--drops <state,state>] --by <model id>';
330
+ const roundEdited = (context) => withSketch(context, ({ sketch }) => {
331
+ var _a, _b;
332
+ const { positional, values } = context.args;
333
+ const round = positional[1];
334
+ if (positional.length !== 2 || !round)
335
+ return fail(ROUND_USAGE);
336
+ const edited = (0, sketch_1.editRound)({
337
+ sketch,
338
+ round,
339
+ title: values['--title'],
340
+ note: values['--note'],
341
+ drops: (_a = values['--drops']) === null || _a === void 0 ? void 0 : _a.split(',').map((state) => state.trim()).filter((state) => state !== ''),
342
+ });
343
+ if (typeof edited === 'string')
344
+ return fail(edited);
345
+ const entry = edited.rounds.find((candidate) => candidate.key === round);
346
+ console.log(`${edited.target} round ${round}: ${(_b = entry === null || entry === void 0 ? void 0 : entry.title) !== null && _b !== void 0 ? _b : ''}${(entry === null || entry === void 0 ? void 0 : entry.note) ? ` - ${entry.note}` : ''}${(entry === null || entry === void 0 ? void 0 : entry.lost) ? ` - lost: ${entry.lost}` : ''}${(entry === null || entry === void 0 ? void 0 : entry.drops) ? ` - drops ${entry.drops.join(', ')}` : ''}`);
347
+ return 0;
348
+ });
349
+ const readied = (context) => {
350
+ const found = productAndSketchOf(context);
351
+ if (typeof found === 'string')
352
+ return fail(found);
353
+ const status = markedReady(context, found);
354
+ if (typeof status === 'number')
355
+ return status;
356
+ return autoMerged(Object.assign(Object.assign({ context }, found), { sketch: status.ready, again: found.sketch.status === 'ready' }));
357
+ };
358
+ const autoMerged = (options) => __awaiter(void 0, void 0, void 0, function* () {
359
+ var _a, _b;
360
+ const { context, product, sketch, again } = options;
361
+ if (!again)
362
+ console.log(`${sketch.target} is ready`);
363
+ if (!product.parts.some((part) => (0, resolve_product_1.partKeyOf)(part) === sketch.target)) {
364
+ console.log('auto-merge skipped: new part, the user merges');
365
+ return again ? fail(`${sketch.target} is ready, not in progress`) : 0;
366
+ }
367
+ const noChange = yield (0, ready_shots_1.shotsShowNoChange)({ target: context.target, config: context.config, product, sketch });
368
+ if (noChange !== true) {
369
+ console.log(`auto-merge skipped: ${noChange}`);
370
+ return again ? fail(`${sketch.target} is ready, not in progress`) : 0;
371
+ }
372
+ const author = (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined;
373
+ const variant = (_b = sketch.variants[0]) !== null && _b !== void 0 ? _b : '';
374
+ const decided = (0, sketch_1.decideSketch)({ sketch, decision: { kind: 'pick', variant } });
375
+ if (typeof decided === 'string')
376
+ return fail(decided);
377
+ const result = (0, merge_1.mergeSketch)({ target: context.target, config: context.config, product, sketch: decided, author });
378
+ if (!Array.isArray(result)) {
379
+ console.warn(`${sketch.target} shows no visible change but did not merge: ${result.reason}`);
380
+ return 0;
381
+ }
382
+ (0, merged_parts_1.recordAutoMerge)({ product, part: sketch.target, by: author !== null && author !== void 0 ? author : 'user' });
383
+ console.log(`No visible change in any state: merged ${sketch.target} automatically.`);
384
+ return 0;
385
+ });
386
+ const markedReady = (context, { product, sketch }) => {
387
+ var _a;
388
+ const lineOf = (variant, problem) => `${sketch.target} ${variant}: ${problem.rule} ${(0, path_1.relative)(context.target, problem.file)}: ${problem.message}`;
389
+ const found = (0, check_sketches_1.variantProblemsOf)({ product, sketch });
390
+ found.forEach(({ variant, before }) => before.forEach((problem) => console.warn(`NOTE (was there before) ${lineOf(variant, problem)}`)));
391
+ const problems = found.flatMap(({ variant, problems }) => [...problems, ...(0, check_format_1.formatProblemsOf)({ target: context.target, sketch, variant })].map((problem) => lineOf(variant, problem)));
392
+ sketch.variants.forEach((variant) => (0, check_sketches_1.variantWarningsOf)({ target: context.target, product, sketch, variant }).forEach((warning) => console.warn(`${sketch.target} ${variant}: ${warning}`)));
393
+ if (problems.length > 0)
394
+ return fail(`${problems.join('\n')}\n${sketch.target} has problems - fix them before ready`);
395
+ const running = (0, sketch_1.runningRoundOf)(sketch);
396
+ if (running.note.trim() === '')
397
+ return fail(`${sketch.target} round ${running.key} has no note - set it with: sketch round ${sketch.target} ${running.key} --note "<what the round shows>" --by <model id>`);
398
+ if (sketch.status === 'ready')
399
+ return { ready: sketch };
400
+ const ready = (0, sketch_1.markSketchReady)({ checkout: context.target, sketch, author: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined });
401
+ if (typeof ready === 'string')
402
+ return fail(ready);
403
+ return { ready };
404
+ };
405
+ const rebased = (context) => withSketch(context, ({ product, sketch }) => {
406
+ (0, sketch_1.rebaseSketch)({ product, sketch });
407
+ console.log(`${sketch.target} now compares with the product as it is`);
408
+ return 0;
409
+ });
410
+ const checked = (context) => __awaiter(void 0, void 0, void 0, function* () {
411
+ var _a, _b;
412
+ const { target, config, args } = context;
413
+ const product = sketchProductOf(context);
414
+ if (typeof product === 'string')
415
+ return fail(product);
416
+ const asked = args.positional[0];
417
+ const { unreadable, variants } = (0, check_sketches_1.openSketchProblemsOf)(product);
418
+ const chosen = asked === undefined ? variants : variants.filter((entry) => entry.sketch.target === asked);
419
+ if (asked !== undefined && chosen.length === 0)
420
+ return fail(`NO SKETCH on ${asked} in ${product.name}`);
421
+ if (args.flags.has('--fix'))
422
+ new Set(chosen.map((entry) => entry.sketch)).forEach((sketch) => (0, check_format_1.formatSketch)({ target, sketch, variants: sketch.variants }));
423
+ let failed = asked === undefined && unreadable.length > 0;
424
+ if (asked === undefined)
425
+ unreadable.forEach((problem) => console.error(`${problem.rule} ${(0, path_1.relative)(target, problem.file)}: ${problem.message}`));
426
+ for (const { sketch, variant, problems, before } of chosen) {
427
+ const typed = (0, check_sketches_1.typecheckVariant)({ target, product, sketch, variant });
428
+ before.forEach((problem) => console.warn(`NOTE (was there before) ${sketch.target} ${variant}: ${problem.rule} ${(0, path_1.relative)(target, problem.file)}: ${problem.message}`));
429
+ (0, check_sketches_1.variantWarningsOf)({ target, product, sketch, variant }).forEach((warning) => console.warn(`${sketch.target} ${variant}: ${warning}`));
430
+ const all = [
431
+ ...problems,
432
+ ...(0, check_format_1.formatProblemsOf)({ target, sketch, variant }),
433
+ ...(typed.kind === 'failed' ? [{ rule: 'TYPE-ERROR', file: sketch.dir, message: `\n${typed.output}` }] : []),
434
+ ...(typed.kind === 'unavailable' ? [{ rule: 'TYPE-ERROR', file: sketch.dir, message: typed.message }] : []),
435
+ ];
436
+ for (const problem of all) {
437
+ console.error(`${sketch.target} ${variant}: ${problem.rule} ${(0, path_1.relative)(target, problem.file)}: ${problem.message}`);
438
+ }
439
+ failed || (failed = all.length > 0);
440
+ }
441
+ if (failed)
442
+ return 1;
443
+ const rendered = yield (0, render_check_1.renderIssuesOf)({
444
+ target,
445
+ config,
446
+ jobs: chosen.map(({ sketch, variant }) => {
447
+ const preview = (0, merge_preview_1.mergePreviewOf)({ product, sketch, variant });
448
+ return {
449
+ product: product.name,
450
+ sketch: { target: sketch.target, variant },
451
+ parts: [...preview.changed, ...preview.affected],
452
+ };
453
+ }),
454
+ });
455
+ if ('unavailable' in rendered)
456
+ console.log(`RENDER CHECK SKIPPED - ${rendered.unavailable}`);
457
+ else {
458
+ for (const { sketch, part, state, size } of rendered.drawn) {
459
+ const rules = [
460
+ ...new Set(rendered.issues
461
+ .filter((issue) => {
462
+ var _a, _b;
463
+ return ((_a = issue.sketch) === null || _a === void 0 ? void 0 : _a.target) === (sketch === null || sketch === void 0 ? void 0 : sketch.target) &&
464
+ ((_b = issue.sketch) === null || _b === void 0 ? void 0 : _b.variant) === (sketch === null || sketch === void 0 ? void 0 : sketch.variant) &&
465
+ issue.part === part &&
466
+ issue.state === state &&
467
+ issue.size === size;
468
+ })
469
+ .map((issue) => issue.rule)),
470
+ ];
471
+ console.log(`${(_a = sketch === null || sketch === void 0 ? void 0 : sketch.target) !== null && _a !== void 0 ? _a : ''} ${(_b = sketch === null || sketch === void 0 ? void 0 : sketch.variant) !== null && _b !== void 0 ? _b : ''}: ${part} ${state} at ${size} ${rules.join(' ') || 'ok'}`);
472
+ }
473
+ rendered.grids.forEach(({ sketch, part, line }) => { var _a, _b; return console.log(`${(_a = sketch === null || sketch === void 0 ? void 0 : sketch.target) !== null && _a !== void 0 ? _a : ''} ${(_b = sketch === null || sketch === void 0 ? void 0 : sketch.variant) !== null && _b !== void 0 ? _b : ''}: ${part} ${line}`); });
474
+ rendered.warnings.forEach((issue) => { var _a, _b, _c, _d; return console.warn(`${(_b = (_a = issue.sketch) === null || _a === void 0 ? void 0 : _a.target) !== null && _b !== void 0 ? _b : ''} ${(_d = (_c = issue.sketch) === null || _c === void 0 ? void 0 : _c.variant) !== null && _d !== void 0 ? _d : ''}: WARNING ${(0, render_check_1.renderIssueLineOf)(issue)}`); });
475
+ rendered.issues.forEach((issue) => { var _a, _b, _c, _d; return console.error(`${(_b = (_a = issue.sketch) === null || _a === void 0 ? void 0 : _a.target) !== null && _b !== void 0 ? _b : ''} ${(_d = (_c = issue.sketch) === null || _c === void 0 ? void 0 : _c.variant) !== null && _d !== void 0 ? _d : ''}: ${(0, render_check_1.renderIssueLineOf)(issue)}`); });
476
+ }
477
+ if ('issues' in rendered && rendered.issues.length > 0)
478
+ return 1;
479
+ console.log('ok');
480
+ return 0;
481
+ });
482
+ const previewed = (context) => withSketch(context, ({ product, sketch }) => {
483
+ const variant = context.args.positional[1];
484
+ if (!variant || !sketch.variants.includes(variant))
485
+ return fail(`${sketch.target} has no variant "${variant !== null && variant !== void 0 ? variant : ''}" - it has ${sketch.variants.join(', ')}`);
486
+ const preview = (0, merge_preview_1.mergePreviewOf)({ product, sketch, variant });
487
+ if (context.args.flags.has('--json')) {
488
+ console.log(JSON.stringify(preview, null, 2));
489
+ }
490
+ else {
491
+ console.log(`changes: ${preview.changed.join(', ')}`);
492
+ console.log(`shows: ${preview.affected.join(', ') || 'no other element or page'}`);
493
+ }
494
+ return 0;
495
+ });
496
+ const merged = (context) => withSketch(context, ({ product, sketch }) => {
497
+ var _a, _b;
498
+ const note = context.args.values['--note'];
499
+ if (context.args.positional.length > 1)
500
+ return fail(`usage: sketch merge <layer>/<name> [--note <reason>] - it merges the variant the user picked`);
501
+ const result = (0, merge_1.mergeSketch)({
502
+ target: context.target,
503
+ config: context.config,
504
+ product,
505
+ sketch,
506
+ note,
507
+ author: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined,
508
+ });
509
+ if (!Array.isArray(result))
510
+ return fail(result.reason);
511
+ const variant = ((_b = sketch.decision) === null || _b === void 0 ? void 0 : _b.kind) === 'pick' ? sketch.decision.variant : '';
512
+ console.log(`merged ${sketch.target} variant ${variant} into ${product.name}: ${result.join(', ')}`);
513
+ return 0;
514
+ });
515
+ const discarded = (context) => withSketch(context, ({ sketch }) => {
516
+ var _a;
517
+ const problem = (0, merge_1.discardSketch)({ target: context.target, sketch, author: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined });
518
+ if (problem)
519
+ return fail(problem);
520
+ console.log(`discarded the sketch on ${sketch.target}`);
521
+ return 0;
522
+ });
523
+ const COMMANDS = {
524
+ new: created,
525
+ variant: varied,
526
+ round: roundEdited,
527
+ list: listed,
528
+ report: reported,
529
+ ready: readied,
530
+ check: checked,
531
+ preview: previewed,
532
+ rebase: rebased,
533
+ merge: merged,
534
+ discard: discarded,
535
+ };
536
+ /** `et design sketch <command> …` opens, adds variants to, reports on, readies, checks, previews, rebases, merges and discards sketches. */
537
+ const designSketch = (options) => {
538
+ const { target, argv, invocation } = options;
539
+ const [command = '', ...rest] = argv;
540
+ const run = COMMANDS[command];
541
+ const args = (0, cli_args_1.argsOf)(rest, [
542
+ '--product',
543
+ '--variants',
544
+ '--note',
545
+ '--variant',
546
+ '--by',
547
+ '--from',
548
+ '--round',
549
+ '--round-note',
550
+ '--title',
551
+ '--like',
552
+ '--drops',
553
+ '--variant-note',
554
+ ]);
555
+ const unauthored = typeof args !== 'string' && WRITES.has(command) && (0, cli_args_1.authorOf)(args) === null;
556
+ if (!run || typeof args === 'string' || unauthored) {
557
+ if (typeof args === 'string')
558
+ console.error(args);
559
+ if (!run)
560
+ console.error(`unknown sketch command "${command}"`);
561
+ if (unauthored)
562
+ console.error(`sketch ${command} ${cli_args_1.NEEDS_AUTHOR}`);
563
+ console.error(exports.SKETCH_USAGE.map((line) => `usage: ${invocation} ${line}`).join('\n'));
564
+ return 2;
565
+ }
566
+ const config = (0, cli_args_1.configOf)(target);
567
+ if (typeof config === 'string')
568
+ return fail(config);
569
+ return run({ target, config, args });
570
+ };
571
+ exports.designSketch = designSketch;
572
+ //# sourceMappingURL=sketch-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sketch-command.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/sketch-command.ts"],"names":[],"mappings":"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"}