@copado/agentia-cli 1.0.0-beta.1 → 1.0.0-beta.4

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 (70) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +648 -370
  3. package/dist/commands/cicd/cloud/commit.js +252 -0
  4. package/dist/commands/cicd/cloud/promote.js +139 -0
  5. package/dist/commands/cicd/data/template/save-detail.js +2 -2
  6. package/dist/commands/cicd/health-check.js +77 -0
  7. package/dist/commands/cicd/repository/auth/https/configure.js +21 -0
  8. package/dist/commands/cicd/repository/auth/oauth/login.js +56 -0
  9. package/dist/commands/cicd/repository/auth/setup.js +28 -0
  10. package/dist/commands/cicd/repository/auth/ssh/configure.js +22 -0
  11. package/dist/commands/cicd/repository/create.js +2 -2
  12. package/dist/commands/cicd/repository/reset.js +17 -5
  13. package/dist/commands/cicd/repository/update.js +6 -14
  14. package/dist/commands/cicd/work/commit.js +10 -324
  15. package/dist/commands/cicd/work/environment-sync.js +125 -0
  16. package/dist/commands/cicd/work/get.js +29 -12
  17. package/dist/commands/cicd/work/promote.js +93 -97
  18. package/dist/commands/cicd/work/set.js +4 -2
  19. package/dist/commands/cicd/work/submit.js +7 -0
  20. package/dist/commands/runtime.js +26 -0
  21. package/dist/hooks/finally/ide-command-event.js +1 -1
  22. package/dist/hooks/init/plugin-host.js +6 -0
  23. package/dist/lib/agentia-command.js +16 -0
  24. package/dist/lib/cursor-mcp-config.js +3 -1
  25. package/dist/lib/data-types.js +3 -1
  26. package/dist/lib/defaults-store.js +2 -1
  27. package/dist/lib/git-sizer.js +5 -0
  28. package/dist/lib/git-worktree.js +17 -1
  29. package/dist/lib/health-check.js +3 -0
  30. package/dist/lib/mcp/command-id.js +1 -0
  31. package/dist/lib/mcp/data-tools.js +2 -2
  32. package/dist/lib/mcp/health-check-tools.js +16 -0
  33. package/dist/lib/mcp/server.js +35 -8
  34. package/dist/lib/mcp/tool-annotations.js +268 -0
  35. package/dist/lib/mcp/tools.js +58 -12
  36. package/dist/lib/mcp/work-tools.js +98 -83
  37. package/dist/lib/metadata-pathspecs.js +4 -0
  38. package/dist/lib/metadataRegistry.json +5427 -0
  39. package/dist/lib/plugin-host/auth.js +4 -0
  40. package/dist/lib/plugin-host/format.js +3 -0
  41. package/dist/lib/plugin-host/index.js +7 -0
  42. package/dist/lib/plugin-host/organization.js +4 -0
  43. package/dist/lib/plugin-host/projection-utils.js +6 -0
  44. package/dist/lib/plugin-host/registry.js +6 -0
  45. package/dist/lib/plugin-host/request-scope.js +4 -0
  46. package/dist/lib/plugin-host/work.js +4 -0
  47. package/dist/lib/project-root.js +3 -1
  48. package/dist/lib/promotion-types.js +4 -1
  49. package/dist/lib/repository-auth.js +8 -0
  50. package/dist/lib/repository-flags.js +2 -2
  51. package/dist/lib/repository-types.js +6 -1
  52. package/dist/lib/repository-url-prefill.js +4 -0
  53. package/dist/lib/runtime-invoke-context.js +6 -0
  54. package/dist/lib/runtime-rpc.js +14 -0
  55. package/dist/lib/runtime.js +1 -1
  56. package/dist/lib/work-environment-sync-errors.js +4 -0
  57. package/dist/lib/work-environment-sync-ready.js +18 -0
  58. package/dist/lib/work-environment-sync.js +41 -0
  59. package/dist/lib/work-get.js +3 -0
  60. package/dist/lib/work-promote-deploy.js +13 -0
  61. package/dist/lib/work-promote-errors.js +5 -0
  62. package/dist/lib/work-promote.js +12 -0
  63. package/dist/lib/work-set-selection.js +2 -1
  64. package/dist/lib/work-submit-ahead-behind.js +8 -0
  65. package/dist/lib/work-types.js +2 -1
  66. package/oclif.manifest.json +1166 -605
  67. package/package.json +8 -4
  68. package/templates/skills/agentia-cicd/SKILL.md +2 -2
  69. package/templates/skills/agentia-cicd/references/promotions.md +8 -8
  70. package/templates/skills/agentia-cicd/references/work.md +16 -14
@@ -1,5 +1,35 @@
1
1
  {
2
2
  "commands": {
3
+ "runtime": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Start a stdio NDJSON runtime for in-process Agentia command invokes",
7
+ "flags": {
8
+ "idle-ms": {
9
+ "description": "Exit after this many idle milliseconds with no in-flight requests",
10
+ "name": "idle-ms",
11
+ "default": 600000,
12
+ "hasDynamicHelp": false,
13
+ "multiple": false,
14
+ "type": "option"
15
+ }
16
+ },
17
+ "hasDynamicHelp": false,
18
+ "hidden": true,
19
+ "hiddenAliases": [],
20
+ "id": "runtime",
21
+ "pluginAlias": "@copado/agentia-cli",
22
+ "pluginName": "@copado/agentia-cli",
23
+ "pluginType": "core",
24
+ "strict": true,
25
+ "enableJsonFlag": false,
26
+ "isESM": true,
27
+ "relativePath": [
28
+ "dist",
29
+ "commands",
30
+ "runtime.js"
31
+ ]
32
+ },
3
33
  "setup": {
4
34
  "aliases": [],
5
35
  "args": {},
@@ -324,6 +354,57 @@
324
354
  "unset.js"
325
355
  ]
326
356
  },
357
+ "cicd:health-check": {
358
+ "aliases": [],
359
+ "args": {},
360
+ "description": "Run organization-scoped governance health checks",
361
+ "examples": [
362
+ "<%= config.bin %> <%= command.id %>",
363
+ "<%= config.bin %> <%= command.id %> --json",
364
+ "<%= config.bin %> <%= command.id %> --git-sizer",
365
+ "<%= config.bin %> <%= command.id %> --git-sizer --path /path/to/clone"
366
+ ],
367
+ "flags": {
368
+ "json": {
369
+ "description": "Format output as json.",
370
+ "helpGroup": "GLOBAL",
371
+ "name": "json",
372
+ "allowNo": false,
373
+ "type": "boolean"
374
+ },
375
+ "git-sizer": {
376
+ "description": "Also analyze a local Git clone with git-sizer",
377
+ "name": "git-sizer",
378
+ "allowNo": false,
379
+ "type": "boolean"
380
+ },
381
+ "path": {
382
+ "dependsOn": [
383
+ "git-sizer"
384
+ ],
385
+ "description": "Local Git clone for --git-sizer. Defaults to the current directory.",
386
+ "name": "path",
387
+ "hasDynamicHelp": false,
388
+ "multiple": false,
389
+ "type": "option"
390
+ }
391
+ },
392
+ "hasDynamicHelp": false,
393
+ "hiddenAliases": [],
394
+ "id": "cicd:health-check",
395
+ "pluginAlias": "@copado/agentia-cli",
396
+ "pluginName": "@copado/agentia-cli",
397
+ "pluginType": "core",
398
+ "strict": true,
399
+ "enableJsonFlag": true,
400
+ "isESM": true,
401
+ "relativePath": [
402
+ "dist",
403
+ "commands",
404
+ "cicd",
405
+ "health-check.js"
406
+ ]
407
+ },
327
408
  "mcp:start": {
328
409
  "aliases": [],
329
410
  "args": {},
@@ -1772,14 +1853,21 @@
1772
1853
  "update.js"
1773
1854
  ]
1774
1855
  },
