@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
@@ -0,0 +1,37 @@
1
+ import { confirm } from '@inquirer/prompts';
2
+ import { Args, Flags } from '@oclif/core';
3
+ import { AgentiaCommand } from '../../../../lib/agentia-command.js';
4
+ import { formatPromotionQueueTable, removePromotionQueueItems } from '../../../../lib/promotion-queue.js';
5
+ export default class PromotionQueueRemove extends AgentiaCommand {
6
+ static args = {
7
+ promotion: Args.string({ description: 'Copado promotion ID or name', required: true }),
8
+ };
9
+ static description = 'Remove items from a promotion job queue (requires the Manage Queue custom permission). Use "promotion queue list" to find item IDs.';
10
+ static examples = [
11
+ '<%= config.bin %> <%= command.id %> <promotion-id> --item <queue-item-id>',
12
+ '<%= config.bin %> <%= command.id %> <promotion-name> -i <queue-item-id> -i <queue-item-id> --yes --json',
13
+ ];
14
+ static flags = {
15
+ item: Flags.string({ char: 'i', description: 'Queue item ID to remove (repeatable)', multiple: true, required: true }),
16
+ yes: Flags.boolean({ char: 'y', default: false, description: 'Confirm removal without prompting' }),
17
+ };
18
+ async run() {
19
+ const { args, flags } = await this.parse(PromotionQueueRemove);
20
+ if (!flags.yes) {
21
+ if (this.jsonEnabled() || !process.stdin.isTTY) {
22
+ this.error('Queue removal requires confirmation. Pass --yes for headless or JSON execution.', { exit: 2 });
23
+ }
24
+ if (!(await confirm({ default: false, message: `Remove ${flags.item.length} item(s) from the promotion queue?` }))) {
25
+ this.error('Queue removal canceled.', { exit: 1 });
26
+ }
27
+ }
28
+ const queue = await this.withSpinner('Removing queue items', () => removePromotionQueueItems(args.promotion, flags.item));
29
+ const items = queue.items ?? [];
30
+ this.display(() => {
31
+ this.log(`Removed ${flags.item.length} item(s) from the promotion queue.`);
32
+ this.log(items.length === 0 ? 'Promotion queue is now empty.' : formatPromotionQueueTable(items));
33
+ });
34
+ return queue;
35
+ }
36
+ }
37
+ //# sourceMappingURL=remove.js.map
@@ -1,8 +1,8 @@
1
1
  import { confirm } from '@inquirer/prompts';
2
2
  import { Args, Flags } from '@oclif/core';
3
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
+ import { CicdCommand } from '../../../lib/cicd-command.js';
4
4
  import { formatPromotionRunResult, isPromotionRunExecutionError, parseIgnoredMetadataJson, performPromotionResume, performPromotionRun, PROMOTION_OPERATIONS, PROMOTION_RUN_DEFAULT_TIMEOUT_SECONDS, promotionRunErrorJson, PromotionRunValidationError, } from '../../../lib/promotion-run.js';
