@copado/agentia-cli 1.1.0 → 1.3.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.
- package/CHANGELOG.md +69 -0
- package/README.md +3290 -2095
- package/dist/commands/ai/agent/ask.js +4 -4
- package/dist/commands/ai/agent/chat.js +4 -4
- package/dist/commands/auth/get.js +21 -1
- package/dist/commands/auth/set.js +13 -0
- package/dist/commands/auth/unset.js +37 -0
- package/dist/commands/cicd/cloud/commit.js +2 -2
- package/dist/commands/cicd/cloud/promote.js +19 -5
- package/dist/commands/cicd/credential/auth/status.js +38 -0
- package/dist/commands/cicd/credential/auth/web/login.js +54 -0
- package/dist/commands/cicd/credential/create.js +2 -2
- package/dist/commands/cicd/credential/list.js +15 -19
- package/dist/commands/cicd/credential/open.js +30 -0
- package/dist/commands/cicd/credential/update.js +11 -14
- package/dist/commands/cicd/data/commit/create.js +2 -2
- package/dist/commands/cicd/data/commit/list.js +2 -2
- package/dist/commands/cicd/data/dataset-file/content.js +2 -2
- package/dist/commands/cicd/data/dataset-file/list.js +2 -2
- package/dist/commands/cicd/data/filter/add.js +2 -2
- package/dist/commands/cicd/data/filter/delete.js +2 -2
- package/dist/commands/cicd/data/filter/list.js +2 -2
- package/dist/commands/cicd/data/filter/update.js +2 -2
- package/dist/commands/cicd/data/formula/create.js +2 -2
- package/dist/commands/cicd/data/formula/list.js +2 -2
- package/dist/commands/cicd/data/formula/update.js +2 -2
- package/dist/commands/cicd/data/records/match.js +2 -2
- package/dist/commands/cicd/data/records/search.js +2 -2
- package/dist/commands/cicd/data/sobject/fields.js +2 -2
- package/dist/commands/cicd/data/sobject/relationships.js +2 -2
- package/dist/commands/cicd/data/sync/apply.js +2 -2
- package/dist/commands/cicd/data/sync/preview-updates.js +2 -2
- package/dist/commands/cicd/data/template/convert-old.js +2 -2
- package/dist/commands/cicd/data/template/create.js +2 -2
- package/dist/commands/cicd/data/template/delete.js +2 -2
- package/dist/commands/cicd/data/template/get-detail.js +2 -2
- package/dist/commands/cicd/data/template/get.js +2 -2
- package/dist/commands/cicd/data/template/list.js +2 -2
- package/dist/commands/cicd/data/template/open.js +2 -2
- package/dist/commands/cicd/data/template/save-detail.js +2 -2
- package/dist/commands/cicd/environment/auth/status.js +36 -15
- package/dist/commands/cicd/environment/auth/web/login.js +22 -6
- package/dist/commands/cicd/environment/create.js +2 -2
- package/dist/commands/cicd/environment/get.js +2 -2
- package/dist/commands/cicd/environment/list.js +2 -2
- package/dist/commands/cicd/environment/open.js +8 -24
- package/dist/commands/cicd/environment/update.js +2 -2
- package/dist/commands/cicd/extension/create.js +2 -2
- package/dist/commands/cicd/extension/install.js +2 -2
- package/dist/commands/cicd/extension/package.js +2 -2
- package/dist/commands/cicd/extension/publish.js +2 -2
- package/dist/commands/cicd/extension/uninstall.js +2 -2
- package/dist/commands/cicd/extension/validate.js +2 -2
- package/dist/commands/cicd/extension-configuration/get.js +24 -0
- package/dist/commands/cicd/extension-configuration/list.js +49 -0
- package/dist/commands/cicd/extension-configuration/open.js +38 -0
- package/dist/commands/cicd/function/defaults.js +2 -2
- package/dist/commands/cicd/function/delete.js +2 -2
- package/dist/commands/cicd/function/get.js +2 -2
- package/dist/commands/cicd/function/list.js +2 -2
- package/dist/commands/cicd/function/open.js +2 -2
- package/dist/commands/cicd/function/result/get.js +2 -2
- package/dist/commands/cicd/function/result/log/get.js +2 -2
- package/dist/commands/cicd/function/run-local.js +2 -2
- package/dist/commands/cicd/function/run.js +2 -2
- package/dist/commands/cicd/function/upsert.js +2 -2
- package/dist/commands/cicd/health-check.js +2 -2
- package/dist/commands/cicd/job/get.js +2 -2
- package/dist/commands/cicd/job/kill.js +2 -2
- package/dist/commands/cicd/job/list.js +2 -2
- package/dist/commands/cicd/job/log/get.js +2 -2
- package/dist/commands/cicd/job/open.js +2 -2
- package/dist/commands/cicd/job/pause.js +2 -2
- package/dist/commands/cicd/job/result-file/get.js +2 -2
- package/dist/commands/cicd/job/result-file/list.js +2 -2
- package/dist/commands/cicd/job/resume.js +2 -2
- package/dist/commands/cicd/job/run.js +2 -2
- package/dist/commands/cicd/metadata/content/compare.js +2 -2
- package/dist/commands/cicd/metadata/content/get.js +3 -3
- package/dist/commands/cicd/metadata/dependency/list.js +45 -22
- package/dist/commands/cicd/metadata/explore.js +81 -0
- package/dist/commands/cicd/metadata/index/compare.js +2 -2
- package/dist/commands/cicd/metadata/list.js +5 -5
- package/dist/commands/cicd/metadata/refresh/deleted.js +3 -3
- package/dist/commands/cicd/metadata/refresh/run.js +4 -4
- package/dist/commands/cicd/metadata/refresh/status.js +4 -4
- package/dist/commands/cicd/notification/configure.js +2 -2
- package/dist/commands/cicd/notification/get.js +2 -2
- package/dist/commands/cicd/pipeline/automation/activate.js +39 -0
- package/dist/commands/cicd/pipeline/automation/create.js +33 -0
- package/dist/commands/cicd/pipeline/automation/deactivate.js +39 -0
- package/dist/commands/cicd/pipeline/automation/delete.js +45 -0
- package/dist/commands/cicd/pipeline/automation/get.js +32 -0
- package/dist/commands/cicd/pipeline/automation/list.js +38 -0
- package/dist/commands/cicd/pipeline/automation/open.js +38 -0
- package/dist/commands/cicd/pipeline/automation/update.js +38 -0
- package/dist/commands/cicd/pipeline/connection/create.js +2 -2
- package/dist/commands/cicd/pipeline/connection/delete.js +2 -2
- package/dist/commands/cicd/pipeline/connection/list.js +2 -2
- package/dist/commands/cicd/pipeline/connection/open.js +2 -2
- package/dist/commands/cicd/pipeline/connection/update.js +2 -2
- package/dist/commands/cicd/pipeline/create.js +2 -2
- package/dist/commands/cicd/pipeline/get.js +2 -2
- package/dist/commands/cicd/pipeline/list.js +2 -2
- package/dist/commands/cicd/pipeline/open.js +2 -2
- package/dist/commands/cicd/pipeline/quality-gate/activate.js +39 -0
- package/dist/commands/cicd/pipeline/quality-gate/create.js +34 -0
- package/dist/commands/cicd/pipeline/quality-gate/deactivate.js +39 -0
- package/dist/commands/cicd/pipeline/quality-gate/delete.js +45 -0
- package/dist/commands/cicd/pipeline/quality-gate/get.js +32 -0
- package/dist/commands/cicd/pipeline/quality-gate/list.js +34 -0
- package/dist/commands/cicd/pipeline/quality-gate/open.js +38 -0
- package/dist/commands/cicd/pipeline/quality-gate/update.js +38 -0
- package/dist/commands/cicd/pipeline/stage-connection/create.js +2 -2
- package/dist/commands/cicd/pipeline/stage-connection/delete.js +2 -2
- package/dist/commands/cicd/pipeline/stage-connection/list.js +2 -2
- package/dist/commands/cicd/pipeline/stage-connection/open.js +2 -2
- package/dist/commands/cicd/pipeline/stage-connection/update.js +2 -2
- package/dist/commands/cicd/pipeline/update.js +2 -2
- package/dist/commands/cicd/project/create.js +2 -2
- package/dist/commands/cicd/project/default/get.js +2 -2
- package/dist/commands/cicd/project/default/set.js +2 -2
- package/dist/commands/cicd/project/default/unset.js +2 -2
- package/dist/commands/cicd/project/delete.js +2 -2
- package/dist/commands/cicd/project/get.js +2 -2
- package/dist/commands/cicd/project/list.js +2 -2
- package/dist/commands/cicd/project/open.js +2 -2
- package/dist/commands/cicd/project/update.js +2 -2
- package/dist/commands/cicd/promotion/conflict/get.js +2 -2
- package/dist/commands/cicd/promotion/conflict/list.js +2 -2
- package/dist/commands/cicd/promotion/conflict/resolve.js +2 -2
- package/dist/commands/cicd/promotion/conflict/unresolve.js +2 -2
- package/dist/commands/cicd/promotion/get.js +2 -2
- package/dist/commands/cicd/promotion/job-step/update.js +2 -2
- package/dist/commands/cicd/promotion/list.js +2 -2
- package/dist/commands/cicd/promotion/open.js +2 -2
- package/dist/commands/cicd/promotion/queue/list.js +28 -0
- package/dist/commands/cicd/promotion/queue/remove.js +37 -0
- package/dist/commands/cicd/promotion/run.js +2 -2
- package/dist/commands/cicd/repository/auth/https/configure.js +2 -2
- package/dist/commands/cicd/repository/auth/oauth/login.js +2 -2
- package/dist/commands/cicd/repository/auth/setup.js +2 -2
- package/dist/commands/cicd/repository/auth/ssh/configure.js +2 -2
- package/dist/commands/cicd/repository/create.js +2 -2
- package/dist/commands/cicd/repository/delete.js +2 -2
- package/dist/commands/cicd/repository/get.js +2 -2
- package/dist/commands/cicd/repository/list.js +2 -2
- package/dist/commands/cicd/repository/open.js +2 -2
- package/dist/commands/cicd/repository/reset.js +2 -2
- package/dist/commands/cicd/repository/update.js +2 -2
- package/dist/commands/cicd/repository/validate.js +2 -2
- package/dist/commands/cicd/stage/create.js +2 -2
- package/dist/commands/cicd/stage/delete.js +2 -2
- package/dist/commands/cicd/stage/get.js +2 -2
- package/dist/commands/cicd/stage/list.js +2 -2
- package/dist/commands/cicd/stage/open.js +2 -2
- package/dist/commands/cicd/stage/update.js +2 -2
- package/dist/commands/cicd/template/defaults.js +2 -2
- package/dist/commands/cicd/template/delete.js +2 -2
- package/dist/commands/cicd/template/get.js +2 -2
- package/dist/commands/cicd/template/list.js +2 -2
- package/dist/commands/cicd/template/upsert.js +2 -2
- package/dist/commands/cicd/user/get.js +2 -2
- package/dist/commands/cicd/work/ahead-behind.js +2 -2
- package/dist/commands/cicd/work/create.js +3 -2
- package/dist/commands/cicd/work/delete.js +2 -2
- package/dist/commands/cicd/work/deployment-step/create.js +2 -2
- package/dist/commands/cicd/work/deployment-step/delete.js +2 -2
- package/dist/commands/cicd/work/deployment-step/list.js +2 -2
- package/dist/commands/cicd/work/deployment-step/reorder.js +2 -2
- package/dist/commands/cicd/work/deployment-step/salesforce-flows.js +2 -2
- package/dist/commands/cicd/work/deployment-step/types.js +2 -2
- package/dist/commands/cicd/work/deployment-step/update.js +2 -2
- package/dist/commands/cicd/work/done.js +2 -2
- package/dist/commands/cicd/work/environment-sync.js +10 -9
- package/dist/commands/cicd/work/get.js +2 -2
- package/dist/commands/cicd/work/list.js +2 -2
- package/dist/commands/cicd/work/open.js +2 -2
- package/dist/commands/cicd/work/promote.js +2 -2
- package/dist/commands/cicd/work/publish.js +2 -2
- package/dist/commands/cicd/work/push.js +2 -2
- package/dist/commands/cicd/work/set.js +8 -6
- package/dist/commands/cicd/work/status.js +2 -2
- package/dist/commands/cicd/work/submit.js +5 -4
- package/dist/commands/cicd/work/test/apex.js +2 -2
- package/dist/commands/cicd/work/test.js +2 -2
- package/dist/commands/cicd/work/update.js +3 -2
- package/dist/commands/help-agent.js +15 -0
- package/dist/commands/help.js +38 -0
- package/dist/commands/history/clear.js +42 -0
- package/dist/commands/history/list.js +50 -0
- package/dist/commands/plugins/install.js +2 -5
- package/dist/commands/setup/skills/create.js +28 -2
- package/dist/commands/setup/skills/list.js +55 -0
- package/dist/commands/setup/skills/update.js +36 -3
- package/dist/commands/setup.js +3 -3
- package/dist/commands/support.js +15 -0
- package/dist/commands/testing/browser/execute.js +49 -0
- package/dist/commands/testing/browser/history.js +49 -0
- package/dist/commands/testing/browser/inspect.js +35 -0
- package/dist/commands/testing/browser/recorder.js +52 -0
- package/dist/commands/testing/browser/reports.js +33 -0
- package/dist/commands/testing/browser/screenshot.js +27 -0
- package/dist/commands/testing/browser/set-options.js +35 -0
- package/dist/commands/testing/browser/start.js +51 -0
- package/dist/commands/testing/browser/status.js +26 -0
- package/dist/commands/testing/browser/stop.js +34 -0
- package/dist/commands/testing/browser/view.js +35 -0
- package/dist/commands/testing/data-table/create.js +1 -2
- package/dist/commands/testing/data-table/delete.js +1 -2
- package/dist/commands/testing/data-table/export.js +2 -6
- package/dist/commands/testing/data-table/get.js +2 -4
- package/dist/commands/testing/data-table/list.js +1 -2
- package/dist/commands/testing/data-table/update.js +3 -4
- package/dist/commands/testing/job/create.js +26 -22
- package/dist/commands/testing/job/delete.js +2 -2
- package/dist/commands/testing/job/files/download.js +73 -0
- package/dist/commands/testing/job/files/list.js +43 -0
- package/dist/commands/testing/job/{upload.js → files/upload.js} +13 -9
- package/dist/commands/testing/job/get.js +2 -2
- package/dist/commands/testing/job/list.js +1 -1
- package/dist/commands/testing/job/refs.js +4 -4
- package/dist/commands/testing/job/run.js +134 -1
- package/dist/commands/testing/{build → job/runs}/abort.js +10 -8
- package/dist/commands/testing/job/runs/get.js +42 -0
- package/dist/commands/testing/{build → job/runs}/list.js +19 -10
- package/dist/commands/testing/{logs.js → job/runs/logs.js} +9 -6
- package/dist/commands/testing/{build → job/runs}/search.js +9 -7
- package/dist/commands/testing/job/schedule/get.js +5 -11
- package/dist/commands/testing/job/schedule/remove.js +3 -3
- package/dist/commands/testing/job/schedule/set.js +3 -3
- package/dist/commands/testing/job/update.js +22 -65
- package/dist/commands/testing/project/create.js +1 -17
- package/dist/commands/testing/project/get.js +0 -1
- package/dist/commands/testing/project/list.js +2 -2
- package/dist/commands/testing/project/permission/set.js +3 -7
- package/dist/commands/testing/project/permission/update.js +2 -2
- package/dist/commands/testing/robot/create.js +22 -25
- package/dist/commands/testing/robot/get.js +1 -1
- package/dist/commands/testing/robot/list.js +3 -3
- package/dist/commands/testing/robot/update.js +3 -3
- package/dist/commands/testing/user-parameter/create.js +3 -9
- package/dist/commands/testing/user-parameter/update.js +1 -7
- package/dist/commands/testing/variable/create.js +4 -9
- package/dist/commands/testing/variable/list.js +3 -3
- package/dist/commands/testing/variable/update.js +5 -12
- package/dist/help.js +17 -0
- package/dist/hooks/init/cicd-connection.js +59 -0
- package/dist/lib/agentia-command.js +69 -6
- package/dist/lib/ai-types.js +2 -1
- package/dist/lib/cicd-command.js +3 -0
- package/dist/lib/cicd-connection.js +22 -0
- package/dist/lib/cicd-gateway.js +2 -1
- package/dist/lib/claude-mcp-config.js +15 -0
- package/dist/lib/command-history-sanitization.js +9 -0
- package/dist/lib/command-history.js +11 -0
- package/dist/lib/command-output-buffer.js +6 -1
- package/dist/lib/credential-sync.js +1 -2
- package/dist/lib/defaults-store.js +6 -1
- package/dist/lib/dependency-from-changes.js +3 -1
- package/dist/lib/dependency-source-context.js +3 -0
- package/dist/lib/environment-auth-status.js +2 -1
- package/dist/lib/environment-auth.js +2 -1
- package/dist/lib/environment-credential-flags.js +3 -1
- package/dist/lib/environment-credential-operations.js +8 -2
- package/dist/lib/environment-types.js +3 -1
- package/dist/lib/extension-configuration-ops.js +4 -0
- package/dist/lib/extension-configuration-sanitize.js +7 -0
- package/dist/lib/extension-configuration-types.js +8 -0
- package/dist/lib/help-agent-command.js +3 -0
- package/dist/lib/help-agent-interaction-history.js +10 -0
- package/dist/lib/help-agent-session.js +3 -0
- package/dist/lib/http-proxy.js +13 -0
- package/dist/lib/mcp/ai-tools.js +3 -3
- package/dist/lib/mcp/command-id.js +2 -0
- package/dist/lib/mcp/pipeline-automation-quality-tools.js +452 -0
- package/dist/lib/mcp/result.js +41 -3
- package/dist/lib/mcp/server.js +73 -3
- package/dist/lib/mcp/testing-browser-tools.js +194 -0
- package/dist/lib/mcp/testing-tools.js +242 -552
- package/dist/lib/mcp/tool-annotations.js +59 -30
- package/dist/lib/mcp/tools.js +202 -66
- package/dist/lib/mcp/work-tools.js +18 -4
- package/dist/lib/metadata-explore.js +8 -0
- package/dist/lib/network-error.js +8 -0
- package/dist/lib/pipeline-automation-flags.js +12 -0
- package/dist/lib/pipeline-automation-ops.js +9 -0
- package/dist/lib/pipeline-automation-types.js +18 -0
- package/dist/lib/pipeline-lifecycle-id.js +3 -0
- package/dist/lib/pipeline-quality-gate-flags.js +12 -0
- package/dist/lib/pipeline-quality-gate-ops.js +9 -0
- package/dist/lib/pipeline-quality-gate-types.js +17 -0
- package/dist/lib/plugin-host/ai.js +2 -1
- package/dist/lib/plugin-skills.js +22 -0
- package/dist/lib/plugin-trust/gate.js +1 -2
- package/dist/lib/project-root.js +3 -1
- package/dist/lib/promotion-queue.js +5 -0
- package/dist/lib/promotion-run.js +2 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/salesforce-tooling-check.js +6 -0
- package/dist/lib/skill-packs.js +7 -0
- package/dist/lib/support-ai-context.js +11 -0
- package/dist/lib/support-ai-stream-parser.js +4 -0
- package/dist/lib/support-ai.js +9 -0
- package/dist/lib/testing-archive.js +9 -0
- package/dist/lib/testing-browser-command.js +6 -0
- package/dist/lib/testing-browser-operations.js +17 -0
- package/dist/lib/testing-browser-requests.js +11 -0
- package/dist/lib/testing-browser-robot.js +9 -0
- package/dist/lib/testing-browser-session.js +14 -0
- package/dist/lib/testing-browser-state.js +17 -0
- package/dist/lib/testing-browser-stream.js +7 -0
- package/dist/lib/testing-browser-types.js +3 -0
- package/dist/lib/testing-browser-viewer-key.js +7 -0
- package/dist/lib/testing-data-table.js +39 -0
- package/dist/lib/testing-execution.js +22 -0
- package/dist/lib/testing-flags.js +6 -2
- package/dist/lib/testing-gateway.js +5 -1
- package/dist/lib/testing-operations.js +9 -4
- package/dist/lib/testing-sanitization.js +3 -1
- package/dist/lib/testing-secret-input.js +2 -1
- package/dist/lib/testing-types.js +24 -3
- package/dist/lib/work-environment-sync.js +3 -1
- package/dist/lib/work-flags.js +6 -1
- package/dist/lib/work-local-development-flow.js +4 -0
- package/dist/lib/work-promote.js +2 -1
- package/dist/lib/work-submit-wait.js +3 -1
- package/oclif.manifest.json +8841 -7469
- package/package.json +45 -5
- package/templates/skills/agentia-ai/SKILL.md +9 -6
- package/templates/skills/agentia-ai/references/ai-agents.md +21 -3
- package/templates/skills/agentia-cicd/SKILL.md +8 -5
- package/templates/skills/agentia-cicd/references/environments-and-credentials.md +35 -13
- package/templates/skills/agentia-cicd/references/extensions.md +3 -0
- package/templates/skills/agentia-cicd/references/pipelines.md +36 -2
- package/templates/skills/agentia-cicd/references/promotions.md +10 -1
- package/templates/skills/agentia-cicd/references/work.md +20 -5
- package/templates/skills/agentia-metadata/SKILL.md +146 -0
- package/templates/skills/agentia-metadata/references/metadata-dependency.md +70 -0
- package/templates/skills/agentia-metadata/references/metadata-explore.md +146 -0
- package/templates/skills/agentia-testing/SKILL.md +12 -7
- package/templates/skills/agentia-testing/references/browser-testing.md +93 -0
- package/templates/skills/agentia-testing/references/flow-automation.md +112 -0
- package/templates/skills/agentia-testing/references/qforce.md +88 -0
- package/templates/skills/agentia-testing/references/qweb.md +103 -0
- package/templates/skills/agentia-testing/references/tests.md +31 -23
- package/dist/commands/testing/build/get.js +0 -38
- package/dist/commands/testing/build/latest.js +0 -40
- package/dist/commands/testing/build/logs.js +0 -47
- package/dist/commands/testing/build/run.js +0 -26
- package/dist/commands/testing/create.js +0 -2
- package/dist/commands/testing/job/download.js +0 -54
- package/dist/commands/testing/job/files.js +0 -34
- package/dist/commands/testing/live/continue.js +0 -21
- package/dist/commands/testing/live/execute.js +0 -43
- package/dist/commands/testing/live/history.js +0 -35
- package/dist/commands/testing/live/inspect.js +0 -30
- package/dist/commands/testing/live/interrupt.js +0 -21
- package/dist/commands/testing/live/recorder.js +0 -134
- package/dist/commands/testing/live/reports.js +0 -31
- package/dist/commands/testing/live/screenshot.js +0 -25
- package/dist/commands/testing/live/set-options.js +0 -28
- package/dist/commands/testing/live/start.js +0 -53
- package/dist/commands/testing/live/status.js +0 -27
- package/dist/commands/testing/live/stop.js +0 -38
- package/dist/commands/testing/live/view.js +0 -36
- package/dist/commands/testing/run.js +0 -26
- package/dist/commands/testing/status.js +0 -45
- package/dist/commands/testing/test/create.js +0 -2
- package/dist/commands/testing/test/logs.js +0 -2
- package/dist/commands/testing/test/run.js +0 -26
- package/dist/commands/testing/test/status.js +0 -2
- package/dist/commands/testing/test/update.js +0 -2
- package/dist/commands/testing/update.js +0 -65
- package/dist/lib/mcp/testing-live-tools.js +0 -215
- package/dist/lib/testing-data-command.js +0 -8
- package/dist/lib/testing-data-core.js +0 -20
- package/dist/lib/testing-data-export.js +0 -6
- package/dist/lib/testing-data-import.js +0 -6
- package/dist/lib/testing-data-io.js +0 -12
- package/dist/lib/testing-data-operations.js +0 -10
- package/dist/lib/testing-data-types.js +0 -4
- package/dist/lib/testing-live-command.js +0 -6
- package/dist/lib/testing-live-endpoints.js +0 -6
- package/dist/lib/testing-live-history.js +0 -7
- package/dist/lib/testing-live-operations.js +0 -19
- package/dist/lib/testing-live-recorder.js +0 -9
- package/dist/lib/testing-live-robot.js +0 -9
- package/dist/lib/testing-live-state.js +0 -5
- package/dist/lib/testing-live-types.js +0 -3
- package/dist/lib/testing-run-command.js +0 -3
- package/dist/lib/testing-schedule.js +0 -5
- package/dist/lib/testing-session.js +0 -5
- package/dist/lib/testing-watch.js +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
4
4
|
import { assertRequired, COMPARISON_MODES, formatDiffTable, normalizeDiffRows, } from '../../../../lib/metadata-common.js';
|
|
5
5
|
export function buildMetadataCompareRequest(flags) {
|
|
@@ -31,7 +31,7 @@ function formatSectionSummary(section) {
|
|
|
31
31
|
}
|
|
32
32
|
return parts.join(', ');
|
|
33
33
|
}
|
|
34
|
-
export default class MetadataCompare extends
|
|
34
|
+
export default class MetadataCompare extends CicdCommand {
|
|
35
35
|
static description = 'Compare metadata between orgs or Git branches';
|
|
36
36
|
static examples = [
|
|
37
37
|
'<%= config.bin %> <%= command.id %> --comparison-mode BRANCH_COMPARE --pipeline-id <id> --source-org-id <id> --source-credential-id <id> --target-org-id <id>',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
3
3
|
import { CicdGateway } from '../../../lib/cicd-gateway.js';
|
|
4
4
|
import { assertRequired, formatIndexSummary, formatIndexTable, INDEX_SOURCES, MODULE_TYPES, normalizeIndexRows, ORDER_DIRECTIONS, PLATFORM_EXPERIENCES, splitCsv, } from '../../../lib/metadata-common.js';
|
|
5
5
|
export function buildMetadataIndexRequest(flags) {
|
|
@@ -45,8 +45,8 @@ export function buildMetadataIndexRequest(flags) {
|
|
|
45
45
|
}
|
|
46
46
|
return body;
|
|
47
47
|
}
|
|
48
|
-
export default class MetadataSearch extends
|
|
49
|
-
static description = 'Search the metadata index for an org
|
|
48
|
+
export default class MetadataSearch extends CicdCommand {
|
|
49
|
+
static description = 'Search the metadata index for an org';
|
|
50
50
|
static examples = [
|
|
51
51
|
'<%= config.bin %> <%= command.id %> --pipeline-id <id> --source-org-id <id> --source-credential-id <id>',
|
|
52
52
|
'<%= config.bin %> <%= command.id %> --source Changed --metadata-types ApexClass --limit 100 --pipeline-id <id> --source-org-id <id> --source-credential-id <id>',
|
|
@@ -55,7 +55,7 @@ export default class MetadataSearch extends AgentiaCommand {
|
|
|
55
55
|
static flags = {
|
|
56
56
|
'avoid-source-tracking': Flags.boolean({
|
|
57
57
|
default: false,
|
|
58
|
-
description: 'Pass avoidSourceTracking=true to the
|
|
58
|
+
description: 'Pass avoidSourceTracking=true to the index route',
|
|
59
59
|
}),
|
|
60
60
|
'change-date-from': Flags.string({
|
|
61
61
|
description: 'Optional change-date-from filter (ISO datetime)',
|
|
@@ -92,7 +92,7 @@ export default class MetadataSearch extends AgentiaCommand {
|
|
|
92
92
|
}),
|
|
93
93
|
'platform-experience': Flags.string({
|
|
94
94
|
default: 'salesforce',
|
|
95
|
-
description: '
|
|
95
|
+
description: 'Platform experience header',
|
|
96
96
|
options: [...PLATFORM_EXPERIENCES],
|
|
97
97
|
}),
|
|
98
98
|
source: Flags.string({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
4
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
5
5
|
import { MODULE_TYPES } from '../../../../lib/metadata-common.js';
|
|
6
6
|
import { buildRefreshDeletedRequest, formatRefreshDeletedResult, resolveRefreshSourceFromEnv, } from '../../../../lib/metadata-refresh.js';
|
|
7
|
-
export default class MetadataRefreshDeleted extends
|
|
8
|
-
static description = 'Refresh the deleted metadata index
|
|
7
|
+
export default class MetadataRefreshDeleted extends CicdCommand {
|
|
8
|
+
static description = 'Refresh the deleted metadata index';
|
|
9
9
|
static examples = [
|
|
10
10
|
'<%= config.bin %> <%= command.id %> --env <environment-id>',
|
|
11
11
|
'<%= config.bin %> <%= command.id %> --env <environment-id> --module-type vlocity --json',
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
4
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
5
5
|
import { MODULE_TYPES, PLATFORM_EXPERIENCES, splitCsv, } from '../../../../lib/metadata-common.js';
|
|
6
6
|
import { buildRefreshIndexRequest, formatIndexRefreshResult, resolveRefreshSourceFromEnv, } from '../../../../lib/metadata-refresh.js';
|
|
7
|
-
export default class MetadataRefreshRun extends
|
|
8
|
-
static description = 'Trigger a metadata index refresh
|
|
7
|
+
export default class MetadataRefreshRun extends CicdCommand {
|
|
8
|
+
static description = 'Trigger a metadata index refresh';
|
|
9
9
|
static examples = [
|
|
10
10
|
'<%= config.bin %> <%= command.id %> --env <environment-id>',
|
|
11
11
|
'<%= config.bin %> <%= command.id %> --env <environment-id> --all --json',
|
|
@@ -30,7 +30,7 @@ export default class MetadataRefreshRun extends AgentiaCommand {
|
|
|
30
30
|
}),
|
|
31
31
|
'platform-experience': Flags.string({
|
|
32
32
|
default: 'salesforce',
|
|
33
|
-
description: '
|
|
33
|
+
description: 'Platform experience header',
|
|
34
34
|
options: [...PLATFORM_EXPERIENCES],
|
|
35
35
|
}),
|
|
36
36
|
'refresh-mode': Flags.string({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
4
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
5
5
|
import { MODULE_TYPES, PLATFORM_EXPERIENCES } from '../../../../lib/metadata-common.js';
|
|
6
6
|
import { formatIndexRefreshResult, refreshStatusEndpoint } from '../../../../lib/metadata-refresh.js';
|
|
7
|
-
export default class MetadataRefreshStatus extends
|
|
8
|
-
static description = 'Get metadata index refresh status
|
|
7
|
+
export default class MetadataRefreshStatus extends CicdCommand {
|
|
8
|
+
static description = 'Get metadata index refresh status';
|
|
9
9
|
static examples = [
|
|
10
10
|
'<%= config.bin %> <%= command.id %> --job-id <event-id>',
|
|
11
11
|
'<%= config.bin %> <%= command.id %> --job-id <event-id> --json',
|
|
@@ -20,7 +20,7 @@ export default class MetadataRefreshStatus extends AgentiaCommand {
|
|
|
20
20
|
}),
|
|
21
21
|
'platform-experience': Flags.string({
|
|
22
22
|
default: 'salesforce',
|
|
23
|
-
description: '
|
|
23
|
+
description: 'Platform experience header used by the trigger request',
|
|
24
24
|
options: [...PLATFORM_EXPERIENCES],
|
|
25
25
|
}),
|
|
26
26
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
3
3
|
import { configureNotification, formatConfigureNotificationSummary, NOTIFICATION_DESTINATION_TYPES, NOTIFICATION_EVENTS, NOTIFICATION_SUBSCRIPTIONS, NotificationConfigureInputError, withNotificationConfigureErrorTranslation, } from '../../../lib/notifications-configure.js';
|
|
4
|
-
export default class NotificationConfigure extends
|
|
4
|
+
export default class NotificationConfigure extends CicdCommand {
|
|
5
5
|
static description = 'Configure one Slack notification subscription for the current user on a pipeline';
|
|
6
6
|
static examples = [
|
|
7
7
|
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --event Promotion_Failed --destination-type user --destination-id U0123ABCD --subscription user',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
3
3
|
import { NotificationConfigureInputError } from '../../../lib/notifications-configure.js';
|
|
4
4
|
import { formatNotificationSubscriptionsTable, getNotificationSubscriptions, NotificationGetUserUnavailableError, } from '../../../lib/notifications-get.js';
|
|
5
|
-
export default class NotificationGet extends
|
|
5
|
+
export default class NotificationGet extends CicdCommand {
|
|
6
6
|
static description = 'List Slack notification subscriptions for the current user on a pipeline';
|
|
7
7
|
static examples = [
|
|
8
8
|
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id>',
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
|
+
import { activatePipelineAutomationRule } from '../../../../lib/pipeline-automation-ops.js';
|
|
5
|
+
import { assertSalesforceLifecycleId } from '../../../../lib/pipeline-lifecycle-id.js';
|
|
6
|
+
export default class PipelineAutomationActivate extends CicdCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Automation rule Salesforce ID (not name)',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Activate a Copado pipeline automation rule';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id>',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --json',
|
|
17
|
+
];
|
|
18
|
+
static flags = {
|
|
19
|
+
'pipeline-id': Flags.string({
|
|
20
|
+
description: 'Pipeline ID or name',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { args, flags } = await this.parse(PipelineAutomationActivate);
|
|
26
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
27
|
+
let ruleId;
|
|
28
|
+
try {
|
|
29
|
+
ruleId = assertSalesforceLifecycleId(args.id, 'Automation rule ID');
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
33
|
+
}
|
|
34
|
+
await this.withSpinner('Activating pipeline automation rule', () => activatePipelineAutomationRule(pipelineId, ruleId));
|
|
35
|
+
this.display(() => this.log(`Activated automation rule (ID: ${ruleId}).`));
|
|
36
|
+
return { id: ruleId, pipelineId };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=activate.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
2
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
3
|
+
import { buildPipelineAutomationCreatePayload, pipelineAutomationMutationFlags, } from '../../../../lib/pipeline-automation-flags.js';
|
|
4
|
+
import { createPipelineAutomationRule } from '../../../../lib/pipeline-automation-ops.js';
|
|
5
|
+
import { formatPipelineAutomationRuleDetail, } from '../../../../lib/pipeline-automation-types.js';
|
|
6
|
+
export default class PipelineAutomationCreate extends CicdCommand {
|
|
7
|
+
static description = 'Create an inactive Copado pipeline automation rule';
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --name "Promote after successful deploy" --scope promotion --execution-time Immediate --promotion-trigger automated --environment-id <env-id>',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --name "Nightly back promote" --scope backPromotion --execution-time Scheduled --cron-expression "0 2 * * *" --stage-id <stage-id> --json',
|
|
11
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --name "Promote matching stories" --scope promotion --execution-time Immediate --promotion-trigger manual --environment-id <env-id> --filter-criteria \'{"mode":"builder","logic":"AND","conditions":[{"field":"Name","operator":"contains","value":"US-"}]}\'',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --name "Custom after commit" --scope advanced --execution-time Immediate --source-action Commit --source-action-status Successful --custom-automation-connector <connector-id> --environment-id <env-id>',
|
|
13
|
+
];
|
|
14
|
+
static flags = pipelineAutomationMutationFlags;
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(PipelineAutomationCreate);
|
|
17
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
18
|
+
let payload;
|
|
19
|
+
try {
|
|
20
|
+
payload = await buildPipelineAutomationCreatePayload(flags);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
24
|
+
}
|
|
25
|
+
const created = await this.withSpinner('Creating pipeline automation rule', () => createPipelineAutomationRule(pipelineId, payload));
|
|
26
|
+
this.display(() => {
|
|
27
|
+
this.log(`Created inactive automation rule (ID: ${created.id ?? 'unknown'}).`);
|
|
28
|
+
this.log(formatPipelineAutomationRuleDetail(created));
|
|
29
|
+
});
|
|
30
|
+
return created;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
|
+
import { deactivatePipelineAutomationRule } from '../../../../lib/pipeline-automation-ops.js';
|
|
5
|
+
import { assertSalesforceLifecycleId } from '../../../../lib/pipeline-lifecycle-id.js';
|
|
6
|
+
export default class PipelineAutomationDeactivate extends CicdCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Automation rule Salesforce ID (not name)',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Deactivate a Copado pipeline automation rule';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id>',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --json',
|
|
17
|
+
];
|
|
18
|
+
static flags = {
|
|
19
|
+
'pipeline-id': Flags.string({
|
|
20
|
+
description: 'Pipeline ID or name',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { args, flags } = await this.parse(PipelineAutomationDeactivate);
|
|
26
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
27
|
+
let ruleId;
|
|
28
|
+
try {
|
|
29
|
+
ruleId = assertSalesforceLifecycleId(args.id, 'Automation rule ID');
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
33
|
+
}
|
|
34
|
+
await this.withSpinner('Deactivating pipeline automation rule', () => deactivatePipelineAutomationRule(pipelineId, ruleId));
|
|
35
|
+
this.display(() => this.log(`Deactivated automation rule (ID: ${ruleId}).`));
|
|
36
|
+
return { id: ruleId, pipelineId };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=deactivate.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { confirm } from '@inquirer/prompts';
|
|
2
|
+
import { Args, Flags } from '@oclif/core';
|
|
3
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
4
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
5
|
+
import { deletePipelineAutomationRule } from '../../../../lib/pipeline-automation-ops.js';
|
|
6
|
+
export default class PipelineAutomationDelete extends CicdCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Automation rule ID or name',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Delete a Copado pipeline automation rule';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --yes',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --yes --json',
|
|
17
|
+
];
|
|
18
|
+
static flags = {
|
|
19
|
+
'pipeline-id': Flags.string({
|
|
20
|
+
description: 'Pipeline ID or name',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
yes: Flags.boolean({
|
|
24
|
+
char: 'y',
|
|
25
|
+
default: false,
|
|
26
|
+
description: 'Confirm deletion without prompting',
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
async run() {
|
|
30
|
+
const { args, flags } = await this.parse(PipelineAutomationDelete);
|
|
31
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
32
|
+
if (!flags.yes) {
|
|
33
|
+
if (this.jsonEnabled() || !process.stdin.isTTY) {
|
|
34
|
+
this.error('Automation rule deletion requires confirmation. Pass --yes for headless or JSON execution.', { exit: 2 });
|
|
35
|
+
}
|
|
36
|
+
if (!(await confirm({ default: false, message: `Delete automation rule ${args.id}?` }))) {
|
|
37
|
+
this.error('Automation rule deletion canceled.', { exit: 1 });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
await this.withSpinner('Deleting pipeline automation rule', () => deletePipelineAutomationRule(pipelineId, args.id));
|
|
41
|
+
this.display(() => this.log(`Deleted automation rule (ID: ${args.id}).`));
|
|
42
|
+
return { id: args.id, pipelineId };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
|
+
import { fetchPipelineAutomationRule } from '../../../../lib/pipeline-automation-ops.js';
|
|
5
|
+
import { formatPipelineAutomationRuleDetail, } from '../../../../lib/pipeline-automation-types.js';
|
|
6
|
+
export default class PipelineAutomationGet extends CicdCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Automation rule ID or name',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Get a Copado pipeline automation rule';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id>',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --json',
|
|
17
|
+
];
|
|
18
|
+
static flags = {
|
|
19
|
+
'pipeline-id': Flags.string({
|
|
20
|
+
description: 'Pipeline ID or name',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { args, flags } = await this.parse(PipelineAutomationGet);
|
|
26
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
27
|
+
const rule = await this.withSpinner('Fetching pipeline automation rule', () => fetchPipelineAutomationRule(pipelineId, args.id));
|
|
28
|
+
this.display(() => this.log(formatPipelineAutomationRuleDetail(rule)));
|
|
29
|
+
return rule;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
2
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
3
|
+
import { displayListPagination } from '../../../../lib/list-pagination.js';
|
|
4
|
+
import { pipelineAutomationListFlags } from '../../../../lib/pipeline-automation-flags.js';
|
|
5
|
+
import { fetchPipelineAutomationRules } from '../../../../lib/pipeline-automation-ops.js';
|
|
6
|
+
import { formatPipelineAutomationRuleTable, } from '../../../../lib/pipeline-automation-types.js';
|
|
7
|
+
export default class PipelineAutomationList extends CicdCommand {
|
|
8
|
+
static description = 'List Copado pipeline automation rules';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id>',
|
|
11
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --active --json',
|
|
12
|
+
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id> --include-system-generated',
|
|
13
|
+
];
|
|
14
|
+
static flags = pipelineAutomationListFlags;
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(PipelineAutomationList);
|
|
17
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
18
|
+
const page = await this.withSpinner('Fetching pipeline automation rules', () => fetchPipelineAutomationRules(pipelineId, {
|
|
19
|
+
active: flags.active,
|
|
20
|
+
cursor: flags.cursor,
|
|
21
|
+
executionTime: flags['execution-time'],
|
|
22
|
+
includeSystemGenerated: flags['include-system-generated'] ? true : undefined,
|
|
23
|
+
name: flags.name,
|
|
24
|
+
pageSize: flags['page-size'],
|
|
25
|
+
sourceAction: flags['source-action'],
|
|
26
|
+
}));
|
|
27
|
+
this.display(() => {
|
|
28
|
+
if (page.data.length === 0) {
|
|
29
|
+
this.log('No pipeline automation rules found.');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this.log(formatPipelineAutomationRuleTable(page.data));
|
|
33
|
+
displayListPagination(this.log.bind(this), page);
|
|
34
|
+
});
|
|
35
|
+
return page;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
|
+
import { openNavigationTarget } from '../../../../lib/navigation-open.js';
|
|
4
|
+
import { resolveNavigationTarget } from '../../../../lib/navigation.js';
|
|
5
|
+
import { assertSalesforceLifecycleId } from '../../../../lib/pipeline-lifecycle-id.js';
|
|
6
|
+
export default class PipelineAutomationOpen extends CicdCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Automation rule Salesforce ID',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Open a Copado pipeline automation rule in the browser';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <rule-id>',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --json',
|
|
17
|
+
];
|
|
18
|
+
async run() {
|
|
19
|
+
const { args } = await this.parse(PipelineAutomationOpen);
|
|
20
|
+
let ruleId;
|
|
21
|
+
try {
|
|
22
|
+
ruleId = assertSalesforceLifecycleId(args.id, 'Automation rule ID');
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
26
|
+
}
|
|
27
|
+
const target = await this.withSpinner('Resolving navigation URL', () => resolveNavigationTarget({
|
|
28
|
+
id: ruleId,
|
|
29
|
+
resourceType: 'automation_rule',
|
|
30
|
+
}));
|
|
31
|
+
await openNavigationTarget(target, {
|
|
32
|
+
jsonEnabled: this.jsonEnabled(),
|
|
33
|
+
log: this.log.bind(this),
|
|
34
|
+
});
|
|
35
|
+
return target;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
|
+
import { buildPipelineAutomationUpdatePayload, pipelineAutomationMutationFlags, } from '../../../../lib/pipeline-automation-flags.js';
|
|
5
|
+
import { updatePipelineAutomationRule } from '../../../../lib/pipeline-automation-ops.js';
|
|
6
|
+
import { formatPipelineAutomationRuleDetail, } from '../../../../lib/pipeline-automation-types.js';
|
|
7
|
+
export default class PipelineAutomationUpdate extends CicdCommand {
|
|
8
|
+
static args = {
|
|
9
|
+
id: Args.string({
|
|
10
|
+
description: 'Automation rule ID or name',
|
|
11
|
+
required: true,
|
|
12
|
+
}),
|
|
13
|
+
};
|
|
14
|
+
static description = 'Update a Copado pipeline automation rule';
|
|
15
|
+
static examples = [
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --name "Renamed rule"',
|
|
17
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --execution-time Scheduled --cron-expression "0 2 * * *" --json',
|
|
18
|
+
];
|
|
19
|
+
static flags = pipelineAutomationMutationFlags;
|
|
20
|
+
async run() {
|
|
21
|
+
const { args, flags } = await this.parse(PipelineAutomationUpdate);
|
|
22
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
23
|
+
let payload;
|
|
24
|
+
try {
|
|
25
|
+
payload = await buildPipelineAutomationUpdatePayload(flags);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
29
|
+
}
|
|
30
|
+
const updated = await this.withSpinner('Updating pipeline automation rule', () => updatePipelineAutomationRule(pipelineId, args.id, payload));
|
|
31
|
+
this.display(() => {
|
|
32
|
+
this.log(`Updated automation rule (ID: ${updated.id ?? args.id}).`);
|
|
33
|
+
this.log(formatPipelineAutomationRuleDetail(updated));
|
|
34
|
+
});
|
|
35
|
+
return updated;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
2
2
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
3
3
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
4
4
|
import { buildPipelineConnectionCreatePayload, pipelineConnectionCreateFlags, readPipelineConnectionArrayFromFile, validatePipelineConnectionCreatePayload, } from '../../../../lib/pipeline-connection-flags.js';
|
|
5
5
|
import { normalizePipelineConnections, pipelineConnectionsEndpoint, } from '../../../../lib/pipeline-types.js';
|
|
6
|
-
export default class PipelineConnectionCreate extends
|
|
6
|
+
export default class PipelineConnectionCreate extends CicdCommand {
|
|
7
7
|
static description = 'Create one or more Copado pipeline connections';
|
|
8
8
|
static examples = [
|
|
9
9
|
'<%= config.bin %> <%= command.id %> --pipeline-id pipeline-1 --source-environment-id env-1 --destination-environment-id env-2 --branch main',
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { confirm } from '@inquirer/prompts';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
4
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
5
5
|
import { pipelineConnectionDeleteFlags, readPipelineConnectionIdsFromFile, } from '../../../../lib/pipeline-connection-flags.js';
|
|
6
6
|
import { pipelineConnectionsEndpoint } from '../../../../lib/pipeline-types.js';
|
|
7
|
-
export default class PipelineConnectionDelete extends
|
|
7
|
+
export default class PipelineConnectionDelete extends CicdCommand {
|
|
8
8
|
static description = 'Delete one or more Copado pipeline connections';
|
|
9
9
|
static examples = [
|
|
10
10
|
'<%= config.bin %> <%= command.id %> --pipeline-id pipeline-1 --connection-id conn-1 --yes',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
4
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
5
5
|
import { formatPipelineConnectionTable, normalizePipelineDescribe, pipelineDescribeEndpoint, } from '../../../../lib/pipeline-types.js';
|
|
6
|
-
export default class PipelineConnectionList extends
|
|
6
|
+
export default class PipelineConnectionList extends CicdCommand {
|
|
7
7
|
static description = 'List connections for a Copado pipeline';
|
|
8
8
|
static examples = [
|
|
9
9
|
'<%= config.bin %> <%= command.id %> --pipeline-id <pipeline-id>',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Args } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
3
|
import { openNavigationTarget } from '../../../../lib/navigation-open.js';
|
|
4
4
|
import { resolveNavigationTarget } from '../../../../lib/navigation.js';
|
|
5
|
-
export default class PipelineConnectionOpen extends
|
|
5
|
+
export default class PipelineConnectionOpen extends CicdCommand {
|
|
6
6
|
static args = {
|
|
7
7
|
id: Args.string({
|
|
8
8
|
description: 'Pipeline connection ID',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
2
2
|
import { assertRequired } from '../../../../lib/assert.js';
|
|
3
3
|
import { CicdGateway } from '../../../../lib/cicd-gateway.js';
|
|
4
4
|
import { buildPipelineConnectionUpdatePayload, pipelineConnectionUpdateFlags, readPipelineConnectionUpdateArrayFromFile, validatePipelineConnectionUpdatePayload, } from '../../../../lib/pipeline-connection-flags.js';
|
|
5
5
|
import { normalizePipelineConnections, pipelineConnectionsEndpoint, } from '../../../../lib/pipeline-types.js';
|
|
6
|
-
export default class PipelineConnectionUpdate extends
|
|
6
|
+
export default class PipelineConnectionUpdate extends CicdCommand {
|
|
7
7
|
static description = 'Update one or more Copado pipeline connections';
|
|
8
8
|
static examples = [
|
|
9
9
|
'<%= config.bin %> <%= command.id %> --pipeline-id pipeline-1 --connection-id conn-1 --destination-branch develop',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Args } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
3
3
|
import { CicdGateway } from '../../../lib/cicd-gateway.js';
|
|
4
4
|
import { buildPipelineCreatePayload, pipelineCreateFlags, validatePipelineMutationPayload, } from '../../../lib/pipeline-flags.js';
|
|
5
5
|
import { normalizePipeline, pipelineListEndpoint, } from '../../../lib/pipeline-types.js';
|
|
6
|
-
export default class PipelineCreate extends
|
|
6
|
+
export default class PipelineCreate extends CicdCommand {
|
|
7
7
|
static args = {
|
|
8
8
|
name: Args.string({
|
|
9
9
|
description: 'Name of the Copado pipeline to create',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Args } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
3
3
|
import { fetchPipeline } from '../../../lib/pipeline-get.js';
|
|
4
4
|
import { formatPipelineDetail } from '../../../lib/pipeline-types.js';
|
|
5
|
-
export default class PipelineGet extends
|
|
5
|
+
export default class PipelineGet extends CicdCommand {
|
|
6
6
|
static args = {
|
|
7
7
|
id: Args.string({
|
|
8
8
|
description: 'Pipeline Id',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
2
2
|
import { displayListPagination, } from '../../../lib/list-pagination.js';
|
|
3
3
|
import { buildPipelineListFilters, pipelineListFlags } from '../../../lib/pipeline-flags.js';
|
|
4
4
|
import { fetchPipelines } from '../../../lib/pipeline-get.js';
|
|
5
5
|
import { formatPipelineTable } from '../../../lib/pipeline-types.js';
|
|
6
|
-
export default class PipelineList extends
|
|
6
|
+
export default class PipelineList extends CicdCommand {
|
|
7
7
|
static description = 'List Copado pipelines';
|
|
8
8
|
static examples = [
|
|
9
9
|
'<%= config.bin %> <%= command.id %>',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Args } from '@oclif/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CicdCommand } from '../../../lib/cicd-command.js';
|
|
3
3
|
import { openNavigationTarget } from '../../../lib/navigation-open.js';
|
|
4
4
|
import { resolveNavigationTarget } from '../../../lib/navigation.js';
|
|
5
|
-
export default class PipelineOpen extends
|
|
5
|
+
export default class PipelineOpen extends CicdCommand {
|
|
6
6
|
static args = {
|
|
7
7
|
id: Args.string({
|
|
8
8
|
description: 'Pipeline ID',
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { CicdCommand } from '../../../../lib/cicd-command.js';
|
|
3
|
+
import { assertRequired } from '../../../../lib/assert.js';
|
|
4
|
+
import { assertSalesforceLifecycleId } from '../../../../lib/pipeline-lifecycle-id.js';
|
|
5
|
+
import { activatePipelineQualityGate } from '../../../../lib/pipeline-quality-gate-ops.js';
|
|
6
|
+
export default class PipelineQualityGateActivate extends CicdCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Quality gate Salesforce ID (not name)',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Activate a Copado pipeline quality gate';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id>',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> <rule-id> --pipeline-id <pipeline-id> --json',
|
|
17
|
+
];
|
|
18
|
+
static flags = {
|
|
19
|
+
'pipeline-id': Flags.string({
|
|
20
|
+
description: 'Pipeline ID or name',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { args, flags } = await this.parse(PipelineQualityGateActivate);
|
|
26
|
+
const pipelineId = assertRequired(flags['pipeline-id'], '--pipeline-id');
|
|
27
|
+
let ruleId;
|
|
28
|
+
try {
|
|
29
|
+
ruleId = assertSalesforceLifecycleId(args.id, 'Quality gate ID');
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.error(error instanceof Error ? error.message : String(error), { exit: 2 });
|
|
33
|
+
}
|
|
34
|
+
await this.withSpinner('Activating pipeline quality gate', () => activatePipelineQualityGate(pipelineId, ruleId));
|
|
35
|
+
this.display(() => this.log(`Activated quality gate (ID: ${ruleId}).`));
|
|
36
|
+
return { id: ruleId, pipelineId };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=activate.js.map
|