pipecraft 0.36.2 → 0.36.14

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 (101) hide show
  1. package/README.md +30 -20
  2. package/dist/cli/index.js +4 -3
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/generators/init.tpl.d.ts.map +1 -1
  5. package/dist/generators/init.tpl.js +7 -128
  6. package/dist/generators/init.tpl.js.map +1 -1
  7. package/dist/generators/workflows.tpl.d.ts.map +1 -1
  8. package/dist/generators/workflows.tpl.js +3 -15
  9. package/dist/generators/workflows.tpl.js.map +1 -1
  10. package/dist/templates/actions/calculate-version.yml.tpl.d.ts.map +1 -1
  11. package/dist/templates/actions/calculate-version.yml.tpl.js +38 -19
  12. package/dist/templates/actions/calculate-version.yml.tpl.js.map +1 -1
  13. package/dist/templates/actions/create-pr.yml.tpl.d.ts.map +1 -1
  14. package/dist/templates/actions/create-pr.yml.tpl.js +9 -6
  15. package/dist/templates/actions/create-pr.yml.tpl.js.map +1 -1
  16. package/dist/templates/actions/create-release.yml.tpl.d.ts.map +1 -1
  17. package/dist/templates/actions/create-release.yml.tpl.js +11 -9
  18. package/dist/templates/actions/create-release.yml.tpl.js.map +1 -1
  19. package/dist/templates/actions/create-tag.yml.tpl.d.ts.map +1 -1
  20. package/dist/templates/actions/create-tag.yml.tpl.js +8 -7
  21. package/dist/templates/actions/create-tag.yml.tpl.js.map +1 -1
  22. package/dist/templates/actions/detect-changes.yml.tpl.d.ts +7 -13
  23. package/dist/templates/actions/detect-changes.yml.tpl.d.ts.map +1 -1
  24. package/dist/templates/actions/detect-changes.yml.tpl.js +62 -215
  25. package/dist/templates/actions/detect-changes.yml.tpl.js.map +1 -1
  26. package/dist/templates/actions/manage-branch.yml.tpl.d.ts.map +1 -1
  27. package/dist/templates/actions/manage-branch.yml.tpl.js +8 -7
  28. package/dist/templates/actions/manage-branch.yml.tpl.js.map +1 -1
  29. package/dist/templates/actions/promote-branch.yml.tpl.d.ts.map +1 -1
  30. package/dist/templates/actions/promote-branch.yml.tpl.js +25 -29
  31. package/dist/templates/actions/promote-branch.yml.tpl.js.map +1 -1
  32. package/dist/templates/release-it.cjs.tpl.d.ts.map +1 -1
  33. package/dist/templates/release-it.cjs.tpl.js +14 -3
  34. package/dist/templates/release-it.cjs.tpl.js.map +1 -1
  35. package/dist/templates/workflows/pipeline.yml.tpl.d.ts.map +1 -1
  36. package/dist/templates/workflows/pipeline.yml.tpl.js +28 -48
  37. package/dist/templates/workflows/pipeline.yml.tpl.js.map +1 -1
  38. package/dist/templates/workflows/shared/index.d.ts +1 -0
  39. package/dist/templates/workflows/shared/index.d.ts.map +1 -1
  40. package/dist/templates/workflows/shared/index.js +1 -0
  41. package/dist/templates/workflows/shared/index.js.map +1 -1
  42. package/dist/templates/workflows/shared/managed-workflow.d.ts +32 -0
  43. package/dist/templates/workflows/shared/managed-workflow.d.ts.map +1 -0
  44. package/dist/templates/workflows/shared/managed-workflow.js +51 -0
  45. package/dist/templates/workflows/shared/managed-workflow.js.map +1 -0
  46. package/dist/templates/workflows/shared/operations-changes.d.ts +0 -1
  47. package/dist/templates/workflows/shared/operations-changes.d.ts.map +1 -1
  48. package/dist/templates/workflows/shared/operations-changes.js +1 -6
  49. package/dist/templates/workflows/shared/operations-changes.js.map +1 -1
  50. package/dist/templates/workflows/shared/operations-gate.d.ts +4 -30
  51. package/dist/templates/workflows/shared/operations-gate.d.ts.map +1 -1
  52. package/dist/templates/workflows/shared/operations-gate.js +110 -71
  53. package/dist/templates/workflows/shared/operations-gate.js.map +1 -1
  54. package/dist/templates/workflows/shared/operations-header.d.ts +10 -0
  55. package/dist/templates/workflows/shared/operations-header.d.ts.map +1 -1
  56. package/dist/templates/workflows/shared/operations-header.js +22 -3
  57. package/dist/templates/workflows/shared/operations-header.js.map +1 -1
  58. package/dist/templates/workflows/shared/operations-tag-promote.d.ts +1 -4
  59. package/dist/templates/workflows/shared/operations-tag-promote.d.ts.map +1 -1
  60. package/dist/templates/workflows/shared/operations-tag-promote.js +21 -17
  61. package/dist/templates/workflows/shared/operations-tag-promote.js.map +1 -1
  62. package/dist/templates/workflows/shared/operations-version.d.ts +0 -1
  63. package/dist/templates/workflows/shared/operations-version.d.ts.map +1 -1
  64. package/dist/templates/workflows/shared/operations-version.js +4 -11
  65. package/dist/templates/workflows/shared/operations-version.js.map +1 -1
  66. package/dist/templates/yaml-format-utils.d.ts.map +1 -1
  67. package/dist/templates/yaml-format-utils.js +1 -5
  68. package/dist/templates/yaml-format-utils.js.map +1 -1
  69. package/dist/types/index.d.ts +16 -57
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/utils/action-reference.d.ts +1 -1
  72. package/dist/utils/action-reference.js +2 -2
  73. package/dist/utils/action-reference.js.map +1 -1
  74. package/dist/utils/config.d.ts +5 -0
  75. package/dist/utils/config.d.ts.map +1 -1
  76. package/dist/utils/config.js +36 -4
  77. package/dist/utils/config.js.map +1 -1
  78. package/dist/utils/github-setup.d.ts +4 -4
  79. package/dist/utils/github-setup.js +28 -28
  80. package/dist/utils/github-setup.js.map +1 -1
  81. package/dist/utils/messaging.d.ts +2 -2
  82. package/dist/utils/messaging.d.ts.map +1 -1
  83. package/dist/utils/messaging.js +5 -5
  84. package/dist/utils/messaging.js.map +1 -1
  85. package/dist/utils/preflight.js +2 -2
  86. package/dist/utils/preflight.js.map +1 -1
  87. package/dist/utils/workflow-semantics.d.ts +61 -0
  88. package/dist/utils/workflow-semantics.d.ts.map +1 -0
  89. package/dist/utils/workflow-semantics.js +230 -0
  90. package/dist/utils/workflow-semantics.js.map +1 -0
  91. package/package.json +6 -5
  92. package/src/generators/init.tpl.ts +7 -132
  93. package/src/generators/workflows.tpl.ts +3 -15
  94. package/dist/templates/actions/run-nx-affected.yml.tpl.d.ts +0 -33
  95. package/dist/templates/actions/run-nx-affected.yml.tpl.d.ts.map +0 -1
  96. package/dist/templates/actions/run-nx-affected.yml.tpl.js +0 -346
  97. package/dist/templates/actions/run-nx-affected.yml.tpl.js.map +0 -1
  98. package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts +0 -22
  99. package/dist/templates/workflows/pipeline-nx.yml.tpl.d.ts.map +0 -1
  100. package/dist/templates/workflows/pipeline-nx.yml.tpl.js +0 -403
  101. package/dist/templates/workflows/pipeline-nx.yml.tpl.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manage-branch.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/manage-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAGpE;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACxC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgHA,CAAA;AACf,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,iDAAiD;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,2BAA2B,CAAA;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IACvC,OAAO,EAAE,GAAG,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;AAC/C,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,CAAC,EAAE,CACV,cAAc,CACZ,oBAAoB,EACpB,MAAM,CAAC,GAAG,CAAC,gBAAgB,IAAI,kCAAkC,CAAC,CACnE,CAAC,GAAG,CAAC,CACP,CAAA"}
