@catladder/cli 0.0.0-next-8b9ad5ca → 0.0.0-next-1cd29c1f

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 (119) hide show
  1. package/dist/bundles/catenv/index.js +19666 -1581
  2. package/dist/bundles/cli/index.js +18360 -195
  3. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +22 -4
  4. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  5. package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +16 -14
  6. package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
  7. package/dist/cli/src/commands/project/commandSecretsSyncGithub.d.ts +11 -2
  8. package/dist/cli/src/commands/project/commandSecretsSyncGithub.js +37 -14
  9. package/dist/cli/src/commands/project/commandSecretsSyncGithub.js.map +1 -1
  10. package/dist/cli/src/gcloud/getProjectNumber.d.ts +5 -0
  11. package/dist/cli/src/gcloud/getProjectNumber.js +20 -0
  12. package/dist/cli/src/gcloud/getProjectNumber.js.map +1 -0
  13. package/dist/cli/src/store/updateCatladderStore.d.ts +10 -0
  14. package/dist/cli/src/store/updateCatladderStore.js +32 -0
  15. package/dist/cli/src/store/updateCatladderStore.js.map +1 -0
  16. package/dist/cli/src/utils/github.d.ts +6 -1
  17. package/dist/cli/src/utils/github.js +16 -9
  18. package/dist/cli/src/utils/github.js.map +1 -1
  19. package/dist/pipeline/src/backends/github/GithubBackend.d.ts +4 -1
  20. package/dist/pipeline/src/backends/github/GithubBackend.js +70 -12
  21. package/dist/pipeline/src/backends/github/GithubBackend.js.map +1 -1
  22. package/dist/pipeline/src/backends/github/ciVariables.js +3 -1
  23. package/dist/pipeline/src/backends/github/ciVariables.js.map +1 -1
  24. package/dist/pipeline/src/backends/github/createGithubJobs.d.ts +13 -3
  25. package/dist/pipeline/src/backends/github/createGithubJobs.js +80 -14
  26. package/dist/pipeline/src/backends/github/createGithubJobs.js.map +1 -1
  27. package/dist/pipeline/src/backends/github/githubReleaseJobs.d.ts +2 -1
  28. package/dist/pipeline/src/backends/github/githubReleaseJobs.js +46 -33
  29. package/dist/pipeline/src/backends/github/githubReleaseJobs.js.map +1 -1
  30. package/dist/pipeline/src/backends/github/index.d.ts +2 -1
  31. package/dist/pipeline/src/backends/github/index.js +2 -1
  32. package/dist/pipeline/src/backends/github/index.js.map +1 -1
  33. package/dist/pipeline/src/backends/github/scriptFiles.d.ts +25 -0
  34. package/dist/pipeline/src/backends/github/scriptFiles.js +50 -0
  35. package/dist/pipeline/src/backends/github/scriptFiles.js.map +1 -0
  36. package/dist/pipeline/src/backends/gitlab/GitlabBackend.d.ts +1 -0
  37. package/dist/pipeline/src/backends/gitlab/GitlabBackend.js +18 -8
  38. package/dist/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  39. package/dist/pipeline/src/backends/gitlab/ciVariables.js +2 -1
  40. package/dist/pipeline/src/backends/gitlab/ciVariables.js.map +1 -1
  41. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.d.ts +3 -2
  42. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js +84 -10
  43. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js.map +1 -1
  44. package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js +1 -1
  45. package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js.map +1 -1
  46. package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js +2 -2
  47. package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js.map +1 -1
  48. package/dist/pipeline/src/backends/types.d.ts +2 -1
  49. package/dist/pipeline/src/bash/ciVariables.d.ts +1 -1
  50. package/dist/pipeline/src/bash/ciVariables.js.map +1 -1
  51. package/dist/pipeline/src/build/node/yarn.js +4 -1
  52. package/dist/pipeline/src/build/node/yarn.js.map +1 -1
  53. package/dist/pipeline/src/build/types.d.ts +1 -1
  54. package/dist/pipeline/src/config/readConfig.js +15 -4
  55. package/dist/pipeline/src/config/readConfig.js.map +1 -1
  56. package/dist/pipeline/src/constants.js +1 -1
  57. package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +8 -0
  58. package/dist/pipeline/src/context/getEnvironmentVariables.js +3 -3
  59. package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
  60. package/dist/pipeline/src/context/transformJobOnlyVars.js +2 -2
  61. package/dist/pipeline/src/context/transformJobOnlyVars.js.map +1 -1
  62. package/dist/pipeline/src/context/utils/envVars.d.ts +7 -0
  63. package/dist/pipeline/src/context/utils/envVars.js +22 -1
  64. package/dist/pipeline/src/context/utils/envVars.js.map +1 -1
  65. package/dist/pipeline/src/customImages/hash.d.ts +15 -0
  66. package/dist/pipeline/src/customImages/hash.js +71 -0
  67. package/dist/pipeline/src/customImages/hash.js.map +1 -0
  68. package/dist/pipeline/src/customImages/jobImagesPlan.d.ts +59 -0
  69. package/dist/pipeline/src/customImages/jobImagesPlan.js +172 -0
  70. package/dist/pipeline/src/customImages/jobImagesPlan.js.map +1 -0
  71. package/dist/pipeline/src/customImages/shippedImages.d.ts +28 -0
  72. package/dist/pipeline/src/customImages/shippedImages.js +60 -0
  73. package/dist/pipeline/src/customImages/shippedImages.js.map +1 -0
  74. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.d.ts +6 -3
  75. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js +11 -3
  76. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js.map +1 -1
  77. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +2 -2
  78. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -1
  79. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +1 -1
  80. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
  81. package/dist/pipeline/src/deploy/cloudRun/index.d.ts +0 -1
  82. package/dist/pipeline/src/deploy/cloudRun/index.js +11 -13
  83. package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  84. package/dist/pipeline/src/deploy/cloudRun/utils/database.js +4 -1
  85. package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
  86. package/dist/pipeline/src/index.d.ts +1 -0
  87. package/dist/pipeline/src/index.js +1 -0
  88. package/dist/pipeline/src/index.js.map +1 -1
  89. package/dist/pipeline/src/pipeline/generatePipelineFiles.js +16 -1
  90. package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  91. package/dist/pipeline/src/runner/index.d.ts +20 -1
  92. package/dist/pipeline/src/runner/index.js +16 -3
  93. package/dist/pipeline/src/runner/index.js.map +1 -1
  94. package/dist/pipeline/src/store/index.d.ts +36 -0
  95. package/dist/pipeline/src/store/index.js +64 -0
  96. package/dist/pipeline/src/store/index.js.map +1 -0
  97. package/dist/pipeline/src/types/config.d.ts +36 -2
  98. package/dist/pipeline/src/types/config.js.map +1 -1
  99. package/dist/pipeline/src/types/github-types.d.ts +5 -0
  100. package/dist/pipeline/src/types/jobs.d.ts +10 -2
  101. package/dist/pipeline/src/types/jobs.js.map +1 -1
  102. package/dist/pipeline/src/utils/gitlab.d.ts +5 -0
  103. package/dist/pipeline/src/utils/gitlab.js +6 -0
  104. package/dist/pipeline/src/utils/gitlab.js.map +1 -1
  105. package/dist/pipeline/src/utils/writeFiles.d.ts +6 -0
  106. package/dist/pipeline/src/utils/writeFiles.js +8 -0
  107. package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
  108. package/dist/tsconfig.tsbuildinfo +1 -1
  109. package/package.json +1 -1
  110. package/src/apps/cli/commands/project/commandConfigSecrets.ts +25 -5
  111. package/src/apps/cli/commands/project/setup/setupCloudRun.ts +13 -21
  112. package/src/commands/project/commandSecretsSyncGithub.ts +34 -11
  113. package/src/gcloud/getProjectNumber.ts +20 -0
  114. package/src/store/updateCatladderStore.ts +33 -0
  115. package/src/utils/github.ts +24 -7
  116. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.d.ts +0 -2
  117. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js +0 -29
  118. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js.map +0 -1
  119. package/src/gcloud/cloudRun/getCloudRunDomainSuffix.ts +0 -35
