@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.
Files changed (394) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +3290 -2095
  3. package/dist/commands/ai/agent/ask.js +4 -4
  4. package/dist/commands/ai/agent/chat.js +4 -4
  5. package/dist/commands/auth/get.js +21 -1
  6. package/dist/commands/auth/set.js +13 -0
  7. package/dist/commands/auth/unset.js +37 -0
  8. package/dist/commands/cicd/cloud/commit.js +2 -2
  9. package/dist/commands/cicd/cloud/promote.js +19 -5
  10. package/dist/commands/cicd/credential/auth/status.js +38 -0
  11. package/dist/commands/cicd/credential/auth/web/login.js +54 -0
  12. package/dist/commands/cicd/credential/create.js +2 -2
  13. package/dist/commands/cicd/credential/list.js +15 -19
  14. package/dist/commands/cicd/credential/open.js +30 -0
  15. package/dist/commands/cicd/credential/update.js +11 -14
  16. package/dist/commands/cicd/data/commit/create.js +2 -2
  17. package/dist/commands/cicd/data/commit/list.js +2 -2
  18. package/dist/commands/cicd/data/dataset-file/content.js +2 -2
  19. package/dist/commands/cicd/data/dataset-file/list.js +2 -2
  20. package/dist/commands/cicd/data/filter/add.js +2 -2
  21. package/dist/commands/cicd/data/filter/delete.js +2 -2
  22. package/dist/commands/cicd/data/filter/list.js +2 -2
  23. package/dist/commands/cicd/data/filter/update.js +2 -2
  24. package/dist/commands/cicd/data/formula/create.js +2 -2
  25. package/dist/commands/cicd/data/formula/list.js +2 -2
  26. package/dist/commands/cicd/data/formula/update.js +2 -2
  27. package/dist/commands/cicd/data/records/match.js +2 -2
  28. package/dist/commands/cicd/data/records/search.js +2 -2
  29. package/dist/commands/cicd/data/sobject/fields.js +2 -2
  30. package/dist/commands/cicd/data/sobject/relationships.js +2 -2
  31. package/dist/commands/cicd/data/sync/apply.js +2 -2
  32. package/dist/commands/cicd/data/sync/preview-updates.js +2 -2
  33. package/dist/commands/cicd/data/template/convert-old.js +2 -2
  34. package/dist/commands/cicd/data/template/create.js +2 -2
  35. package/dist/commands/cicd/data/template/delete.js +2 -2
  36. package/dist/commands/cicd/data/template/get-detail.js +2 -2
  37. package/dist/commands/cicd/data/template/get.js +2 -2
  38. package/dist/commands/cicd/data/template/list.js +2 -2
  39. package/dist/commands/cicd/data/template/open.js +2 -2
  40. package/dist/commands/cicd/data/template/save-detail.js +2 -2
  41. package/dist/commands/cicd/environment/auth/status.js +36 -15
  42. package/dist/commands/cicd/environment/auth/web/login.js +22 -6
  43. package/dist/commands/cicd/environment/create.js +2 -2
  44. package/dist/commands/cicd/environment/get.js +2 -2
  45. package/dist/commands/cicd/environment/list.js +2 -2
  46. package/dist/commands/cicd/environment/open.js +8 -24
  47. package/dist/commands/cicd/environment/update.js +2 -2
  48. package/dist/commands/cicd/extension/create.js +2 -2
  49. package/dist/commands/cicd/extension/install.js +2 -2
  50. package/dist/commands/cicd/extension/package.js +2 -2
  51. package/dist/commands/cicd/extension/publish.js +2 -2
  52. package/dist/commands/cicd/extension/uninstall.js +2 -2
  53. package/dist/commands/cicd/extension/validate.js +2 -2
  54. package/dist/commands/cicd/extension-configuration/get.js +24 -0
  55. package/dist/commands/cicd/extension-configuration/list.js +49 -0
  56. package/dist/commands/cicd/extension-configuration/open.js +38 -0
  57. package/dist/commands/cicd/function/defaults.js +2 -2
  58. package/dist/commands/cicd/function/delete.js +2 -2
  59. package/dist/commands/cicd/function/get.js +2 -2
  60. package/dist/commands/cicd/function/list.js +2 -2
  61. package/dist/commands/cicd/function/open.js +2 -2
  62. package/dist/commands/cicd/function/result/get.js +2 -2
  63. package/dist/commands/cicd/function/result/log/get.js +2 -2
  64. package/dist/commands/cicd/function/run-local.js +2 -2
  65. package/dist/commands/cicd/function/run.js +2 -2
  66. package/dist/commands/cicd/function/upsert.js +2 -2
  67. package/dist/commands/cicd/health-check.js +2 -2
  68. package/dist/commands/cicd/job/get.js +2 -2
  69. package/dist/commands/cicd/job/kill.js +2 -2
  70. package/dist/commands/cicd/job/list.js +2 -2
  71. package/dist/commands/cicd/job/log/get.js +2 -2
  72. package/dist/commands/cicd/job/open.js +2 -2
  73. package/dist/commands/cicd/job/pause.js +2 -2
  74. package/dist/commands/cicd/job/result-file/get.js +2 -2
  75. package/dist/commands/cicd/job/result-file/list.js +2 -2
  76. package/dist/commands/cicd/job/resume.js +2 -2
  77. package/dist/commands/cicd/job/run.js +2 -2
  78. package/dist/commands/cicd/metadata/content/compare.js +2 -2
  79. package/dist/commands/cicd/metadata/content/get.js +3 -3
  80. package/dist/commands/cicd/metadata/dependency/list.js +45 -22
  81. package/dist/commands/cicd/metadata/explore.js +81 -0
  82. package/dist/commands/cicd/metadata/index/compare.js +2 -2
  83. package/dist/commands/cicd/metadata/list.js +5 -5
  84. package/dist/commands/cicd/metadata/refresh/deleted.js +3 -3
  85. package/dist/commands/cicd/metadata/refresh/run.js +4 -4
  86. package/dist/commands/cicd/metadata/refresh/status.js +4 -4
  87. package/dist/commands/cicd/notification/configure.js +2 -2
  88. package/dist/commands/cicd/notification/get.js +2 -2
  89. package/dist/commands/cicd/pipeline/automation/activate.js +39 -0
  90. package/dist/commands/cicd/pipeline/automation/create.js +33 -0
  91. package/dist/commands/cicd/pipeline/automation/deactivate.js +39 -0
  92. package/dist/commands/cicd/pipeline/automation/delete.js +45 -0
  93. package/dist/commands/cicd/pipeline/automation/get.js +32 -0
  94. package/dist/commands/cicd/pipeline/automation/list.js +38 -0
  95. package/dist/commands/cicd/pipeline/automation/open.js +38 -0
  96. package/dist/commands/cicd/pipeline/automation/update.js +38 -0
  97. package/dist/commands/cicd/pipeline/connection/create.js +2 -2
  98. package/dist/commands/cicd/pipeline/connection/delete.js +2 -2
  99. package/dist/commands/cicd/pipeline/connection/list.js +2 -2
  100. package/dist/commands/cicd/pipeline/connection/open.js +2 -2
  101. package/dist/commands/cicd/pipeline/connection/update.js +2 -2
  102. package/dist/commands/cicd/pipeline/create.js +2 -2
  103. package/dist/commands/cicd/pipeline/get.js +2 -2
  104. package/dist/commands/cicd/pipeline/list.js +2 -2
  105. package/dist/commands/cicd/pipeline/open.js +2 -2
  106. package/dist/commands/cicd/pipeline/quality-gate/activate.js +39 -0
  107. package/dist/commands/cicd/pipeline/quality-gate/create.js +34 -0
  108. package/dist/commands/cicd/pipeline/quality-gate/deactivate.js +39 -0
  109. package/dist/commands/cicd/pipeline/quality-gate/delete.js +45 -0
  110. package/dist/commands/cicd/pipeline/quality-gate/get.js +32 -0
  111. package/dist/commands/cicd/pipeline/quality-gate/list.js +34 -0
  112. package/dist/commands/cicd/pipeline/quality-gate/open.js +38 -0
  113. package/dist/commands/cicd/pipeline/quality-gate/update.js +38 -0
  114. package/dist/commands/cicd/pipeline/stage-connection/create.js +2 -2
  115. package/dist/commands/cicd/pipeline/stage-connection/delete.js +2 -2
  116. package/dist/commands/cicd/pipeline/stage-connection/list.js +2 -2
  117. package/dist/commands/cicd/pipeline/stage-connection/open.js +2 -2
  118. package/dist/commands/cicd/pipeline/stage-connection/update.js +2 -2
  119. package/dist/commands/cicd/pipeline/update.js +2 -2
  120. package/dist/commands/cicd/project/create.js +2 -2
  121. package/dist/commands/cicd/project/default/get.js +2 -2
  122. package/dist/commands/cicd/project/default/set.js +2 -2
  123. package/dist/commands/cicd/project/default/unset.js +2 -2
  124. package/dist/commands/cicd/project/delete.js +2 -2
  125. package/dist/commands/cicd/project/get.js +2 -2
  126. package/dist/commands/cicd/project/list.js +2 -2
  127. package/dist/commands/cicd/project/open.js +2 -2
  128. package/dist/commands/cicd/project/update.js +2 -2
  129. package/dist/commands/cicd/promotion/conflict/get.js +2 -2
  130. package/dist/commands/cicd/promotion/conflict/list.js +2 -2
  131. package/dist/commands/cicd/promotion/conflict/resolve.js +2 -2
  132. package/dist/commands/cicd/promotion/conflict/unresolve.js +2 -2
  133. package/dist/commands/cicd/promotion/get.js +2 -2
  134. package/dist/commands/cicd/promotion/job-step/update.js +2 -2
  135. package/dist/commands/cicd/promotion/list.js +2 -2
  136. package/dist/commands/cicd/promotion/open.js +2 -2
  137. package/dist/commands/cicd/promotion/queue/list.js +28 -0
  138. package/dist/commands/cicd/promotion/queue/remove.js +37 -0
  139. package/dist/commands/cicd/promotion/run.js +2 -2
  140. package/dist/commands/cicd/repository/auth/https/configure.js +2 -2
  141. package/dist/commands/cicd/repository/auth/oauth/login.js +2 -2
  142. package/dist/commands/cicd/repository/auth/setup.js +2 -2
  143. package/dist/commands/cicd/repository/auth/ssh/configure.js +2 -2
  144. package/dist/commands/cicd/repository/create.js +2 -2
  145. package/dist/commands/cicd/repository/delete.js +2 -2
  146. package/dist/commands/cicd/repository/get.js +2 -2
  147. package/dist/commands/cicd/repository/list.js +2 -2
  148. package/dist/commands/cicd/repository/open.js +2 -2
  149. package/dist/commands/cicd/repository/reset.js +2 -2
  150. package/dist/commands/cicd/repository/update.js +2 -2
  151. package/dist/commands/cicd/repository/validate.js +2 -2
  152. package/dist/commands/cicd/stage/create.js +2 -2
  153. package/dist/commands/cicd/stage/delete.js +2 -2
  154. package/dist/commands/cicd/stage/get.js +2 -2
  155. package/dist/commands/cicd/stage/list.js +2 -2
  156. package/dist/commands/cicd/stage/open.js +2 -2
  157. package/dist/commands/cicd/stage/update.js +2 -2
  158. package/dist/commands/cicd/template/defaults.js +2 -2
  159. package/dist/commands/cicd/template/delete.js +2 -2
  160. package/dist/commands/cicd/template/get.js +2 -2
  161. package/dist/commands/cicd/template/list.js +2 -2
  162. package/dist/commands/cicd/template/upsert.js +2 -2
  163. package/dist/commands/cicd/user/get.js +2 -2
  164. package/dist/commands/cicd/work/ahead-behind.js +2 -2
  165. package/dist/commands/cicd/work/create.js +3 -2
  166. package/dist/commands/cicd/work/delete.js +2 -2
  167. package/dist/commands/cicd/work/deployment-step/create.js +2 -2
  168. package/dist/commands/cicd/work/deployment-step/delete.js +2 -2
  169. package/dist/commands/cicd/work/deployment-step/list.js +2 -2
  170. package/dist/commands/cicd/work/deployment-step/reorder.js +2 -2
  171. package/dist/commands/cicd/work/deployment-step/salesforce-flows.js +2 -2
  172. package/dist/commands/cicd/work/deployment-step/types.js +2 -2
  173. package/dist/commands/cicd/work/deployment-step/update.js +2 -2
  174. package/dist/commands/cicd/work/done.js +2 -2
  175. package/dist/commands/cicd/work/environment-sync.js +10 -9
  176. package/dist/commands/cicd/work/get.js +2 -2
  177. package/dist/commands/cicd/work/list.js +2 -2
  178. package/dist/commands/cicd/work/open.js +2 -2
  179. package/dist/commands/cicd/work/promote.js +2 -2
  180. package/dist/commands/cicd/work/publish.js +2 -2
  181. package/dist/commands/cicd/work/push.js +2 -2
  182. package/dist/commands/cicd/work/set.js +8 -6
  183. package/dist/commands/cicd/work/status.js +2 -2
  184. package/dist/commands/cicd/work/submit.js +5 -4
  185. package/dist/commands/cicd/work/test/apex.js +2 -2
  186. package/dist/commands/cicd/work/test.js +2 -2
  187. package/dist/commands/cicd/work/update.js +3 -2
  188. package/dist/commands/help-agent.js +15 -0
  189. package/dist/commands/help.js +38 -0
  190. package/dist/commands/history/clear.js +42 -0
  191. package/dist/commands/history/list.js +50 -0
  192. package/dist/commands/plugins/install.js +2 -5
  193. package/dist/commands/setup/skills/create.js +28 -2
  194. package/dist/commands/setup/skills/list.js +55 -0
  195. package/dist/commands/setup/skills/update.js +36 -3
  196. package/dist/commands/setup.js +3 -3
  197. package/dist/commands/support.js +15 -0
  198. package/dist/commands/testing/browser/execute.js +49 -0
  199. package/dist/commands/testing/browser/history.js +49 -0
  200. package/dist/commands/testing/browser/inspect.js +35 -0
  201. package/dist/commands/testing/browser/recorder.js +52 -0
  202. package/dist/commands/testing/browser/reports.js +33 -0
  203. package/dist/commands/testing/browser/screenshot.js +27 -0
  204. package/dist/commands/testing/browser/set-options.js +35 -0
  205. package/dist/commands/testing/browser/start.js +51 -0
  206. package/dist/commands/testing/browser/status.js +26 -0
  207. package/dist/commands/testing/browser/stop.js +34 -0
  208. package/dist/commands/testing/browser/view.js +35 -0
  209. package/dist/commands/testing/data-table/create.js +1 -2
  210. package/dist/commands/testing/data-table/delete.js +1 -2
  211. package/dist/commands/testing/data-table/export.js +2 -6
  212. package/dist/commands/testing/data-table/get.js +2 -4
  213. package/dist/commands/testing/data-table/list.js +1 -2
  214. package/dist/commands/testing/data-table/update.js +3 -4
  215. package/dist/commands/testing/job/create.js +26 -22
  216. package/dist/commands/testing/job/delete.js +2 -2
  217. package/dist/commands/testing/job/files/download.js +73 -0
  218. package/dist/commands/testing/job/files/list.js +43 -0
  219. package/dist/commands/testing/job/{upload.js → files/upload.js} +13 -9
  220. package/dist/commands/testing/job/get.js +2 -2
  221. package/dist/commands/testing/job/list.js +1 -1
  222. package/dist/commands/testing/job/refs.js +4 -4
  223. package/dist/commands/testing/job/run.js +134 -1
  224. package/dist/commands/testing/{build → job/runs}/abort.js +10 -8
  225. package/dist/commands/testing/job/runs/get.js +42 -0
  226. package/dist/commands/testing/{build → job/runs}/list.js +19 -10
  227. package/dist/commands/testing/{logs.js → job/runs/logs.js} +9 -6
  228. package/dist/commands/testing/{build → job/runs}/search.js +9 -7
  229. package/dist/commands/testing/job/schedule/get.js +5 -11
  230. package/dist/commands/testing/job/schedule/remove.js +3 -3
  231. package/dist/commands/testing/job/schedule/set.js +3 -3
  232. package/dist/commands/testing/job/update.js +22 -65
  233. package/dist/commands/testing/project/create.js +1 -17
  234. package/dist/commands/testing/project/get.js +0 -1
  235. package/dist/commands/testing/project/list.js +2 -2
  236. package/dist/commands/testing/project/permission/set.js +3 -7
  237. package/dist/commands/testing/project/permission/update.js +2 -2
  238. package/dist/commands/testing/robot/create.js +22 -25
  239. package/dist/commands/testing/robot/get.js +1 -1
  240. package/dist/commands/testing/robot/list.js +3 -3
  241. package/dist/commands/testing/robot/update.js +3 -3
  242. package/dist/commands/testing/user-parameter/create.js +3 -9
  243. package/dist/commands/testing/user-parameter/update.js +1 -7
  244. package/dist/commands/testing/variable/create.js +4 -9
  245. package/dist/commands/testing/variable/list.js +3 -3
  246. package/dist/commands/testing/variable/update.js +5 -12
  247. package/dist/help.js +17 -0
  248. package/dist/hooks/init/cicd-connection.js +59 -0
  249. package/dist/lib/agentia-command.js +69 -6
  250. package/dist/lib/ai-types.js +2 -1
  251. package/dist/lib/cicd-command.js +3 -0
  252. package/dist/lib/cicd-connection.js +22 -0
  253. package/dist/lib/cicd-gateway.js +2 -1
  254. package/dist/lib/claude-mcp-config.js +15 -0
  255. package/dist/lib/command-history-sanitization.js +9 -0
  256. package/dist/lib/command-history.js +11 -0
  257. package/dist/lib/command-output-buffer.js +6 -1
  258. package/dist/lib/credential-sync.js +1 -2
  259. package/dist/lib/defaults-store.js +6 -1
  260. package/dist/lib/dependency-from-changes.js +3 -1
  261. package/dist/lib/dependency-source-context.js +3 -0
  262. package/dist/lib/environment-auth-status.js +2 -1
  263. package/dist/lib/environment-auth.js +2 -1
  264. package/dist/lib/environment-credential-flags.js +3 -1
  265. package/dist/lib/environment-credential-operations.js +8 -2
  266. package/dist/lib/environment-types.js +3 -1
  267. package/dist/lib/extension-configuration-ops.js +4 -0
  268. package/dist/lib/extension-configuration-sanitize.js +7 -0
  269. package/dist/lib/extension-configuration-types.js +8 -0
  270. package/dist/lib/help-agent-command.js +3 -0
  271. package/dist/lib/help-agent-interaction-history.js +10 -0
  272. package/dist/lib/help-agent-session.js +3 -0
  273. package/dist/lib/http-proxy.js +13 -0
  274. package/dist/lib/mcp/ai-tools.js +3 -3
  275. package/dist/lib/mcp/command-id.js +2 -0
  276. package/dist/lib/mcp/pipeline-automation-quality-tools.js +452 -0
  277. package/dist/lib/mcp/result.js +41 -3
  278. package/dist/lib/mcp/server.js +73 -3
  279. package/dist/lib/mcp/testing-browser-tools.js +194 -0
  280. package/dist/lib/mcp/testing-tools.js +242 -552
  281. package/dist/lib/mcp/tool-annotations.js +59 -30
  282. package/dist/lib/mcp/tools.js +202 -66
  283. package/dist/lib/mcp/work-tools.js +18 -4
  284. package/dist/lib/metadata-explore.js +8 -0
  285. package/dist/lib/network-error.js +8 -0
  286. package/dist/lib/pipeline-automation-flags.js +12 -0
  287. package/dist/lib/pipeline-automation-ops.js +9 -0
  288. package/dist/lib/pipeline-automation-types.js +18 -0
  289. package/dist/lib/pipeline-lifecycle-id.js +3 -0
  290. package/dist/lib/pipeline-quality-gate-flags.js +12 -0
  291. package/dist/lib/pipeline-quality-gate-ops.js +9 -0
  292. package/dist/lib/pipeline-quality-gate-types.js +17 -0
  293. package/dist/lib/plugin-host/ai.js +2 -1
  294. package/dist/lib/plugin-skills.js +22 -0
  295. package/dist/lib/plugin-trust/gate.js +1 -2
  296. package/dist/lib/project-root.js +3 -1
  297. package/dist/lib/promotion-queue.js +5 -0
  298. package/dist/lib/promotion-run.js +2 -1
  299. package/dist/lib/runtime.js +1 -1
  300. package/dist/lib/salesforce-tooling-check.js +6 -0
  301. package/dist/lib/skill-packs.js +7 -0
  302. package/dist/lib/support-ai-context.js +11 -0
  303. package/dist/lib/support-ai-stream-parser.js +4 -0
  304. package/dist/lib/support-ai.js +9 -0
  305. package/dist/lib/testing-archive.js +9 -0
  306. package/dist/lib/testing-browser-command.js +6 -0
  307. package/dist/lib/testing-browser-operations.js +17 -0
  308. package/dist/lib/testing-browser-requests.js +11 -0
  309. package/dist/lib/testing-browser-robot.js +9 -0
  310. package/dist/lib/testing-browser-session.js +14 -0
  311. package/dist/lib/testing-browser-state.js +17 -0
  312. package/dist/lib/testing-browser-stream.js +7 -0
  313. package/dist/lib/testing-browser-types.js +3 -0
  314. package/dist/lib/testing-browser-viewer-key.js +7 -0
  315. package/dist/lib/testing-data-table.js +39 -0
  316. package/dist/lib/testing-execution.js +22 -0
  317. package/dist/lib/testing-flags.js +6 -2
  318. package/dist/lib/testing-gateway.js +5 -1
  319. package/dist/lib/testing-operations.js +9 -4
  320. package/dist/lib/testing-sanitization.js +3 -1
  321. package/dist/lib/testing-secret-input.js +2 -1
  322. package/dist/lib/testing-types.js +24 -3
  323. package/dist/lib/work-environment-sync.js +3 -1
  324. package/dist/lib/work-flags.js +6 -1
  325. package/dist/lib/work-local-development-flow.js +4 -0
  326. package/dist/lib/work-promote.js +2 -1
  327. package/dist/lib/work-submit-wait.js +3 -1
  328. package/oclif.manifest.json +8841 -7469
  329. package/package.json +45 -5
  330. package/templates/skills/agentia-ai/SKILL.md +9 -6
  331. package/templates/skills/agentia-ai/references/ai-agents.md +21 -3
  332. package/templates/skills/agentia-cicd/SKILL.md +8 -5
  333. package/templates/skills/agentia-cicd/references/environments-and-credentials.md +35 -13
  334. package/templates/skills/agentia-cicd/references/extensions.md +3 -0
  335. package/templates/skills/agentia-cicd/references/pipelines.md +36 -2
  336. package/templates/skills/agentia-cicd/references/promotions.md +10 -1
  337. package/templates/skills/agentia-cicd/references/work.md +20 -5
  338. package/templates/skills/agentia-metadata/SKILL.md +146 -0
  339. package/templates/skills/agentia-metadata/references/metadata-dependency.md +70 -0
  340. package/templates/skills/agentia-metadata/references/metadata-explore.md +146 -0
  341. package/templates/skills/agentia-testing/SKILL.md +12 -7
  342. package/templates/skills/agentia-testing/references/browser-testing.md +93 -0
  343. package/templates/skills/agentia-testing/references/flow-automation.md +112 -0
  344. package/templates/skills/agentia-testing/references/qforce.md +88 -0
  345. package/templates/skills/agentia-testing/references/qweb.md +103 -0
  346. package/templates/skills/agentia-testing/references/tests.md +31 -23
  347. package/dist/commands/testing/build/get.js +0 -38
  348. package/dist/commands/testing/build/latest.js +0 -40
  349. package/dist/commands/testing/build/logs.js +0 -47
  350. package/dist/commands/testing/build/run.js +0 -26
  351. package/dist/commands/testing/create.js +0 -2
  352. package/dist/commands/testing/job/download.js +0 -54
  353. package/dist/commands/testing/job/files.js +0 -34
  354. package/dist/commands/testing/live/continue.js +0 -21
  355. package/dist/commands/testing/live/execute.js +0 -43
  356. package/dist/commands/testing/live/history.js +0 -35
  357. package/dist/commands/testing/live/inspect.js +0 -30
  358. package/dist/commands/testing/live/interrupt.js +0 -21
  359. package/dist/commands/testing/live/recorder.js +0 -134
  360. package/dist/commands/testing/live/reports.js +0 -31
  361. package/dist/commands/testing/live/screenshot.js +0 -25
  362. package/dist/commands/testing/live/set-options.js +0 -28
  363. package/dist/commands/testing/live/start.js +0 -53
  364. package/dist/commands/testing/live/status.js +0 -27
  365. package/dist/commands/testing/live/stop.js +0 -38
  366. package/dist/commands/testing/live/view.js +0 -36
  367. package/dist/commands/testing/run.js +0 -26
  368. package/dist/commands/testing/status.js +0 -45
  369. package/dist/commands/testing/test/create.js +0 -2
  370. package/dist/commands/testing/test/logs.js +0 -2
  371. package/dist/commands/testing/test/run.js +0 -26
  372. package/dist/commands/testing/test/status.js +0 -2
  373. package/dist/commands/testing/test/update.js +0 -2
  374. package/dist/commands/testing/update.js +0 -65
  375. package/dist/lib/mcp/testing-live-tools.js +0 -215
  376. package/dist/lib/testing-data-command.js +0 -8
  377. package/dist/lib/testing-data-core.js +0 -20
  378. package/dist/lib/testing-data-export.js +0 -6
  379. package/dist/lib/testing-data-import.js +0 -6
  380. package/dist/lib/testing-data-io.js +0 -12
  381. package/dist/lib/testing-data-operations.js +0 -10
  382. package/dist/lib/testing-data-types.js +0 -4
  383. package/dist/lib/testing-live-command.js +0 -6
  384. package/dist/lib/testing-live-endpoints.js +0 -6
  385. package/dist/lib/testing-live-history.js +0 -7
  386. package/dist/lib/testing-live-operations.js +0 -19
  387. package/dist/lib/testing-live-recorder.js +0 -9
  388. package/dist/lib/testing-live-robot.js +0 -9
  389. package/dist/lib/testing-live-state.js +0 -5
  390. package/dist/lib/testing-live-types.js +0 -3
  391. package/dist/lib/testing-run-command.js +0 -3
  392. package/dist/lib/testing-schedule.js +0 -5
  393. package/dist/lib/testing-session.js +0 -5
  394. package/dist/lib/testing-watch.js +0 -4
@@ -1,5 +1,5 @@
1
1
  import { Flags } from '@oclif/core';
2
- import { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
49
- static description = 'Search the metadata index for an org via the CICD gateway';
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 gateway index route',
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: 'Gateway platform experience header',
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
8
- static description = 'Refresh the deleted metadata index via the CICD gateway';
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
8
- static description = 'Trigger a metadata index refresh via the CICD gateway';
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: 'Gateway platform experience header',
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
8
- static description = 'Get metadata index refresh status via the CICD gateway';
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: 'Gateway platform experience header used by the trigger request',
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
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 { AgentiaCommand } from '../../../lib/agentia-command.js';
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 AgentiaCommand {
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