@catladder/cli 3.13.0 → 3.14.0

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 (65) hide show
  1. package/dist/bundles/catenv/index.js +3 -3
  2. package/dist/bundles/cli/index.js +9 -9
  3. package/dist/cli/src/apps/cli/commands/project/setup/index.js +2 -0
  4. package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
  5. package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.d.ts +2 -0
  6. package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.js +155 -0
  7. package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.js.map +1 -0
  8. package/dist/cli/src/config/getProjectConfig.js +4 -1
  9. package/dist/cli/src/config/getProjectConfig.js.map +1 -1
  10. package/dist/pipeline/src/bash/bashEscape.d.ts +2 -0
  11. package/dist/pipeline/src/bash/bashEscape.js +5 -1
  12. package/dist/pipeline/src/bash/bashEscape.js.map +1 -1
  13. package/dist/pipeline/src/pipeline/agent/createAgentContext.d.ts +6 -0
  14. package/dist/pipeline/src/pipeline/agent/createAgentContext.js +19 -0
  15. package/dist/pipeline/src/pipeline/agent/createAgentContext.js.map +1 -0
  16. package/dist/pipeline/src/pipeline/agent/createAgentEventJob.d.ts +2 -0
  17. package/dist/pipeline/src/pipeline/agent/createAgentEventJob.js +37 -0
  18. package/dist/pipeline/src/pipeline/agent/createAgentEventJob.js.map +1 -0
  19. package/dist/pipeline/src/pipeline/agent/createAgentReviewJob.d.ts +2 -0
  20. package/dist/pipeline/src/pipeline/agent/createAgentReviewJob.js +34 -0
  21. package/dist/pipeline/src/pipeline/agent/createAgentReviewJob.js.map +1 -0
  22. package/dist/pipeline/src/pipeline/agent/createJobsForAgentContext.d.ts +2 -0
  23. package/dist/pipeline/src/pipeline/agent/createJobsForAgentContext.js +10 -0
  24. package/dist/pipeline/src/pipeline/agent/createJobsForAgentContext.js.map +1 -0
  25. package/dist/pipeline/src/pipeline/agent/prompts.d.ts +6 -0
  26. package/dist/pipeline/src/pipeline/agent/prompts.js +221 -0
  27. package/dist/pipeline/src/pipeline/agent/prompts.js.map +1 -0
  28. package/dist/pipeline/src/pipeline/agent/shared.d.ts +6 -0
  29. package/dist/pipeline/src/pipeline/agent/shared.js +30 -0
  30. package/dist/pipeline/src/pipeline/agent/shared.js.map +1 -0
  31. package/dist/pipeline/src/pipeline/agent/utils.d.ts +3 -0
  32. package/dist/pipeline/src/pipeline/agent/utils.js +14 -0
  33. package/dist/pipeline/src/pipeline/agent/utils.js.map +1 -0
  34. package/dist/pipeline/src/pipeline/createAllJobs.d.ts +5 -1
  35. package/dist/pipeline/src/pipeline/createAllJobs.js +10 -1
  36. package/dist/pipeline/src/pipeline/createAllJobs.js.map +1 -1
  37. package/dist/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
  38. package/dist/pipeline/src/pipeline/createMainPipeline.js +13 -4
  39. package/dist/pipeline/src/pipeline/createMainPipeline.js.map +1 -1
  40. package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.d.ts +3 -3
  41. package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js +18 -9
  42. package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js.map +1 -1
  43. package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js +8 -1
  44. package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js.map +1 -1
  45. package/dist/pipeline/src/rules/index.d.ts +1 -0
  46. package/dist/pipeline/src/rules/index.js +8 -1
  47. package/dist/pipeline/src/rules/index.js.map +1 -1
  48. package/dist/pipeline/src/types/agent.d.ts +7 -0
  49. package/dist/pipeline/src/types/agent.js +3 -0
  50. package/dist/pipeline/src/types/agent.js.map +1 -0
  51. package/dist/pipeline/src/types/config.d.ts +2 -0
  52. package/dist/pipeline/src/types/config.js.map +1 -1
  53. package/dist/pipeline/src/types/context.d.ts +7 -0
  54. package/dist/pipeline/src/types/context.js.map +1 -1
  55. package/dist/pipeline/src/types/index.d.ts +1 -0
  56. package/dist/pipeline/src/types/index.js +1 -0
  57. package/dist/pipeline/src/types/index.js.map +1 -1
  58. package/dist/pipeline/src/types/jobs.d.ts +5 -1
  59. package/dist/pipeline/src/types/jobs.js +1 -0
  60. package/dist/pipeline/src/types/jobs.js.map +1 -1
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +1 -1
  63. package/src/apps/cli/commands/project/setup/index.ts +2 -0
  64. package/src/apps/cli/commands/project/setup/setupAgents.ts +319 -0
  65. package/src/config/getProjectConfig.ts +8 -3
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RULES_MANUAL_RELEASE = exports.RULES_RELEASE = exports.RULE_CONDITION_HOTFIX_BRANCH = exports.RULE_IS_TAGGED_RELEASE = exports.RULE_IS_MERGE_REQUEST = exports.RULE_NEVER_ON_SCHEDULE = exports.RULE_NEVER_ON_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH_AND_NOT_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH = exports.RULE_CONDITION_NOT_RELEASE_COMMIT = exports.RULE_CONDITION_RELEASE_COMMIT = exports.RULE_CONDITION_MAIN_BRANCH = void 0;
3
+ exports.RULES_MANUAL_RELEASE = exports.RULES_RELEASE = exports.RULE_CONDITION_HOTFIX_BRANCH = exports.RULE_IS_TAGGED_RELEASE = exports.RULE_IS_MERGE_REQUEST = exports.RULE_NEVER_ON_SCHEDULE = exports.RULE_NEVER_ON_AGENT_TRIGGER = exports.RULE_NEVER_ON_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH_AND_NOT_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH = exports.RULE_CONDITION_NOT_RELEASE_COMMIT = exports.RULE_CONDITION_RELEASE_COMMIT = exports.RULE_CONDITION_MAIN_BRANCH = void 0;
4
4
  exports.RULE_CONDITION_MAIN_BRANCH = "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH";