@@ -1 +1 @@
1
- {"version":3,"file":"getCloudRunDeployScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAEjC,kDAA4D;AAE5D,0BAAmD;AACnD,qDAAmE;AACnE,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,iDAAqD;AACrD,iDAA8D;AAC9D,yDAA4D;AAC5D,+DAAkE;AAClE,qCAGkB;AAClB,2CAAgD;AAChD,mDAA8D;AAM9D,SAAgB,wBAAwB,CAAC,OAAyB;;IAChE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAA,gBAAI,EACrB,OAAO,CAAC,WAAW,CAAC,OAAO,EAC3B,iCAA6B,CAC9B,CAAC;IAEF,OAAO;QACL,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,YAAY,CACb,CAAC;YACA,GAAG,IAAA,qEAAiC,EAAC,OAAO,CAAC;YAC7C,GAAG,IAAA,qCAA4B,EAAC,YAAY,CAAC;SAC9C,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,cAAc,EACd,wBAAwB,CACzB,CAAC,IAAA,oCAAyB,EAAC,UAAU,EAAE,6BAAiB,CAAC,CAAC;QAE3D,GAAG,IAAA,4BAAmB,EACpB,QAAQ,EACR,qBAAqB,CACtB,CAAC;YACA,GAAG,CAAC,YAAY,CAAC,QAAQ;gBACvB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,6DAA6D;gBAC9G,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,IAAA,mCAAuB,EAAC,OAAO,CAAC;YACnC,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC;YAC/B,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,WAAW,CAAC;YAEjD,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK;gBAChC,CAAC,CAAC,CAAC,IAAA,yCAAsB,EAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,kBAAkB,mCAAI,EAAE,CAAC;iBACrD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,IAAI,CAAC;iBAC/D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACvB,IAAA,yCAAsB,EACpB,OAAO,EACP,OAAsC,EACtC,GAAG,GAAG,IAAI,CACX,CACF;YACH,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,WAAW,mCAAI,EAAE,CAAC;iBAC9C,MAAM,CACL,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CACjE;iBACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAC1B,IAAA,+CAAyB,EACvB,OAAO,EACP,UAA4C,EAC5C,IAAI,CACL,CACF;YACH,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,YAAY,CAAC;SACnD,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,SAAS,CACV,CACC,IAAA,+CAAqC,EAAC,OAAO,EAAE,YAAY,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AA/DD,4DA+DC"}
1
+ {"version":3,"file":"getCloudRunDeployScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAEjC,kDAA4D;AAE5D,0BAAmD;AACnD,qDAAmE;AACnE,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,iDAAqD;AACrD,iDAA8D;AAC9D,yDAA4D;AAC5D,+DAAkE;AAClE,qCAAmD;AACnD,2CAAgD;AAChD,mDAA8D;AAM9D,SAAgB,wBAAwB,CAAC,OAAyB;;IAChE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAA,gBAAI,EACrB,OAAO,CAAC,WAAW,CAAC,OAAO,EAC3B,iCAA6B,CAC9B,CAAC;IAEF,OAAO;QACL,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,YAAY,CACb,CAAC,CAAC,GAAG,IAAA,qEAAiC,EAAC,OAAO,CAAC,CAAC,CAAC;QAClD,GAAG,IAAA,4BAAmB,EACpB,cAAc,EACd,wBAAwB,CACzB,CAAC,IAAA,oCAAyB,EAAC,UAAU,EAAE,6BAAiB,CAAC,CAAC;QAE3D,GAAG,IAAA,4BAAmB,EACpB,QAAQ,EACR,qBAAqB,CACtB,CAAC;YACA,GAAG,CAAC,YAAY,CAAC,QAAQ;gBACvB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,6DAA6D;gBAC9G,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,IAAA,mCAAuB,EAAC,OAAO,CAAC;YACnC,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC;YAC/B,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,WAAW,CAAC;YAEjD,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK;gBAChC,CAAC,CAAC,CAAC,IAAA,yCAAsB,EAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,kBAAkB,mCAAI,EAAE,CAAC;iBACrD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,IAAI,CAAC;iBAC/D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACvB,IAAA,yCAAsB,EACpB,OAAO,EACP,OAAsC,EACtC,GAAG,GAAG,IAAI,CACX,CACF;YACH,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,WAAW,mCAAI,EAAE,CAAC;iBAC9C,MAAM,CACL,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CACjE;iBACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAC1B,IAAA,+CAAyB,EACvB,OAAO,EACP,UAA4C,EAC5C,IAAI,CACL,CACF;YACH,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,YAAY,CAAC;SACnD,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,SAAS,CACV,CACC,IAAA,+CAAqC,EAAC,OAAO,EAAE,YAAY,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AA5DD,4DA4DC"}
@@ -1,4 +1,3 @@
1
1
  import type { DeployConfigCloudRun, DeployTypeDefinition } from "..";