5
- export default class PromotionRun extends AgentiaCommand {
5
+ export default class PromotionRun extends CicdCommand {
6
6
  static args = {
7
7
  id: Args.string({
8
8
  description: '18-character Salesforce Promotion ID',
@@ -1,7 +1,7 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
- import { AgentiaCommand } from '../../../../../lib/agentia-command.js';
2
+ import { CicdCommand } from '../../../../../lib/cicd-command.js';
3
3
  import { configureHttps, promptHttpsPayload, readHttpsAuthPayloadFromStdin } from '../../../../../lib/repository-auth.js';
4
- export default class RepositoryAuthHttpsConfigure extends AgentiaCommand {
4
+ export default class RepositoryAuthHttpsConfigure extends CicdCommand {
5
5
  static args = { id: Args.string({ description: 'Copado Git repository ID', required: true }) };
6
6
  static description = 'Configure HTTPS authentication. Use a personal access token as the password when required by the provider.';
7
7
  static flags = {
@@ -1,11 +1,11 @@
1
1
  import { select } from '@inquirer/prompts';
2
2
  import { Args, Flags } from '@oclif/core';
3
- import { AgentiaCommand } from '../../../../../lib/agentia-command.js';
3
+ import { CicdCommand } from '../../../../../lib/cicd-command.js';
4
4
  import { CicdGateway } from '../../../../../lib/cicd-gateway.js';
5
5
  import { createLoopbackCallbackServer } from '../../../../../lib/loopback-callback-server.js';
6
6
  import { isHeadlessEnvironment, openUrl } from '../../../../../lib/open-browser.js';
7
7
  import { repositoryOAuthEndpoint, repositoryOAuthInitEndpoint, repositoryOAuthRepositoriesEndpoint, } from '../../../../../lib/repository-types.js';
8
- export default class RepositoryAuthOAuthLogin extends AgentiaCommand {
8
+ export default class RepositoryAuthOAuthLogin extends CicdCommand {
9
9
  static args = { id: Args.string({ description: 'Copado Git repository ID', required: true }) };
10
10
  static description = 'Authenticate a repository through browser OAuth and select a remote repository';
11
11
  static flags = {
@@ -1,7 +1,7 @@
1
1
  import { select } from '@inquirer/prompts';
2
2
  import { Args, Flags } from '@oclif/core';
3
- import { AgentiaCommand } from '../../../../lib/agentia-command.js';
4
- export default class RepositoryAuthSetup extends AgentiaCommand {
3
+ import { CicdCommand } from '../../../../lib/cicd-command.js';
4
+ export default class RepositoryAuthSetup extends CicdCommand {
5
5
  static args = { id: Args.string({ description: 'Copado Git repository ID', required: true }) };
6
6
  static description = 'Interactively configure repository authentication; OAuth is selected by default';
7
7
  static flags = { overwrite: Flags.boolean({ description: 'Replace an existing HTTPS or SSH credential' }) };
@@ -1,7 +1,7 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
- import { AgentiaCommand } from '../../../../../lib/agentia-command.js';
2
+ import { CicdCommand } from '../../../../../lib/cicd-command.js';
3
3
  import { configureSsh, promptConnection } from '../../../../../lib/repository-auth.js';
4
- export default class RepositoryAuthSshConfigure extends AgentiaCommand {
4
+ export default class RepositoryAuthSshConfigure extends CicdCommand {
5
5
  static args = { id: Args.string({ description: 'Copado Git repository ID', required: true }) };
6
6
  static description = 'Generate SSH authentication and a public key. Add the key to your Git provider as a deploy, access, or SSH key.';
7
7
  static flags = {
@@ -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 { buildRepositoryCreatePayload, REPOSITORY_STRING_VALIDATION_KEYS, repositoryCreateFlags, validateNonEmptyStringFields, validateRepositoryMutationFlags, } from '../../../lib/repository-flags.js';
5
5
  import { normalizeRepository, repositoriesEndpoint, } from '../../../lib/repository-types.js';
6
- export default class RepositoryCreate extends AgentiaCommand {
6
+ export default class RepositoryCreate extends CicdCommand {
7
7
  static args = {
8
8
  name: Args.string({
9
9
  description: 'Name of the Copado Git repository 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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { repositoryEndpoint } from '../../../lib/repository-types.js';
5
- export default class RepositoryDelete extends AgentiaCommand {
5
+ export default class RepositoryDelete extends CicdCommand {
6
6
  static args = {
7
7
  id: Args.string({
8
8
  description: 'Copado Git repository 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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { formatRepositoryDetail, normalizeRepository, repositoryEndpoint, } from '../../../lib/repository-types.js';
5
- export default class RepositoryGet extends AgentiaCommand {
5
+ export default class RepositoryGet extends CicdCommand {
6
6
  static args = {
7
7
  id: Args.string({
8
8
  description: 'Copado Git repository ID',
@@ -1,9 +1,9 @@
1
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../lib/cicd-command.js';
2
2
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
3
3
  import { displayListPagination } from '../../../lib/list-pagination.js';
4
4
  import { buildRepositoryListFilters, repositoryListFlags } from '../../../lib/repository-flags.js';
5
5
  import { formatRepositoryTable, normalizeRepositoriesListPage, repositoriesEndpoint, } from '../../../lib/repository-types.js';
6
- export default class RepositoryList extends AgentiaCommand {
6
+ export default class RepositoryList extends CicdCommand {
7
7
  static description = 'List Copado Git repositories';
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 RepositoryOpen extends AgentiaCommand {
5
+ export default class RepositoryOpen extends CicdCommand {
6
6
  static args = {
7
7
  id: Args.string({
8
8
  description: 'Copado Git repository ID',
@@ -1,9 +1,9 @@
1
1
  import { confirm } from '@inquirer/prompts';
2
2
  import { Args, Flags } from '@oclif/core';
3
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
+ import { CicdCommand } from '../../../lib/cicd-command.js';
4
4
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
5
5
  import { repositoryResetEndpoint } from '../../../lib/repository-types.js';
6
- export default class RepositoryReset extends AgentiaCommand {
6
+ export default class RepositoryReset extends CicdCommand {
7
7
  static args = {
8
8
  id: Args.string({
9
9
  description: 'Copado Git repository ID',
@@ -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 { buildRepositoryMutationPayload, collectRepositoryMutationFlagKeys, REPOSITORY_STRING_VALIDATION_KEYS, repositoryUpdateFlags, validateNonEmptyStringFields, validateRepositoryMutationFlags, } from '../../../lib/repository-flags.js';
5
5
  import { normalizeRepository, repositoryEndpoint } from '../../../lib/repository-types.js';
6
- export default class RepositoryUpdate extends AgentiaCommand {
6
+ export default class RepositoryUpdate extends CicdCommand {
7
7
  static args = {
8
8
  id: Args.string({
9
9
  description: 'Copado Git repository 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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { normalizeRepositoryValidateResult, repositoryValidateEndpoint, } from '../../../lib/repository-types.js';
5
- export default class RepositoryValidate extends AgentiaCommand {
5
+ export default class RepositoryValidate extends CicdCommand {
6
6
  static args = {
7
7
  id: Args.string({
8
8
  description: 'Copado Git repository ID',
@@ -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 { buildStageMutationPayload, stageCreateFlags, validateStagePayload } from '../../../lib/stage-flags.js';
5
5
  import { normalizeStage, stagesEndpoint } from '../../../lib/stage-types.js';
6
- export default class StageCreate extends AgentiaCommand {
6
+ export default class StageCreate extends CicdCommand {
7
7
  static args = { name: Args.string({ description: 'Stage name', required: true }) };
8
8
  static description = 'Create a Copado stage';
9
9
  static examples = ['<%= config.bin %> <%= command.id %> Build', '<%= config.bin %> <%= command.id %> Test --meta-stage Test'];
@@ -1,9 +1,9 @@
1
1
  import { confirm } from '@inquirer/prompts';
2
2
  import { Args, Flags } from '@oclif/core';
3
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
+ import { CicdCommand } from '../../../lib/cicd-command.js';
4
4
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
5
5
  import { stageEndpoint } from '../../../lib/stage-types.js';
6
- export default class StageDelete extends AgentiaCommand {
6
+ export default class StageDelete extends CicdCommand {
7
7
  static args = { id: Args.string({ description: 'Stage ID', required: true }) };
8
8
  static description = 'Delete a Copado stage';
9
9
  static examples = ['<%= config.bin %> <%= command.id %> <stage-id>', '<%= config.bin %> <%= command.id %> <stage-id> --yes --json'];
@@ -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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { formatStageDetail, normalizeStage, stageEndpoint } from '../../../lib/stage-types.js';
5
- export default class StageGet extends AgentiaCommand {
5
+ export default class StageGet extends CicdCommand {
6
6
  static args = { id: Args.string({ description: 'Stage ID', required: true }) };
7
7
  static description = 'Get a Copado stage';
8
8
  static examples = ['<%= config.bin %> <%= command.id %> <stage-id>', '<%= config.bin %> <%= command.id %> <stage-id> --json'];
@@ -1,8 +1,8 @@
1
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../lib/cicd-command.js';
2
2
  import { displayListPagination, listPaginationFlags } from '../../../lib/list-pagination.js';
3
3
  import { fetchStages } from '../../../lib/stage-list.js';
4
4
  import { formatStageTable } from '../../../lib/stage-types.js';
5
- export default class StageList extends AgentiaCommand {
5
+ export default class StageList extends CicdCommand {
6
6
  static description = 'List Copado stages';
7
7
  static examples = ['<%= config.bin %> <%= command.id %>', '<%= config.bin %> <%= command.id %> --json'];
8
8
  static flags = listPaginationFlags;
@@ -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 StageOpen extends AgentiaCommand {
5
+ export default class StageOpen extends CicdCommand {
6
6
  static args = { id: Args.string({ description: 'Stage ID', required: true }) };
7
7
  static description = 'Open a Copado stage in the browser';
8
8
  static examples = ['<%= config.bin %> <%= command.id %> <stage-id>', '<%= config.bin %> <%= command.id %> <stage-id> --json'];
@@ -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 { buildStageMutationPayload, stageUpdateFlags, validateStagePayload } from '../../../lib/stage-flags.js';
5
5
  import { normalizeStage, stageEndpoint } from '../../../lib/stage-types.js';
6
- export default class StageUpdate extends AgentiaCommand {
6
+ export default class StageUpdate extends CicdCommand {
7
7
  static args = { id: Args.string({ description: 'Stage ID', required: true }) };
8
8
  static description = 'Update a Copado stage';
9
9
  static examples = ['<%= config.bin %> <%= command.id %> <stage-id> --name QA', '<%= config.bin %> <%= command.id %> <stage-id> --meta-stage Test'];
@@ -1,8 +1,8 @@
1
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../lib/cicd-command.js';
2
2
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
3
3
  import { buildTemplateDefaultsQuery, resolveTemplateWritePath, templateDefaultsFlags } from '../../../lib/template-flags.js';
4
4
  import { formatTemplateDetail, normalizeTemplate, templateDefaultsEndpoint, writeTemplateDiskFile, } from '../../../lib/template-types.js';
5
- export default class TemplateDefaults extends AgentiaCommand {
5
+ export default class TemplateDefaults extends CicdCommand {
6
6
  static description = 'Scaffold default Copado Job Template metadata without writing to Salesforce (legacy create ≈ defaults --write)';
7
7
  static examples = [
8
8
  '<%= config.bin %> <%= command.id %> --name MyTemplate',
@@ -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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { assertValidTemplateApiName, templateEndpoint } from '../../../lib/template-types.js';
5
- export default class TemplateDelete extends AgentiaCommand {
5
+ export default class TemplateDelete extends CicdCommand {
6
6
  static args = {
7
7
  'api-name': Args.string({
8
8
  description: 'Template API name',
@@ -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 { resolveTemplateWritePath, templateGetFlags } from '../../../lib/template-flags.js';
5
5
  import { formatTemplateDetail, normalizeTemplate, templateEndpoint, writeTemplateDiskFile, } from '../../../lib/template-types.js';
6
- export default class TemplateGet extends AgentiaCommand {
6
+ export default class TemplateGet extends CicdCommand {
7
7
  static args = {
8
8
  'api-name': Args.string({
9
9
  description: 'Template API name',
@@ -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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { buildListPaginationQuery, displayListPagination, listPaginationFlags, } from '../../../lib/list-pagination.js';
5
5
  import { formatTemplateTable, normalizeTemplatesListPage, TEMPLATE_LIST_TYPES, templatesEndpoint, } from '../../../lib/template-types.js';
6
- export default class TemplateList extends AgentiaCommand {
6
+ export default class TemplateList extends CicdCommand {
7
7
  static description = 'List Copado Job Templates';
8
8
  static examples = [
9
9
  '<%= config.bin %> <%= command.id %>',
@@ -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 { buildTemplateUpsertPayload, templateUpsertFlags } from '../../../lib/template-flags.js';
5
5
  import { formatTemplateDetail, normalizeTemplate, templateEndpoint, } from '../../../lib/template-types.js';
6
- export default class TemplateUpsert extends AgentiaCommand {
6
+ export default class TemplateUpsert extends CicdCommand {
7
7
  static args = {
8
8
  'api-name': Args.string({
9
9
  description: 'Template API name',
@@ -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 { fetchUser } from '../../../lib/user-get.js';
4
4
  import { DEFAULT_USER_ID, formatUserDetail } from '../../../lib/user-types.js';
5
- export default class UserGet extends AgentiaCommand {
5
+ export default class UserGet extends CicdCommand {
6
6
  static description = 'Get a Copado user by ID (defaults to the authenticated user)';
7
7
  static examples = [
8
8
  '<%= config.bin %> <%= command.id %>',
@@ -1,7 +1,7 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { CicdCommand } from '../../../lib/cicd-command.js';
3
3
  import { formatWorkAheadBehindResult, performWorkAheadBehind, WorkAheadBehindValidationError, } from '../../../lib/work-ahead-behind.js';
4
- export default class WorkAheadBehind extends AgentiaCommand {
4
+ export default class WorkAheadBehind extends CicdCommand {
5
5
  static args = {
6
6
  environment: Args.string({
7
7
  description: 'Copado environment Id or name (defaults to the configured project default environment)',
@@ -1,14 +1,15 @@
1
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../lib/cicd-command.js';
2
2
  import { CicdGateway } from '../../../lib/cicd-gateway.js';
3
3
  import { readDefaults, resolveDefaults } from '../../../lib/defaults-store.js';
4
4
  import { PROJECT_DEFAULT_KEYS } from '../../../lib/project-defaults.js';
5
5
  import { buildWorkCreatePayload } from '../../../lib/work-defaults.js';
6
6
  import { buildWorkMutationPayload, validateWorkMutationPayload, workMutationFlags, } from '../../../lib/work-flags.js';
7
7
  import { workCreateEndpoint } from '../../../lib/work-types.js';
8
- export default class WorkCreate extends AgentiaCommand {
8
+ export default class WorkCreate extends CicdCommand {
9
9
  static description = 'Create a Copado user story';
10
10
  static examples = [
11
11
  '<%= config.bin %> <%= command.id %> --title "My story" --status Draft',
12
+ '<%= config.bin %> <%= command.id %> --title "My story" --custom-field JIRA_Key__c=CICD-1',
12
13
  '<%= config.bin %> <%= command.id %> --title "My story" --json',
13
14
  ];
14
15
  static flags = workMutationFlags;
@@ -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 { CicdGateway } from '../../../lib/cicd-gateway.js';
4
4
  import { workEndpoint } from '../../../lib/work-types.js';
5
- export default class WorkDelete extends AgentiaCommand {
5
+ export default class WorkDelete extends CicdCommand {
6
6
  static args = {
7
7
  id: Args.string({
8
8
  description: 'User story ID',
@@ -1,12 +1,12 @@
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 { buildFriendlyDeploymentStepConfig, CRT_RUN_ON_VALUES, DEPLOYMENT_STEP_ENVIRONMENTS, hasFriendlyDeploymentStepConfig, } from '../../../../lib/deployment-step-config.js';
5
5
  import { buildDeploymentStepCreatePayload, DEPLOYMENT_STEP_STANDARD_TYPES, deploymentStepTypesEndpoint, formatDeploymentStepDetail, normalizeDeploymentStepTypes, userStoryDeploymentStepsEndpoint, } from '../../../../lib/deployment-step-types.js';
6
6
  import { collectDeploymentStepCreateInput, confirmDeploymentStepCreate, } from '../../../../lib/deployment-step-wizard.js';
7
7
  import { isPromptCanceled } from '../../../../lib/setup-prompts.js';
8
8
  import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
9
- export default class WorkDeploymentStepCreate extends AgentiaCommand {
9
+ export default class WorkDeploymentStepCreate extends CicdCommand {
10
10
  static description = 'Create a deployment step for a user story';
11
11
  static examples = [
12
12
  '<%= config.bin %> <%= command.id %> --interactive',
@@ -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 { CicdGateway } from '../../../../lib/cicd-gateway.js';
4
4
  import { userStoryDeploymentStepEndpoint } from '../../../../lib/deployment-step-types.js';
5
5
  import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
6
- export default class WorkDeploymentStepDelete extends AgentiaCommand {
6
+ export default class WorkDeploymentStepDelete extends CicdCommand {
7
7
  static description = 'Delete a user story deployment step';
8
8
  static examples = [
9
9
  '<%= config.bin %> <%= command.id %> --step a2D...',
@@ -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 { CicdGateway } from '../../../../lib/cicd-gateway.js';
4
4
  import { formatDeploymentStepsTable, normalizeDeploymentSteps, userStoryDeploymentStepsEndpoint, } from '../../../../lib/deployment-step-types.js';
5
5
  import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
6
- export default class WorkDeploymentStepList extends AgentiaCommand {
6
+ export default class WorkDeploymentStepList extends CicdCommand {
7
7
  static description = 'List deployment steps for a user story';
8
8
  static examples = [
9
9
  '<%= config.bin %> <%= command.id %>',
@@ -1,11 +1,11 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import { readFileSync } from 'node:fs';
3
- import { AgentiaCommand } from '../../../../lib/agentia-command.js';
3
+ import { CicdCommand } from '../../../../lib/cicd-command.js';
4
4
  import { CicdGateway } from '../../../../lib/cicd-gateway.js';
5
5
  import { parseJsonValue, readStdin } from '../../../../lib/data-flags.js';
6
6
  import { formatDeploymentStepsTable, normalizeDeploymentSteps, parseDeploymentStepOrder, userStoryDeploymentStepOrderEndpoint, userStoryDeploymentStepsEndpoint, validateCompleteDeploymentStepOrder, } from '../../../../lib/deployment-step-types.js';
7
7
  import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
8
- export default class WorkDeploymentStepReorder extends AgentiaCommand {
8
+ export default class WorkDeploymentStepReorder extends CicdCommand {
9
9
  static description = 'Replace the complete deployment step order';
10
10
  static examples = [
11
11
  '<%= config.bin %> <%= command.id %> --file order.json',
@@ -1,7 +1,7 @@
1
- import { AgentiaCommand } from '../../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../../lib/cicd-command.js';
2
2
  import { CicdGateway } from '../../../../lib/cicd-gateway.js';
3
3
  import { deploymentStepSalesforceFlowsEndpoint, formatSalesforceFlowsTable, normalizeSalesforceFlows, } from '../../../../lib/deployment-step-types.js';
4
- export default class WorkDeploymentStepSalesforceFlows extends AgentiaCommand {
4
+ export default class WorkDeploymentStepSalesforceFlows extends CicdCommand {
5
5
  static description = 'List Salesforce Flows available to deployment steps in the Copado org';
6
6
  static examples = [
7
7
  '<%= config.bin %> <%= command.id %>',
@@ -1,7 +1,7 @@
1
- import { AgentiaCommand } from '../../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../../lib/cicd-command.js';
2
2
  import { CicdGateway } from '../../../../lib/cicd-gateway.js';
3
3
  import { deploymentStepTypesEndpoint, formatDeploymentStepTypesTable, normalizeDeploymentStepTypes, } from '../../../../lib/deployment-step-types.js';
4
- export default class WorkDeploymentStepTypes extends AgentiaCommand {
4
+ export default class WorkDeploymentStepTypes extends CicdCommand {
5
5
  static description = 'List available deployment step types';
6
6
  static examples = [
7
7
  '<%= config.bin %> <%= command.id %>',
@@ -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 { CicdGateway } from '../../../../lib/cicd-gateway.js';
4
4
  import { buildDeploymentStepUpdatePayload, formatDeploymentStepDetail, userStoryDeploymentStepEndpoint, } from '../../../../lib/deployment-step-types.js';
5
5
  import { resolveWorkItemId, WorkActiveResolutionError } from '../../../../lib/work-active.js';
6
- export default class WorkDeploymentStepUpdate extends AgentiaCommand {
6
+ export default class WorkDeploymentStepUpdate extends CicdCommand {
7
7
  static description = 'Update a user story deployment step';
8
8
  static examples = [
9
9
  '<%= config.bin %> <%= command.id %> --step a2D... --name "Updated step"',
@@ -1,11 +1,11 @@
1
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
1
+ import { CicdCommand } from '../../../lib/cicd-command.js';
2
2
  import { commandStdioCaptureOptions, withCapturedCommandOutput } from '../../../lib/command-output-buffer.js';
3
3
  import { runWorkDone, workDoneFlags } from '../../../lib/work-done.js';
4
4
  /**
5
5
  * Compatibility alias of `cicd work submit --done` (Copado UI Submit when promoting).
6
6
  * Prefer `agentia cicd work submit --done` in scripts and docs.
7
7
  */
8
- export default class WorkDone extends AgentiaCommand {
8
+ export default class WorkDone extends CicdCommand {
9
9
  static description = [
10
10
  'Alias of cicd work submit --done.',
11
11
  'Matches Copado UI Submit when promoting (not validate-only).',
@@ -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 { commandStdioCaptureOptions, withCapturedCommandOutput } from '../../../lib/command-output-buffer.js';
4
4
  import { assertEnvironmentSyncDestOrgSelector, formatWorkEnvironmentSyncResult, performWorkEnvironmentSync, WorkEnvironmentSyncConflictError, WorkEnvironmentSyncValidationError, } from '../../../lib/work-environment-sync.js';
5
- export default class WorkEnvironmentSync extends AgentiaCommand {
5
+ export default class WorkEnvironmentSync extends CicdCommand {
6
6
  static description = [
7
7
  'Sync committed metadata from the next environment onto the destination environment (or current feature branch).',
8
8
  'Back-promotes every user story behind the destination environment from the next environment branch.',
@@ -10,27 +10,28 @@ export default class WorkEnvironmentSync extends AgentiaCommand {
10
10
  'Resolves the next-environment Git branch from --destination-environment or --dev-org-branch (the dest pipeline connection destinationBranch, or that destination environment\'s outbound branch).',
11
11
  'Merges origin/<next-env> with --no-ff --no-commit, restores every other path from HEAD, commits the guessed pathspecs,',
12
12
  'and pushes the dest org branch (and the feature branch when HEAD starts with feature/).',
13
- 'If guessed pathspecs still conflict, PATCH the back-promotion status to Merge Conflict, resolve the files, and re-run with --promotion and --continue. The promotion destination environment supplies the dest org branch and the next-env branch.',
14
- 'To discard a conflicted merge, re-run with --promotion and --abort (runs git merge --abort and sets the back-promotion status to Draft).',
15
- 'After a successful sync, PATCH the back-promotion status to Completed.',
13
+ 'If guessed pathspecs still conflict, PATCH the back-promotion status to Merge Conflict, store lastEnvironmentSyncName, resolve the files, and re-run with --continue (optional --promotion). The promotion destination environment supplies the dest org branch and the next-env branch.',
14
+ 'To discard a conflicted merge, re-run with --abort (optional --promotion); runs git merge --abort and sets the back-promotion status to Draft.',
15
+ 'After a successful sync, PATCH the back-promotion status to Completed and clear lastEnvironmentSyncName.',
16
16
  'On git/merge failure (including conflicts) and after a successful --continue, uploads the captured command transcript as a Salesforce File on the back-promotion (`Environment Sync Logs <name-or-id> <datetime>.txt`) via `/agentia/headless/file/upload`. HTTP 404 is ignored until that endpoint is rolled out; other upload failures are warned and do not change the environment-sync outcome.',
17
17
  ].join(' ');
18
18
  static examples = [
19
19
  '<%= config.bin %> <%= command.id %> --destination-environment=dev1',
20
20
  '<%= config.bin %> <%= command.id %> --dev-org-branch=dev1-sfp',
21
+ '<%= config.bin %> <%= command.id %> --continue',
22
+ '<%= config.bin %> <%= command.id %> --abort',
21
23
  '<%= config.bin %> <%= command.id %> --promotion=P29334 --continue',
22
- '<%= config.bin %> <%= command.id %> --promotion=P29334 --abort',
23
24
  '<%= config.bin %> <%= command.id %> --destination-environment=dev1 --json',
24
25
  ];
25
26
  static flags = {
26
27
  abort: Flags.boolean({
27
28
  default: false,
28
- description: 'Abort an in-progress merge (`git merge --abort`) and set the back-promotion status to Draft. Requires --promotion. Exclusive with --continue.',
29
+ description: 'Abort an in-progress merge (`git merge --abort`) and set the back-promotion status to Draft. Uses --promotion or lastEnvironmentSyncName. Exclusive with --continue.',
29
30
  exclusive: ['continue'],
30
31
  }),
31
32
  continue: Flags.boolean({
32
33
  default: false,
33
- description: 'Finish after merge conflicts. If the merge is still in progress (conflicts fixed and staged, but not committed), commits it; if you already committed, continues from there through the remaining git steps.',
34
+ description: 'Finish after merge conflicts. If the merge is still in progress (conflicts fixed and staged, but not committed), commits it; if you already committed, continues from there through the remaining git steps. Uses --promotion or lastEnvironmentSyncName.',
34
35
  exclusive: ['abort'],
35
36
  }),
36
37
  'destination-credential': Flags.string({
@@ -48,7 +49,7 @@ export default class WorkEnvironmentSync extends AgentiaCommand {
48
49
  description: 'Pipeline ID. Defaults to the active work item from `cicd work set`.',
49
50
  }),
50
51
  promotion: Flags.string({
51
- description: 'Back-promotion Id or name to PATCH when this run stops on merge conflicts, finishes successfully, continues, or aborts. Included in the conflict continue and abort commands. Defaults to the back-promotion created in this run.',
52
+ description: 'Back-promotion Id or name to PATCH when this run stops on merge conflicts, finishes successfully, continues, or aborts. Optional for --continue/--abort when lastEnvironmentSyncName was stored from a prior environment-sync run. Defaults to the back-promotion created in this run.',
52
53
  }),
53
54
  };
54
55
  async run() {
@@ -1,11 +1,11 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
- import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { CicdCommand } from '../../../lib/cicd-command.js';
3
3
  import { WorkActiveResolutionError } from '../../../lib/work-active.js';
4
4
  import { formatCommittedMetadataSection, } from '../../../lib/work-committed-metadata.js';
5
5
  import { fetchWorkItemWithOptions } from '../../../lib/work-get.js';
6
6
  import { formatUserStoriesAheadBehindLines, reportUserStoriesAheadBehindForStory, } from '../../../lib/work-submit-ahead-behind.js';
7
7
  import { formatUserStoryDetail, } from '../../../lib/work-types.js';
8
- export default class WorkGet extends AgentiaCommand {
8
+ export default class WorkGet extends CicdCommand {
9
9
  static args = {
10
10
  id: Args.string({
11
11
  description: 'User story ID (defaults to the active work item from `work set`)',
@@ -1,10 +1,10 @@
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 { getUserContext } from '../../../lib/user-context.js';
4
4
  import { buildWorkListFilters, workListFilterFlags } from '../../../lib/work-flags.js';
5
5
  import { fetchWorkItems } from '../../../lib/work-get.js';
6
6
  import { formatUserStoryTable } from '../../../lib/work-types.js';
7
- export default class WorkList extends AgentiaCommand {
7
+ export default class WorkList extends CicdCommand {
8
8
  static description = 'List Copado user stories';
9
9
  static examples = [
10
10
  '<%= config.bin %> <%= command.id %>',