@invarn/cibuild 2.9.5 → 2.9.7

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 (553) hide show
  1. package/dist/chunk-35SI42CD.mjs +1 -0
  2. package/dist/chunk-IC45KVLJ.mjs +1 -0
  3. package/dist/chunk-XDY4V23V.mjs +1 -0
  4. package/dist/cli.cjs +14 -14
  5. package/dist/commands.mjs +1 -0
  6. package/dist/lib.mjs +3934 -0
  7. package/package.json +6 -10
  8. package/dist/src/cli.d.ts +0 -3
  9. package/dist/src/cli.d.ts.map +0 -1
  10. package/dist/src/cli.js +0 -399
  11. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
  12. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
  13. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
  14. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
  15. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
  16. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
  17. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
  18. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
  19. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
  20. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
  21. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
  22. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
  23. package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
  24. package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
  25. package/dist/src/commands/android-gms-guard.test.js +0 -78
  26. package/dist/src/commands/android-java-version.test.d.ts +0 -12
  27. package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
  28. package/dist/src/commands/android-java-version.test.js +0 -209
  29. package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
  30. package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
  31. package/dist/src/commands/android-scanner-java.test.js +0 -130
  32. package/dist/src/commands/android-scanner.d.ts +0 -250
  33. package/dist/src/commands/android-scanner.d.ts.map +0 -1
  34. package/dist/src/commands/android-scanner.js +0 -1639
  35. package/dist/src/commands/build.d.ts +0 -215
  36. package/dist/src/commands/build.d.ts.map +0 -1
  37. package/dist/src/commands/build.js +0 -1433
  38. package/dist/src/commands/build.test.d.ts +0 -13
  39. package/dist/src/commands/build.test.d.ts.map +0 -1
  40. package/dist/src/commands/build.test.js +0 -121
  41. package/dist/src/commands/detect-platform.d.ts +0 -13
  42. package/dist/src/commands/detect-platform.d.ts.map +0 -1
  43. package/dist/src/commands/detect-platform.js +0 -51
  44. package/dist/src/commands/detect-project.d.ts +0 -7
  45. package/dist/src/commands/detect-project.d.ts.map +0 -1
  46. package/dist/src/commands/detect-project.js +0 -12
  47. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
  48. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
  49. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
  50. package/dist/src/commands/edit.d.ts +0 -12
  51. package/dist/src/commands/edit.d.ts.map +0 -1
  52. package/dist/src/commands/edit.js +0 -652
  53. package/dist/src/commands/edit.test.d.ts +0 -6
  54. package/dist/src/commands/edit.test.d.ts.map +0 -1
  55. package/dist/src/commands/edit.test.js +0 -45
  56. package/dist/src/commands/fidelity-trim.d.ts +0 -13
  57. package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
  58. package/dist/src/commands/fidelity-trim.js +0 -21
  59. package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
  60. package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
  61. package/dist/src/commands/fidelity-trim.test.js +0 -79
  62. package/dist/src/commands/file-secret-collector.d.ts +0 -50
  63. package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
  64. package/dist/src/commands/file-secret-collector.js +0 -217
  65. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
  66. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
  67. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
  68. package/dist/src/commands/github-workflow.d.ts +0 -5
  69. package/dist/src/commands/github-workflow.d.ts.map +0 -1
  70. package/dist/src/commands/github-workflow.js +0 -45
  71. package/dist/src/commands/index.d.ts +0 -33
  72. package/dist/src/commands/index.d.ts.map +0 -1
  73. package/dist/src/commands/index.js +0 -33
  74. package/dist/src/commands/init.d.ts +0 -20
  75. package/dist/src/commands/init.d.ts.map +0 -1
  76. package/dist/src/commands/init.js +0 -264
  77. package/dist/src/commands/ios-scanner.d.ts +0 -104
  78. package/dist/src/commands/ios-scanner.d.ts.map +0 -1
  79. package/dist/src/commands/ios-scanner.js +0 -492
  80. package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
  81. package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
  82. package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
  83. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
  84. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
  85. package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
  86. package/dist/src/commands/reset.d.ts +0 -7
  87. package/dist/src/commands/reset.d.ts.map +0 -1
  88. package/dist/src/commands/reset.js +0 -81
  89. package/dist/src/commands/run.d.ts +0 -22
  90. package/dist/src/commands/run.d.ts.map +0 -1
  91. package/dist/src/commands/run.js +0 -141
  92. package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
  93. package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
  94. package/dist/src/commands/secrets-sync-workflow.js +0 -255
  95. package/dist/src/commands/secrets-upload.d.ts +0 -21
  96. package/dist/src/commands/secrets-upload.d.ts.map +0 -1
  97. package/dist/src/commands/secrets-upload.js +0 -177
  98. package/dist/src/commands/secrets-upload.test.d.ts +0 -5
  99. package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
  100. package/dist/src/commands/secrets-upload.test.js +0 -60
  101. package/dist/src/commands/validate.d.ts +0 -10
  102. package/dist/src/commands/validate.d.ts.map +0 -1
  103. package/dist/src/commands/validate.js +0 -46
  104. package/dist/src/config.d.ts +0 -3
  105. package/dist/src/config.d.ts.map +0 -1
  106. package/dist/src/config.js +0 -47
  107. package/dist/src/envman/cli.d.ts +0 -21
  108. package/dist/src/envman/cli.d.ts.map +0 -1
  109. package/dist/src/envman/cli.js +0 -240
  110. package/dist/src/envman/envman.d.ts +0 -83
  111. package/dist/src/envman/envman.d.ts.map +0 -1
  112. package/dist/src/envman/envman.js +0 -361
  113. package/dist/src/envman/envman.test.d.ts +0 -5
  114. package/dist/src/envman/envman.test.d.ts.map +0 -1
  115. package/dist/src/envman/envman.test.js +0 -236
  116. package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
  117. package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
  118. package/dist/src/envman/envstore-round-trip.test.js +0 -130
  119. package/dist/src/envman/index.d.ts +0 -23
  120. package/dist/src/envman/index.d.ts.map +0 -1
  121. package/dist/src/envman/index.js +0 -23
  122. package/dist/src/envman/shim.d.ts +0 -16
  123. package/dist/src/envman/shim.d.ts.map +0 -1
  124. package/dist/src/envman/shim.js +0 -66
  125. package/dist/src/envman/types.d.ts +0 -55
  126. package/dist/src/envman/types.d.ts.map +0 -1
  127. package/dist/src/envman/types.js +0 -12
  128. package/dist/src/lib.d.ts +0 -33
  129. package/dist/src/lib.d.ts.map +0 -1
  130. package/dist/src/lib.js +0 -37
  131. package/dist/src/pipeline.d.ts +0 -3
  132. package/dist/src/pipeline.d.ts.map +0 -1
  133. package/dist/src/pipeline.js +0 -57
  134. package/dist/src/runner-node-step.test.d.ts +0 -12
  135. package/dist/src/runner-node-step.test.d.ts.map +0 -1
  136. package/dist/src/runner-node-step.test.js +0 -61
  137. package/dist/src/runner.d.ts +0 -31
  138. package/dist/src/runner.d.ts.map +0 -1
  139. package/dist/src/runner.js +0 -240
  140. package/dist/src/shared/detect-project.d.ts +0 -57
  141. package/dist/src/shared/detect-project.d.ts.map +0 -1
  142. package/dist/src/shared/detect-project.js +0 -219
  143. package/dist/src/shared/detect-project.test.d.ts +0 -2
  144. package/dist/src/shared/detect-project.test.d.ts.map +0 -1
  145. package/dist/src/shared/detect-project.test.js +0 -161
  146. package/dist/src/shared/git.d.ts +0 -25
  147. package/dist/src/shared/git.d.ts.map +0 -1
  148. package/dist/src/shared/git.js +0 -53
  149. package/dist/src/shared/git.test.d.ts +0 -9
  150. package/dist/src/shared/git.test.d.ts.map +0 -1
  151. package/dist/src/shared/git.test.js +0 -66
  152. package/dist/src/shared/gitignore.d.ts +0 -6
  153. package/dist/src/shared/gitignore.d.ts.map +0 -1
  154. package/dist/src/shared/gitignore.js +0 -26
  155. package/dist/src/shared/gradle-settings.d.ts +0 -49
  156. package/dist/src/shared/gradle-settings.d.ts.map +0 -1
  157. package/dist/src/shared/gradle-settings.js +0 -138
  158. package/dist/src/shared/gradle-settings.test.d.ts +0 -2
  159. package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
  160. package/dist/src/shared/gradle-settings.test.js +0 -65
  161. package/dist/src/shared/prompts.d.ts +0 -30
  162. package/dist/src/shared/prompts.d.ts.map +0 -1
  163. package/dist/src/shared/prompts.js +0 -121
  164. package/dist/src/shared/xcode-container.test.d.ts +0 -2
  165. package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
  166. package/dist/src/shared/xcode-container.test.js +0 -123
  167. package/dist/src/step-marker.d.ts +0 -12
  168. package/dist/src/step-marker.d.ts.map +0 -1
  169. package/dist/src/step-marker.js +0 -29
  170. package/dist/src/step-marker.test.d.ts +0 -11
  171. package/dist/src/step-marker.test.d.ts.map +0 -1
  172. package/dist/src/step-marker.test.js +0 -45
  173. package/dist/src/types.d.ts +0 -58
  174. package/dist/src/types.d.ts.map +0 -1
  175. package/dist/src/types.js +0 -2
  176. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
  177. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
  178. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
  179. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
  180. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
  181. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
  182. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
  183. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
  184. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
  185. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
  186. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
  187. package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
  188. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
  189. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
  190. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
  191. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
  192. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
  193. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
  194. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
  195. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
  196. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
  197. package/dist/src/yaml/bitrise-compat.d.ts +0 -65
  198. package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
  199. package/dist/src/yaml/bitrise-compat.js +0 -206
  200. package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
  201. package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
  202. package/dist/src/yaml/bitrise-compat.test.js +0 -347
  203. package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
  204. package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
  205. package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
  206. package/dist/src/yaml/converter.d.ts +0 -103
  207. package/dist/src/yaml/converter.d.ts.map +0 -1
  208. package/dist/src/yaml/converter.js +0 -420
  209. package/dist/src/yaml/converter.test.d.ts +0 -5
  210. package/dist/src/yaml/converter.test.d.ts.map +0 -1
  211. package/dist/src/yaml/converter.test.js +0 -548
  212. package/dist/src/yaml/e2e.test.d.ts +0 -6
  213. package/dist/src/yaml/e2e.test.d.ts.map +0 -1
  214. package/dist/src/yaml/e2e.test.js +0 -446
  215. package/dist/src/yaml/env-resolver.d.ts +0 -218
  216. package/dist/src/yaml/env-resolver.d.ts.map +0 -1
  217. package/dist/src/yaml/env-resolver.js +0 -591
  218. package/dist/src/yaml/env-resolver.test.d.ts +0 -5
  219. package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
  220. package/dist/src/yaml/env-resolver.test.js +0 -502
  221. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
  222. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
  223. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
  224. package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
  225. package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
  226. package/dist/src/yaml/fidelity-input-digest.js +0 -208
  227. package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
  228. package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
  229. package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
  230. package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
  231. package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
  232. package/dist/src/yaml/fidelity-manifest.js +0 -134
  233. package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
  234. package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
  235. package/dist/src/yaml/fidelity-manifest.test.js +0 -251
  236. package/dist/src/yaml/interactive-prompts.d.ts +0 -71
  237. package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
  238. package/dist/src/yaml/interactive-prompts.js +0 -260
  239. package/dist/src/yaml/meta-helpers.d.ts +0 -28
  240. package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
  241. package/dist/src/yaml/meta-helpers.js +0 -46
  242. package/dist/src/yaml/missing-env-handler.d.ts +0 -45
  243. package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
  244. package/dist/src/yaml/missing-env-handler.js +0 -64
  245. package/dist/src/yaml/parser.d.ts +0 -33
  246. package/dist/src/yaml/parser.d.ts.map +0 -1
  247. package/dist/src/yaml/parser.js +0 -148
  248. package/dist/src/yaml/parser.test.d.ts +0 -5
  249. package/dist/src/yaml/parser.test.d.ts.map +0 -1
  250. package/dist/src/yaml/parser.test.js +0 -83
  251. package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
  252. package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
  253. package/dist/src/yaml/pipeline-with-secrets.js +0 -76
  254. package/dist/src/yaml/platform-detector.d.ts +0 -83
  255. package/dist/src/yaml/platform-detector.d.ts.map +0 -1
  256. package/dist/src/yaml/platform-detector.js +0 -189
  257. package/dist/src/yaml/platform-detector.test.d.ts +0 -5
  258. package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
  259. package/dist/src/yaml/platform-detector.test.js +0 -525
  260. package/dist/src/yaml/preflight-validation.d.ts +0 -29
  261. package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
  262. package/dist/src/yaml/preflight-validation.js +0 -21
  263. package/dist/src/yaml/secrets-manager.d.ts +0 -87
  264. package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
  265. package/dist/src/yaml/secrets-manager.js +0 -230
  266. package/dist/src/yaml/shell-assignments.d.ts +0 -40
  267. package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
  268. package/dist/src/yaml/shell-assignments.js +0 -77
  269. package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
  270. package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
  271. package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
  272. package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
  273. package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
  274. package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
  275. package/dist/src/yaml/step-validator.d.ts +0 -67
  276. package/dist/src/yaml/step-validator.d.ts.map +0 -1
  277. package/dist/src/yaml/step-validator.js +0 -466
  278. package/dist/src/yaml/step-validator.test.d.ts +0 -18
  279. package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
  280. package/dist/src/yaml/step-validator.test.js +0 -140
  281. package/dist/src/yaml/steps/android-sign.d.ts +0 -35
  282. package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
  283. package/dist/src/yaml/steps/android-sign.js +0 -147
  284. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
  285. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
  286. package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
  287. package/dist/src/yaml/steps/android-version.d.ts +0 -26
  288. package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
  289. package/dist/src/yaml/steps/android-version.js +0 -128
  290. package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
  291. package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
  292. package/dist/src/yaml/steps/android-version.test.js +0 -196
  293. package/dist/src/yaml/steps/android.d.ts +0 -156
  294. package/dist/src/yaml/steps/android.d.ts.map +0 -1
  295. package/dist/src/yaml/steps/android.js +0 -1092
  296. package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
  297. package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
  298. package/dist/src/yaml/steps/app-store-deploy.js +0 -167
  299. package/dist/src/yaml/steps/base.d.ts +0 -263
  300. package/dist/src/yaml/steps/base.d.ts.map +0 -1
  301. package/dist/src/yaml/steps/base.js +0 -380
  302. package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
  303. package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
  304. package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
  305. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
  306. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
  307. package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
  308. package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
  309. package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
  310. package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
  311. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
  312. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
  313. package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
  314. package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
  315. package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
  316. package/dist/src/yaml/steps/bitrise-slack.js +0 -280
  317. package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
  318. package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
  319. package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
  320. package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
  321. package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
  322. package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
  323. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
  324. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
  325. package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
  326. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
  327. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
  328. package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
  329. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
  330. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
  331. package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
  332. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
  333. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
  334. package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
  335. package/dist/src/yaml/steps/cache.d.ts +0 -59
  336. package/dist/src/yaml/steps/cache.d.ts.map +0 -1
  337. package/dist/src/yaml/steps/cache.js +0 -1027
  338. package/dist/src/yaml/steps/capture-injection.d.ts +0 -30
  339. package/dist/src/yaml/steps/capture-injection.d.ts.map +0 -1
  340. package/dist/src/yaml/steps/capture-injection.js +0 -88
  341. package/dist/src/yaml/steps/capture-injection.test.d.ts +0 -2
  342. package/dist/src/yaml/steps/capture-injection.test.d.ts.map +0 -1
  343. package/dist/src/yaml/steps/capture-injection.test.js +0 -163
  344. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
  345. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
  346. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
  347. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
  348. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
  349. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
  350. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
  351. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
  352. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
  353. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
  354. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
  355. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
  356. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
  357. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
  358. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
  359. package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
  360. package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
  361. package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
  362. package/dist/src/yaml/steps/fastlane.d.ts +0 -27
  363. package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
  364. package/dist/src/yaml/steps/fastlane.js +0 -79
  365. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
  366. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
  367. package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
  368. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
  369. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
  370. package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
  371. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
  372. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
  373. package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
  374. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
  375. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
  376. package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
  377. package/dist/src/yaml/steps/file.d.ts +0 -52
  378. package/dist/src/yaml/steps/file.d.ts.map +0 -1
  379. package/dist/src/yaml/steps/file.js +0 -108
  380. package/dist/src/yaml/steps/flutter.d.ts +0 -63
  381. package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
  382. package/dist/src/yaml/steps/flutter.js +0 -215
  383. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
  384. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
  385. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
  386. package/dist/src/yaml/steps/git-clone.d.ts +0 -32
  387. package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
  388. package/dist/src/yaml/steps/git-clone.js +0 -171
  389. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
  390. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
  391. package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
  392. package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
  393. package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
  394. package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
  395. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
  396. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
  397. package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
  398. package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
  399. package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
  400. package/dist/src/yaml/steps/google-play-deploy.js +0 -193
  401. package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
  402. package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
  403. package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
  404. package/dist/src/yaml/steps/gradle-memory.d.ts +0 -61
  405. package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
  406. package/dist/src/yaml/steps/gradle-memory.js +0 -386
  407. package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
  408. package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
  409. package/dist/src/yaml/steps/gradle-memory.test.js +0 -344
  410. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
  411. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
  412. package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
  413. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
  414. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
  415. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
  416. package/dist/src/yaml/steps/index.d.ts +0 -10
  417. package/dist/src/yaml/steps/index.d.ts.map +0 -1
  418. package/dist/src/yaml/steps/index.js +0 -1461
  419. package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
  420. package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
  421. package/dist/src/yaml/steps/ios-deps.js +0 -279
  422. package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
  423. package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
  424. package/dist/src/yaml/steps/ios-deps.test.js +0 -90
  425. package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
  426. package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
  427. package/dist/src/yaml/steps/ios-signing.js +0 -144
  428. package/dist/src/yaml/steps/ios-version.d.ts +0 -47
  429. package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
  430. package/dist/src/yaml/steps/ios-version.js +0 -151
  431. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
  432. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
  433. package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
  434. package/dist/src/yaml/steps/linting.d.ts +0 -47
  435. package/dist/src/yaml/steps/linting.d.ts.map +0 -1
  436. package/dist/src/yaml/steps/linting.js +0 -148
  437. package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
  438. package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
  439. package/dist/src/yaml/steps/phase2.test.js +0 -197
  440. package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
  441. package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
  442. package/dist/src/yaml/steps/phase3.test.js +0 -144
  443. package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
  444. package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
  445. package/dist/src/yaml/steps/phase4.test.js +0 -166
  446. package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
  447. package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
  448. package/dist/src/yaml/steps/phase5.test.js +0 -263
  449. package/dist/src/yaml/steps/registry.d.ts +0 -88
  450. package/dist/src/yaml/steps/registry.d.ts.map +0 -1
  451. package/dist/src/yaml/steps/registry.js +0 -125
  452. package/dist/src/yaml/steps/registry.test.d.ts +0 -5
  453. package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
  454. package/dist/src/yaml/steps/registry.test.js +0 -235
  455. package/dist/src/yaml/steps/release.d.ts +0 -50
  456. package/dist/src/yaml/steps/release.d.ts.map +0 -1
  457. package/dist/src/yaml/steps/release.js +0 -154
  458. package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
  459. package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
  460. package/dist/src/yaml/steps/render-post-processor.js +0 -270
  461. package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
  462. package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
  463. package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
  464. package/dist/src/yaml/steps/script.d.ts +0 -23
  465. package/dist/src/yaml/steps/script.d.ts.map +0 -1
  466. package/dist/src/yaml/steps/script.js +0 -63
  467. package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
  468. package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
  469. package/dist/src/yaml/steps/spec-validation.test.js +0 -130
  470. package/dist/src/yaml/steps/steps.test.d.ts +0 -6
  471. package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
  472. package/dist/src/yaml/steps/steps.test.js +0 -881
  473. package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
  474. package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
  475. package/dist/src/yaml/steps/structural-facts.js +0 -3276
  476. package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
  477. package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
  478. package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
  479. package/dist/src/yaml/steps/test-config.d.ts +0 -5
  480. package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
  481. package/dist/src/yaml/steps/test-config.js +0 -25
  482. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
  483. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
  484. package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
  485. package/dist/src/yaml/steps/trim-align.d.ts +0 -87
  486. package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
  487. package/dist/src/yaml/steps/trim-align.js +0 -367
  488. package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
  489. package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
  490. package/dist/src/yaml/steps/trim-align.test.js +0 -261
  491. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
  492. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
  493. package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
  494. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
  495. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
  496. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
  497. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
  498. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
  499. package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
  500. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
  501. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
  502. package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
  503. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
  504. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
  505. package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
  506. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
  507. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
  508. package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
  509. package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
  510. package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
  511. package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
  512. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
  513. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
  514. package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
  515. package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
  516. package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
  517. package/dist/src/yaml/steps/xcode-app-product.js +0 -247
  518. package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
  519. package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
  520. package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
  521. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
  522. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
  523. package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -279
  524. package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
  525. package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
  526. package/dist/src/yaml/steps/xcode-destination.js +0 -202
  527. package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
  528. package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
  529. package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
  530. package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
  531. package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
  532. package/dist/src/yaml/steps/xcode-new.test.js +0 -211
  533. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
  534. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
  535. package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
  536. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
  537. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
  538. package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
  539. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
  540. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
  541. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
  542. package/dist/src/yaml/steps/xcode.d.ts +0 -230
  543. package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
  544. package/dist/src/yaml/steps/xcode.js +0 -1350
  545. package/dist/src/yaml/types.d.ts +0 -76
  546. package/dist/src/yaml/types.d.ts.map +0 -1
  547. package/dist/src/yaml/types.js +0 -5
  548. package/dist/src/yaml/validation-types.d.ts +0 -102
  549. package/dist/src/yaml/validation-types.d.ts.map +0 -1
  550. package/dist/src/yaml/validation-types.js +0 -8
  551. package/dist/src/yaml/yaml-updater.d.ts +0 -24
  552. package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
  553. package/dist/src/yaml/yaml-updater.js +0 -128