2
2
  export declare const GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
3
- export declare const GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
4
3
  export declare const GCLOUD_RUN_DEPLOY_TYPE: DeployTypeDefinition<DeployConfigCloudRun>;
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.GCLOUD_RUN_DEPLOY_TYPE = exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = void 0;
6
+ exports.GCLOUD_RUN_DEPLOY_TYPE = exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = void 0;
7
7
  const BashExpression_1 = require("../../bash/BashExpression");
8
8
  const context_1 = require("../../context");
9
+ const store_1 = require("../../store");
9
10
  const gitlab_1 = require("../../utils/gitlab");
10
11
  const utils_1 = require("../cloudSql/utils");
11
12
  const createJobs_1 = require("./createJobs");
@@ -13,8 +14,6 @@ const cloudRunExecutionUrl_1 = require("./utils/cloudRunExecutionUrl");
13
14
  const database_1 = require("./utils/database");
14
15
  const getServiceName_1 = require("./utils/getServiceName");
15
16
  exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
16
- // FIXME: rename to internalHostSuffix, but this means that project-setup needs to be rerun, so its kindof a breaking change
17
- exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
18
17
  const getCloudSqlVariables = ({
19
18
  deployConfigRaw,
20
19
  environmentSlugPrefix,
@@ -60,30 +59,29 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
60
59
  ...(ctx.envType !== "local" ? [{
61
60
  key: exports.GCLOUD_DEPLOY_CREDENTIALS_KEY,
62
61
  hidden: true
63
- }, {
64
- key: exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX,
65
- hidden: true
66
62
  }] : []), ...(ctx.deployConfigRaw && ctx.deployConfigRaw.cloudSql ? [{
67
63
  key: "DB_PASSWORD"
68
64
  }] : [])],
69
65
  getAdditionalEnvVars: ctx => {
70
66
  const {
71
67
  fullName,
72
- env,
73
- componentName,
74
68
  deployConfigRaw,
75
- envType
69
+ envType,
70
+ fullConfig
76
71
  } = ctx;
77
- const HOSTNAME_INTERNAL = (0, BashExpression_1.joinBashExpressions)([fullName, (0, BashExpression_1.getBashVariable)((0, context_1.getSecretVarName)(env, componentName, exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX))], "-").toLowerCase();
72
+ // cloud run's deterministic url host:
73
+ // `<service>-<projectNumber>.<region>.run.app` — computable at
74
+ // generation time. For review envs the service name part still
75
+ // contains a runtime expression (the review slug), so the host stays
76
+ // a bash expression there; the suffix is always a literal.
77
+ const HOSTNAME_INTERNAL = deployConfigRaw && envType !== "local" ? (0, BashExpression_1.joinBashExpressions)([fullName, `${(0, store_1.getGcloudProjectNumber)(fullConfig, deployConfigRaw.projectId)}.${deployConfigRaw.region}.run.app`], "-").toLowerCase() : undefined;
78
78
  const jobTriggers = deployConfigRaw && deployConfigRaw.jobs ? Object.fromEntries(Object.entries(deployConfigRaw.jobs).filter(([name, job]) => Boolean(job)).map(([name, job]) => ["CLOUD_RUN_JOB_TRIGGER_URL_" + (0, gitlab_1.sanitizeForBashVariable)(name), (0, cloudRunExecutionUrl_1.getCloudRunJobExecuteUrl)(name, {
79
79
  appFullName: fullName,
80
80
  projectId: deployConfigRaw.projectId,
81
81
  region: deployConfigRaw.region
82
82
  })])) : {};
83
83
  return {
84
- // references the canonical host suffix secret, which doesn't
85
- // exist for the local env
86
- ...(envType !== "local" ? {
84
+ ...(HOSTNAME_INTERNAL ? {
87
85
  HOSTNAME_INTERNAL
88
86
  } : {}),
89
87
  ...getCloudSqlVariables(ctx),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,10 @@ const getDatabaseDeleteScript = (context, deployConfig) => {
18
18
  // unfortunatly the database cannot be deleted right after the service has stopped, as it might still have connections
19
19
  // we have to repeate this process
20
20
  return [`echo "deleting database ${DB_NAME}..."`, `echo "👆 this can take multiple attemps (3-5min), because google cloud run may still have a connection to the database after the cloud run service is shut down"`, (0, gitlab_1.repeatOnFailure)(`gcloud sql databases delete ${DB_NAME} --instance=${instanceId} --project ${projectId}`, {
21
- pauseInSeconds: 10
21
+ pauseInSeconds: 10,
22
+ // connections normally clear within 3-5min; anything beyond is
23
+ // a permanent error (missing permission, wrong instance, ...)
24
+ maxAttempts: 30
22
25
  })];
23
26
  };
24
27
  exports.getDatabaseDeleteScript = getDatabaseDeleteScript;
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/database.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export * from "./types";
4
4
  export * from "./rules";
5
5
  export * from "./runner";
6
6
  export * from "./config";
7
+ export * from "./store";
7
8
  export * from "./context";
8
9
  export * from "./build";
9
10
  export * from "./deploy";
@@ -28,6 +28,7 @@ __exportStar(require("./types"), exports);
28
28
  __exportStar(require("./rules"), exports);
29
29
  __exportStar(require("./runner"), exports);
30
30
  __exportStar(require("./config"), exports);
31
+ __exportStar(require("./store"), exports);
31
32
  __exportStar(require("./context"), exports);
32
33
  __exportStar(require("./build"), exports);
33
34
  __exportStar(require("./deploy"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,qDAAmC;AACnC,sDAAoC;AACpC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,qDAAmC;AACnC,sDAAoC;AACpC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB"}
@@ -8,6 +8,7 @@ const promises_1 = require("fs/promises");
8
8
  const path_1 = require("path");
9
9
  const backends_1 = require("../backends");
10
10
  const gitlab_1 = require("../backends/gitlab");
11
+ const jobImagesPlan_1 = require("../customImages/jobImagesPlan");
11
12
  /**
12
13
  * generates the pipeline files of all pipeline types enabled in the
13
14
  * config (see `pipelines`). Pass an explicit `pipelineType` to generate
@@ -15,6 +16,16 @@ const gitlab_1 = require("../backends/gitlab");
15
16
  */
16
17
  async function generatePipelineFiles(context, pipelineType) {
17
18
  const pipelineTypes = pipelineType ? [pipelineType] : (0, backends_1.getEnabledPipelineTypes)(context.config);
19
+ if (!pipelineType) {
20
+ // the materialized image definitions are a union across all enabled
21
+ // backends and no single backend may wipe them — cleaned once per
22
+ // full generation, so images that fell out of use don't linger (and
23
+ // keep triggering gitlab's rules:changes)
24
+ await (0, promises_1.rm)(jobImagesPlan_1.GENERATED_IMAGES_FOLDER, {
25
+ recursive: true,
26
+ force: true
27
+ });
28
+ }
18
29
  for (const type of pipelineTypes) {
19
30
  await generatePipelineFilesForBackend(context, (0, backends_1.getPipelineBackend)(type));
20
31
  }
@@ -32,7 +43,11 @@ async function generatePipelineFilesForBackend(context, backend) {
32
43
  await (0, promises_1.mkdir)((0, path_1.dirname)(path), {
33
44
  recursive: true
34
45
  });
35
- await context.fileWriter.writeYamlfile(path, content);
46
+ if (typeof content === "string") {
47
+ await context.fileWriter.writeGeneratedFileRaw(path, content);
48
+ } else {
49
+ await context.fileWriter.writeYamlfile(path, content);
50
+ }
36
51
  }));
37
52
  }
38
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generatePipelineFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/pipeline/generatePipelineFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAoC;AACpC,+BAA+B;AAI/B,0CAA0E;AAC1E,+CAAmD;AAGnD;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,YAA2B;IAE3B,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,CAAC,YAAY,CAAC;QAChB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,+BAA+B,CAAC,OAAO,EAAE,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAXD,sDAWC;AAED,KAAK,UAAU,+BAA+B,CAC5C,OAAsB,EACtB,OAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,4CAA4C;IAC5C,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,cAAc;IACd,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAAc;IAC5D,OAAO,IAAI,sBAAa,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,8DAEC"}
1
+ {"version":3,"file":"generatePipelineFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/pipeline/generatePipelineFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAA+B;AAI/B,0CAA0E;AAC1E,+CAAmD;AAEnD,iEAAwE;AAExE;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,YAA2B;IAE3B,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,CAAC,YAAY,CAAC;QAChB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,0CAA0C;QAC1C,MAAM,IAAA,aAAE,EAAC,uCAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,+BAA+B,CAAC,OAAO,EAAE,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAnBD,sDAmBC;AAED,KAAK,UAAU,+BAA+B,CAC5C,OAAsB,EACtB,OAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,4CAA4C;IAC5C,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,cAAc;IACd,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAAc;IAC5D,OAAO,IAAI,sBAAa,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,8DAEC"}
@@ -1,2 +1,21 @@
1
1
  export type RunnerImageName = "jobs-default" | "jobs-meteor" | "jobs-testing-chrome" | "kubernetes" | "docker-build" | "gcloud" | "semantic-release" | "agent-claude";
2
- export declare const getRunnerImage: (imageName: RunnerImageName) => string;
2
+ /**
3
+ * a reference to a catladder-provided job image. It is resolved by the
4
+ * pipeline backend according to the `jobImages` mode:
5
+ * - central: the image from catladder's central registry
6
+ * - repo: the image is built in the repository's own registry from the
7
+ * image definition shipped with catladder
8
+ */
9
+ export type CatladderImageRef = {
10
+ catladderImage: RunnerImageName;
11
+ };
12
+ export declare const isCatladderImageRef: (value: unknown) => value is CatladderImageRef;
13
+ /**
14
+ * job creators use this to reference a catladder-provided job image;
15
+ * the backends resolve it to a concrete image url
16
+ */
17
+ export declare const getRunnerImage: (imageName: RunnerImageName) => CatladderImageRef;
18
+ /**
19
+ * the image url in catladder's central registry (the classic behavior)
20
+ */
21
+ export declare const getCentralRunnerImageUrl: (imageName: RunnerImageName) => string;
@@ -3,7 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getRunnerImage = void 0;
6
+ exports.getCentralRunnerImageUrl = exports.getRunnerImage = exports.isCatladderImageRef = void 0;
7
7
  const constants_1 = require("../constants");
8
- const getRunnerImage = imageName => constants_1.DOCKER_REGISTRY + "/" + imageName + ":" + constants_1.PIPELINE_IMAGE_TAG;
9
- exports.getRunnerImage = getRunnerImage;
8
+ const isCatladderImageRef = value => typeof value === "object" && value !== null && "catladderImage" in value && typeof value.catladderImage === "string";
9
+ exports.isCatladderImageRef = isCatladderImageRef;
10
+ /**
11
+ * job creators use this to reference a catladder-provided job image;
12
+ * the backends resolve it to a concrete image url
13
+ */
14
+ const getRunnerImage = imageName => ({
15
+ catladderImage: imageName
16
+ });
17
+ exports.getRunnerImage = getRunnerImage;
18
+ /**
19
+ * the image url in catladder's central registry (the classic behavior)
20
+ */
21
+ const getCentralRunnerImageUrl = imageName => constants_1.DOCKER_REGISTRY + "/" + imageName + ":" + constants_1.PIPELINE_IMAGE_TAG;
22
+ exports.getCentralRunnerImageUrl = getCentralRunnerImageUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/runner/index.ts"],"names":[],"mappings":";;;AAAA,4CAAmE;AAW5D,MAAM,cAAc,GAAG,CAAC,SAA0B,EAAE,EAAE,CAC3D,2BAAe,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,8BAAkB,CAAC;AADlD,QAAA,cAAc,kBACoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/runner/index.ts"],"names":[],"mappings":";;;AAAA,4CAAmE;AAuB5D,MAAM,mBAAmB,GAAG,CACjC,KAAc,EACc,EAAE,CAC9B,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,gBAAgB,IAAI,KAAK;IACzB,OAAQ,KAA2B,CAAC,cAAc,KAAK,QAAQ,CAAC;AANrD,QAAA,mBAAmB,uBAMkC;AAElE;;;GAGG;AACI,MAAM,cAAc,GAAG,CAC5B,SAA0B,EACP,EAAE,CAAC,CAAC;IACvB,cAAc,EAAE,SAAS;CAC1B,CAAC,CAAC;AAJU,QAAA,cAAc,kBAIxB;AAEH;;GAEG;AACI,MAAM,wBAAwB,GAAG,CAAC,SAA0B,EAAU,EAAE,CAC7E,2BAAe,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,8BAAkB,CAAC;AADlD,QAAA,wBAAwB,4BAC0B"}
@@ -0,0 +1,36 @@
1
+ import { z } from "zod";
2
+ export declare const CATLADDER_STORE_DIR = ".catladder-store";
3
+ export declare const CATLADDER_STORE_FILE_NAME = "store.yml";
4
+ export declare const CATLADDER_STORE_FILE = ".catladder-store/store.yml";
5
+ /**
6
+ * schema of `.catladder-store/store.yml` — non-secret, machine-fetched
7
+ * values that pipeline generation needs but that are neither part of the
8
+ * user-authored config nor derivable from it (e.g. gcloud project numbers).
9
+ *
10
+ * The store is written by `catladder project setup` and checked into the
11
+ * repository. Deleting the folder is safe: rerunning project setup
12
+ * restores it.
13
+ */
14
+ export declare const catladderStoreSchema: z.ZodObject<{
15
+ gcloudProjects: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
16
+ projectNumber: z.ZodString;
17
+ }, z.core.$strip>>>;
18
+ }, z.core.$strip>;
19
+ export type CatladderStore = z.infer<typeof catladderStoreSchema>;
20
+ export declare const getCatladderStorePath: (directory: string) => string;
21
+ /**
22
+ * reads and validates the catladder store. Returns an empty store when the
23
+ * file does not exist (project setup has not run yet).
24
+ */
25
+ export declare const readCatladderStore: (directory?: string) => CatladderStore;
26
+ /**
27
+ * gcloud project number from the store — needed to compute deterministic
28
+ * cloud run urls (`<service>-<projectNumber>.<region>.run.app`) at
29
+ * generation time.
30
+ *
31
+ * Throws with a setup instruction when the value is missing, which makes
32
+ * catenv fail until `catladder project setup` has stored it.
33
+ */
34
+ export declare const getGcloudProjectNumber: (config: {
35
+ store?: CatladderStore;
36
+ }, projectId: string) => string;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGcloudProjectNumber = exports.readCatladderStore = exports.getCatladderStorePath = exports.catladderStoreSchema = exports.CATLADDER_STORE_FILE = exports.CATLADDER_STORE_FILE_NAME = exports.CATLADDER_STORE_DIR = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const yaml_1 = require("yaml");
10
+ const zod_1 = require("zod");
11
+ exports.CATLADDER_STORE_DIR = ".catladder-store";
12
+ exports.CATLADDER_STORE_FILE_NAME = "store.yml";
13
+ exports.CATLADDER_STORE_FILE = `${exports.CATLADDER_STORE_DIR}/${exports.CATLADDER_STORE_FILE_NAME}`;
14
+ /**
15
+ * schema of `.catladder-store/store.yml` — non-secret, machine-fetched
16
+ * values that pipeline generation needs but that are neither part of the
17
+ * user-authored config nor derivable from it (e.g. gcloud project numbers).
18
+ *
19
+ * The store is written by `catladder project setup` and checked into the
20
+ * repository. Deleting the folder is safe: rerunning project setup
21
+ * restores it.
22
+ */
23
+ exports.catladderStoreSchema = zod_1.z.object({
24
+ /**
25
+ * gcloud project facts, keyed by project id
26
+ */
27
+ gcloudProjects: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
28
+ projectNumber: zod_1.z.string().regex(/^\d+$/)
29
+ })).optional()
30
+ });
31
+ const getCatladderStorePath = directory => (0, path_1.join)(directory, exports.CATLADDER_STORE_DIR, exports.CATLADDER_STORE_FILE_NAME);
32
+ exports.getCatladderStorePath = getCatladderStorePath;
33
+ /**
34
+ * reads and validates the catladder store. Returns an empty store when the
35
+ * file does not exist (project setup has not run yet).
36
+ */
37
+ const readCatladderStore = (directory = process.cwd()) => {
38
+ var _a;
39
+ const path = (0, exports.getCatladderStorePath)(directory);
40
+ if (!(0, fs_1.existsSync)(path)) {
41
+ return {};
42
+ }
43
+ return exports.catladderStoreSchema.parse((_a = (0, yaml_1.parse)((0, fs_1.readFileSync)(path, {
44
+ encoding: "utf-8"
45
+ }))) !== null && _a !== void 0 ? _a : {});
46
+ };
47
+ exports.readCatladderStore = readCatladderStore;
48
+ /**
49
+ * gcloud project number from the store — needed to compute deterministic
50
+ * cloud run urls (`<service>-<projectNumber>.<region>.run.app`) at
51
+ * generation time.
52
+ *
53
+ * Throws with a setup instruction when the value is missing, which makes
54
+ * catenv fail until `catladder project setup` has stored it.
55
+ */
56
+ const getGcloudProjectNumber = (config, projectId) => {
57
+ var _a, _b, _c;
58
+ const projectNumber = (_c = (_b = (_a = config.store) === null || _a === void 0 ? void 0 : _a.gcloudProjects) === null || _b === void 0 ? void 0 : _b[projectId]) === null || _c === void 0 ? void 0 : _c.projectNumber;
59
+ if (!projectNumber) {
60
+ throw new Error(`Missing gcloud project number for project "${projectId}" in ${exports.CATLADDER_STORE_FILE}.\n` + `Run "catladder project setup" to fetch and store it.`);
61
+ }
62
+ return projectNumber;
63
+ };
64
+ exports.getGcloudProjectNumber = getGcloudProjectNumber;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/store/index.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAC5B,+BAA6B;AAC7B,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,oBAAoB,GAAG,GAAG,2BAAmB,IAAI,iCAAyB,EAAE,CAAC;AAE1F;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,OAAC;SACd,MAAM,CACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAII,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACzD,IAAA,WAAI,EAAC,SAAS,EAAE,2BAAmB,EAAE,iCAAyB,CAAC,CAAC;AADrD,QAAA,qBAAqB,yBACgC;AAElE;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAChC,YAAoB,OAAO,CAAC,GAAG,EAAE,EACjB,EAAE;;IAClB,MAAM,IAAI,GAAG,IAAA,6BAAqB,EAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,4BAAoB,CAAC,KAAK,CAC/B,MAAA,IAAA,YAAK,EAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,mCAAI,EAAE,CACvD,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEF;;;;;;;GAOG;AACI,MAAM,sBAAsB,GAAG,CACpC,MAAkC,EAClC,SAAiB,EACT,EAAE;;IACV,MAAM,aAAa,GACjB,MAAA,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,cAAc,0CAAG,SAAS,CAAC,0CAAE,aAAa,CAAC;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,8CAA8C,SAAS,QAAQ,4BAAoB,KAAK;YACtF,sDAAsD,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAbW,QAAA,sBAAsB,0BAajC"}
@@ -7,6 +7,7 @@ import type { PipelineType, WorkspaceBuildConfig } from "..";
7
7
  import type { AgentConfig } from "./agent";
8
8
  import type { Hooks } from "./hooks";
9
9
  import type { ReleaseConfig } from "./release";
10
+ import type { CatladderStore } from "../store";
10
11
  export declare const ALL_PIPELINE_TRIGGERS: readonly ["mainBranch", "mr", "taggedRelease"];
11
12
  export type PipelineTrigger = (typeof ALL_PIPELINE_TRIGGERS)[number];
12
13
  /**
@@ -54,9 +55,25 @@ export type EnvVars = {
54
55
  */
55
56
  public?: Record<string, any>;
56
57
  /**
57
- * secret env vars. These vars can be managed with catladder/cli
58
+ * env vars whose values live in the vault (managed with catladder/cli).
59
+ *
60
+ * Preferred form is a record with the kind per key:
61
+ * - "secret": sensitive — masked where the platform supports it
62
+ * - "variable": vault-stored but not sensitive (ids, host suffixes) —
63
+ * never masked, so log links stay clickable and environment urls work
64
+ * - an object for additional per-key config
65
+ *
66
+ * EXAMPLE: secret: { API_KEY: "secret", PROJECT_ID: "variable" }
67
+ *
68
+ * The plain string[] form (all keys secret) is deprecated.
58
69
  */
59
- secret?: string[];
70
+ secret?: string[] | Record<string, SecretVarKind | SecretVarConfig>;
71
+ };
72
+ export type SecretVarKind = "secret" | "variable";
73
+ export type SecretVarConfig = {
74
+ kind?: SecretVarKind;
75
+ /** hidden env vars are not shown in config-secrets */
76
+ hidden?: boolean;
60
77
  };