5
5
  exports.RULE_CONDITION_RELEASE_COMMIT = "$CI_COMMIT_MESSAGE =~ /^chore\\(release\\).*/";
6
6
  exports.RULE_CONDITION_NOT_RELEASE_COMMIT = "$CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/";
@@ -14,6 +14,11 @@ exports.RULE_NEVER_ON_RELEASE_COMMIT = {
14
14
  if: exports.RULE_CONDITION_RELEASE_COMMIT,
15
15
  when: "never",
16
16
  };
17
+ // currently, we consider all triggered pipelines as agent triggers
18
+ exports.RULE_NEVER_ON_AGENT_TRIGGER = {
19
+ if: '$CI_PIPELINE_SOURCE == "trigger"',
20
+ when: "never",
21
+ };
17
22
  exports.RULE_NEVER_ON_SCHEDULE = {
18
23
  if: '$CI_PIPELINE_SOURCE == "schedule"',
19
24
  when: "never",
@@ -27,6 +32,7 @@ exports.RULE_IS_TAGGED_RELEASE = {
27
32
  exports.RULE_CONDITION_HOTFIX_BRANCH = "$CI_COMMIT_BRANCH =~ /^[0-9]+.([0-9]+|x).x$/";
28
33
  exports.RULES_RELEASE = [
29
34
  exports.RULE_NEVER_ON_RELEASE_COMMIT,
35
+ exports.RULE_NEVER_ON_AGENT_TRIGGER,
30
36
  exports.RULE_NEVER_ON_SCHEDULE,
31
37
  {
32
38
  if: exports.RULE_CONDITION_MAIN_BRANCH + ' && $AUTO_RELEASE == "true"',
@@ -43,6 +49,7 @@ exports.RULES_RELEASE = [
43
49
  ];
44
50
  exports.RULES_MANUAL_RELEASE = [
45
51
  exports.RULE_NEVER_ON_RELEASE_COMMIT,
52
+ exports.RULE_NEVER_ON_AGENT_TRIGGER,
46
53
  exports.RULE_NEVER_ON_SCHEDULE,
47
54
  {
48
55
  if: exports.RULE_CONDITION_MAIN_BRANCH,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/rules/index.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GACrC,yCAAyC,CAAC;AAE/B,QAAA,6BAA6B,GACxC,+CAA+C,CAAC;AAErC,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAErC,QAAA,mBAAmB,GAAe;IAC7C,EAAE,EAAE,kCAA0B;CAC/B,CAAC;AACW,QAAA,0CAA0C,GAAe;IACpE,EAAE,EAAE,kCAA0B,GAAG,MAAM,GAAG,yCAAiC;CAC5E,CAAC;AACW,QAAA,4BAA4B,GAAe;IACtD,EAAE,EAAE,qCAA6B;IACjC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,qBAAqB,GAAe;IAC/C,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEW,QAAA,4BAA4B,GACvC,8CAA8C,CAAC;AAEpC,QAAA,aAAa,GAAiB;IACzC,oCAA4B;IAC5B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B,GAAG,6BAA6B;QAC9D,IAAI,EAAE,YAAY;KACnB;IACD;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAChD,oCAA4B;IAC5B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/rules/index.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GACrC,yCAAyC,CAAC;AAE/B,QAAA,6BAA6B,GACxC,+CAA+C,CAAC;AAErC,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAErC,QAAA,mBAAmB,GAAe;IAC7C,EAAE,EAAE,kCAA0B;CAC/B,CAAC;AACW,QAAA,0CAA0C,GAAe;IACpE,EAAE,EAAE,kCAA0B,GAAG,MAAM,GAAG,yCAAiC;CAC5E,CAAC;AACW,QAAA,4BAA4B,GAAe;IACtD,EAAE,EAAE,qCAA6B;IACjC,IAAI,EAAE,OAAO;CACd,CAAC;AACF,mEAAmE;AACtD,QAAA,2BAA2B,GAAe;IACrD,EAAE,EAAE,mCAAmC;IACvC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,qBAAqB,GAAe;IAC/C,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEW,QAAA,4BAA4B,GACvC,8CAA8C,CAAC;AAEpC,QAAA,aAAa,GAAiB;IACzC,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B,GAAG,6BAA6B;QAC9D,IAAI,EAAE,YAAY;KACnB;IACD;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAChD,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type AgentConfig = {
2
+ type: "claude";
3
+ agentUser?: {
4
+ username: string;
5
+ userId: string;
6
+ };
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/agent.ts"],"names":[],"mappings":""}
@@ -4,6 +4,7 @@ import type { CatladderJob } from "./jobs";
4
4
  import type { ComponentContext } from "./context";
5
5
  import type { PartialDeep } from "./utils";
6
6
  import type { PipelineType, WorkspaceBuildConfig } from "..";
7
+ import type { AgentConfig } from "./agent";
7
8
  export declare const ALL_PIPELINE_TRIGGERS: readonly ["mainBranch", "mr", "taggedRelease"];
8
9
  export type PipelineTrigger = (typeof ALL_PIPELINE_TRIGGERS)[number];
9
10
  /**
@@ -166,6 +167,7 @@ export type Config<C extends ConfigProps = never> = {
166
167
  *
167
168
  */
168
169
  domainCanonical?: string;
170
+ agents?: Record<string, AgentConfig>;
169
171
  builds?: Record<string, WorkspaceBuildConfig>;
170
172
  /**
171
173
  * components (sub apps)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;AAQa,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":";;;AASa,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"}
@@ -3,6 +3,7 @@ import type { BuildConfigFromWorkspace, BuildConfigStandalone, WorkspaceBuildCon
3
3
  import type { PredefinedVariables, SecretEnvVar } from "../context";
4
4
  import type { DeployConfig } from "../deploy";
5
5
  import type { VariableValue } from "../variables/VariableValue";
6
+ import type { AgentConfig } from "./agent";
6
7
  import type { ComponentConfig, Config, EnvType, PipelineTrigger } from "./config";
7
8
  import type { BaseStage, CatladderJob } from "./jobs";
8
9
  import type { PipelineType } from "./pipeline";
@@ -155,3 +156,9 @@ export type WorkspaceContext = {
155
156
  pipelineType: PipelineType;
156
157
  env: string;
157
158
  };
159
+ export type AgentContext = {
160
+ type: "agent";
161
+ name: string;
162
+ fullConfig: Config;
163
+ agentConfig: AgentConfig;
164
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/context.ts"],"names":[],"mappings":";;;AA6LO,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACK,EAAE;IACvD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C;AAEK,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACQ,EAAE;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAChD,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/context.ts"],"names":[],"mappings":";;;AA8LO,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACK,EAAE;IACvD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C;AAEK,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACQ,EAAE;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAChD,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C"}
@@ -4,3 +4,4 @@ export * from "./context";
4
4
  export * from "./jobDefinition";
5
5
  export * from "./pipeline";
6
6
  export * from "./jobs";
7
+ export * from "./agent";
@@ -20,4 +20,5 @@ __exportStar(require("./context"), exports);
20
20
  __exportStar(require("./jobDefinition"), exports);
21
21
  __exportStar(require("./pipeline"), exports);
22
22
  __exportStar(require("./jobs"), exports);
23
+ __exportStar(require("./agent"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC;AAChC,6CAA2B;AAC3B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC;AAChC,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB"}
@@ -1,7 +1,7 @@
1
1
  import type { UnspecifiedEnvVars } from "..";
2
2
  import type { Artifacts, GitlabEnvironment, GitlabJobCache, GitlabJobDef, GitlabJobImage, GitlabRule } from "./gitlab-types";
3
3
  export type CatladderJobCache = GitlabJobCache;
4
- export declare const BASE_STAGES: readonly ["setup", "test", "build", "deploy", "verify", "rollback", "stop"];
4
+ export declare const BASE_STAGES: readonly ["setup", "test", "build", "deploy", "verify", "agents", "rollback", "stop"];
5
5
  export type BaseStage = (typeof BASE_STAGES)[number];
6
6
  export type CatladderJobNeed = string | {
7
7
  job: string;
@@ -99,4 +99,8 @@ export type CatladderJob<S = BaseStage> = {
99
99
  * tags for the underlying job runner (e.g gitlab)
100
100
  */
101
101
  jobTags?: string[];
102
+ /**
103
+ * whether the job is interruptible (default: true)
104
+ */
105
+ interruptible?: boolean;
102
106
  };
@@ -7,6 +7,7 @@ exports.BASE_STAGES = [
7
7
  "build",
8
8
  "deploy",
9
9
  "verify",
10
+ "agents",
10
11
  "rollback",
11
12
  "stop",
12
13
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAWa,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAWa,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC"}