1
+ {"version":3,"file":"manage-branch.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/manage-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG3F;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACxC,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgHA,CAAA;AACf,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAA;QACjF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,2BAA2B,CAAA;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAEvC,OAAO,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"promote-branch.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAuU3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAiB9E,CAAA"}
1
+ {"version":3,"file":"promote-branch.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAKlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAkU3D;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAAE,iBAgB/E,CAAA"}
@@ -10,7 +10,7 @@ import { renderTemplate, toFile } from '@featherscloud/pinion';
10
10
  import dedent from 'dedent';
11
11
  import fs from 'fs';
12
12
  import { logger } from '../../utils/logger.js';
13
- import { getActionOutputDir } from '../../utils/action-reference.js';
13
+ import { getActionOutputDir, shouldGenerateActions } from '../../utils/action-reference.js';
14
14
  /**
15
15
  * Generates the promote-branch composite action YAML content.
16
16
  *
@@ -38,8 +38,8 @@ const promoteBranchActionTemplate = (ctx) => {
38
38
  description: 'The original run number from develop branch for traceability'
39
39
  required: false
40
40
  default: ''
41
- autoMerge:
42
- description: 'Whether to enable auto-merge for the PR'
41
+ autoPromote:
42
+ description: 'Whether to automatically promote (fast-forward) to the target branch'
43
43
  required: false
44
44
  default: 'false'
45
45
  tempBranchPattern:
@@ -167,12 +167,12 @@ const promoteBranchActionTemplate = (ctx) => {
167
167
  TARGET="\${{ inputs.targetBranch }}"
168
168
  SOURCE="\${{ inputs.sourceBranch }}"
169
169
  VERSION="\${{ steps.get-version.outputs.version }}"
170
- AUTO_MERGE="\${{ inputs.autoMerge }}"
170
+ AUTO_PROMOTE="\${{ inputs.autoPromote }}"
171
171
 
172
172
  TITLE="🚀 Release \$VERSION to \$TARGET"
173
173
 
174
174
  # Determine merge behavior text
175
- if [ "\$AUTO_MERGE" == "true" ]; then
175
+ if [ "\$AUTO_PROMOTE" == "true" ]; then
176
176
  MERGE_TEXT="merge automatically"
177
177
  else
178
178
  MERGE_TEXT="require manual approval"
@@ -206,26 +206,21 @@ const promoteBranchActionTemplate = (ctx) => {
206
206
  exit 1
207
207
  fi
208
208
 
209
- - name: Enable PR Auto-Merge with Rebase (Manual Approval Required)
210
- if: inputs.autoMerge == 'false'
209
+ - name: Manual Merge Required
210
+ if: inputs.autoPromote == 'false'
211
211
  shell: bash
212
- env:
213
- GH_TOKEN: \${{ inputs.token }}
214
212
  run: |
215
213
  PR_NUMBER="\${{ steps.check-pr.outputs.prNumber || steps.create-pr.outputs.prNumber }}"
216
- TARGET="\${{ inputs.targetBranch }}"
214
+ PR_URL="\${{ steps.check-pr.outputs.prUrl || steps.create-pr.outputs.prUrl }}"
217
215
 
218
- echo "🔐 Enabling auto-merge with rebase for PR #\$PR_NUMBER (requires approval)"
219
- echo " This will fast-forward \$TARGET when approved, maintaining linear history"
220
-
221
- # Enable auto-merge with rebase method (fast-forward, no merge commit)
222
- gh pr merge "\$PR_NUMBER" --auto --rebase
223
-
224
- echo "✅ Auto-merge enabled - PR will fast-forward merge when approved"
225
- echo "⚠️ Manual approval required before merge completes"
216
+ echo " PR #\$PR_NUMBER created successfully"
217
+ echo "🔗 URL: \$PR_URL"
218
+ echo ""
219
+ echo "⚠️ Auto-merge is disabled for this branch."
220
+ echo " Please review and merge the PR manually when ready."
226
221
 
227
222
  - name: Fast-Forward Merge (Immediate Auto-Merge)
228
- if: inputs.autoMerge == 'true'
223
+ if: inputs.autoPromote == 'true'
229
224
  shell: bash
230
225
  run: |
231
226
  SOURCE="\${{ inputs.sourceBranch }}"
@@ -263,7 +258,7 @@ const promoteBranchActionTemplate = (ctx) => {
263
258
  echo "📝 PR will be closed automatically for audit trail"
264
259
 
265
260
  - name: Wait for Branch to Propagate
266
- if: inputs.autoMerge == 'true'
261
+ if: inputs.autoPromote == 'true'
267
262
  shell: bash
268
263
  run: |
269
264
  echo "⏳ Waiting 5 seconds for branch update to propagate..."
@@ -271,7 +266,7 @@ const promoteBranchActionTemplate = (ctx) => {
271
266
  echo "✅ Branch should be fully propagated"
272
267
 
273
268
  - name: Trigger Pipeline Workflow on Target Branch
274
- if: inputs.autoMerge == 'true'
269
+ if: inputs.autoPromote == 'true'
275
270
  shell: bash
276
271
  env:
277
272
  GH_TOKEN: \${{ inputs.token }}
@@ -301,7 +296,7 @@ const promoteBranchActionTemplate = (ctx) => {
301
296
  echo "✅ Pipeline workflow triggered on \$TARGET with version \$VERSION at commit \$COMMIT_SHA"
302
297
 
303
298
  - name: Close PR and Delete Branch
304
- if: inputs.autoMerge == 'true'
299
+ if: inputs.autoPromote == 'true'
305
300
  shell: bash
306
301
  env:
307
302
  GH_TOKEN: \${{ inputs.token }}
@@ -332,7 +327,7 @@ const promoteBranchActionTemplate = (ctx) => {
332
327
  echo "ℹ️ Using existing PR #\$PR_NUMBER"
333
328
  echo "🔗 URL: \$PR_URL"
334
329
 
335
- # Note: Fast-forward merge happens in separate step if autoMerge is enabled
330
+ # Note: Fast-forward merge happens in separate step if autoPromote is enabled
336
331
  `;
337
332
  };
338
333
  /**
@@ -341,16 +336,17 @@ const promoteBranchActionTemplate = (ctx) => {
341
336
  * @param {PinionContext} ctx - Pinion generator context
342
337
  * @returns {Promise<PinionContext>} Updated context after file generation
343
338
  */
344
- export const generate = (ctx) => Promise.resolve(ctx)
345
- .then(ctx => {
346
- // Check if file exists to determine merge status
339
+ export const generate = (ctx) => Promise.resolve(ctx).then(ctx => {
347
340
  const config = ctx.config || {};
341
+ if (!shouldGenerateActions(config)) {
342
+ logger.verbose('Skipping promote-branch action generation (using remote actions)');
343
+ return ctx;
344
+ }
348
345
  const outputDir = getActionOutputDir(config);
349
346
  const filePath = `${outputDir}/promote-branch/action.yml`;
350
347
  const exists = fs.existsSync(filePath);
351
348
  const status = exists ? '🔄 Merged with existing' : '📝 Created new';
352
349
  logger.verbose(`${status} ${filePath}`);
353
- return { ...ctx, actionOutputPath: filePath };
354
- })
355
- .then(ctx => renderTemplate(promoteBranchActionTemplate, toFile(ctx.actionOutputPath || 'actions/promote-branch/action.yml'))(ctx));
350
+ return renderTemplate(promoteBranchActionTemplate, toFile(filePath))(ctx);
351
+ });
356
352
  //# sourceMappingURL=promote-branch.yml.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promote-branch.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAGpE;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC/C,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2TZ,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,iDAAiD;IACjD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,4BAA4B,CAAA;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IACvC,OAAO,EAAE,GAAG,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;AAC/C,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,CAAC,EAAE,CACV,cAAc,CACZ,2BAA2B,EAC3B,MAAM,CAAC,GAAG,CAAC,gBAAgB,IAAI,mCAAmC,CAAC,CACpE,CAAC,GAAG,CAAC,CACP,CAAA"}
1
+ {"version":3,"file":"promote-branch.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/promote-branch.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG3F;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC/C,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsTZ,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAE,CACrF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;IAE/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAA;QAClF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,SAAS,4BAA4B,CAAA;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAEvC,OAAO,cAAc,CAAC,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"release-it.cjs.tpl.d.ts","sourceRoot":"","sources":["../../src/templates/release-it.cjs.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAwGlF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAUrC,CAAA"}
1
+ {"version":3,"file":"release-it.cjs.tpl.d.ts","sourceRoot":"","sources":["../../src/templates/release-it.cjs.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAmHlF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAUrC,CAAA"}
@@ -70,7 +70,7 @@ module.exports = {
70
70
  "skipChecks": true
71
71
  },
72
72
  "hooks": {
73
- "after:release": "echo \${version} > .release-version"
73
+ 'after:release': "echo \${version} > .release-version"
74
74
  },
75
75
 
76
76
 
@@ -88,7 +88,16 @@ module.exports = {
88
88
  let breakings = 0
89
89
  let features = 0
90
90
  let levelSet = ['major','minor','patch','ignore']
91
- let level = Math.min.apply(Math, commits.map(commit => {
91
+
92
+ // Handle empty commits array - return null to skip release
93
+ if (!commits || commits.length === 0) {
94
+ return {
95
+ level: null,
96
+ reason: 'No commits found - skipping release'
97
+ }
98
+ }
99
+
100
+ let levels = commits.map(commit => {
92
101
  let level = levelSet.indexOf(types[commit.type])
93
102
  level = level<0?3:level
94
103
  if (commit.notes.length > 0) {
@@ -98,7 +107,9 @@ module.exports = {
98
107
  features += 1;
99
108
  }
100
109
  return level
101
- }))
110
+ })
111
+
112
+ let level = Math.min.apply(Math, levels)
102
113
  return {
103
114
  level: level,
104
115
  reason: breakings === 1
@@ -1 +1 @@
1
- {"version":3,"file":"release-it.cjs.tpl.js","sourceRoot":"","sources":["../../src/templates/release-it.cjs.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACrC,iDAAiD;IACjD,MAAM,YAAY,GAA2B;QAC3C,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf,CAAA;IAED,0CAA0C;IAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;IAElF,8DAA8D;IAC9D,MAAM,WAAW,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,aAAa,EAAE,CAAA;IAEzD,kDAAkD;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,MAAM,KAAK,GAAG,CAAC;SAC/C,IAAI,CAAC,KAAK,CAAC,CAAA;IAEd,OAAO;EACP,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2DV,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IAC3D,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CAAC,cAAc,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrF,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAC7C,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"release-it.cjs.tpl.js","sourceRoot":"","sources":["../../src/templates/release-it.cjs.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACrC,iDAAiD;IACjD,MAAM,YAAY,GAA2B;QAC3C,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf,CAAA;IAED,0CAA0C;IAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;IAElF,8DAA8D;IAC9D,MAAM,WAAW,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,aAAa,EAAE,CAAA;IAEzD,kDAAkD;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,MAAM,KAAK,GAAG,CAAC;SAC/C,IAAI,CAAC,KAAK,CAAC,CAAA;IAEd,OAAO;EACP,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsEV,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IAC3D,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CAAC,cAAc,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrF,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAC7C,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAGlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAc3D,UAAU,wBAAyB,SAAQ,aAAa;IACtD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAiKD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,wBAAwB,iBAqTjD,CAAA"}
1
+ {"version":3,"file":"pipeline.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAGlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAe3D,UAAU,wBAAyB,SAAQ,aAAa;IACtD,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAiKD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,wBAAwB,iBA+RjD,CAAA"}
@@ -9,11 +9,9 @@
9
9
  import { renderTemplate, toFile } from '@featherscloud/pinion';
10
10
  import fs from 'fs';
11
11
  import { Document, parseDocument, Scalar, stringify, YAMLMap } from 'yaml';
12
- import { applyPathOperations } from '../../utils/ast-path-operations.js';
13
12
  import { logger } from '../../utils/logger.js';
14
13
  import { formatIfConditions } from '../yaml-format-utils.js';
15
- import { createChangesJobOperation, createGateJobOperation, createHeaderOperations, createTagPromoteReleaseOperations, createVersionJobOperation } from './shared/index.js';
16
- import { getDomainJobNames } from './shared/operations-domain-jobs.js';
14
+ import { createChangesJobOperation, createHeaderOperations, createTagPromoteReleaseOperations, createVersionJobOperation, createManagedWorkflowDocument, stringifyManagedWorkflow, applyManagedWorkflowOperations } from './shared/index.js';
17
15
  /**
18
16
  * Extract user-customized section between markers from YAML content
19
17
  * Returns content WITHOUT the markers themselves
@@ -154,51 +152,56 @@ export const generate = (ctx) => Promise.resolve(ctx)
154
152
  const filePath = ctx.pipelinePath || `${ctx.cwd || process.cwd()}/.github/workflows/pipeline.yml`;
155
153
  const { config, branchFlow } = ctx;
156
154
  const domains = config?.domains || {};
155
+ const fileExists = fs.existsSync(filePath);
156
+ let existingContent = '';
157
+ let existingEnv = null;
158
+ if (fileExists) {
159
+ existingContent = fs.readFileSync(filePath, 'utf8');
160
+ try {
161
+ const envDoc = parseDocument(existingContent);
162
+ const envNode = envDoc && typeof envDoc.get === 'function' ? envDoc.get('env') : null;
163
+ if (envNode && typeof envNode.toJSON === 'function') {
164
+ existingEnv = envNode.toJSON();
165
+ }
166
+ }
167
+ catch (error) {
168
+ logger.warn(`⚠️ Failed to parse existing pipeline for runtime defaults: ${error}`);
169
+ }
170
+ }
157
171
  // Get job names from domains (supports both prefixes and legacy boolean flags)
158
- const { testJobs, deployJobs, remoteTestJobs, allJobsByPrefix } = getDomainJobNames(domains);
159
172
  // Build operations array - only managed jobs
160
173
  const operations = [
161
174
  // Header (name, run-name, on triggers)
162
- ...createHeaderOperations({ branchFlow }),
175
+ ...createHeaderOperations({
176
+ branchFlow,
177
+ nodeVersion: existingEnv?.NODE_VERSION ?? undefined,
178
+ pnpmVersion: existingEnv?.PNPM_VERSION ?? undefined
179
+ }),
163
180
  // Changes detection (path-based)
164
181
  createChangesJobOperation({
165
182
  domains,
166
- useNx: false,
167
183
  baseRef: config.finalBranch,
168
184
  config
169
185
  }),
170
186
  // Version calculation (simplified - only depends on changes)
171
187
  createVersionJobOperation({
172
188
  testJobNames: [], // No test job dependencies in new model
173
- nxEnabled: false,
174
189
  baseRef: config.finalBranch,
175
190
  config
176
191
  }),
177
192
  // NOTE: Prefixed domain jobs are NOT generated via operations
178
193
  // They are generated as text and merged into the custom section below
179
- // Gate job (runs after ALL prefix-based jobs, gates downstream jobs)
180
- createGateJobOperation({
181
- testJobNames: testJobs,
182
- deployJobNames: deployJobs,
183
- allJobsByPrefix // Includes ALL jobs from all prefixes (test, deploy, lint, build, etc.)
184
- }),
185
194
  // Tag, promote, release
186
195
  ...createTagPromoteReleaseOperations({
187
196
  branchFlow,
188
- deployJobNames: [], // No deployment dependencies in new model
189
- remoteTestJobNames: [],
190
- testJobNames: testJobs, // Pass test jobs for default tag job dependencies
191
- autoMerge: typeof config.autoMerge === 'object' ? config.autoMerge : {},
197
+ autoPromote: typeof config.autoPromote === 'object' ? config.autoPromote : {},
192
198
  config
193
199
  })
194
200
  ];
195
- // Check if file exists
196
- const fileExists = fs.existsSync(filePath);
197
201
  // Extract user-customized section and custom jobs from existing file if it exists
198
202
  let userSection = null;
199
203
  const customJobsFromExisting = [];
200
204
  if (fileExists) {
201
- const existingContent = fs.readFileSync(filePath, 'utf8');
202
205
  userSection = extractUserSection(existingContent);
203
206
  if (userSection) {
204
207
  logger.verbose('📋 Found user-customized section between markers');
@@ -254,14 +257,6 @@ export const generate = (ctx) => Promise.resolve(ctx)
254
257
  ? '📝 Creating new path-based pipeline'
255
258
  : '🔄 Force mode: Rebuilding path-based pipeline from scratch';
256
259
  logger.verbose(logMessage);
257
- // Create new document with empty YAML map
258
- const doc = parseDocument('{}');
259
- // Ensure the root map uses block style (not flow/compact)
260
- if (doc.contents && doc.contents.flow !== undefined) {
261
- ;
262
- doc.contents.flow = false;
263
- }
264
- // Add header comment block to document
265
260
  const headerComment = `=============================================================================
266
261
  PIPECRAFT MANAGED WORKFLOW
267
262
  =============================================================================
@@ -285,21 +280,9 @@ export const generate = (ctx) => Promise.resolve(ctx)
285
280
 
286
281
  📖 Learn more: https://pipecraft.thecraftlab.dev
287
282
  =============================================================================`;
288
- doc.commentBefore = headerComment;
289
- // NOTE: Custom jobs are NOT added to the document via AST
290
- // They are preserved in userSection and merged with generated placeholders
291
- // Then inserted as text after version job (see below)
292
- if (doc.contents) {
293
- applyPathOperations(doc.contents, operations, doc);
294
- }
283
+ const doc = createManagedWorkflowDocument(headerComment, operations, ctx);
295
284
  // Stringify to YAML
296
- let yamlContent = stringify(doc, {
297
- lineWidth: 0,
298
- indent: 2,
299
- defaultStringType: 'PLAIN',
300
- defaultKeyType: 'PLAIN',
301
- minContentWidth: 0
302
- });
285
+ let yamlContent = stringifyManagedWorkflow(doc);
303
286
  // Generate placeholder jobs from prefixes and merge with existing custom section
304
287
  const generatedPlaceholders = generatePrefixedJobsText(domains);
305
288
  // Debug: log generated job names
@@ -338,12 +321,9 @@ export const generate = (ctx) => Promise.resolve(ctx)
338
321
  return { ...ctx, yamlContent: formattedContent, mergeStatus: status };
339
322
  }
340
323
  // Parse existing file for merge mode (no force flag)
341
- const existingContent = fs.readFileSync(filePath, 'utf8');
342
- const doc = parseDocument(existingContent);
343
- // Apply operations to update managed jobs
344
- if (doc.contents) {
345
- applyPathOperations(doc.contents, operations, doc);
346
- }
324
+ const freshContent = fs.readFileSync(filePath, 'utf8');
325
+ const doc = parseDocument(freshContent);
326
+ applyManagedWorkflowOperations(doc, operations, ctx);
347
327
  // Stringify to YAML
348
328
  let yamlContent = stringify(doc, {
349
329
  lineWidth: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAsB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAA4B,MAAM,oCAAoC,CAAA;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EAEtB,iCAAiC,EACjC,yBAAyB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAStE;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,wGAAwG;IACxG,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,sCAAsC,CAAA;IAC/D,MAAM,cAAc,GAAG,oCAAoC,CAAA;IAE3D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAElD,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAM,CAAA;IAEhC,yEAAyE;IACzE,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE3D,yDAAyD;IACzD,yDAAyD;IACzD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEzC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,OAA4B;IAC5D,uBAAuB;IACvB,MAAM,YAAY,GAA+D,EAAE,CAAA;IAEnF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACjB,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,CAAC,OAAO,CACZ,aAAa,MAAM,gBACjB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAClE,EAAE,CACH,CAAA;QACD,IAAI,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;gBAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;gBAC3B,CAAC;gBACD,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACxB,MAAM;oBACN,OAAO,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE;iBAC/B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,2CAA2C;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SACtB,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjB,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO;;qCAEH,GAAG,CAAC,MAAM;;;;;;kCAMb,GAAG,CAAC,MAAM,IAAI,MAAM;oBAClC,MAAM,QAAQ,GAAG,CAAC,MAAM;;0BAElB,MAAM,QAAQ,GAAG,CAAC,MAAM;gDACF,MAAM;+BACvB,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAA;YAE7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,WAA0B,EAAE,aAAqB;IAC/E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,WAAW,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,4DAA4D;QAC5D,MAAM,YAAY,GAAG,0BAA0B,CAAA;QAC/C,IAAI,KAAK,CAAA;QACT,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,iCAAiC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CACrF,CAAA;IAED,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,mCAAmC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,gBAAgB,OAAO,CAAC,MAAM,yBAAyB,CAAC,CAAA;IACvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,cAAc,WAAW,CAAC,MAAM,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/F,CAAC;IAED,4CAA4C;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA6B,EAAE,EAAE,CACxD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,QAAQ,GACX,GAAW,CAAC,YAAY,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,iCAAiC,CAAA;IAC3F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;IAClC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAA;IAErC,+EAA+E;IAC/E,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE5F,6CAA6C;IAC7C,MAAM,UAAU,GAA0B;QACxC,uCAAuC;QACvC,GAAG,sBAAsB,CAAC,EAAE,UAAU,EAAE,CAAC;QAEzC,iCAAiC;QACjC,yBAAyB,CAAC;YACxB,OAAO;YACP,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,MAAM,CAAC,WAAW;YAC3B,MAAM;SACP,CAAC;QAEF,6DAA6D;QAC7D,yBAAyB,CAAC;YACxB,YAAY,EAAE,EAAE,EAAE,wCAAwC;YAC1D,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,MAAM,CAAC,WAAW;YAC3B,MAAM;SACP,CAAC;QAEF,8DAA8D;QAC9D,sEAAsE;QAEtE,qEAAqE;QACrE,sBAAsB,CAAC;YACrB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,UAAU;YAC1B,eAAe,CAAC,wEAAwE;SACzF,CAAC;QAEF,wBAAwB;QACxB,GAAG,iCAAiC,CAAC;YACnC,UAAU;YACV,cAAc,EAAE,EAAE,EAAE,0CAA0C;YAC9D,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,QAAQ,EAAE,kDAAkD;YAC1E,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACvE,MAAM;SACP,CAAC;KACH,CAAA;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE1C,kFAAkF;IAClF,IAAI,WAAW,GAAkB,IAAI,CAAA;IACrC,MAAM,sBAAsB,GAAU,EAAE,CAAA;IACxC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzD,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAA;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAA;QACpE,CAAC;QAED,yDAAyD;QACzD,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;QAClD,MAAM,YAAY,GAChB,WAAW,CAAC,QAAQ,IAAK,WAAW,CAAC,QAAgB,CAAC,GAAG;YACvD,CAAC,CAAE,WAAW,CAAC,QAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;QACxF,IAAI,YAAY,IAAK,YAAoB,CAAC,KAAK,EAAE,CAAC;YAChD,KAAK,MAAM,IAAI,IAAK,YAAoB,CAAC,KAAK,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;gBACrE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAgB,CAAC,EAAE,CAAC;oBACvC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,YAAY,sBAAsB,CAAC,MAAM,4BAA4B,CAAC,CAAA;YAErF,4EAA4E;YAC5E,IAAI,CAAC,WAAW,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,gEAAgE;gBAChE,MAAM,QAAQ,GAAa,EAAE,CAAA;gBAE7B,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;oBAC1C,mEAAmE;oBACnE,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAC1C;oBAAC,OAAO,CAAC,QAAoB,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;oBAE7C,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;wBAC7B,SAAS,EAAE,CAAC;wBACZ,MAAM,EAAE,CAAC;wBACT,iBAAiB,EAAE,OAAO;wBAC1B,cAAc,EAAE,OAAO;wBACvB,eAAe,EAAE,CAAC;qBACnB,CAAC,CAAA;oBAEF,uFAAuF;oBACvF,OAAO,GAAG,OAAO;yBACd,IAAI,EAAE;yBACN,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;yBACxB,IAAI,CAAC,IAAI,CAAC,CAAA;oBACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACxB,CAAC;gBAED,qCAAqC;gBACrC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnC,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,CAAC,UAAU;YAC5B,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,4DAA4D,CAAA;QAChE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE1B,0CAA0C;QAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAC/B,0DAA0D;QAC1D,IAAI,GAAG,CAAC,QAAQ,IAAK,GAAG,CAAC,QAAgB,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7D,CAAC;YAAC,GAAG,CAAC,QAAgB,CAAC,IAAI,GAAG,KAAK,CAAA;QACrC,CAAC;QAED,uCAAuC;QACvC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;8EAsBgD,CAAA;QACtE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAA;QAEjC,0DAA0D;QAC1D,2EAA2E;QAC3E,sDAAsD;QAEtD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,mBAAmB,CAAC,GAAG,CAAC,QAAe,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,oBAAoB;QACpB,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE;YAC/B,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,iBAAiB,EAAE,OAAO;YAC1B,cAAc,EAAE,OAAO;YACvB,eAAe,EAAE,CAAC;SACnB,CAAC,CAAA;QAEF,iFAAiF;QACjF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAE/D,iCAAiC;QACjC,MAAM,iBAAiB,GAAG,qBAAqB;aAC5C,KAAK,CAAC,MAAM,CAAC;aACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAClB,MAAM,CAAC,OAAO,CACZ,gBAAgB,iBAAiB,CAAC,MAAM,sBAAsB,iBAAiB,CAAC,IAAI,CAClF,IAAI,CACL,EAAE,CACJ,CAAA;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAA;QAEtF,oEAAoE;QACpE,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,yCAAyC;YACzC,MAAM,qBAAqB,GACzB,8DAA8D,CAAA;YAChE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,cAAc,GAAG,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAErD,MAAM,sBAAsB,GAAG,gCAAgC,mBAAmB,+BAA+B,CAAA;gBACjH,WAAW;oBACT,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;wBACpC,QAAQ;wBACR,sBAAsB;wBACtB,IAAI;wBACJ,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBACnC,MAAM,CAAC,OAAO,CACZ,mFAAmF,CACpF,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,yCAAyC;YACzC,MAAM,qBAAqB,GACzB,gEAAgE,CAAA;YAClE,WAAW,GAAG,WAAW,CAAC,OAAO,CAC/B,qBAAqB,EACrB,kEAAkE,CACnE,CAAA;YACD,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAClF,OAAO,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;IACvE,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAE1C,0CAA0C;IAC1C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,mBAAmB,CAAC,GAAG,CAAC,QAAe,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,oBAAoB;IACpB,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE;QAC/B,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,iBAAiB,EAAE,OAAO;QAC1B,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,CAAC;KACnB,CAAC,CAAA;IAEF,qDAAqD;IACrD,yCAAyC;IACzC,MAAM,qBAAqB,GAAG,8DAA8D,CAAA;IAC5F,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACtD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAErD,mEAAmE;QACnE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;yCAcI,CAAA;QAEjC,MAAM,eAAe,GAAG,WAAW,IAAI,oBAAoB,CAAA;QAC3D,MAAM,sBAAsB,GAAG,gCAAgC,eAAe,+BAA+B,CAAA;QAE7G,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAA;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAA;QAC7E,CAAC;QAED,WAAW;YACT,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gBACpC,QAAQ;gBACR,sBAAsB;gBACtB,IAAI;gBACJ,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,OAAO,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AACvE,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,CAAC,EAAE;IACV,MAAM,UAAU,GAAG,GAAG,CAAC,kBAAkB,IAAI,gCAAgC,CAAA;IAC7E,MAAM,MAAM,GACV,GAAG,CAAC,WAAW,KAAK,QAAQ;QAC1B,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;YAC/B,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC/B,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,gBAAgB,CAAA;IACtB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAA;IACzC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC;KACD,IAAI,CACH,cAAc,CACZ,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAC7B,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,IAAI,gCAAgC,CAAC,CACjF,CACF,CAAA"}
1
+ {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,5 @@ export * from './operations-gate.js';
9
9
  export * from './operations-header.js';
10
10
  export * from './operations-tag-promote.js';
11
11
  export * from './operations-version.js';
12
+ export * from './managed-workflow.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA"}
@@ -9,4 +9,5 @@ export * from './operations-gate.js';
9
9
  export * from './operations-header.js';
10
10
  export * from './operations-tag-promote.js';
11
11
  export * from './operations-version.js';
12
+ export * from './managed-workflow.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Managed Workflow Utilities
3
+ *
4
+ * Provides helpers for creating and updating workflow YAML documents that
5
+ * include the standard Pipecraft-managed jobs (changes, version, gate, tag,
6
+ * promote, release) along with optional runner-specific test jobs.
7
+ *
8
+ * These utilities centralize the shared pieces of the path-based and Nx
9
+ * workflow generators so new runner implementations (Turbo, Bazel, Pants, etc.)
10
+ * can reuse the same core structure.
11
+ */
12
+ import type { Configuration, PinionContext } from '@featherscloud/pinion';
13
+ import { Document } from 'yaml';
14
+ import { type PathOperationConfig } from '../../../utils/ast-path-operations.js';
15
+ export interface ManagedWorkflowContext extends Omit<PinionContext, 'pinion'> {
16
+ pinion?: Configuration & {
17
+ force?: boolean;
18
+ };
19
+ }
20
+ declare const DEFAULT_STRINGIFY_OPTIONS: {
21
+ lineWidth: number;
22
+ indent: number;
23
+ defaultStringType: "PLAIN";
24
+ defaultKeyType: "PLAIN";
25
+ minContentWidth: number;
26
+ };
27
+ export declare function createManagedWorkflowDocument(headerComment: string, operations: PathOperationConfig[], ctx: ManagedWorkflowContext): Document.Parsed;
28
+ export declare function updateManagedWorkflowDocument(existingContent: string, operations: PathOperationConfig[], ctx: ManagedWorkflowContext): Document.Parsed;
29
+ export declare function applyManagedWorkflowOperations(doc: Document.Parsed, operations: PathOperationConfig[], ctx: ManagedWorkflowContext): void;
30
+ export declare function stringifyManagedWorkflow(doc: Document.Parsed, options?: typeof DEFAULT_STRINGIFY_OPTIONS): string;
31
+ export { DEFAULT_STRINGIFY_OPTIONS as MANAGED_WORKFLOW_STRINGIFY_OPTIONS };
32
+ //# sourceMappingURL=managed-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-workflow.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/managed-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAqC,MAAM,MAAM,CAAA;AAElE,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,uCAAuC,CAAA;AAG9C,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;IAC3E,MAAM,CAAC,EAAE,aAAa,GAAG;QACvB,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;CACF;AAED,QAAA,MAAM,yBAAyB;;;;;;CAM9B,CAAA;AAoBD,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,mBAAmB,EAAE,EACjC,GAAG,EAAE,sBAAsB,GAC1B,QAAQ,CAAC,MAAM,CAKjB;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,mBAAmB,EAAE,EACjC,GAAG,EAAE,sBAAsB,GAC1B,QAAQ,CAAC,MAAM,CAIjB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,QAAQ,CAAC,MAAM,EACpB,UAAU,EAAE,mBAAmB,EAAE,EACjC,GAAG,EAAE,sBAAsB,QAG5B;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,QAAQ,CAAC,MAAM,EACpB,OAAO,GAAE,OAAO,yBAAqD,UAGtE;AAED,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,CAAA"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Managed Workflow Utilities
3
+ *
4
+ * Provides helpers for creating and updating workflow YAML documents that
5
+ * include the standard Pipecraft-managed jobs (changes, version, gate, tag,
6
+ * promote, release) along with optional runner-specific test jobs.
7
+ *
8
+ * These utilities centralize the shared pieces of the path-based and Nx
9
+ * workflow generators so new runner implementations (Turbo, Bazel, Pants, etc.)
10
+ * can reuse the same core structure.
11
+ */
12
+ import { parseDocument, stringify } from 'yaml';
13
+ import { applyPathOperations } from '../../../utils/ast-path-operations.js';
14
+ import { ensureGateJob } from './operations-gate.js';
15
+ const DEFAULT_STRINGIFY_OPTIONS = {
16
+ lineWidth: 0,
17
+ indent: 2,
18
+ defaultStringType: 'PLAIN',
19
+ defaultKeyType: 'PLAIN',
20
+ minContentWidth: 0
21
+ };
22
+ function applyManagedOperations(doc, operations, force) {
23
+ if (!doc.contents) {
24
+ return;
25
+ }
26
+ const rootNode = doc.contents;
27
+ if (rootNode && typeof rootNode === 'object' && 'flow' in rootNode) {
28
+ rootNode.flow = false;
29
+ }
30
+ applyPathOperations(rootNode, operations, doc);
31
+ ensureGateJob(doc, { force });
32
+ }
33
+ export function createManagedWorkflowDocument(headerComment, operations, ctx) {
34
+ const doc = parseDocument('{}');
35
+ doc.commentBefore = headerComment;
36
+ applyManagedOperations(doc, operations, Boolean(ctx.pinion?.force));
37
+ return doc;
38
+ }
39
+ export function updateManagedWorkflowDocument(existingContent, operations, ctx) {
40
+ const doc = parseDocument(existingContent);
41
+ applyManagedOperations(doc, operations, Boolean(ctx.pinion?.force));
42
+ return doc;
43
+ }
44
+ export function applyManagedWorkflowOperations(doc, operations, ctx) {
45
+ applyManagedOperations(doc, operations, Boolean(ctx.pinion?.force));
46
+ }
47
+ export function stringifyManagedWorkflow(doc, options = DEFAULT_STRINGIFY_OPTIONS) {
48
+ return stringify(doc, options);
49
+ }
50
+ export { DEFAULT_STRINGIFY_OPTIONS as MANAGED_WORKFLOW_STRINGIFY_OPTIONS };
51
+ //# sourceMappingURL=managed-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-workflow.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/managed-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAqB,aAAa,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAElE,OAAO,EACL,mBAAmB,EAEpB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAQpD,MAAM,yBAAyB,GAAG;IAChC,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,iBAAiB,EAAE,OAAgB;IACnC,cAAc,EAAE,OAAgB;IAChC,eAAe,EAAE,CAAC;CACnB,CAAA;AAED,SAAS,sBAAsB,CAC7B,GAAoB,EACpB,UAAiC,EACjC,KAAc;IAEd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAmB,CAAA;IACxC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QACnE,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAA;IACvB,CAAC;IAED,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;IAC9C,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,aAAqB,EACrB,UAAiC,EACjC,GAA2B;IAE3B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAC/B,GAAG,CAAC,aAAa,GAAG,aAAa,CAAA;IACjC,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACnE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,eAAuB,EACvB,UAAiC,EACjC,GAA2B;IAE3B,MAAM,GAAG,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAC1C,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACnE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAAoB,EACpB,UAAiC,EACjC,GAA2B;IAE3B,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAoB,EACpB,UAA4C,yBAAyB;IAErE,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,CAAA"}
@@ -14,7 +14,6 @@ import { type PathOperationConfig } from '../../../utils/ast-path-operations.js'
14
14
  import type { PipecraftConfig } from '../../../types/index.js';
15
15
  export interface ChangesContext {
16
16
  domains: Record<string, any>;
17
- useNx?: boolean;
18
17
  baseRef?: string;
19
18
  config?: Partial<PipecraftConfig>;
20
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operations-changes.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,uCAAuC,CAAA;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAG,mBAAmB,CA+DlF"}
1
+ {"version":3,"file":"operations-changes.d.ts","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,uCAAuC,CAAA;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAG,mBAAmB,CA0DlF"}
@@ -19,7 +19,7 @@ import { getActionReference } from '../../../utils/action-reference.js';
19
19
  * The detect-changes action receives this as structured input.
20
20
  */
21
21
  export function createChangesJobOperation(ctx) {
22
- const { domains, useNx = false, baseRef = 'main', config = {} } = ctx;
22
+ const { domains, baseRef = 'main', config = {} } = ctx;
23
23
  const sortedDomains = Object.keys(domains).sort();
24
24
  // Get the action reference based on configuration
25
25
  const actionRef = getActionReference('detect-changes', config);
@@ -65,15 +65,10 @@ ${domainsYaml}
65
65
  with:
66
66
  baseRef: \${{ inputs.baseRef || '${baseRef}' }}
67
67
  domains-config: \${{ env.DOMAINS }}
68
- useNx: '${useNx ? 'true' : 'false'}'
69
- node-version: \${{ env.NODE_VERSION }}
70
- pnpm-version: \${{ env.PNPM_VERSION }}
71
68
  outputs:
72
69
  ${outputsSection}
73
70
  changes: \${{ steps.detect.outputs.changes }}
74
71
  affectedDomains: \${{ steps.detect.outputs.affectedDomains }}
75
- nxAvailable: \${{ steps.detect.outputs.nxAvailable }}
76
- affectedProjects: \${{ steps.detect.outputs.affectedProjects }}
77
72
  `)
78
73
  };
79
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operations-changes.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,qBAAqB,EAEtB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAUvE;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAmB;IAC3D,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,CAAA;IACrE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAEjD,kDAAkD;IAClD,MAAM,SAAS,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAE9D,MAAM,OAAO,GAAG;;;;;;;CAOjB,CAAA;IAEC,wEAAwE;IACxE,MAAM,cAAc,GAAG,aAAa;SACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,MAAM,iDAAiD,MAAM,KAAK,CAAC;SAC1F,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,WAAW,GAAG,aAAa;SAC9B,GAAG,CAAC,UAAU,CAAC,EAAE;QAChB,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5F,OAAO,eAAe,UAAU,4BAA4B,SAAS,EAAE,CAAA;IACzE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,OAAO;QACtB,KAAK,EAAE,qBAAqB,CAAC;;;;;EAK/B,WAAW;;;;;;gBAMG,SAAS;;;6CAGoB,OAAO;;oBAEhC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;EAI1C,cAAc;;;;;GAKb,CAAC;KACD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"operations-changes.js","sourceRoot":"","sources":["../../../../src/templates/workflows/shared/operations-changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,qBAAqB,EAEtB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AASvE;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAmB;IAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,CAAA;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAEjD,kDAAkD;IAClD,MAAM,SAAS,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAE9D,MAAM,OAAO,GAAG;;;;;;;CAOjB,CAAA;IAEC,wEAAwE;IACxE,MAAM,cAAc,GAAG,aAAa;SACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,MAAM,iDAAiD,MAAM,KAAK,CAAC;SAC1F,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,WAAW,GAAG,aAAa;SAC9B,GAAG,CAAC,UAAU,CAAC,EAAE;QAChB,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5F,OAAO,eAAe,UAAU,4BAA4B,SAAS,EAAE,CAAA;IACzE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,OAAO;QACtB,KAAK,EAAE,qBAAqB,CAAC;;;;;EAK/B,WAAW;;;;;;gBAMG,SAAS;;;6CAGoB,OAAO;;;EAGlD,cAAc;;;GAGb,CAAC;KACD,CAAA;AACH,CAAC"}
@@ -1,32 +1,6 @@
1
- /**
2
- * Gate Job Operation
3
- *
4
- * Creates a gate job that enforces "at least one success AND no failures" pattern
5
- * for all test jobs. This provides a single point of control for gating downstream
6
- * jobs like tag, promote, and deploy.
7
- */
8
- import { type PathOperationConfig } from '../../../utils/ast-path-operations.js';
9
- export interface GateJobContext {
10
- testJobNames: string[];
11
- deployJobNames?: string[];
12
- /**
13
- * All jobs by prefix (from getDomainJobNames)
14
- * Allows gating on any custom prefix jobs (e.g., lint, build, etc.)
15
- */
16
- allJobsByPrefix?: Record<string, string[]>;
1
+ import { Document } from 'yaml';
2
+ export interface EnsureGateOptions {
3
+ force: boolean;
17
4
  }
18
- /**
19
- * Create a gate job operation that runs after all test jobs
20
- *
21
- * The gate job:
22
- * - Runs on ALL events (PRs, push to any branch)
23
- * - Depends on all test jobs
24
- * - Uses "at least one success AND no failures" pattern
25
- * - Provides a single gate point for downstream jobs (tag, deploy, etc.)
26
- * - Always runs (even if tests are skipped) using always()
27
- *
28
- * @param ctx - Context containing test job names
29
- * @returns Path operation config for the gate job
30
- */
31
- export declare function createGateJobOperation(ctx: GateJobContext): PathOperationConfig;
5
+ export declare function ensureGateJob(doc: Document.Parsed, options: EnsureGateOptions): void;
32
6
  //# sourceMappingURL=operations-gate.d.ts.map