@@ -1,235 +0,0 @@
1
- /**
2
- * Unit tests for step registry
3
- */
4
- import { describe, test, expect, beforeEach } from '@jest/globals';
5
- import { testConfig } from './test-config.js';
6
- import { registerStep, getStepExecutor, hasStep, getAvailableSteps, getStepMetadata, clearRegistry, UnrecognizedStepError, } from './registry.js';
7
- import { BaseStepExecutor } from './base.js';
8
- // Mock step executor for testing
9
- class MockStepExecutor extends BaseStepExecutor {
10
- async execute(inputs, env) {
11
- return this.createScriptStep('echo "mock step"', 'mock-step');
12
- }
13
- }
14
- describe('Step Registry', () => {
15
- beforeEach(() => {
16
- // Clear registry before each test to ensure clean state
17
- clearRegistry();
18
- });
19
- describe('registerStep', () => {
20
- test('should register a step successfully', () => {
21
- const executor = new MockStepExecutor();
22
- registerStep('test-step', executor);
23
- expect(hasStep('test-step')).toBe(true);
24
- });
25
- test('should register a step with metadata', () => {
26
- const executor = new MockStepExecutor();
27
- const metadata = {
28
- name: 'test-step',
29
- description: 'A test step',
30
- inputs: {
31
- test_input: {
32
- description: 'Test input',
33
- required: true,
34
- },
35
- },
36
- };
37
- registerStep('test-step', executor, metadata);
38
- expect(hasStep('test-step')).toBe(true);
39
- expect(getStepMetadata('test-step')).toEqual(metadata);
40
- });
41
- test('should allow overwriting an existing step', () => {
42
- const executor1 = new MockStepExecutor();
43
- const executor2 = new MockStepExecutor();
44
- registerStep('test-step', executor1);
45
- registerStep('test-step', executor2);
46
- expect(hasStep('test-step')).toBe(true);
47
- expect(getStepExecutor('test-step')).toBe(executor2);
48
- });
49
- });
50
- describe('getStepExecutor', () => {
51
- test('should retrieve a registered step executor', () => {
52
- const executor = new MockStepExecutor();
53
- registerStep('test-step', executor);
54
- const retrieved = getStepExecutor('test-step');
55
- expect(retrieved).toBe(executor);
56
- });
57
- test('should throw UnrecognizedStepError for unknown step', () => {
58
- expect(() => {
59
- getStepExecutor('unknown-step');
60
- }).toThrow(UnrecognizedStepError);
61
- });
62
- test('UnrecognizedStepError should include step name', () => {
63
- try {
64
- getStepExecutor('unknown-step');
65
- expect(true).toBe(false); // Should not reach here
66
- }
67
- catch (error) {
68
- expect(error).toBeInstanceOf(UnrecognizedStepError);
69
- expect(error.stepName).toBe('unknown-step');
70
- }
71
- });
72
- test('UnrecognizedStepError should include available steps', () => {
73
- registerStep('step-a', new MockStepExecutor());
74
- registerStep('step-b', new MockStepExecutor());
75
- try {
76
- getStepExecutor('unknown-step');
77
- expect(true).toBe(false); // Should not reach here
78
- }
79
- catch (error) {
80
- expect(error).toBeInstanceOf(UnrecognizedStepError);
81
- const err = error;
82
- expect(err.availableSteps).toContain('step-a');
83
- expect(err.availableSteps).toContain('step-b');
84
- }
85
- });
86
- test('UnrecognizedStepError message should be helpful', () => {
87
- registerStep('git-clone', new MockStepExecutor());
88
- registerStep('script', new MockStepExecutor());
89
- try {
90
- getStepExecutor('git-push');
91
- expect(true).toBe(false); // Should not reach here
92
- }
93
- catch (error) {
94
- expect(error).toBeInstanceOf(UnrecognizedStepError);
95
- const message = error.message;
96
- expect(message).toContain('git-push');
97
- expect(message).toContain('Supported steps');
98
- expect(message).toContain('git-clone');
99
- expect(message).toContain('script');
100
- }
101
- });
102
- });
103
- describe('hasStep', () => {
104
- test('should return true for registered step', () => {
105
- registerStep('test-step', new MockStepExecutor());
106
- expect(hasStep('test-step')).toBe(true);
107
- });
108
- test('should return false for unregistered step', () => {
109
- expect(hasStep('unknown-step')).toBe(false);
110
- });
111
- test('should return false after clearing registry', () => {
112
- registerStep('test-step', new MockStepExecutor());
113
- clearRegistry();
114
- expect(hasStep('test-step')).toBe(false);
115
- });
116
- });
117
- describe('getAvailableSteps', () => {
118
- test('should return empty array when no steps registered', () => {
119
- expect(getAvailableSteps()).toEqual([]);
120
- });
121
- test('should return all registered step names', () => {
122
- registerStep('step-a', new MockStepExecutor());
123
- registerStep('step-b', new MockStepExecutor());
124
- registerStep('step-c', new MockStepExecutor());
125
- const steps = getAvailableSteps();
126
- expect(steps).toHaveLength(3);
127
- expect(steps).toContain('step-a');
128
- expect(steps).toContain('step-b');
129
- expect(steps).toContain('step-c');
130
- });
131
- test('should return steps in sorted order', () => {
132
- registerStep('zebra', new MockStepExecutor());
133
- registerStep('apple', new MockStepExecutor());
134
- registerStep('mango', new MockStepExecutor());
135
- const steps = getAvailableSteps();
136
- expect(steps).toEqual(['apple', 'mango', 'zebra']);
137
- });
138
- });
139
- describe('getStepMetadata', () => {
140
- test('should return metadata for registered step', () => {
141
- const metadata = {
142
- name: 'test-step',
143
- description: 'A test step',
144
- };
145
- registerStep('test-step', new MockStepExecutor(), metadata);
146
- expect(getStepMetadata('test-step')).toEqual(metadata);
147
- });
148
- test('should return undefined for step without metadata', () => {
149
- registerStep('test-step', new MockStepExecutor());
150
- expect(getStepMetadata('test-step')).toBeUndefined();
151
- });
152
- test('should return undefined for unregistered step', () => {
153
- expect(getStepMetadata('unknown-step')).toBeUndefined();
154
- });
155
- });
156
- describe('clearRegistry', () => {
157
- test('should remove all registered steps', () => {
158
- registerStep('step-a', new MockStepExecutor());
159
- registerStep('step-b', new MockStepExecutor());
160
- expect(getAvailableSteps()).toHaveLength(2);
161
- clearRegistry();
162
- expect(getAvailableSteps()).toHaveLength(0);
163
- expect(hasStep('step-a')).toBe(false);
164
- expect(hasStep('step-b')).toBe(false);
165
- });
166
- test('should allow re-registration after clear', () => {
167
- registerStep('test-step', new MockStepExecutor());
168
- clearRegistry();
169
- registerStep('test-step', new MockStepExecutor());
170
- expect(hasStep('test-step')).toBe(true);
171
- });
172
- });
173
- describe('Step execution', () => {
174
- test('should execute registered step', async () => {
175
- const executor = new MockStepExecutor();
176
- registerStep('test-step', executor);
177
- const retrieved = getStepExecutor('test-step');
178
- const result = await retrieved.execute({}, {}, testConfig);
179
- expect(result).toHaveProperty('kind', 'script');
180
- expect(result).toHaveProperty('name', 'mock-step');
181
- expect(result).toHaveProperty('script');
182
- });
183
- test('should pass inputs and env to executor', async () => {
184
- class InputCapturingExecutor extends BaseStepExecutor {
185
- capturedInputs;
186
- capturedEnv;
187
- async execute(inputs, env) {
188
- this.capturedInputs = inputs;
189
- this.capturedEnv = env;
190
- return this.createScriptStep('echo "test"', 'test');
191
- }
192
- }
193
- const executor = new InputCapturingExecutor();
194
- registerStep('test-step', executor);
195
- const inputs = { test: 'value' };
196
- const env = { VAR: 'test' };
197
- const retrieved = getStepExecutor('test-step');
198
- await retrieved.execute(inputs, env, testConfig);
199
- expect(executor.capturedInputs).toEqual(inputs);
200
- expect(executor.capturedEnv).toEqual(env);
201
- });
202
- });
203
- describe('Integration scenarios', () => {
204
- test('should handle multiple steps with same prefix', () => {
205
- registerStep('git-clone', new MockStepExecutor());
206
- registerStep('git-push', new MockStepExecutor());
207
- registerStep('git-pull', new MockStepExecutor());
208
- expect(hasStep('git-clone')).toBe(true);
209
- expect(hasStep('git-push')).toBe(true);
210
- expect(hasStep('git-pull')).toBe(true);
211
- const steps = getAvailableSteps();
212
- expect(steps).toEqual(['git-clone', 'git-pull', 'git-push']);
213
- });
214
- test('should handle case-sensitive step names', () => {
215
- registerStep('Step-A', new MockStepExecutor());
216
- registerStep('step-a', new MockStepExecutor());
217
- expect(hasStep('Step-A')).toBe(true);
218
- expect(hasStep('step-a')).toBe(true);
219
- expect(getAvailableSteps()).toHaveLength(2);
220
- });
221
- test('should provide helpful error when typo in step name', () => {
222
- registerStep('git-clone', new MockStepExecutor());
223
- try {
224
- getStepExecutor('git-clonee'); // Common typo
225
- expect(true).toBe(false);
226
- }
227
- catch (error) {
228
- const message = error.message;
229
- expect(message).toContain('git-clonee');
230
- expect(message).toContain('git-clone');
231
- }
232
- });
233
- });
234
- });
235
- //# sourceMappingURL=registry.test.js.map
@@ -1,50 +0,0 @@
1
- /**
2
- * Release steps: generate-changelog, github-release
3
- */
4
- import { BaseStepExecutor } from './base.js';
5
- import type { StepDef, CIConfig } from '../../types.js';
6
- import type { ValidationRequirement, StepOutput } from '../validation-types.js';
7
- export interface GenerateChangelogInputs {
8
- /** Path to write the changelog file */
9
- changelog_path?: string;
10
- /** Working directory containing the git repo */
11
- working_dir?: string;
12
- }
13
- /**
14
- * Generates changelog from git commit history since the last tag.
15
- */
16
- export declare class GenerateChangelogStepExecutor extends BaseStepExecutor {
17
- getValidationRequirements(_inputs: GenerateChangelogInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
18
- getOutputs(): StepOutput[];
19
- execute(inputs: GenerateChangelogInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
20
- }
21
- export interface GithubReleaseInputs {
22
- /** GitHub repository (owner/repo) */
23
- repository_url?: string;
24
- /** Release tag name */
25
- tag?: string;
26
- /** Release title */
27
- name?: string;
28
- /** Release body / notes */
29
- body?: string;
30
- /** Path to changelog file to use as body (alternative to body) */
31
- changelog_path?: string;
32
- /** Whether this is a draft release (true/false) */
33
- draft?: string;
34
- /** Whether this is a pre-release (true/false) */
35
- pre_release?: string;
36
- /** File paths to attach as release assets (newline-separated) */
37
- files_to_upload?: string;
38
- /** GitHub API token */
39
- api_token?: string;
40
- }
41
- /**
42
- * Creates a GitHub release with optional artifact attachments using the gh CLI.
43
- */
44
- export declare class GithubReleaseStepExecutor extends BaseStepExecutor {
45
- getValidationRequirements(_inputs: GithubReleaseInputs, _env: Record<string, string>, _config: CIConfig): ValidationRequirement[];
46
- getOutputs(): StepOutput[];
47
- isSkippedInLocalMode(): boolean;
48
- execute(inputs: GithubReleaseInputs, _env: Record<string, string>, _config: CIConfig): Promise<StepDef>;
49
- }
50
- //# sourceMappingURL=release.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/release.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMhF,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IACjE,yBAAyB,CACvB,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAM1B,UAAU,IAAI,UAAU,EAAE;IAMpB,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAqDlH;AAMD,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,yBAAyB,CACvB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,QAAQ,GAChB,qBAAqB,EAAE;IAM1B,UAAU,IAAI,UAAU,EAAE;IAM1B,oBAAoB,IAAI,OAAO;IAIzB,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAmF9G"}
@@ -1,154 +0,0 @@
1
- /**
2
- * Release steps: generate-changelog, github-release
3
- */
4
- import { BaseStepExecutor } from './base.js';
5
- /**
6
- * Generates changelog from git commit history since the last tag.
7
- */
8
- export class GenerateChangelogStepExecutor extends BaseStepExecutor {
9
- getValidationRequirements(_inputs, _env, _config) {
10
- return [
11
- this.requireCommand('git', 'git is required for changelog generation'),
12
- ];
13
- }
14
- getOutputs() {
15
- return [
16
- { name: 'CIBUILD_CHANGELOG', type: 'environment', description: 'The generated changelog content' },
17
- ];
18
- }
19
- async execute(inputs, _env, _config) {
20
- const stepName = 'generate-changelog';
21
- const changelogPath = this.getInput(inputs, 'changelog_path', './CHANGELOG.md');
22
- const workingDir = this.getInput(inputs, 'working_dir', '.');
23
- const commands = [];
24
- commands.push('# generate-changelog — from git history');
25
- commands.push('echo "📝 Generating changelog..."');
26
- commands.push('');
27
- commands.push(`cd '${this.escapeBash(workingDir)}'`);
28
- commands.push('');
29
- // Find the latest tag
30
- commands.push('# Find the latest tag');
31
- commands.push('LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")');
32
- commands.push('');
33
- // Generate changelog
34
- commands.push('if [ -n "$LATEST_TAG" ]; then');
35
- commands.push(' echo "Generating changelog since tag: $LATEST_TAG"');
36
- commands.push(' CHANGELOG=$(git log "$LATEST_TAG"..HEAD --pretty=format:"- %s (%h)" --no-merges)');
37
- commands.push('else');
38
- commands.push(' echo "No tags found — generating changelog from all commits"');
39
- commands.push(' CHANGELOG=$(git log --pretty=format:"- %s (%h)" --no-merges)');
40
- commands.push('fi');
41
- commands.push('');
42
- // Handle empty changelog
43
- commands.push('if [ -z "$CHANGELOG" ]; then');
44
- commands.push(' CHANGELOG="No changes since last release."');
45
- commands.push('fi');
46
- commands.push('');
47
- // Write to file
48
- commands.push(`CHANGELOG_PATH='${this.escapeBash(changelogPath)}'`);
49
- commands.push('mkdir -p "$(dirname "$CHANGELOG_PATH")"');
50
- commands.push('echo "$CHANGELOG" > "$CHANGELOG_PATH"');
51
- commands.push('echo "Changelog written to: $CHANGELOG_PATH"');
52
- commands.push('echo "---"');
53
- commands.push('echo "$CHANGELOG"');
54
- commands.push('echo "---"');
55
- commands.push('');
56
- // Export
57
- commands.push('envman add --key CIBUILD_CHANGELOG --value "$CHANGELOG"');
58
- commands.push('echo "✅ Changelog generated"');
59
- const script = this.createBashScriptFromCommands(commands, stepName);
60
- return this.createScriptStep(script, stepName);
61
- }
62
- }
63
- /**
64
- * Creates a GitHub release with optional artifact attachments using the gh CLI.
65
- */
66
- export class GithubReleaseStepExecutor extends BaseStepExecutor {
67
- getValidationRequirements(_inputs, _env, _config) {
68
- return [
69
- this.requireCommand('gh', 'GitHub CLI (gh) is required for creating releases'),
70
- ];
71
- }
72
- getOutputs() {
73
- return [
74
- { name: 'CIBUILD_RELEASE_URL', type: 'environment', description: 'URL of the created GitHub release' },
75
- ];
76
- }
77
- isSkippedInLocalMode() {
78
- return true;
79
- }
80
- async execute(inputs, _env, _config) {
81
- const stepName = 'github-release';
82
- const tag = this.getRequiredInput(inputs, 'tag', stepName);
83
- const repositoryUrl = this.getInput(inputs, 'repository_url', '');
84
- const name = this.getInput(inputs, 'name', '');
85
- const body = this.getInput(inputs, 'body', '');
86
- const changelogPath = this.getInput(inputs, 'changelog_path', '');
87
- const draft = this.getInput(inputs, 'draft', 'false') === 'true';
88
- const preRelease = this.getInput(inputs, 'pre_release', 'false') === 'true';
89
- const filesToUpload = this.getInput(inputs, 'files_to_upload', '');
90
- const apiToken = this.getInput(inputs, 'api_token', '$GITHUB_TOKEN');
91
- const commands = [];
92
- commands.push('# github-release — create a GitHub release');
93
- commands.push('echo "🚀 Creating GitHub release..."');
94
- commands.push('');
95
- // Auth
96
- commands.push(`export GH_TOKEN='${this.escapeBash(apiToken)}'`);
97
- commands.push('');
98
- // Build gh release create command
99
- const flags = [];
100
- flags.push(`--title '${this.escapeBash(name || tag)}'`);
101
- if (body) {
102
- flags.push(`--notes '${this.escapeBash(body)}'`);
103
- }
104
- else if (changelogPath) {
105
- flags.push(`--notes-file '${this.escapeBash(changelogPath)}'`);
106
- }
107
- else {
108
- flags.push('--generate-notes');
109
- }
110
- if (draft) {
111
- flags.push('--draft');
112
- }
113
- if (preRelease) {
114
- flags.push('--prerelease');
115
- }
116
- // Repository flag
117
- let repoFlag = '';
118
- if (repositoryUrl) {
119
- repoFlag = ` --repo '${this.escapeBash(repositoryUrl)}'`;
120
- }
121
- // File attachments
122
- if (filesToUpload) {
123
- commands.push('# Collect files to upload');
124
- commands.push(`FILES_INPUT='${this.escapeBash(filesToUpload)}'`);
125
- commands.push('FILE_ARGS=""');
126
- commands.push('while IFS= read -r file; do');
127
- commands.push(' file=$(echo "$file" | xargs)');
128
- commands.push(' [ -z "$file" ] && continue');
129
- commands.push(' if [ -f "$file" ]; then');
130
- commands.push(' FILE_ARGS="$FILE_ARGS \\"$file\\""');
131
- commands.push(' else');
132
- commands.push(' echo "⚠️ File not found: $file"');
133
- commands.push(' fi');
134
- commands.push('done <<< "$FILES_INPUT"');
135
- commands.push('');
136
- }
137
- const flagStr = flags.join(' ');
138
- commands.push(`TAG='${this.escapeBash(tag)}'`);
139
- commands.push('');
140
- if (filesToUpload) {
141
- commands.push(`RELEASE_URL=$(eval gh release create "$TAG" ${flagStr}${repoFlag} $FILE_ARGS 2>&1)`);
142
- }
143
- else {
144
- commands.push(`RELEASE_URL=$(gh release create "$TAG" ${flagStr}${repoFlag} 2>&1)`);
145
- }
146
- commands.push('');
147
- commands.push('echo "Release URL: $RELEASE_URL"');
148
- commands.push('envman add --key CIBUILD_RELEASE_URL --value "$RELEASE_URL"');
149
- commands.push('echo "✅ GitHub release created"');
150
- const script = this.createBashScriptFromCommands(commands, stepName);
151
- return this.createScriptStep(script, stepName);
152
- }
153
- }
154
- //# sourceMappingURL=release.js.map
@@ -1,100 +0,0 @@
1
- /**
2
- * Shared render-output post-processor.
3
- *
4
- * The single source of truth for turning a freshly rendered PNG into the
5
- * artifacts the fidelity loop compares: a content-trimmed image, a
6
- * reference-sized aligned copy, and the reported dimensions (rendered px /
7
- * logical pt / reference px). It operates on PNGs regardless of how they were
8
- * produced -- a SwiftUI `ImageRenderer` render or a Compose/Roborazzi render --
9
- * so crop/align/dimension behavior cannot drift between platforms.
10
- *
11
- * The pixel work is the pure-JS trim/align helper in trim-align.ts, invoked
12
- * through the ci binary (`ci fidelity-trim`) -- the one artifact present on
13
- * every backend -- so iOS and Android run the SAME bytes on macOS and Linux
14
- * alike. It replaced an embedded CoreGraphics/ImageIO helper that ran via
15
- * `swift` in script-interpreter mode and therefore could not run on Linux
16
- * workers (fidelity-linux 06); the bounding-box, fit-pad, and TRIMDIMS
17
- * semantics are a faithful port of that helper, guarded by a pixel-identity
18
- * corpus gate (trim-align-corpus.test.ts).
19
- *
20
- * This module is consumed by `ui-fidelity-render.ts` (iOS) and
21
- * `ui-fidelity-render-android.ts`; the surrounding JS orchestration is spliced
22
- * into each platform's generated runtime script.
23
- */
24
- /**
25
- * Runtime support for trimming the rendered output (package_source variants).
26
- *
27
- * The render entry forces the view into a fixed device-sized frame, so a
28
- * component smaller than the canvas renders with transparent margins. After a
29
- * screen renders, crop the PNG in place to the bounding box of its
30
- * non-transparent pixels, so the rendered artifact is the component itself,
31
- * tight -- no canvas, no background ambiguity for the human comparing screens.
32
- *
33
- * Best-effort: a trim failure is logged (warn-and-continue) and the untrimmed
34
- * render is kept -- a cosmetic post-step never fails an otherwise good render.
35
- * This is prep, not scoring: it produces a tighter image for the human's
36
- * judgment and computes nothing about fidelity.
37
- *
38
- * NOTE: the comments inside the stage string ship inside generated runtime
39
- * scripts. Keep them free of platform-toolchain references -- there is a unit
40
- * gate asserting the stage never mentions the old interpreter.
41
- */
42
- export declare const RENDER_SCRIPT_TRIM_STAGE: string;
43
- /** A rendered/reference/source dimension pair in pixels, as TRIMDIMS reports. */
44
- export type TrimDimsPair = [number, number];
45
- /** Parsed TRIMDIMS line: rendered (trimmed) / reference / pre-trim source px,
46
- * plus the crop origin within the source — null when the helper predates it
47
- * (unknown, never assumed zero). */
48
- export interface TrimDims {
49
- rendered: TrimDimsPair;
50
- reference: TrimDimsPair;
51
- source: TrimDimsPair;
52
- offset: TrimDimsPair | null;
53
- }
54
- /** How the stage will spawn the fidelity-trim helper. */
55
- export interface TrimHelperInvocation {
56
- cmd: string;
57
- args: string[];
58
- }
59
- /**
60
- * The platform-neutral helpers embedded in the trim-stage script.
61
- * `parseTrimDims` reads the helper's TRIMDIMS stdout line; `roundTwo` is the
62
- * logical-pt rounding primitive; `trimHelperInvocation` resolves how the
63
- * generated script reaches `ci fidelity-trim` at run time, and
64
- * `runTrimHelper` spawns it.
65
- */
66
- export interface PostProcessorInternals {
67
- parseTrimDims(stdout: string): TrimDims | null;
68
- roundTwo(value: number): number;
69
- trimHelperInvocation(args: string[]): TrimHelperInvocation;
70
- runTrimHelper(args: string[]): {
71
- status: number | null;
72
- stdout: string;
73
- stderr: string;
74
- };
75
- }
76
- /**
77
- * Evaluates the embedded trim-stage source and returns its pure helpers, so
78
- * unit tests exercise exactly the code that ships inside the runtime script
79
- * (mirrors getRenderScriptInternals in ui-fidelity-render.ts). `cp`, `process`,
80
- * `fs`, `os` and `path` are injectable so the invocation/spawn/copy seams are
81
- * testable; at runtime the stage is spliced into the generated script where
82
- * those names are `require`d globals. Uninjected deps only matter for branches
83
- * that dereference them (the pkg copy path), so existing callers can omit them.
84
- */
85
- export declare function getPostProcessorInternals(overrides?: {
86
- cp?: unknown;
87
- processRef?: unknown;
88
- fs?: unknown;
89
- os?: unknown;
90
- path?: unknown;
91
- }): PostProcessorInternals;
92
- /**
93
- * Resolves the on-disk JS entrypoint of this cibuild installation's CLI
94
- * (dist/cli.cjs), for callers that spawn a generated render script directly
95
- * (the preview harnesses) and must hand it a working CIBUILD_CLI_JS. Returns
96
- * null when no built CLI exists nearby (e.g. running from src under jest) --
97
- * the script then falls back to `ci` on PATH.
98
- */
99
- export declare function resolveCliJsPath(): string | null;
100
- //# sourceMappingURL=render-post-processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-post-processor.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/render-post-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAkLtC,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;qCAEqC;AACrC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC;IAC3D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1F;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE;IACpD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,sBAAsB,CAkBzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAqBhD"}