61
78
  export type DefaultEnvConfig = {
62
79
  /**
@@ -211,6 +228,14 @@ export type Config<C extends ConfigProps = never> = {
211
228
  * how secrets are stored and shared (see {@link SecretsConfig})
212
229
  */
213
230
  secrets?: SecretsConfig;
231
+ /**
232
+ * where the catladder job images come from:
233
+ * - central: catladder's central registry (default on gitlab)
234
+ * - repo: built in the repository's own registry from the image
235
+ * definitions shipped with catladder (default and required on
236
+ * github, where the central registry is not reachable)
237
+ */
238
+ jobImages?: "central" | "repo";
214
239
  /**
215
240
  * name of the customer or group
216
241
  */
@@ -249,5 +274,14 @@ export type Config<C extends ConfigProps = never> = {
249
274
  * configure tagged releases
250
275
  */
251
276
  releases?: ReleaseConfig;
277
+ /**
278
+ * contents of `.catladder-store/store.yml` — non-secret, machine-fetched
279
+ * values written by `catladder project setup` (e.g. gcloud project
280
+ * numbers).
281
+ *
282
+ * Attached automatically when the config is read from disk; do not set
283
+ * this manually in catladder.ts.
284
+ */
285
+ store?: CatladderStore;
252
286
  };
253
287
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;AAWa,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAGX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AAEX;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC/D,MAAM,CAAC,OAAO,CAAC,iBAAS,CAAC;KACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,QAAuC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7D;KACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CAAC;AALnB,QAAA,oBAAoB,wBAKD;AAEnB,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;AACtC,QAAA,iBAAiB,GAAG,oBAAyB,CAAC;AAGpD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IAC3D,OAAO,GAAG,IAAI,iBAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;AAYa,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAGX;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AAEX;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC/D,MAAM,CAAC,OAAO,CAAC,iBAAS,CAAC;KACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,QAAuC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7D;KACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CAAC;AALnB,QAAA,oBAAoB,wBAKD;AAEnB,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;AACtC,QAAA,iBAAiB,GAAG,oBAAyB,CAAC;AAGpD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IAC3D,OAAO,GAAG,IAAI,iBAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
@@ -24,6 +24,10 @@ export type GithubJob = {
24
24
  needs?: string[];
25
25
  container?: {
26
26
  image: string;
27
+ credentials?: {
28
+ username: string;
29
+ password: string;
30
+ };
27
31
  } | string;
28
32
  services?: Record<string, GithubService>;
29
33
  environment?: {
@@ -38,6 +42,7 @@ export type GithubJob = {
38
42
  export type GithubWorkflow = {
39
43
  name: string;
40
44
  on: Record<string, unknown>;
45
+ permissions?: Record<string, string>;
41
46
  concurrency?: {
42
47
  group: string;
43
48
  "cancel-in-progress"?: boolean;
@@ -1,4 +1,5 @@
1
1
  import type { UnspecifiedEnvVars } from "..";
2
+ import type { CatladderImageRef } from "../runner";
2
3
  import type { CacheConfig } from "../build/types";
3
4
  import type { Artifacts, GitlabJobCache, GitlabJobDef, GitlabJobImage, GitlabRule } from "./gitlab-types";
4
5
  export type CatladderJobCache = GitlabJobCache;
@@ -12,6 +13,11 @@ export type CatladderJobNeed = string | {
12
13
  job: string;
13
14
  artifacts: boolean;
14
15
  workspaceName: string;
16
+ } | {
17
+ job: string;
18
+ artifacts: boolean;
19
+ optional?: boolean;
20
+ global: true;
15
21
  };
16
22
  export declare const CAPABILITIES: readonly ["build", "buildArtifacts", "dockerImage", "qualityGate", "deployment"];
17
23
  /**
@@ -164,9 +170,11 @@ export type GitlabJobFields = {
164
170
  */
165
171
  services?: GitlabJobDef["services"];
166
172
  /**
167
- * image to use
173
+ * image to use: a concrete image or a reference to a
174
+ * catladder-provided job image (resolved by the backend according to
175
+ * the `jobImages` mode)
168
176
  */
169
- image?: GitlabJobImage;
177
+ image?: GitlabJobImage | CatladderImageRef;
170
178
  /**
171
179
  * whether failures are allowed
172
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAEA,8DAA2D;AAU9C,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC;AAQE,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;CACJ,CAAC;AAoNX;;;;;;;GAOG;AACH,4JAA4J;AAC5J,MAAa,YAAY;IACvB,YAAY,IAAyB;QACnC,uDAAuD;QACvD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAkD;QAElD,OAAO,GAAG,YAAY,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAGA,8DAA2D;AAU9C,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC;AAWE,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;CACJ,CAAC;AAsNX;;;;;;;GAOG;AACH,4JAA4J;AAC5J,MAAa,YAAY;IACvB,YAAY,IAAyB;QACnC,uDAAuD;QACvD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAkD;QAElD,OAAO,GAAG,YAAY,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAZD,oCAYC"}
@@ -2,5 +2,10 @@ export declare const allowFailureInScripts: (script: string[]) => string[];
2
2
  export declare const sanitizeForBashVariable: (name: string) => string;
3
3
  export declare const repeatOnFailure: (command: string, options: {
4
4
  pauseInSeconds: number;
5
+ /**
6
+ * fail the job after this many attempts — permanent errors (e.g. a
7
+ * 403) must fail loudly instead of retrying until the job timeout
8
+ */
9
+ maxAttempts: number;
5
10
  }) => string;
6
11
  export declare const collapseableSection: (name: string, header: string) => (commands: string[]) => string[];
@@ -14,8 +14,14 @@ const sanitizeForBashVariable = name => name.replace(/-/g, "_");
14
14
  exports.sanitizeForBashVariable = sanitizeForBashVariable;
15
15
  const repeatOnFailure = (command, options) => {
16
16
  return `
17
+ _attempt=0
17
18
  until ${command}
18
19
  do
20
+ _attempt=$((_attempt+1))
21
+ if [ "$_attempt" -ge ${options.maxAttempts} ]; then
22
+ echo "giving up after ${options.maxAttempts} attempts"
23
+ exit 1
24
+ fi
19
25
  echo "Trying again."
20
26
  sleep ${options.pauseInSeconds}
21
27
  done
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/gitlab.ts"],"names":[],"mappings":";;;AAAA,oEAAwE;AAEjE,MAAM,qBAAqB,GAAG,CAAC,MAAgB,EAAY,EAAE,CAAC;IACnE,QAAQ,EAAE,4BAA4B;IACtC,GAAG,MAAM;IACT,QAAQ,EAAE,WAAW;CACtB,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE,CACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AADb,QAAA,uBAAuB,2BACV;AAEnB,MAAM,eAAe,GAAG,CAC7B,OAAe,EACf,OAEC,EACO,EAAE;IACV,OAAO;YACG,OAAO;;;cAGL,OAAO,CAAC,cAAc;;GAEjC,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B;AAEF,MAAM,KAAK,GAAG,IAAA,oDAA4B,EACxC,4BAA4B,EAC5B;;;CAGD,CACA,CAAC;AAEF,MAAM,GAAG,GAAG,IAAA,oDAA4B,EACtC,0BAA0B,EAC1B;;CAED,CACA,CAAC;AAEK,MAAM,mBAAmB,GAC9B,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CACjC,CAAC,QAAkB,EAAY,EAAE;IAC/B,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC;QACxC,GAAG,QAAQ;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC,CAAC;AARS,QAAA,mBAAmB,uBAQ5B"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/gitlab.ts"],"names":[],"mappings":";;;AAAA,oEAAwE;AAEjE,MAAM,qBAAqB,GAAG,CAAC,MAAgB,EAAY,EAAE,CAAC;IACnE,QAAQ,EAAE,4BAA4B;IACtC,GAAG,MAAM;IACT,QAAQ,EAAE,WAAW;CACtB,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,EAAE,CACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AADb,QAAA,uBAAuB,2BACV;AAEnB,MAAM,eAAe,GAAG,CAC7B,OAAe,EACf,OAOC,EACO,EAAE;IACV,OAAO;;YAEG,OAAO;;;6BAGU,OAAO,CAAC,WAAW;gCAChB,OAAO,CAAC,WAAW;;;;cAIrC,OAAO,CAAC,cAAc;;GAEjC,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,eAAe,mBAwB1B;AAEF,MAAM,KAAK,GAAG,IAAA,oDAA4B,EACxC,4BAA4B,EAC5B;;;CAGD,CACA,CAAC;AAEF,MAAM,GAAG,GAAG,IAAA,oDAA4B,EACtC,0BAA0B,EAC1B;;CAED,CACA,CAAC;AAEK,MAAM,mBAAmB,GAC9B,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CACjC,CAAC,QAAkB,EAAY,EAAE;IAC/B,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC;QACxC,GAAG,QAAQ;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC,CAAC;AARS,QAAA,mBAAmB,uBAQ5B"}
@@ -12,6 +12,12 @@ export declare class FileWriter {
12
12
  constructor(config: Config);
13
13
  protected writeTheFile(path: string, content: string): Promise<void>;
14
14
  protected getBaseHookContext(path: string): Promise<BaseHookContext>;
15
+ /**
16
+ * writes content verbatim (no auto-generated header) — e.g. for
17
+ * materialized dockerfiles, where a leading comment would break
18
+ * parser directives like `# syntax = ...`
19
+ */
20
+ writeGeneratedFileRaw(path: string, content: string): Promise<void>;
15
21
  writeGeneratedFile(path: string, content: string, options: WriteFileOptions): Promise<void>;
16
22
  writeYamlfile(path: string, data: any): Promise<void>;
17
23
  protected getAutoGeneratedHeader(commentChar: string): string;
@@ -41,6 +41,14 @@ class FileWriter {
41
41
  extension: (_b = path.split(".").pop()) !== null && _b !== void 0 ? _b : ""
42
42
  };
43
43
  }
44
+ /**
45
+ * writes content verbatim (no auto-generated header) — e.g. for
46
+ * materialized dockerfiles, where a leading comment would break
47
+ * parser directives like `# syntax = ...`
48
+ */
49
+ async writeGeneratedFileRaw(path, content) {
50
+ await this.writeTheFile(path, content);
51
+ }
44
52
  async writeGeneratedFile(path, content, options) {
45
53
  await this.writeTheFile(path, [this.getAutoGeneratedHeader(options.commentChar), content].join("\n"));
46
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAYpB,QAAA,oBAAoB,GAAqB;IACpD,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,4DAA4D;IAC5D,kBAAkB,EAAE,IAAI;IACxB,qEAAqE;IACrE,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAa,UAAU;IACd,MAAM,CAAC,MAAM,CAAC,MAAc;QACjC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;;QACxD,MAAM,kBAAkB,GACtB,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDAAG;YAClD,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;SACR,CAAC,CAAA,CAAC;QACL,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,OAAO,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,IAAY;;QAC7C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAC7C,OAAO;YACL,QAAQ;YACR,IAAI;YACJ,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,IAAY,EACZ,OAAe,EACf,OAAyB;QAEzB,MAAM,IAAI,CAAC,YAAY,CACrB,IAAI,EACJ,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAS;;QAChD,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDACvE;YACE,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI;SACL,CACF,CAAA,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,EACJ,IAAA,gBAAS,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EAAE,4BAAoB,CAAC,EACxD;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,WAAmB;QAClD,OAAO;YACL,mDAAmD;YACnD,2CAA2C;YAC3C,sCAAsC;YACtC,mDAAmD;SACpD;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC;aACV,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AAnED,gCAmEC"}
1
+ {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAYpB,QAAA,oBAAoB,GAAqB;IACpD,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,4DAA4D;IAC5D,kBAAkB,EAAE,IAAI;IACxB,qEAAqE;IACrE,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAa,UAAU;IACd,MAAM,CAAC,MAAM,CAAC,MAAc;QACjC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;;QACxD,MAAM,kBAAkB,GACtB,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDAAG;YAClD,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;SACR,CAAC,CAAA,CAAC;QACL,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,OAAO,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,IAAY;;QAC7C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAC7C,OAAO;YACL,QAAQ;YACR,IAAI;YACJ,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,OAAe;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,IAAY,EACZ,OAAe,EACf,OAAyB;QAEzB,MAAM,IAAI,CAAC,YAAY,CACrB,IAAI,EACJ,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAS;;QAChD,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDACvE;YACE,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI;SACL,CACF,CAAA,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,EACJ,IAAA,gBAAS,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EAAE,4BAAoB,CAAC,EACxD;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,WAAmB;QAClD,OAAO;YACL,mDAAmD;YACnD,2CAA2C;YAC3C,sCAAsC;YACtC,mDAAmD;SACpD;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC;aACV,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AA5ED,gCA4EC"}