1775
- "cicd:credential:create": {
1856
+ "cicd:cloud:commit": {
1776
1857
  "aliases": [],
1777
- "args": {},
1778
- "description": "Create a Copado environment credential",
1858
+ "args": {
1859
+ "id": {
1860
+ "description": "User story ID (defaults to the active work item from `work set`)",
1861
+ "name": "id",
1862
+ "required": false
1863
+ }
1864
+ },
1865
+ "description": "Create a Copado cloud metadata commit for a user story. Preflights the story, submits POST /release/commit, and polls the job monitor by default. For local Git work, use git add/commit then `cicd work publish`. Permission and full-metadata selections belong on `cicd work publish`.",
1779
1866
  "examples": [
1780
- "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --name \"CI User\"",
1781
- "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --name \"CI User\" --default",
1782
- "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --name \"CI User\" --json"
1867
+ "<%= config.bin %> <%= command.id %> --message \"Commit AccountService\" --metadata-name AccountService --metadata-type ApexClass --metadata-category SFDX --action Add",
1868
+ "<%= config.bin %> <%= command.id %> a07XXXXXXXXXXXXXXX --message \"Update Aura files\" --metadata-name accountEditor --metadata-type AuraDefinitionBundle --metadata-category SFDX --action SelectiveCommit --selection accountEditor/accountEditor.cmp --selection accountEditor/accountEditorController.js",
1869
+ "<%= config.bin %> <%= command.id %> --file commit-request.json # {\"message\":\"Commit AccountService\",\"changes\":[{\"a\":\"Add\",\"c\":\"SFDX\",\"n\":\"AccountService\",\"t\":\"ApexClass\"}]}",
1870
+ "cat commit-request.json | <%= config.bin %> <%= command.id %> --stdin --json"
1783
1871
  ],
1784
1872
  "flags": {
1785
1873
  "json": {
@@ -1789,67 +1877,127 @@
1789
1877
  "allowNo": false,
1790
1878
  "type": "boolean"
1791
1879
  },
1792
- "default": {
1793
- "description": "Mark this credential as the environment default",
1794
- "name": "default",
1880
+ "action": {
1881
+ "description": "Metadata action for simple flag input. Defaults to Add.",
1882
+ "name": "action",
1883
+ "hasDynamicHelp": false,
1884
+ "multiple": false,
1885
+ "options": [
1886
+ "Add",
1887
+ "Delete",
1888
+ "RetrieveOnly",
1889
+ "SelectiveCommit",
1890
+ "Full"
1891
+ ],
1892
+ "type": "option"
1893
+ },
1894
+ "base-branch": {
1895
+ "description": "Optional base branch to include in the commit request.",
1896
+ "name": "base-branch",
1897
+ "hasDynamicHelp": false,
1898
+ "multiple": false,
1899
+ "type": "option"
1900
+ },
1901
+ "cloud": {
1902
+ "description": "Ignored. Cloud is implied by cicd cloud commit.",
1903
+ "hidden": true,
1904
+ "name": "cloud",
1905
+ "allowNo": false,
1906
+ "type": "boolean"
1907
+ },
1908
+ "commit-id": {
1909
+ "description": "Existing local Git commit identifier to register when --no-execute-commit is used.",
1910
+ "name": "commit-id",
1911
+ "hasDynamicHelp": false,
1912
+ "multiple": false,
1913
+ "type": "option"
1914
+ },
1915
+ "execute-commit": {
1916
+ "description": "Execute the Copado commit job. Use --no-execute-commit only with --commit-id.",
1917
+ "name": "execute-commit",
1795
1918
  "allowNo": true,
1796
1919
  "type": "boolean"
1797
1920
  },
1798
- "environmentid": {
1799
- "description": "Copado environment ID",
1800
- "name": "environmentid",
1801
- "required": true,
1921
+ "file": {
1922
+ "char": "f",
1923
+ "description": "Path to a JSON commit request body.",
1924
+ "name": "file",
1802
1925
  "hasDynamicHelp": false,
1803
1926
  "multiple": false,
1804
1927
  "type": "option"
1805
1928
  },
1806
- "name": {
1807
- "description": "Credential name",
1808
- "name": "name",
1809
- "required": true,
1929
+ "message": {
1930
+ "char": "m",
1931
+ "description": "Commit message. Required unless provided by JSON input.",
1932
+ "name": "message",
1810
1933
  "hasDynamicHelp": false,
1811
1934
  "multiple": false,
1812
1935
  "type": "option"
1813
- }
1814
- },
1815
- "hasDynamicHelp": false,
1816
- "hiddenAliases": [],
1817
- "id": "cicd:credential:create",
1818
- "pluginAlias": "@copado/agentia-cli",
1819
- "pluginName": "@copado/agentia-cli",
1820
- "pluginType": "core",
1821
- "strict": true,
1822
- "enableJsonFlag": true,
1823
- "isESM": true,
1824
- "relativePath": [
1825
- "dist",
1826
- "commands",
1827
- "cicd",
1828
- "credential",
1829
- "create.js"
1830
- ]
1831
- },
1832
- "cicd:credential:list": {
1833
- "aliases": [],
1834
- "args": {},
1835
- "description": "List credentials for a Copado environment",
1836
- "examples": [
1837
- "<%= config.bin %> <%= command.id %> --environmentid <environment-id>",
1838
- "<%= config.bin %> <%= command.id %> --environmentid \"Dev Sandbox\"",
1839
- "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --json"
1840
- ],
1841
- "flags": {
1842
- "json": {
1843
- "description": "Format output as json.",
1844
- "helpGroup": "GLOBAL",
1845
- "name": "json",
1936
+ },
1937
+ "metadata-category": {
1938
+ "description": "Metadata category for simple input. Maps to change field c. For Salesforce metadata, always set SFDX so Copado stores c:SFDX. Omitting it omits c, and SFDX deploy steps log \"Salesforce changes not found.\" and skip the deploy while the job can still report Successful.",
1939
+ "name": "metadata-category",
1940
+ "hasDynamicHelp": false,
1941
+ "multiple": false,
1942
+ "type": "option"
1943
+ },
1944
+ "metadata-message": {
1945
+ "description": "Optional per-change message for simple flag input.",
1946
+ "name": "metadata-message",
1947
+ "hasDynamicHelp": false,
1948
+ "multiple": false,
1949
+ "type": "option"
1950
+ },
1951
+ "metadata-name": {
1952
+ "description": "Metadata full name for simple flag input.",
1953
+ "name": "metadata-name",
1954
+ "hasDynamicHelp": false,
1955
+ "multiple": false,
1956
+ "type": "option"
1957
+ },
1958
+ "metadata-raw-json": {
1959
+ "description": "Optional raw metadata JSON value for simple flag input.",
1960
+ "name": "metadata-raw-json",
1961
+ "hasDynamicHelp": false,
1962
+ "multiple": false,
1963
+ "type": "option"
1964
+ },
1965
+ "metadata-type": {
1966
+ "description": "Metadata type for simple flag input, for example ApexClass.",
1967
+ "name": "metadata-type",
1968
+ "hasDynamicHelp": false,
1969
+ "multiple": false,
1970
+ "type": "option"
1971
+ },
1972
+ "recreate-feature-branch": {
1973
+ "description": "Ask Copado to recreate the feature branch before committing.",
1974
+ "name": "recreate-feature-branch",
1846
1975
  "allowNo": false,
1847
1976
  "type": "boolean"
1848
1977
  },
1849
- "environmentid": {
1850
- "description": "Copado environment ID",
1851
- "name": "environmentid",
1852
- "required": true,
1978
+ "selection": {
1979
+ "description": "Selected file inside a bundle for SelectiveCommit. Can be provided multiple times.",
1980
+ "name": "selection",
1981
+ "hasDynamicHelp": false,
1982
+ "multiple": true,
1983
+ "type": "option"
1984
+ },
1985
+ "stdin": {
1986
+ "description": "Read a JSON commit request body from stdin.",
1987
+ "name": "stdin",
1988
+ "allowNo": false,
1989
+ "type": "boolean"
1990
+ },
1991
+ "wait": {
1992
+ "description": "Poll the commit job to a terminal status when a jobExecution Id is returned.",
1993
+ "name": "wait",
1994
+ "allowNo": true,
1995
+ "type": "boolean"
1996
+ },
1997
+ "wait-timeout": {
1998
+ "description": "Maximum seconds to wait for the commit job.",
1999
+ "name": "wait-timeout",
2000
+ "default": 300,
1853
2001
  "hasDynamicHelp": false,
1854
2002
  "multiple": false,
1855
2003
  "type": "option"
@@ -1857,7 +2005,7 @@
1857
2005
  },
1858
2006
  "hasDynamicHelp": false,
1859
2007
  "hiddenAliases": [],
1860
- "id": "cicd:credential:list",
2008
+ "id": "cicd:cloud:commit",
1861
2009
  "pluginAlias": "@copado/agentia-cli",
1862
2010
  "pluginName": "@copado/agentia-cli",
1863
2011
  "pluginType": "core",
@@ -1868,24 +2016,24 @@
1868
2016
  "dist",
1869
2017
  "commands",
1870
2018
  "cicd",
1871
- "credential",
1872
- "list.js"
2019
+ "cloud",
2020
+ "commit.js"
1873
2021
  ]
1874
2022
  },
1875
- "cicd:credential:update": {
2023
+ "cicd:cloud:promote": {
1876
2024
  "aliases": [],
1877
2025
  "args": {
1878
2026
  "id": {
1879
- "description": "Copado credential ID",
2027
+ "description": "User Story ID (defaults to the active work item from `work set`)",
1880
2028
  "name": "id",
1881
- "required": true
2029
+ "required": false
1882
2030
  }
1883
2031
  },
1884
- "description": "Update a Copado environment credential by ID",
2032
+ "description": "Promote the explicit or active User Story through its Copado Promotion. Selects promote-only unless --deploy is passed.",
1885
2033
  "examples": [
1886
- "<%= config.bin %> <%= command.id %> <credential-id> --environmentid <environment-id> --name \"CI User\"",
1887
- "<%= config.bin %> <%= command.id %> <credential-id> --environmentid <environment-id> --default",
1888
- "<%= config.bin %> <%= command.id %> <credential-id> --environmentid <environment-id> --no-default --json"
2034
+ "<%= config.bin %> <%= command.id %>",
2035
+ "<%= config.bin %> <%= command.id %> a07XXXXXXXXXXXXXXX --promotion-id a0BXXXXXXXXXXXXXXX",
2036
+ "<%= config.bin %> <%= command.id %> --deploy --json"
1889
2037
  ],
1890
2038
  "flags": {
1891
2039
  "json": {
@@ -1895,21 +2043,223 @@
1895
2043
  "allowNo": false,
1896
2044
  "type": "boolean"
1897
2045
  },
1898
- "default": {
1899
- "description": "Mark this credential as the environment default",
1900
- "name": "default",
1901
- "allowNo": true,
2046
+ "cloud": {
2047
+ "description": "Ignored. Cloud is implied by cicd cloud promote.",
2048
+ "hidden": true,
2049
+ "name": "cloud",
2050
+ "allowNo": false,
1902
2051
  "type": "boolean"
1903
2052
  },
1904
- "environmentid": {
1905
- "description": "Copado environment ID",
1906
- "name": "environmentid",
1907
- "required": true,
1908
- "hasDynamicHelp": false,
1909
- "multiple": false,
1910
- "type": "option"
1911
- },
1912
- "name": {
2053
+ "deploy": {
2054
+ "description": "Use merge_and_deploy instead of promote-only merge.",
2055
+ "name": "deploy",
2056
+ "allowNo": false,
2057
+ "type": "boolean"
2058
+ },
2059
+ "deployment-step-id": {
2060
+ "description": "Ordered deployment-step Salesforce ID. Can be provided multiple times with --deploy.",
2061
+ "name": "deployment-step-id",
2062
+ "hasDynamicHelp": false,
2063
+ "multiple": true,
2064
+ "type": "option"
2065
+ },
2066
+ "ignored-metadata-json": {
2067
+ "description": "JSON array to persist through ignored-metadata before starting the promotion.",
2068
+ "name": "ignored-metadata-json",
2069
+ "hasDynamicHelp": false,
2070
+ "multiple": false,
2071
+ "type": "option"
2072
+ },
2073
+ "promotion-id": {
2074
+ "description": "Explicit 18-character Promotion ID when the User Story belongs to multiple promotions.",
2075
+ "name": "promotion-id",
2076
+ "hasDynamicHelp": false,
2077
+ "multiple": false,
2078
+ "type": "option"
2079
+ },
2080
+ "recreate-promotion-branch": {
2081
+ "description": "Recreate the promotion branch before execution. Requires confirmation or --yes.",
2082
+ "name": "recreate-promotion-branch",
2083
+ "allowNo": false,
2084
+ "type": "boolean"
2085
+ },
2086
+ "wait": {
2087
+ "description": "Poll promotion and deployment executions to terminal status.",
2088
+ "name": "wait",
2089
+ "allowNo": true,
2090
+ "type": "boolean"
2091
+ },
2092
+ "wait-timeout": {
2093
+ "description": "Maximum total seconds to wait for promotion and deployment executions.",
2094
+ "name": "wait-timeout",
2095
+ "default": 900,
2096
+ "hasDynamicHelp": false,
2097
+ "multiple": false,
2098
+ "type": "option"
2099
+ },
2100
+ "yes": {
2101
+ "char": "y",
2102
+ "description": "Confirm promotion branch recreation without prompting.",
2103
+ "name": "yes",
2104
+ "allowNo": false,
2105
+ "type": "boolean"
2106
+ }
2107
+ },
2108
+ "hasDynamicHelp": false,
2109
+ "hiddenAliases": [],
2110
+ "id": "cicd:cloud:promote",
2111
+ "pluginAlias": "@copado/agentia-cli",
2112
+ "pluginName": "@copado/agentia-cli",
2113
+ "pluginType": "core",
2114
+ "strict": true,
2115
+ "enableJsonFlag": true,
2116
+ "isESM": true,
2117
+ "relativePath": [
2118
+ "dist",
2119
+ "commands",
2120
+ "cicd",
2121
+ "cloud",
2122
+ "promote.js"
2123
+ ]
2124
+ },
2125
+ "cicd:credential:create": {
2126
+ "aliases": [],
2127
+ "args": {},
2128
+ "description": "Create a Copado environment credential",
2129
+ "examples": [
2130
+ "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --name \"CI User\"",
2131
+ "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --name \"CI User\" --default",
2132
+ "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --name \"CI User\" --json"
2133
+ ],
2134
+ "flags": {
2135
+ "json": {
2136
+ "description": "Format output as json.",
2137
+ "helpGroup": "GLOBAL",
2138
+ "name": "json",
2139
+ "allowNo": false,
2140
+ "type": "boolean"
2141
+ },
2142
+ "default": {
2143
+ "description": "Mark this credential as the environment default",
2144
+ "name": "default",
2145
+ "allowNo": true,
2146
+ "type": "boolean"
2147
+ },
2148
+ "environmentid": {
2149
+ "description": "Copado environment ID",
2150
+ "name": "environmentid",
2151
+ "required": true,
2152
+ "hasDynamicHelp": false,
2153
+ "multiple": false,
2154
+ "type": "option"
2155
+ },
2156
+ "name": {
2157
+ "description": "Credential name",
2158
+ "name": "name",
2159
+ "required": true,
2160
+ "hasDynamicHelp": false,
2161
+ "multiple": false,
2162
+ "type": "option"
2163
+ }
2164
+ },
2165
+ "hasDynamicHelp": false,
2166
+ "hiddenAliases": [],
2167
+ "id": "cicd:credential:create",
2168
+ "pluginAlias": "@copado/agentia-cli",
2169
+ "pluginName": "@copado/agentia-cli",
2170
+ "pluginType": "core",
2171
+ "strict": true,
2172
+ "enableJsonFlag": true,
2173
+ "isESM": true,
2174
+ "relativePath": [
2175
+ "dist",
2176
+ "commands",
2177
+ "cicd",
2178
+ "credential",
2179
+ "create.js"
2180
+ ]
2181
+ },
2182
+ "cicd:credential:list": {
2183
+ "aliases": [],
2184
+ "args": {},
2185
+ "description": "List credentials for a Copado environment",
2186
+ "examples": [
2187
+ "<%= config.bin %> <%= command.id %> --environmentid <environment-id>",
2188
+ "<%= config.bin %> <%= command.id %> --environmentid \"Dev Sandbox\"",
2189
+ "<%= config.bin %> <%= command.id %> --environmentid <environment-id> --json"
2190
+ ],
2191
+ "flags": {
2192
+ "json": {
2193
+ "description": "Format output as json.",
2194
+ "helpGroup": "GLOBAL",
2195
+ "name": "json",
2196
+ "allowNo": false,
2197
+ "type": "boolean"
2198
+ },
2199
+ "environmentid": {
2200
+ "description": "Copado environment ID",
2201
+ "name": "environmentid",
2202
+ "required": true,
2203
+ "hasDynamicHelp": false,
2204
+ "multiple": false,
2205
+ "type": "option"
2206
+ }
2207
+ },
2208
+ "hasDynamicHelp": false,
2209
+ "hiddenAliases": [],
2210
+ "id": "cicd:credential:list",
2211
+ "pluginAlias": "@copado/agentia-cli",
2212
+ "pluginName": "@copado/agentia-cli",
2213
+ "pluginType": "core",
2214
+ "strict": true,
2215
+ "enableJsonFlag": true,
2216
+ "isESM": true,
2217
+ "relativePath": [
2218
+ "dist",
2219
+ "commands",
2220
+ "cicd",
2221
+ "credential",
2222
+ "list.js"
2223
+ ]
2224
+ },
2225
+ "cicd:credential:update": {
2226
+ "aliases": [],
2227
+ "args": {
2228
+ "id": {
2229
+ "description": "Copado credential ID",
2230
+ "name": "id",
2231
+ "required": true
2232
+ }
2233
+ },
2234
+ "description": "Update a Copado environment credential by ID",
2235
+ "examples": [
2236
+ "<%= config.bin %> <%= command.id %> <credential-id> --environmentid <environment-id> --name \"CI User\"",
2237
+ "<%= config.bin %> <%= command.id %> <credential-id> --environmentid <environment-id> --default",
2238
+ "<%= config.bin %> <%= command.id %> <credential-id> --environmentid <environment-id> --no-default --json"
2239
+ ],
2240
+ "flags": {
2241
+ "json": {
2242
+ "description": "Format output as json.",
2243
+ "helpGroup": "GLOBAL",
2244
+ "name": "json",
2245
+ "allowNo": false,
2246
+ "type": "boolean"
2247
+ },
2248
+ "default": {
2249
+ "description": "Mark this credential as the environment default",
2250
+ "name": "default",
2251
+ "allowNo": true,
2252
+ "type": "boolean"
2253
+ },
2254
+ "environmentid": {
2255
+ "description": "Copado environment ID",
2256
+ "name": "environmentid",
2257
+ "required": true,
2258
+ "hasDynamicHelp": false,
2259
+ "multiple": false,
2260
+ "type": "option"
2261
+ },
2262
+ "name": {
1913
2263
  "description": "Credential name",
1914
2264
  "name": "name",
1915
2265
  "hasDynamicHelp": false,
@@ -4631,9 +4981,9 @@
4631
4981
  "required": true
4632
4982
  }
4633
4983
  },
4634
- "description": "Create a Copado Git repository",
4984
+ "description": "Create a Copado Git repository shell",
4635
4985
  "examples": [
4636
- "<%= config.bin %> <%= command.id %> my-repo --source-format DX --provider Github --uri https://github.com/org/repo.git",
4986
+ "<%= config.bin %> <%= command.id %> my-repo --source-format DX --provider Github",
4637
4987
  "<%= config.bin %> <%= command.id %> my-repo --source-format DX --provider GitLab --json"
4638
4988
  ],
4639
4989
  "flags": {
@@ -4656,97 +5006,33 @@
4656
5006
  "allowNo": true,
4657
5007
  "type": "boolean"
4658
5008
  },
4659
- "auth-type": {
4660
- "description": "Repository authentication type",
4661
- "name": "auth-type",
5009
+ "provider": {
5010
+ "description": "Git repository provider",
5011
+ "name": "provider",
5012
+ "required": true,
4662
5013
  "hasDynamicHelp": false,
4663
5014
  "multiple": false,
4664
5015
  "options": [
4665
- "HTTPS"
5016
+ "Github",
5017
+ "Bitbucket",
5018
+ "GitLab",
5019
+ "Azure",
5020
+ "Microsoft Team Service",
5021
+ "Copado Version Control",
5022
+ "Others"
4666
5023
  ],
4667
5024
  "type": "option"
4668
5025
  },
4669
- "branch-base-url": {
4670
- "description": "Base URL for repository branch links",
4671
- "name": "branch-base-url",
4672
- "hasDynamicHelp": false,
4673
- "multiple": false,
4674
- "type": "option"
4675
- },
4676
- "commit-base-url": {
4677
- "description": "Base URL for repository commit links",
4678
- "name": "commit-base-url",
4679
- "hasDynamicHelp": false,
4680
- "multiple": false,
4681
- "type": "option"
4682
- },
4683
- "extra-headers": {
4684
- "description": "Additional authentication headers. Prefer environment-specific credential storage when available.",
4685
- "name": "extra-headers",
4686
- "hasDynamicHelp": false,
4687
- "multiple": false,
4688
- "type": "option"
4689
- },
4690
- "password": {
4691
- "description": "Repository password or token. This can be visible in shell history.",
4692
- "name": "password",
4693
- "hasDynamicHelp": false,
4694
- "multiple": false,
4695
- "type": "option"
4696
- },
4697
- "pull-request-base-url": {
4698
- "description": "Base URL for repository pull request links",
4699
- "name": "pull-request-base-url",
4700
- "hasDynamicHelp": false,
4701
- "multiple": false,
4702
- "type": "option"
4703
- },
4704
- "tag-base-url": {
4705
- "description": "Base URL for repository tag links",
4706
- "name": "tag-base-url",
5026
+ "source-format": {
5027
+ "description": "Git repository source format (default: DX)",
5028
+ "name": "source-format",
5029
+ "default": "DX",
4707
5030
  "hasDynamicHelp": false,
4708
5031
  "multiple": false,
4709
- "type": "option"
4710
- },
4711
- "uri": {
4712
- "description": "Repository clone URI",
4713
- "name": "uri",
4714
- "hasDynamicHelp": false,
4715
- "multiple": false,
4716
- "type": "option"
4717
- },
4718
- "username": {
4719
- "description": "Repository username",
4720
- "name": "username",
4721
- "hasDynamicHelp": false,
4722
- "multiple": false,
4723
- "type": "option"
4724
- },
4725
- "provider": {
4726
- "description": "Git repository provider",
4727
- "name": "provider",
4728
- "required": true,
4729
- "hasDynamicHelp": false,
4730
- "multiple": false,
4731
- "options": [
4732
- "Github",
4733
- "Bitbucket",
4734
- "GitLab",
4735
- "Microsoft Team Service",
4736
- "Copado Version Control",
4737
- "Others"
4738
- ],
4739
- "type": "option"
4740
- },
4741
- "source-format": {
4742
- "description": "Git repository source format",
4743
- "name": "source-format",
4744
- "required": true,
4745
- "hasDynamicHelp": false,
4746
- "multiple": false,
4747
- "options": [
4748
- "DX"
4749
- ],
5032
+ "options": [
5033
+ "Metadata",
5034
+ "DX"
5035
+ ],
4750
5036
  "type": "option"
4751
5037
  }
4752
5038
  },
@@ -4896,6 +5182,7 @@
4896
5182
  "Github",
4897
5183
  "Bitbucket",
4898
5184
  "GitLab",
5185
+ "Azure",
4899
5186
  "Microsoft Team Service",
4900
5187
  "Copado Version Control",
4901
5188
  "Others"
@@ -4908,6 +5195,7 @@
4908
5195
  "hasDynamicHelp": false,
4909
5196
  "multiple": false,
4910
5197
  "options": [
5198
+ "Metadata",
4911
5199
  "DX"
4912
5200
  ],
4913
5201
  "type": "option"
@@ -4979,10 +5267,10 @@
4979
5267
  "required": true
4980
5268
  }
4981
5269
  },
4982
- "description": "Reset a Copado Git repository",
5270
+ "description": "Reset a Copado Git repository and its authentication configuration",
4983
5271
  "examples": [
4984
- "<%= config.bin %> <%= command.id %> repo-001",
4985
- "<%= config.bin %> <%= command.id %> repo-001 --json"
5272
+ "<%= config.bin %> <%= command.id %> repo-001 --yes",
5273
+ "<%= config.bin %> <%= command.id %> repo-001 --yes --json"
4986
5274
  ],
4987
5275
  "flags": {
4988
5276
  "json": {
@@ -4991,6 +5279,13 @@
4991
5279
  "name": "json",
4992
5280
  "allowNo": false,
4993
5281
  "type": "boolean"
5282
+ },
5283
+ "yes": {
5284
+ "char": "y",
5285
+ "description": "Confirm reset without prompting",
5286
+ "name": "yes",
5287
+ "allowNo": false,
5288
+ "type": "boolean"
4994
5289
  }
4995
5290
  },
4996
5291
  "hasDynamicHelp": false,
@@ -5022,7 +5317,7 @@
5022
5317
  "description": "Update a Copado Git repository by ID",
5023
5318
  "examples": [
5024
5319
  "<%= config.bin %> <%= command.id %> repo-001 --uri https://github.com/org/repo.git",
5025
- "<%= config.bin %> <%= command.id %> repo-001 --clear-password",
5320
+ "<%= config.bin %> <%= command.id %> repo-001 --clear-uri",
5026
5321
  "<%= config.bin %> <%= command.id %> repo-001 --provider GitLab --json"
5027
5322
  ],
5028
5323
  "flags": {
@@ -5057,18 +5352,6 @@
5057
5352
  "allowNo": false,
5058
5353
  "type": "boolean"
5059
5354
  },
5060
- "clear-extra-headers": {
5061
- "description": "Clear additional repository headers",
5062
- "name": "clear-extra-headers",
5063
- "allowNo": false,
5064
- "type": "boolean"
5065
- },
5066
- "clear-password": {
5067
- "description": "Clear the repository password or token",
5068
- "name": "clear-password",
5069
- "allowNo": false,
5070
- "type": "boolean"
5071
- },
5072
5355
  "clear-pull-request-base-url": {
5073
5356
  "description": "Clear the repository pull request base URL",
5074
5357
  "name": "clear-pull-request-base-url",
@@ -5087,22 +5370,6 @@
5087
5370
  "allowNo": false,
5088
5371
  "type": "boolean"
5089
5372
  },
5090
- "clear-username": {
5091
- "description": "Clear the repository username",
5092
- "name": "clear-username",
5093
- "allowNo": false,
5094
- "type": "boolean"
5095
- },
5096
- "auth-type": {
5097
- "description": "Repository authentication type",
5098
- "name": "auth-type",
5099
- "hasDynamicHelp": false,
5100
- "multiple": false,
5101
- "options": [
5102
- "HTTPS"
5103
- ],
5104
- "type": "option"
5105
- },
5106
5373
  "branch-base-url": {
5107
5374
  "description": "Base URL for repository branch links",
5108
5375
  "name": "branch-base-url",
@@ -5117,20 +5384,6 @@
5117
5384
  "multiple": false,
5118
5385
  "type": "option"
5119
5386
  },
5120
- "extra-headers": {
5121
- "description": "Additional authentication headers. Prefer environment-specific credential storage when available.",
5122
- "name": "extra-headers",
5123
- "hasDynamicHelp": false,
5124
- "multiple": false,
5125
- "type": "option"
5126
- },
5127
- "password": {
5128
- "description": "Repository password or token. This can be visible in shell history.",
5129
- "name": "password",
5130
- "hasDynamicHelp": false,
5131
- "multiple": false,
5132
- "type": "option"
5133
- },
5134
5387
  "pull-request-base-url": {
5135
5388
  "description": "Base URL for repository pull request links",
5136
5389
  "name": "pull-request-base-url",
@@ -5152,13 +5405,6 @@
5152
5405
  "multiple": false,
5153
5406
  "type": "option"
5154
5407
  },
5155
- "username": {
5156
- "description": "Repository username",
5157
- "name": "username",
5158
- "hasDynamicHelp": false,
5159
- "multiple": false,
5160
- "type": "option"
5161
- },
5162
5408
  "name": {
5163
5409
  "description": "Repository name",
5164
5410
  "name": "name",
@@ -5175,6 +5421,7 @@
5175
5421
  "Github",
5176
5422
  "Bitbucket",
5177
5423
  "GitLab",
5424
+ "Azure",
5178
5425
  "Microsoft Team Service",
5179
5426
  "Copado Version Control",
5180
5427
  "Others"
@@ -5187,6 +5434,7 @@
5187
5434
  "hasDynamicHelp": false,
5188
5435
  "multiple": false,
5189
5436
  "options": [
5437
+ "Metadata",
5190
5438
  "DX"
5191
5439
  ],
5192
5440
  "type": "option"
@@ -5585,12 +5833,10 @@
5585
5833
  "required": false
5586
5834
  }
5587
5835
  },
5588
- "description": "Create a Copado cloud metadata commit for a user story. Requires --cloud: preflights the story, submits POST /release/commit, and polls the job monitor by default. For local Git work, use git add/commit then `cicd work publish`. Permission and full-metadata selections belong on `cicd work publish`.",
5836
+ "description": "Compatibility alias of cicd cloud commit. Create a Copado cloud metadata commit for a user story. Prefer: agentia cicd cloud commit.",
5589
5837
  "examples": [
5590
- "<%= config.bin %> <%= command.id %> --cloud --message \"Commit AccountService\" --metadata-name AccountService --metadata-type ApexClass --metadata-category SFDX --action Add",
5591
- "<%= config.bin %> <%= command.id %> a07XXXXXXXXXXXXXXX --cloud --message \"Update Aura files\" --metadata-name accountEditor --metadata-type AuraDefinitionBundle --metadata-category SFDX --action SelectiveCommit --selection accountEditor/accountEditor.cmp --selection accountEditor/accountEditorController.js",
5592
- "<%= config.bin %> <%= command.id %> --cloud --file commit-request.json # {\"message\":\"Commit AccountService\",\"changes\":[{\"a\":\"Add\",\"c\":\"SFDX\",\"n\":\"AccountService\",\"t\":\"ApexClass\"}]}",
5593
- "cat commit-request.json | <%= config.bin %> <%= command.id %> --cloud --stdin --json"
5838
+ "<%= config.bin %> cicd cloud commit --message \"Commit AccountService\" --metadata-name AccountService --metadata-type ApexClass --metadata-category SFDX --action Add",
5839
+ "<%= config.bin %> <%= command.id %> --cloud --message \"Commit AccountService\" --metadata-name AccountService --metadata-type ApexClass --metadata-category SFDX --action Add"
5594
5840
  ],
5595
5841
  "flags": {
5596
5842
  "json": {
@@ -5622,7 +5868,8 @@
5622
5868
  "type": "option"
5623
5869
  },
5624
5870
  "cloud": {
5625
- "description": "Create a Copado cloud metadata commit (POST /release/commit). Required. For local Git work, use git commit then `cicd work publish`.",
5871
+ "description": "Ignored. Cloud is implied by cicd cloud commit.",
5872
+ "hidden": true,
5626
5873
  "name": "cloud",
5627
5874
  "allowNo": false,
5628
5875
  "type": "boolean"
@@ -5726,6 +5973,7 @@
5726
5973
  }
5727
5974
  },
5728
5975
  "hasDynamicHelp": false,
5976
+ "hidden": true,
5729
5977
  "hiddenAliases": [],
5730
5978
  "id": "cicd:work:commit",
5731
5979
  "pluginAlias": "@copado/agentia-cli",
@@ -6039,6 +6287,102 @@
6039
6287
  "done.js"
6040
6288
  ]
6041
6289
  },
6290
+ "cicd:work:environment-sync": {
6291
+ "aliases": [],
6292
+ "args": {},
6293
+ "description": "Sync committed metadata from the next environment onto the destination environment (or current feature branch). Back-promotes every user story behind the destination environment from the next environment branch. GET user stories ahead and behind. If none are behind, log that and stop. Otherwise create a back-promotion and POST those behind stories onto the promotion. 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). Merges origin/<next-env> with --no-ff --no-commit, restores every other path from HEAD, commits the guessed pathspecs, and pushes the dest org branch (and the feature branch when HEAD starts with feature/). 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. To discard a conflicted merge, re-run with --promotion and --abort (runs git merge --abort and sets the back-promotion status to Draft). After a successful sync, PATCH the back-promotion status to Completed.",
6294
+ "examples": [
6295
+ "<%= config.bin %> <%= command.id %> --destination-environment=dev1",
6296
+ "<%= config.bin %> <%= command.id %> --dev-org-branch=dev1-sfp",
6297
+ "<%= config.bin %> <%= command.id %> --promotion=P29334 --continue",
6298
+ "<%= config.bin %> <%= command.id %> --promotion=P29334 --abort",
6299
+ "<%= config.bin %> <%= command.id %> --destination-environment=dev1 --json"
6300
+ ],
6301
+ "flags": {
6302
+ "json": {
6303
+ "description": "Format output as json.",
6304
+ "helpGroup": "GLOBAL",
6305
+ "name": "json",
6306
+ "allowNo": false,
6307
+ "type": "boolean"
6308
+ },
6309
+ "abort": {
6310
+ "description": "Abort an in-progress merge (`git merge --abort`) and set the back-promotion status to Draft. Requires --promotion. Exclusive with --continue.",
6311
+ "exclusive": [
6312
+ "continue"
6313
+ ],
6314
+ "name": "abort",
6315
+ "allowNo": false,
6316
+ "type": "boolean"
6317
+ },
6318
+ "continue": {
6319
+ "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.",
6320
+ "exclusive": [
6321
+ "abort"
6322
+ ],
6323
+ "name": "continue",
6324
+ "allowNo": false,
6325
+ "type": "boolean"
6326
+ },
6327
+ "destination-credential": {
6328
+ "description": "Credential ID posted as destinationCredentialId when creating the back-promotion. Copado requires a credential on the next/source environment (PRO-033 if a dest/dev credential is sent) and then stores the dest/dev credential. Defaults to that source environment defaultCredential, otherwise the first source credential.",
6329
+ "name": "destination-credential",
6330
+ "hasDynamicHelp": false,
6331
+ "multiple": false,
6332
+ "type": "option"
6333
+ },
6334
+ "destination-environment": {
6335
+ "description": "Destination org environment name or Id. Resolves to that environment's pipeline connection Git branch.",
6336
+ "exclusive": [
6337
+ "dev-org-branch"
6338
+ ],
6339
+ "name": "destination-environment",
6340
+ "hasDynamicHelp": false,
6341
+ "multiple": false,
6342
+ "type": "option"
6343
+ },
6344
+ "dev-org-branch": {
6345
+ "description": "Destination org Git branch. Defaults to lastDevOrgBranch from `cicd work set`.",
6346
+ "exclusive": [
6347
+ "destination-environment"
6348
+ ],
6349
+ "name": "dev-org-branch",
6350
+ "hasDynamicHelp": false,
6351
+ "multiple": false,
6352
+ "type": "option"
6353
+ },
6354
+ "pipeline-id": {
6355
+ "description": "Pipeline ID. Defaults to the active work item from `cicd work set`.",
6356
+ "name": "pipeline-id",
6357
+ "hasDynamicHelp": false,
6358
+ "multiple": false,
6359
+ "type": "option"
6360
+ },
6361
+ "promotion": {
6362
+ "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.",
6363
+ "name": "promotion",
6364
+ "hasDynamicHelp": false,
6365
+ "multiple": false,
6366
+ "type": "option"
6367
+ }
6368
+ },
6369
+ "hasDynamicHelp": false,
6370
+ "hiddenAliases": [],
6371
+ "id": "cicd:work:environment-sync",
6372
+ "pluginAlias": "@copado/agentia-cli",
6373
+ "pluginName": "@copado/agentia-cli",
6374
+ "pluginType": "core",
6375
+ "strict": true,
6376
+ "enableJsonFlag": true,
6377
+ "isESM": true,
6378
+ "relativePath": [
6379
+ "dist",
6380
+ "commands",
6381
+ "cicd",
6382
+ "work",
6383
+ "environment-sync.js"
6384
+ ]
6385
+ },
6042
6386
  "cicd:work:get": {
6043
6387
  "aliases": [],
6044
6388
  "args": {
@@ -6052,7 +6396,9 @@
6052
6396
  "examples": [
6053
6397
  "<%= config.bin %> <%= command.id %>",
6054
6398
  "<%= config.bin %> <%= command.id %> a0SKC000000CmZ2AU",
6055
- "<%= config.bin %> <%= command.id %> a0SKC000000CmZ2AU --json"
6399
+ "<%= config.bin %> <%= command.id %> a0SKC000000CmZ2AU --json",
6400
+ "<%= config.bin %> <%= command.id %> a0SKC000000CmZ2AU --user-stories-ahead-behind",
6401
+ "<%= config.bin %> <%= command.id %> a0SKC000000CmZ2AU --user-stories-ahead-behind --json"
6056
6402
  ],
6057
6403
  "flags": {
6058
6404
  "json": {
@@ -6061,6 +6407,12 @@
6061
6407
  "name": "json",
6062
6408
  "allowNo": false,
6063
6409
  "type": "boolean"
6410
+ },
6411
+ "user-stories-ahead-behind": {
6412
+ "description": "When the user story has a pipeline and source environment, compare user stories ahead of and behind the next pipeline environment",
6413
+ "name": "user-stories-ahead-behind",
6414
+ "allowNo": false,
6415
+ "type": "boolean"
6064
6416
  }
6065
6417
  },
6066
6418
  "hasDynamicHelp": false,
@@ -6250,17 +6602,23 @@
6250
6602
  "cicd:work:promote": {
6251
6603
  "aliases": [],
6252
6604
  "args": {
6253
- "id": {
6254
- "description": "User Story ID (defaults to the active work item from `work set`)",
6255
- "name": "id",
6605
+ "userStoryIds": {
6606
+ "description": "User story ID. Pass more than one to merge those feature branches in order. Omit when using --promotion with --continue or --abort.",
6607
+ "multiple": true,
6608
+ "name": "userStoryIds",
6256
6609
  "required": false
6257
6610
  }
6258
6611
  },
6259
- "description": "Promote the explicit or active User Story through its Copado Promotion. Requires --cloud and selects promote-only unless --deploy is passed.",
6612
+ "description": "Experimental: skips Quality Gates. Requires enableLocalPromote true in .agentia/config.json. Create a promotion for one or more user stories and merge each feature/<name> branch into promotion/<promotionName>. The promotion branch is created from the destination environment branch. Without --backpromote, the stories promote forward from their source environment to the next pipeline environment. With --backpromote, pass --destination-branch. The destination environment is the pipeline environment whose connection branch matches that name, and the source is the next environment above it. Story merges stop at the first conflict and the promotion status is set to Merge Conflict. Resolve those files, then re-run with --promotion=<name-or-id> --continue to commit the merge, merge any remaining stories, and finish the promotion. To discard a conflicted merge, re-run with --promotion=<name-or-id> --abort (runs git merge --abort and sets the promotion status to Draft). That continue command repeats --validate or --deploy and --sf-alias when the original command used them. After every story merges, the promotion branch is pushed. Without --validate or --deploy, the promotion status is set to Completed. With --validate or --deploy, --sf-alias is required. The command writes a temporary package.xml and postdestructivechanges.xml from the promotion metadata and runs sf project deploy start --test-level NoTestRun -o <alias>. --validate adds --dry-run, does not merge the destination branch, and sets the promotion status to Validated. --deploy merges the promotion branch into the destination branch and sets the promotion status to Completed only after that deployment succeeds. User story records are not updated.",
6260
6613
  "examples": [
6261
- "<%= config.bin %> <%= command.id %> --cloud",
6262
- "<%= config.bin %> <%= command.id %> a07XXXXXXXXXXXXXXX --cloud --promotion-id a0BXXXXXXXXXXXXXXX",
6263
- "<%= config.bin %> <%= command.id %> --cloud --deploy --json"
6614
+ "<%= config.bin %> <%= command.id %> a16P7000006By3pIAC",
6615
+ "<%= config.bin %> <%= command.id %> a16P7000006By3pIAC a16P7000006By4qIAC",
6616
+ "<%= config.bin %> <%= command.id %> a16P7000006By3pIAC --backpromote --destination-branch dev1-sfp",
6617
+ "<%= config.bin %> <%= command.id %> a16P7000006By3pIAC --validate --sf-alias destOrg",
6618
+ "<%= config.bin %> <%= command.id %> a16P7000006By3pIAC --deploy --sf-alias destOrg",
6619
+ "<%= config.bin %> <%= command.id %> --promotion=P29354 --continue",
6620
+ "<%= config.bin %> <%= command.id %> --promotion=P29354 --abort",
6621
+ "<%= config.bin %> <%= command.id %> a16P7000006By3pIAC --json"
6264
6622
  ],
6265
6623
  "flags": {
6266
6624
  "json": {
@@ -6270,63 +6628,76 @@
6270
6628
  "allowNo": false,
6271
6629
  "type": "boolean"
6272
6630
  },
6273
- "cloud": {
6274
- "description": "Use the Copado cloud promotion API. Required for this command.",
6275
- "name": "cloud",
6631
+ "abort": {
6632
+ "description": "Abort an in-progress merge (`git merge --abort`) and set the promotion status to Draft. Requires --promotion. Exclusive with --continue.",
6633
+ "exclusive": [
6634
+ "continue"
6635
+ ],
6636
+ "name": "abort",
6637
+ "allowNo": false,
6638
+ "type": "boolean"
6639
+ },
6640
+ "backpromote": {
6641
+ "description": "Create a back promotion. Requires --destination-branch. Omit to promote forward to the next pipeline environment.",
6642
+ "name": "backpromote",
6643
+ "allowNo": false,
6644
+ "type": "boolean"
6645
+ },
6646
+ "continue": {
6647
+ "description": "Commit a resolved merge on promotion/<name> and finish the remaining story merges. Requires --promotion.",
6648
+ "exclusive": [
6649
+ "abort"
6650
+ ],
6651
+ "name": "continue",
6276
6652
  "allowNo": false,
6277
6653
  "type": "boolean"
6278
6654
  },
6279
6655
  "deploy": {
6280
- "description": "Use merge_and_deploy instead of promote-only merge.",
6656
+ "description": "Deploy the promotion metadata with sf project deploy start, then merge the promotion branch into the destination branch and set the promotion status to Completed. Requires --sf-alias.",
6657
+ "exclusive": [
6658
+ "validate"
6659
+ ],
6281
6660
  "name": "deploy",
6282
6661
  "allowNo": false,
6283
6662
  "type": "boolean"
6284
6663
  },
6285
- "deployment-step-id": {
6286
- "description": "Ordered deployment-step Salesforce ID. Can be provided multiple times with --deploy.",
6287
- "name": "deployment-step-id",
6664
+ "destination-branch": {
6665
+ "dependsOn": [
6666
+ "backpromote"
6667
+ ],
6668
+ "description": "Destination environment Git branch for --backpromote. The destination environment is the pipeline environment whose connection branch matches this name.",
6669
+ "name": "destination-branch",
6288
6670
  "hasDynamicHelp": false,
6289
- "multiple": true,
6671
+ "multiple": false,
6290
6672
  "type": "option"
6291
6673
  },
6292
- "ignored-metadata-json": {
6293
- "description": "JSON array to persist through ignored-metadata before starting the promotion.",
6294
- "name": "ignored-metadata-json",
6674
+ "destination-credential": {
6675
+ "description": "Credential ID posted as destinationCredentialId. Defaults to the destination environment default credential for a forward promotion, or the next/source environment default credential for --backpromote.",
6676
+ "name": "destination-credential",
6295
6677
  "hasDynamicHelp": false,
6296
6678
  "multiple": false,
6297
6679
  "type": "option"
6298
6680
  },
6299
- "promotion-id": {
6300
- "description": "Explicit 18-character Promotion ID when the User Story belongs to multiple promotions.",
6301
- "name": "promotion-id",
6681
+ "promotion": {
6682
+ "description": "Promotion Id or name for --continue after a merge conflict, or for --abort.",
6683
+ "name": "promotion",
6302
6684
  "hasDynamicHelp": false,
6303
6685
  "multiple": false,
6304
6686
  "type": "option"
6305
6687
  },
6306
- "recreate-promotion-branch": {
6307
- "description": "Recreate the promotion branch before execution. Requires confirmation or --yes.",
6308
- "name": "recreate-promotion-branch",
6309
- "allowNo": false,
6310
- "type": "boolean"
6311
- },
6312
- "wait": {
6313
- "description": "Poll promotion and deployment executions to terminal status.",
6314
- "name": "wait",
6315
- "allowNo": true,
6316
- "type": "boolean"
6317
- },
6318
- "wait-timeout": {
6319
- "description": "Maximum total seconds to wait for promotion and deployment executions.",
6320
- "name": "wait-timeout",
6321
- "default": 900,
6688
+ "sf-alias": {
6689
+ "description": "Salesforce org alias or username for --validate or --deploy. Passed to sf project deploy start -o.",
6690
+ "name": "sf-alias",
6322
6691
  "hasDynamicHelp": false,
6323
6692
  "multiple": false,
6324
6693
  "type": "option"
6325
6694
  },
6326
- "yes": {
6327
- "char": "y",
6328
- "description": "Confirm promotion branch recreation without prompting.",
6329
- "name": "yes",
6695
+ "validate": {
6696
+ "description": "Validate the promotion metadata with sf project deploy start --dry-run. Does not merge the destination branch. Sets the promotion status to Validated. Requires --sf-alias.",
6697
+ "exclusive": [
6698
+ "deploy"
6699
+ ],
6700
+ "name": "validate",
6330
6701
  "allowNo": false,
6331
6702
  "type": "boolean"
6332
6703
  }
@@ -6470,7 +6841,7 @@
6470
6841
  "required": false
6471
6842
  }
6472
6843
  },
6473
- "description": "Set the active work item and prepare a local feature branch. Calls the CICD gateway work/set endpoint, requires a clean tracked working tree, fetches the work item base branch from origin, fetches the feature branch when it exists on origin, then creates or checks out feature/<user-story-name> from the remote feature branch when present, otherwise from the base branch. A gateway warning prints the message, skips git, and leaves local work context unchanged. After work/set returns, compares the Story source credential with the CICD project default: warns when the default or Story credential is missing, and warns without changing the Story when they differ (shows the current credential and environment; use work update to change it). With --none, clears every last* key from `.agentia/config.user.json` and checks out the previous lastBaseBranch when present, else main, else master, else stays put.",
6844
+ "description": "Set the active work item and prepare a local feature branch. Calls the CICD gateway work/set endpoint, requires a clean tracked working tree, fetches the work item base branch from origin, fetches the feature branch when it exists on origin, then creates or checks out feature/<user-story-name> from the remote feature branch when present, otherwise from the base branch. A gateway warning prints the message, skips git, clears lastBaseBranch/lastDevOrgBranch/lastPullRequestBaseUrl, and records lastWorkItemId/lastWorkItem/lastWorkItemTitle from the returned work item. After work/set returns, compares the Story source credential with the CICD project default: warns when the default or Story credential is missing, and warns without changing the Story when they differ (shows the current credential and environment; use work update to change it). With --none, clears every last* key from `.agentia/config.user.json` and checks out the previous lastBaseBranch when present, else main, else master, else stays put.",
6474
6845
  "examples": [
6475
6846
  "<%= config.bin %> <%= command.id %> a0SKC000000CmZ2AU",
6476
6847
  "<%= config.bin %> <%= command.id %> US-0001 --json",
@@ -6567,7 +6938,7 @@
6567
6938
  "cicd:work:submit": {
6568
6939
  "aliases": [],
6569
6940
  "args": {},
6570
- "description": "Submit the current feature/<lastWorkItem> work item for pipeline quality gates and validation. Runs project-root .agentia_quality_gates.sh (macOS/Linux) or .agentia_quality_gates.cmd (Windows) when present, pushes and registers commits when the branch is ahead of origin, then calls headless work/submit (Promote Action with validate=true). When the last pending related job template name contains Commit, waits up to 5 minutes for that job before submitting. With --done or --deploy, matches Copado UI Submit when promoting (validate=false / headless work/done). cicd work done is a compatibility alias of this command with --done.",
6941
+ "description": "Submit the current feature/<lastWorkItem> work item for pipeline quality gates and validation. Runs project-root .agentia_quality_gates.sh (macOS/Linux) or .agentia_quality_gates.cmd (Windows) when present, pushes and registers commits when the branch is ahead of origin, then calls headless work/submit (Promote Action with validate=true). When the last pending related job template name contains Commit, waits up to 5 minutes for that job before submitting. Before submit or promote, counts user stories ahead and behind between the source environment and the next pipeline environment, and warns when stories behind might cause promotion conflicts (advising `agentia cicd work environment-sync`). With --done or --deploy, matches Copado UI Submit when promoting (validate=false / headless work/done). cicd work done is a compatibility alias of this command with --done.",
6571
6942
  "examples": [
6572
6943
  "<%= config.bin %> <%= command.id %>",
6573
6944
  "<%= config.bin %> <%= command.id %> --apex-test-classes=MyTest,OtherTest",
@@ -9687,13 +10058,18 @@
9687
10058
  "upload.js"
9688
10059
  ]
9689
10060
  },
9690
- "testing:project:create": {
10061
+ "testing:live:continue": {
9691
10062
  "aliases": [],
9692
- "args": {},
9693
- "description": "Create a Copado Robotic Testing project",
10063
+ "args": {
10064
+ "job-id": {
10065
+ "description": "Optional CRT job/test ID guard.",
10066
+ "name": "job-id",
10067
+ "required": false
10068
+ }
10069
+ },
10070
+ "description": "Continue paused Robot execution in the active CRT live session",
9694
10071
  "examples": [
9695
- "<%= config.bin %> <%= command.id %> --name \"QA Tests\"",
9696
- "<%= config.bin %> <%= command.id %> --name \"QA Tests\" --description \"Smoke suite\" --json"
10072
+ "<%= config.bin %> <%= command.id %> --project <project-id>"
9697
10073
  ],
9698
10074
  "flags": {
9699
10075
  "json": {
@@ -9703,284 +10079,18 @@
9703
10079
  "allowNo": false,
9704
10080
  "type": "boolean"
9705
10081
  },
9706
- "dashboard-id": {
9707
- "description": "Optional CRT dashboard ID.",
9708
- "name": "dashboard-id",
9709
- "hasDynamicHelp": false,
9710
- "multiple": false,
9711
- "type": "option"
9712
- },
9713
- "description": {
9714
- "description": "Project description.",
9715
- "name": "description",
9716
- "hasDynamicHelp": false,
9717
- "multiple": false,
9718
- "type": "option"
9719
- },
9720
- "executor": {
9721
- "description": "Project execution backend.",
9722
- "name": "executor",
9723
- "hasDynamicHelp": false,
9724
- "multiple": false,
9725
- "options": [
9726
- "jenkins",
9727
- "kubernetes"
9728
- ],
9729
- "type": "option"
9730
- },
9731
- "name": {
9732
- "description": "Project name.",
9733
- "name": "name",
10082
+ "project": {
10083
+ "char": "p",
10084
+ "description": "CRT project ID.",
10085
+ "name": "project",
9734
10086
  "required": true,
9735
10087
  "hasDynamicHelp": false,
9736
10088
  "multiple": false,
9737
10089
  "type": "option"
9738
10090
  },
9739
- "type": {
9740
- "description": "CRT project type.",
9741
- "name": "type",
9742
- "default": "ta",
9743
- "hasDynamicHelp": false,
9744
- "multiple": false,
9745
- "options": [
9746
- "ta",
9747
- "rpa"
9748
- ],
9749
- "type": "option"
9750
- }
9751
- },
9752
- "hasDynamicHelp": false,
9753
- "hiddenAliases": [],
9754
- "id": "testing:project:create",
9755
- "pluginAlias": "@copado/agentia-cli",
9756
- "pluginName": "@copado/agentia-cli",
9757
- "pluginType": "core",
9758
- "strict": true,
9759
- "enableJsonFlag": true,
9760
- "isESM": true,
9761
- "relativePath": [
9762
- "dist",
9763
- "commands",
9764
- "testing",
9765
- "project",
9766
- "create.js"
9767
- ]
9768
- },
9769
- "testing:project:delete": {
9770
- "aliases": [],
9771
- "args": {
9772
- "id": {
9773
- "description": "CRT project ID.",
9774
- "name": "id",
9775
- "required": true
9776
- }
9777
- },
9778
- "description": "Delete a Copado Robotic Testing project",
9779
- "examples": [
9780
- "<%= config.bin %> <%= command.id %> <project-id> --yes",
9781
- "<%= config.bin %> <%= command.id %> <project-id> --yes --json"
9782
- ],
9783
- "flags": {
9784
- "json": {
9785
- "description": "Format output as json.",
9786
- "helpGroup": "GLOBAL",
9787
- "name": "json",
9788
- "allowNo": false,
9789
- "type": "boolean"
9790
- },
9791
- "yes": {
9792
- "char": "y",
9793
- "description": "Skip the destructive confirmation prompt.",
9794
- "name": "yes",
9795
- "allowNo": false,
9796
- "type": "boolean"
9797
- }
9798
- },
9799
- "hasDynamicHelp": false,
9800
- "hiddenAliases": [],
9801
- "id": "testing:project:delete",
9802
- "pluginAlias": "@copado/agentia-cli",
9803
- "pluginName": "@copado/agentia-cli",
9804
- "pluginType": "core",
9805
- "strict": true,
9806
- "enableJsonFlag": true,
9807
- "isESM": true,
9808
- "relativePath": [
9809
- "dist",
9810
- "commands",
9811
- "testing",
9812
- "project",
9813
- "delete.js"
9814
- ]
9815
- },
9816
- "testing:project:get": {
9817
- "aliases": [],
9818
- "args": {
9819
- "id": {
9820
- "description": "CRT project ID.",
9821
- "name": "id",
9822
- "required": true
9823
- }
9824
- },
9825
- "description": "Get a Copado Robotic Testing project from the project list",
9826
- "examples": [
9827
- "<%= config.bin %> <%= command.id %> <project-id>",
9828
- "<%= config.bin %> <%= command.id %> <project-id> --json"
9829
- ],
9830
- "flags": {
9831
- "json": {
9832
- "description": "Format output as json.",
9833
- "helpGroup": "GLOBAL",
9834
- "name": "json",
9835
- "allowNo": false,
9836
- "type": "boolean"
9837
- }
9838
- },
9839
- "hasDynamicHelp": false,
9840
- "hiddenAliases": [],
9841
- "id": "testing:project:get",
9842
- "pluginAlias": "@copado/agentia-cli",
9843
- "pluginName": "@copado/agentia-cli",
9844
- "pluginType": "core",
9845
- "strict": true,
9846
- "enableJsonFlag": true,
9847
- "isESM": true,
9848
- "relativePath": [
9849
- "dist",
9850
- "commands",
9851
- "testing",
9852
- "project",
9853
- "get.js"
9854
- ]
9855
- },
9856
- "testing:project:list": {
9857
- "aliases": [],
9858
- "args": {},
9859
- "description": "List Copado Robotic Testing projects",
9860
- "examples": [
9861
- "<%= config.bin %> <%= command.id %>",
9862
- "<%= config.bin %> <%= command.id %> --name \"QA Tests\" --json"
9863
- ],
9864
- "flags": {
9865
- "json": {
9866
- "description": "Format output as json.",
9867
- "helpGroup": "GLOBAL",
9868
- "name": "json",
9869
- "allowNo": false,
9870
- "type": "boolean"
9871
- },
9872
- "name": {
9873
- "description": "Exact project name to match client-side.",
9874
- "name": "name",
9875
- "hasDynamicHelp": false,
9876
- "multiple": false,
9877
- "type": "option"
9878
- }
9879
- },
9880
- "hasDynamicHelp": false,
9881
- "hiddenAliases": [],
9882
- "id": "testing:project:list",
9883
- "pluginAlias": "@copado/agentia-cli",
9884
- "pluginName": "@copado/agentia-cli",
9885
- "pluginType": "core",
9886
- "strict": true,
9887
- "enableJsonFlag": true,
9888
- "isESM": true,
9889
- "relativePath": [
9890
- "dist",
9891
- "commands",
9892
- "testing",
9893
- "project",
9894
- "list.js"
9895
- ]
9896
- },
9897
- "testing:project:update": {
9898
- "aliases": [],
9899
- "args": {
9900
- "id": {
9901
- "description": "CRT project ID.",
9902
- "name": "id",
9903
- "required": true
9904
- }
9905
- },
9906
- "description": "Update a Copado Robotic Testing project",
9907
- "examples": [
9908
- "<%= config.bin %> <%= command.id %> <project-id> --name \"QA Updated\"",
9909
- "<%= config.bin %> <%= command.id %> <project-id> --description \"Regression suites\" --json"
9910
- ],
9911
- "flags": {
9912
- "json": {
9913
- "description": "Format output as json.",
9914
- "helpGroup": "GLOBAL",
9915
- "name": "json",
9916
- "allowNo": false,
9917
- "type": "boolean"
9918
- },
9919
- "description": {
9920
- "description": "New project description.",
9921
- "name": "description",
9922
- "hasDynamicHelp": false,
9923
- "multiple": false,
9924
- "type": "option"
9925
- },
9926
- "name": {
9927
- "description": "New project name.",
9928
- "name": "name",
9929
- "hasDynamicHelp": false,
9930
- "multiple": false,
9931
- "type": "option"
9932
- }
9933
- },
9934
- "hasDynamicHelp": false,
9935
- "hiddenAliases": [],
9936
- "id": "testing:project:update",
9937
- "pluginAlias": "@copado/agentia-cli",
9938
- "pluginName": "@copado/agentia-cli",
9939
- "pluginType": "core",
9940
- "strict": true,
9941
- "enableJsonFlag": true,
9942
- "isESM": true,
9943
- "relativePath": [
9944
- "dist",
9945
- "commands",
9946
- "testing",
9947
- "project",
9948
- "update.js"
9949
- ]
9950
- },
9951
- "testing:live:continue": {
9952
- "aliases": [],
9953
- "args": {
9954
- "job-id": {
9955
- "description": "Optional CRT job/test ID guard.",
9956
- "name": "job-id",
9957
- "required": false
9958
- }
9959
- },
9960
- "description": "Continue paused Robot execution in the active CRT live session",
9961
- "examples": [
9962
- "<%= config.bin %> <%= command.id %> --project <project-id>"
9963
- ],
9964
- "flags": {
9965
- "json": {
9966
- "description": "Format output as json.",
9967
- "helpGroup": "GLOBAL",
9968
- "name": "json",
9969
- "allowNo": false,
9970
- "type": "boolean"
9971
- },
9972
- "project": {
9973
- "char": "p",
9974
- "description": "CRT project ID.",
9975
- "name": "project",
9976
- "required": true,
9977
- "hasDynamicHelp": false,
9978
- "multiple": false,
9979
- "type": "option"
9980
- },
9981
- "session-id": {
9982
- "description": "Guard that must match the locally active CRT live session.",
9983
- "name": "session-id",
10091
+ "session-id": {
10092
+ "description": "Guard that must match the locally active CRT live session.",
10093
+ "name": "session-id",
9984
10094
  "hasDynamicHelp": false,
9985
10095
  "multiple": false,
9986
10096
  "type": "option"
@@ -10808,19 +10918,304 @@
10808
10918
  "status.js"
10809
10919
  ]
10810
10920
  },
10811
- "testing:live:stop": {
10921
+ "testing:live:stop": {
10922
+ "aliases": [],
10923
+ "args": {
10924
+ "job-id": {
10925
+ "description": "Optional CRT job/test ID guard.",
10926
+ "name": "job-id",
10927
+ "required": false
10928
+ }
10929
+ },
10930
+ "description": "Stop the active Copado Robotic Testing live session",
10931
+ "examples": [
10932
+ "<%= config.bin %> <%= command.id %> --project <project-id>",
10933
+ "<%= config.bin %> <%= command.id %> <job-id> --project <project-id> --yes --json"
10934
+ ],
10935
+ "flags": {
10936
+ "json": {
10937
+ "description": "Format output as json.",
10938
+ "helpGroup": "GLOBAL",
10939
+ "name": "json",
10940
+ "allowNo": false,
10941
+ "type": "boolean"
10942
+ },
10943
+ "project": {
10944
+ "char": "p",
10945
+ "description": "CRT project ID.",
10946
+ "name": "project",
10947
+ "required": true,
10948
+ "hasDynamicHelp": false,
10949
+ "multiple": false,
10950
+ "type": "option"
10951
+ },
10952
+ "session-id": {
10953
+ "description": "Guard that must match the locally active CRT live session.",
10954
+ "name": "session-id",
10955
+ "hasDynamicHelp": false,
10956
+ "multiple": false,
10957
+ "type": "option"
10958
+ },
10959
+ "yes": {
10960
+ "char": "y",
10961
+ "description": "Confirm live session shutdown.",
10962
+ "name": "yes",
10963
+ "allowNo": false,
10964
+ "type": "boolean"
10965
+ }
10966
+ },
10967
+ "hasDynamicHelp": false,
10968
+ "hiddenAliases": [],
10969
+ "id": "testing:live:stop",
10970
+ "pluginAlias": "@copado/agentia-cli",
10971
+ "pluginName": "@copado/agentia-cli",
10972
+ "pluginType": "core",
10973
+ "strict": true,
10974
+ "enableJsonFlag": true,
10975
+ "isESM": true,
10976
+ "relativePath": [
10977
+ "dist",
10978
+ "commands",
10979
+ "testing",
10980
+ "live",
10981
+ "stop.js"
10982
+ ]
10983
+ },
10984
+ "testing:live:view": {
10985
+ "aliases": [],
10986
+ "args": {},
10987
+ "description": "Open the authenticated CRT run/session page without putting viewer secrets in the URL",
10988
+ "examples": [
10989
+ "<%= config.bin %> <%= command.id %> --project <project-id>",
10990
+ "<%= config.bin %> <%= command.id %> --project <project-id> --no-open --json"
10991
+ ],
10992
+ "flags": {
10993
+ "json": {
10994
+ "description": "Format output as json.",
10995
+ "helpGroup": "GLOBAL",
10996
+ "name": "json",
10997
+ "allowNo": false,
10998
+ "type": "boolean"
10999
+ },
11000
+ "interactive": {
11001
+ "description": "Request interactive viewer controls when available.",
11002
+ "name": "interactive",
11003
+ "allowNo": false,
11004
+ "type": "boolean"
11005
+ },
11006
+ "no-open": {
11007
+ "description": "Return the nonsecret URL without opening a browser.",
11008
+ "name": "no-open",
11009
+ "allowNo": false,
11010
+ "type": "boolean"
11011
+ },
11012
+ "project": {
11013
+ "char": "p",
11014
+ "description": "CRT project ID.",
11015
+ "name": "project",
11016
+ "required": true,
11017
+ "hasDynamicHelp": false,
11018
+ "multiple": false,
11019
+ "type": "option"
11020
+ },
11021
+ "session-id": {
11022
+ "description": "Guard that must match the active CRT live session.",
11023
+ "name": "session-id",
11024
+ "hasDynamicHelp": false,
11025
+ "multiple": false,
11026
+ "type": "option"
11027
+ }
11028
+ },
11029
+ "hasDynamicHelp": false,
11030
+ "hiddenAliases": [],
11031
+ "id": "testing:live:view",
11032
+ "pluginAlias": "@copado/agentia-cli",
11033
+ "pluginName": "@copado/agentia-cli",
11034
+ "pluginType": "core",
11035
+ "strict": true,
11036
+ "enableJsonFlag": true,
11037
+ "isESM": true,
11038
+ "relativePath": [
11039
+ "dist",
11040
+ "commands",
11041
+ "testing",
11042
+ "live",
11043
+ "view.js"
11044
+ ]
11045
+ },
11046
+ "testing:project:create": {
11047
+ "aliases": [],
11048
+ "args": {},
11049
+ "description": "Create a Copado Robotic Testing project",
11050
+ "examples": [
11051
+ "<%= config.bin %> <%= command.id %> --name \"QA Tests\"",
11052
+ "<%= config.bin %> <%= command.id %> --name \"QA Tests\" --description \"Smoke suite\" --json"
11053
+ ],
11054
+ "flags": {
11055
+ "json": {
11056
+ "description": "Format output as json.",
11057
+ "helpGroup": "GLOBAL",
11058
+ "name": "json",
11059
+ "allowNo": false,
11060
+ "type": "boolean"
11061
+ },
11062
+ "dashboard-id": {
11063
+ "description": "Optional CRT dashboard ID.",
11064
+ "name": "dashboard-id",
11065
+ "hasDynamicHelp": false,
11066
+ "multiple": false,
11067
+ "type": "option"
11068
+ },
11069
+ "description": {
11070
+ "description": "Project description.",
11071
+ "name": "description",
11072
+ "hasDynamicHelp": false,
11073
+ "multiple": false,
11074
+ "type": "option"
11075
+ },
11076
+ "executor": {
11077
+ "description": "Project execution backend.",
11078
+ "name": "executor",
11079
+ "hasDynamicHelp": false,
11080
+ "multiple": false,
11081
+ "options": [
11082
+ "jenkins",
11083
+ "kubernetes"
11084
+ ],
11085
+ "type": "option"
11086
+ },
11087
+ "name": {
11088
+ "description": "Project name.",
11089
+ "name": "name",
11090
+ "required": true,
11091
+ "hasDynamicHelp": false,
11092
+ "multiple": false,
11093
+ "type": "option"
11094
+ },
11095
+ "type": {
11096
+ "description": "CRT project type.",
11097
+ "name": "type",
11098
+ "default": "ta",
11099
+ "hasDynamicHelp": false,
11100
+ "multiple": false,
11101
+ "options": [
11102
+ "ta",
11103
+ "rpa"
11104
+ ],
11105
+ "type": "option"
11106
+ }
11107
+ },
11108
+ "hasDynamicHelp": false,
11109
+ "hiddenAliases": [],
11110
+ "id": "testing:project:create",
11111
+ "pluginAlias": "@copado/agentia-cli",
11112
+ "pluginName": "@copado/agentia-cli",
11113
+ "pluginType": "core",
11114
+ "strict": true,
11115
+ "enableJsonFlag": true,
11116
+ "isESM": true,
11117
+ "relativePath": [
11118
+ "dist",
11119
+ "commands",
11120
+ "testing",
11121
+ "project",
11122
+ "create.js"
11123
+ ]
11124
+ },
11125
+ "testing:project:delete": {
11126
+ "aliases": [],
11127
+ "args": {
11128
+ "id": {
11129
+ "description": "CRT project ID.",
11130
+ "name": "id",
11131
+ "required": true
11132
+ }
11133
+ },
11134
+ "description": "Delete a Copado Robotic Testing project",
11135
+ "examples": [
11136
+ "<%= config.bin %> <%= command.id %> <project-id> --yes",
11137
+ "<%= config.bin %> <%= command.id %> <project-id> --yes --json"
11138
+ ],
11139
+ "flags": {
11140
+ "json": {
11141
+ "description": "Format output as json.",
11142
+ "helpGroup": "GLOBAL",
11143
+ "name": "json",
11144
+ "allowNo": false,
11145
+ "type": "boolean"
11146
+ },
11147
+ "yes": {
11148
+ "char": "y",
11149
+ "description": "Skip the destructive confirmation prompt.",
11150
+ "name": "yes",
11151
+ "allowNo": false,
11152
+ "type": "boolean"
11153
+ }
11154
+ },
11155
+ "hasDynamicHelp": false,
11156
+ "hiddenAliases": [],
11157
+ "id": "testing:project:delete",
11158
+ "pluginAlias": "@copado/agentia-cli",
11159
+ "pluginName": "@copado/agentia-cli",
11160
+ "pluginType": "core",
11161
+ "strict": true,
11162
+ "enableJsonFlag": true,
11163
+ "isESM": true,
11164
+ "relativePath": [
11165
+ "dist",
11166
+ "commands",
11167
+ "testing",
11168
+ "project",
11169
+ "delete.js"
11170
+ ]
11171
+ },
11172
+ "testing:project:get": {
11173
+ "aliases": [],
11174
+ "args": {
11175
+ "id": {
11176
+ "description": "CRT project ID.",
11177
+ "name": "id",
11178
+ "required": true
11179
+ }
11180
+ },
11181
+ "description": "Get a Copado Robotic Testing project from the project list",
11182
+ "examples": [
11183
+ "<%= config.bin %> <%= command.id %> <project-id>",
11184
+ "<%= config.bin %> <%= command.id %> <project-id> --json"
11185
+ ],
11186
+ "flags": {
11187
+ "json": {
11188
+ "description": "Format output as json.",
11189
+ "helpGroup": "GLOBAL",
11190
+ "name": "json",
11191
+ "allowNo": false,
11192
+ "type": "boolean"
11193
+ }
11194
+ },
11195
+ "hasDynamicHelp": false,
11196
+ "hiddenAliases": [],
11197
+ "id": "testing:project:get",
11198
+ "pluginAlias": "@copado/agentia-cli",
11199
+ "pluginName": "@copado/agentia-cli",
11200
+ "pluginType": "core",
11201
+ "strict": true,
11202
+ "enableJsonFlag": true,
11203
+ "isESM": true,
11204
+ "relativePath": [
11205
+ "dist",
11206
+ "commands",
11207
+ "testing",
11208
+ "project",
11209
+ "get.js"
11210
+ ]
11211
+ },
11212
+ "testing:project:list": {
10812
11213
  "aliases": [],
10813
- "args": {
10814
- "job-id": {
10815
- "description": "Optional CRT job/test ID guard.",
10816
- "name": "job-id",
10817
- "required": false
10818
- }
10819
- },
10820
- "description": "Stop the active Copado Robotic Testing live session",
11214
+ "args": {},
11215
+ "description": "List Copado Robotic Testing projects",
10821
11216
  "examples": [
10822
- "<%= config.bin %> <%= command.id %> --project <project-id>",
10823
- "<%= config.bin %> <%= command.id %> <job-id> --project <project-id> --yes --json"
11217
+ "<%= config.bin %> <%= command.id %>",
11218
+ "<%= config.bin %> <%= command.id %> --name \"QA Tests\" --json"
10824
11219
  ],
10825
11220
  "flags": {
10826
11221
  "json": {
@@ -10830,33 +11225,17 @@
10830
11225
  "allowNo": false,
10831
11226
  "type": "boolean"
10832
11227
  },
10833
- "project": {
10834
- "char": "p",
10835
- "description": "CRT project ID.",
10836
- "name": "project",
10837
- "required": true,
10838
- "hasDynamicHelp": false,
10839
- "multiple": false,
10840
- "type": "option"
10841
- },
10842
- "session-id": {
10843
- "description": "Guard that must match the locally active CRT live session.",
10844
- "name": "session-id",
11228
+ "name": {
11229
+ "description": "Exact project name to match client-side.",
11230
+ "name": "name",
10845
11231
  "hasDynamicHelp": false,
10846
11232
  "multiple": false,
10847
11233
  "type": "option"
10848
- },
10849
- "yes": {
10850
- "char": "y",
10851
- "description": "Confirm live session shutdown.",
10852
- "name": "yes",
10853
- "allowNo": false,
10854
- "type": "boolean"
10855
11234
  }
10856
11235
  },
10857
11236
  "hasDynamicHelp": false,
10858
11237
  "hiddenAliases": [],
10859
- "id": "testing:live:stop",
11238
+ "id": "testing:project:list",
10860
11239
  "pluginAlias": "@copado/agentia-cli",
10861
11240
  "pluginName": "@copado/agentia-cli",
10862
11241
  "pluginType": "core",
@@ -10867,17 +11246,23 @@
10867
11246
  "dist",
10868
11247
  "commands",
10869
11248
  "testing",
10870
- "live",
10871
- "stop.js"
11249
+ "project",
11250
+ "list.js"
10872
11251
  ]
10873
11252
  },
10874
- "testing:live:view": {
11253
+ "testing:project:update": {
10875
11254
  "aliases": [],
10876
- "args": {},
10877
- "description": "Open the authenticated CRT run/session page without putting viewer secrets in the URL",
11255
+ "args": {
11256
+ "id": {
11257
+ "description": "CRT project ID.",
11258
+ "name": "id",
11259
+ "required": true
11260
+ }
11261
+ },
11262
+ "description": "Update a Copado Robotic Testing project",
10878
11263
  "examples": [
10879
- "<%= config.bin %> <%= command.id %> --project <project-id>",
10880
- "<%= config.bin %> <%= command.id %> --project <project-id> --no-open --json"
11264
+ "<%= config.bin %> <%= command.id %> <project-id> --name \"QA Updated\"",
11265
+ "<%= config.bin %> <%= command.id %> <project-id> --description \"Regression suites\" --json"
10881
11266
  ],
10882
11267
  "flags": {
10883
11268
  "json": {
@@ -10887,30 +11272,16 @@
10887
11272
  "allowNo": false,
10888
11273
  "type": "boolean"
10889
11274
  },
10890
- "interactive": {
10891
- "description": "Request interactive viewer controls when available.",
10892
- "name": "interactive",
10893
- "allowNo": false,
10894
- "type": "boolean"
10895
- },
10896
- "no-open": {
10897
- "description": "Return the nonsecret URL without opening a browser.",
10898
- "name": "no-open",
10899
- "allowNo": false,
10900
- "type": "boolean"
10901
- },
10902
- "project": {
10903
- "char": "p",
10904
- "description": "CRT project ID.",
10905
- "name": "project",
10906
- "required": true,
11275
+ "description": {
11276
+ "description": "New project description.",
11277
+ "name": "description",
10907
11278
  "hasDynamicHelp": false,
10908
11279
  "multiple": false,
10909
11280
  "type": "option"
10910
11281
  },
10911
- "session-id": {
10912
- "description": "Guard that must match the active CRT live session.",
10913
- "name": "session-id",
11282
+ "name": {
11283
+ "description": "New project name.",
11284
+ "name": "name",
10914
11285
  "hasDynamicHelp": false,
10915
11286
  "multiple": false,
10916
11287
  "type": "option"
@@ -10918,7 +11289,7 @@
10918
11289
  },
10919
11290
  "hasDynamicHelp": false,
10920
11291
  "hiddenAliases": [],
10921
- "id": "testing:live:view",
11292
+ "id": "testing:project:update",
10922
11293
  "pluginAlias": "@copado/agentia-cli",
10923
11294
  "pluginName": "@copado/agentia-cli",
10924
11295
  "pluginType": "core",
@@ -10929,8 +11300,8 @@
10929
11300
  "dist",
10930
11301
  "commands",
10931
11302
  "testing",
10932
- "live",
10933
- "view.js"
11303
+ "project",
11304
+ "update.js"
10934
11305
  ]
10935
11306
  },
10936
11307
  "testing:robot:create": {
@@ -16774,6 +17145,49 @@
16774
17145
  "update.js"
16775
17146
  ]
16776
17147
  },
17148
+ "cicd:repository:auth:setup": {
17149
+ "aliases": [],
17150
+ "args": {
17151
+ "id": {
17152
+ "description": "Copado Git repository ID",
17153
+ "name": "id",
17154
+ "required": true
17155
+ }
17156
+ },
17157
+ "description": "Interactively configure repository authentication; OAuth is selected by default",
17158
+ "flags": {
17159
+ "json": {
17160
+ "description": "Format output as json.",
17161
+ "helpGroup": "GLOBAL",
17162
+ "name": "json",
17163
+ "allowNo": false,
17164
+ "type": "boolean"
17165
+ },
17166
+ "overwrite": {
17167
+ "description": "Replace an existing HTTPS or SSH credential",
17168
+ "name": "overwrite",
17169
+ "allowNo": false,
17170
+ "type": "boolean"
17171
+ }
17172
+ },
17173
+ "hasDynamicHelp": false,
17174
+ "hiddenAliases": [],
17175
+ "id": "cicd:repository:auth:setup",
17176
+ "pluginAlias": "@copado/agentia-cli",
17177
+ "pluginName": "@copado/agentia-cli",
17178
+ "pluginType": "core",
17179
+ "strict": true,
17180
+ "enableJsonFlag": true,
17181
+ "isESM": true,
17182
+ "relativePath": [
17183
+ "dist",
17184
+ "commands",
17185
+ "cicd",
17186
+ "repository",
17187
+ "auth",
17188
+ "setup.js"
17189
+ ]
17190
+ },
16777
17191
  "cicd:work:deployment-step:create": {
16778
17192
  "aliases": [],
16779
17193
  "args": {},
@@ -17954,7 +18368,154 @@
17954
18368
  "log",
17955
18369
  "get.js"
17956
18370
  ]
18371
+ },
18372
+ "cicd:repository:auth:https:configure": {
18373
+ "aliases": [],
18374
+ "args": {
18375
+ "id": {
18376
+ "description": "Copado Git repository ID",
18377
+ "name": "id",
18378
+ "required": true
18379
+ }
18380
+ },
18381
+ "description": "Configure HTTPS authentication. Use a personal access token as the password when required by the provider.",
18382
+ "flags": {
18383
+ "json": {
18384
+ "description": "Format output as json.",
18385
+ "helpGroup": "GLOBAL",
18386
+ "name": "json",
18387
+ "allowNo": false,
18388
+ "type": "boolean"
18389
+ },
18390
+ "input-stdin": {
18391
+ "description": "Read the complete HTTPS authentication JSON payload from stdin",
18392
+ "name": "input-stdin",
18393
+ "allowNo": false,
18394
+ "type": "boolean"
18395
+ },
18396
+ "overwrite": {
18397
+ "description": "Replace an existing validated HTTPS credential",
18398
+ "name": "overwrite",
18399
+ "allowNo": false,
18400
+ "type": "boolean"
18401
+ }
18402
+ },
18403
+ "hasDynamicHelp": false,
18404
+ "hiddenAliases": [],
18405
+ "id": "cicd:repository:auth:https:configure",
18406
+ "pluginAlias": "@copado/agentia-cli",
18407
+ "pluginName": "@copado/agentia-cli",
18408
+ "pluginType": "core",
18409
+ "strict": true,
18410
+ "enableJsonFlag": true,
18411
+ "isESM": true,
18412
+ "relativePath": [
18413
+ "dist",
18414
+ "commands",
18415
+ "cicd",
18416
+ "repository",
18417
+ "auth",
18418
+ "https",
18419
+ "configure.js"
18420
+ ]
18421
+ },
18422
+ "cicd:repository:auth:oauth:login": {
18423
+ "aliases": [],
18424
+ "args": {
18425
+ "id": {
18426
+ "description": "Copado Git repository ID",
18427
+ "name": "id",
18428
+ "required": true
18429
+ }
18430
+ },
18431
+ "description": "Authenticate a repository through browser OAuth and select a remote repository",
18432
+ "flags": {
18433
+ "json": {
18434
+ "description": "Format output as json.",
18435
+ "helpGroup": "GLOBAL",
18436
+ "name": "json",
18437
+ "allowNo": false,
18438
+ "type": "boolean"
18439
+ },
18440
+ "port": {
18441
+ "description": "Local callback port (default: scan 8080-8090)",
18442
+ "name": "port",
18443
+ "hasDynamicHelp": false,
18444
+ "multiple": false,
18445
+ "type": "option"
18446
+ },
18447
+ "timeout": {
18448
+ "description": "Seconds to wait for browser authentication",
18449
+ "name": "timeout",
18450
+ "default": 300,
18451
+ "hasDynamicHelp": false,
18452
+ "multiple": false,
18453
+ "type": "option"
18454
+ }
18455
+ },
18456
+ "hasDynamicHelp": false,
18457
+ "hiddenAliases": [],
18458
+ "id": "cicd:repository:auth:oauth:login",
18459
+ "pluginAlias": "@copado/agentia-cli",
18460
+ "pluginName": "@copado/agentia-cli",
18461
+ "pluginType": "core",
18462
+ "strict": true,
18463
+ "enableJsonFlag": true,
18464
+ "isESM": true,
18465
+ "relativePath": [
18466
+ "dist",
18467
+ "commands",
18468
+ "cicd",
18469
+ "repository",
18470
+ "auth",
18471
+ "oauth",
18472
+ "login.js"
18473
+ ]
18474
+ },
18475
+ "cicd:repository:auth:ssh:configure": {
18476
+ "aliases": [],
18477
+ "args": {
18478
+ "id": {
18479
+ "description": "Copado Git repository ID",
18480
+ "name": "id",
18481
+ "required": true
18482
+ }
18483
+ },
18484
+ "description": "Generate SSH authentication and a public key. Add the key to your Git provider as a deploy, access, or SSH key.",
18485
+ "flags": {
18486
+ "json": {
18487
+ "description": "Format output as json.",
18488
+ "helpGroup": "GLOBAL",
18489
+ "name": "json",
18490
+ "allowNo": false,
18491
+ "type": "boolean"
18492
+ },
18493
+ "overwrite": {
18494
+ "description": "Replace an existing SSH key after confirmation",
18495
+ "name": "overwrite",
18496
+ "allowNo": false,
18497
+ "type": "boolean"
18498
+ }
18499
+ },
18500
+ "hasDynamicHelp": false,
18501
+ "hiddenAliases": [],
18502
+ "id": "cicd:repository:auth:ssh:configure",
18503
+ "pluginAlias": "@copado/agentia-cli",
18504
+ "pluginName": "@copado/agentia-cli",
18505
+ "pluginType": "core",
18506
+ "strict": true,
18507
+ "enableJsonFlag": true,
18508
+ "isESM": true,
18509
+ "relativePath": [
18510
+ "dist",
18511
+ "commands",
18512
+ "cicd",
18513
+ "repository",
18514
+ "auth",
18515
+ "ssh",
18516
+ "configure.js"
18517
+ ]
17957
18518
  }
17958
18519
  },
17959
- "version": "1.0.0-beta.1"
18520
+ "version": "1.0.0-beta.4"
17960
18521
  }