@copado/agentia-cli 1.0.0-beta.2 → 1.0.0-beta.5

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 (55) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +416 -293
  3. package/dist/commands/cicd/data/template/save-detail.js +2 -2
  4. package/dist/commands/cicd/repository/auth/https/configure.js +21 -0
  5. package/dist/commands/cicd/repository/auth/oauth/login.js +56 -0
  6. package/dist/commands/cicd/repository/auth/setup.js +28 -0
  7. package/dist/commands/cicd/repository/auth/ssh/configure.js +22 -0
  8. package/dist/commands/cicd/repository/create.js +2 -2
  9. package/dist/commands/cicd/repository/reset.js +17 -5
  10. package/dist/commands/cicd/repository/update.js +6 -14
  11. package/dist/commands/cicd/work/environment-sync.js +66 -61
  12. package/dist/commands/cicd/work/get.js +5 -9
  13. package/dist/commands/cicd/work/submit.js +1 -1
  14. package/dist/commands/cicd/work/test/apex.js +37 -4
  15. package/dist/commands/cicd/work/test.js +20 -1
  16. package/dist/commands/runtime.js +26 -0
  17. package/dist/hooks/finally/ide-command-event.js +1 -1
  18. package/dist/hooks/init/plugin-host.js +6 -0
  19. package/dist/lib/agentia-command.js +16 -0
  20. package/dist/lib/cicd-gateway.js +2 -1
  21. package/dist/lib/cursor-mcp-config.js +3 -1
  22. package/dist/lib/data-types.js +3 -1
  23. package/dist/lib/git-worktree.js +2 -1
  24. package/dist/lib/local-quality-gates.js +4 -1
  25. package/dist/lib/mcp/data-tools.js +2 -2
  26. package/dist/lib/mcp/server.js +33 -7
  27. package/dist/lib/mcp/tool-annotations.js +3 -0
  28. package/dist/lib/mcp/tools.js +55 -12
  29. package/dist/lib/mcp/work-tools.js +44 -13
  30. package/dist/lib/plugin-host/auth.js +4 -0
  31. package/dist/lib/plugin-host/event-log.js +3 -0
  32. package/dist/lib/plugin-host/format.js +3 -0
  33. package/dist/lib/plugin-host/index.js +7 -0
  34. package/dist/lib/plugin-host/organization.js +4 -0
  35. package/dist/lib/plugin-host/projection-utils.js +6 -0
  36. package/dist/lib/plugin-host/registry.js +6 -0
  37. package/dist/lib/plugin-host/request-scope.js +4 -0
  38. package/dist/lib/plugin-host/work.js +4 -0
  39. package/dist/lib/project-root.js +3 -1
  40. package/dist/lib/repository-auth.js +8 -0
  41. package/dist/lib/repository-flags.js +2 -2
  42. package/dist/lib/repository-types.js +6 -1
  43. package/dist/lib/repository-url-prefill.js +4 -0
  44. package/dist/lib/runtime-invoke-context.js +6 -0
  45. package/dist/lib/runtime-rpc.js +14 -0
  46. package/dist/lib/runtime.js +1 -1
  47. package/dist/lib/setup-templates.js +2 -1
  48. package/dist/lib/work-apex-test-failures.js +13 -0
  49. package/dist/lib/work-apex-test.js +4 -1
  50. package/dist/lib/work-environment-sync.js +1 -2
  51. package/dist/lib/work-get.js +3 -0
  52. package/oclif.manifest.json +315 -174
  53. package/package.json +4 -3
  54. package/templates/skills/agentia-cicd/SKILL.md +1 -1
  55. package/templates/skills/agentia-cicd/references/work.md +2 -2
@@ -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": {},
@@ -4951,9 +4981,9 @@
4951
4981
  "required": true
4952
4982
  }
4953
4983
  },
4954
- "description": "Create a Copado Git repository",
4984
+ "description": "Create a Copado Git repository shell",
4955
4985
  "examples": [
4956
- "<%= 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",
4957
4987
  "<%= config.bin %> <%= command.id %> my-repo --source-format DX --provider GitLab --json"
4958
4988
  ],
4959
4989
  "flags": {
@@ -4976,72 +5006,6 @@
4976
5006
  "allowNo": true,
4977
5007
  "type": "boolean"
4978
5008
  },
4979
- "auth-type": {
4980
- "description": "Repository authentication type",
4981
- "name": "auth-type",
4982
- "hasDynamicHelp": false,
4983
- "multiple": false,
4984
- "options": [
4985
- "HTTPS"
4986
- ],
4987
- "type": "option"
4988
- },
4989
- "branch-base-url": {
4990
- "description": "Base URL for repository branch links",
4991
- "name": "branch-base-url",
4992
- "hasDynamicHelp": false,
4993
- "multiple": false,
4994
- "type": "option"
4995
- },
4996
- "commit-base-url": {
4997
- "description": "Base URL for repository commit links",
4998
- "name": "commit-base-url",
4999
- "hasDynamicHelp": false,
5000
- "multiple": false,
5001
- "type": "option"
5002
- },
5003
- "extra-headers": {
5004
- "description": "Additional authentication headers. Prefer environment-specific credential storage when available.",
5005
- "name": "extra-headers",
5006
- "hasDynamicHelp": false,
5007
- "multiple": false,
5008
- "type": "option"
5009
- },
5010
- "password": {
5011
- "description": "Repository password or token. This can be visible in shell history.",
5012
- "name": "password",
5013
- "hasDynamicHelp": false,
5014
- "multiple": false,
5015
- "type": "option"
5016
- },
5017
- "pull-request-base-url": {
5018
- "description": "Base URL for repository pull request links",
5019
- "name": "pull-request-base-url",
5020
- "hasDynamicHelp": false,
5021
- "multiple": false,
5022
- "type": "option"
5023
- },
5024
- "tag-base-url": {
5025
- "description": "Base URL for repository tag links",
5026
- "name": "tag-base-url",
5027
- "hasDynamicHelp": false,
5028
- "multiple": false,
5029
- "type": "option"
5030
- },
5031
- "uri": {
5032
- "description": "Repository clone URI",
5033
- "name": "uri",
5034
- "hasDynamicHelp": false,
5035
- "multiple": false,
5036
- "type": "option"
5037
- },
5038
- "username": {
5039
- "description": "Repository username",
5040
- "name": "username",
5041
- "hasDynamicHelp": false,
5042
- "multiple": false,
5043
- "type": "option"
5044
- },
5045
5009
  "provider": {
5046
5010
  "description": "Git repository provider",
5047
5011
  "name": "provider",
@@ -5052,6 +5016,7 @@
5052
5016
  "Github",
5053
5017
  "Bitbucket",
5054
5018
  "GitLab",
5019
+ "Azure",
5055
5020
  "Microsoft Team Service",
5056
5021
  "Copado Version Control",
5057
5022
  "Others"
@@ -5059,12 +5024,13 @@
5059
5024
  "type": "option"
5060
5025
  },
5061
5026
  "source-format": {
5062
- "description": "Git repository source format",
5027
+ "description": "Git repository source format (default: DX)",
5063
5028
  "name": "source-format",
5064
- "required": true,
5029
+ "default": "DX",
5065
5030
  "hasDynamicHelp": false,
5066
5031
  "multiple": false,
5067
5032
  "options": [
5033
+ "Metadata",
5068
5034
  "DX"
5069
5035
  ],
5070
5036
  "type": "option"
@@ -5216,6 +5182,7 @@
5216
5182
  "Github",
5217
5183
  "Bitbucket",
5218
5184
  "GitLab",
5185
+ "Azure",
5219
5186
  "Microsoft Team Service",
5220
5187
  "Copado Version Control",
5221
5188
  "Others"
@@ -5228,6 +5195,7 @@
5228
5195
  "hasDynamicHelp": false,
5229
5196
  "multiple": false,
5230
5197
  "options": [
5198
+ "Metadata",
5231
5199
  "DX"
5232
5200
  ],
5233
5201
  "type": "option"
@@ -5299,10 +5267,10 @@
5299
5267
  "required": true
5300
5268
  }
5301
5269
  },
5302
- "description": "Reset a Copado Git repository",
5270
+ "description": "Reset a Copado Git repository and its authentication configuration",
5303
5271
  "examples": [
5304
- "<%= config.bin %> <%= command.id %> repo-001",
5305
- "<%= config.bin %> <%= command.id %> repo-001 --json"
5272
+ "<%= config.bin %> <%= command.id %> repo-001 --yes",
5273
+ "<%= config.bin %> <%= command.id %> repo-001 --yes --json"
5306
5274
  ],
5307
5275
  "flags": {
5308
5276
  "json": {
@@ -5311,6 +5279,13 @@
5311
5279
  "name": "json",
5312
5280
  "allowNo": false,
5313
5281
  "type": "boolean"
5282
+ },
5283
+ "yes": {
5284
+ "char": "y",
5285
+ "description": "Confirm reset without prompting",
5286
+ "name": "yes",
5287
+ "allowNo": false,
5288
+ "type": "boolean"
5314
5289
  }
5315
5290
  },
5316
5291
  "hasDynamicHelp": false,
@@ -5342,7 +5317,7 @@
5342
5317
  "description": "Update a Copado Git repository by ID",
5343
5318
  "examples": [
5344
5319
  "<%= config.bin %> <%= command.id %> repo-001 --uri https://github.com/org/repo.git",
5345
- "<%= config.bin %> <%= command.id %> repo-001 --clear-password",
5320
+ "<%= config.bin %> <%= command.id %> repo-001 --clear-uri",
5346
5321
  "<%= config.bin %> <%= command.id %> repo-001 --provider GitLab --json"
5347
5322
  ],
5348
5323
  "flags": {
@@ -5377,18 +5352,6 @@
5377
5352
  "allowNo": false,
5378
5353
  "type": "boolean"
5379
5354
  },
5380
- "clear-extra-headers": {
5381
- "description": "Clear additional repository headers",
5382
- "name": "clear-extra-headers",
5383
- "allowNo": false,
5384
- "type": "boolean"
5385
- },
5386
- "clear-password": {
5387
- "description": "Clear the repository password or token",
5388
- "name": "clear-password",
5389
- "allowNo": false,
5390
- "type": "boolean"
5391
- },
5392
5355
  "clear-pull-request-base-url": {
5393
5356
  "description": "Clear the repository pull request base URL",
5394
5357
  "name": "clear-pull-request-base-url",
@@ -5407,22 +5370,6 @@
5407
5370
  "allowNo": false,
5408
5371
  "type": "boolean"
5409
5372
  },
5410
- "clear-username": {
5411
- "description": "Clear the repository username",
5412
- "name": "clear-username",
5413
- "allowNo": false,
5414
- "type": "boolean"
5415
- },
5416
- "auth-type": {
5417
- "description": "Repository authentication type",
5418
- "name": "auth-type",
5419
- "hasDynamicHelp": false,
5420
- "multiple": false,
5421
- "options": [
5422
- "HTTPS"
5423
- ],
5424
- "type": "option"
5425
- },
5426
5373
  "branch-base-url": {
5427
5374
  "description": "Base URL for repository branch links",
5428
5375
  "name": "branch-base-url",
@@ -5437,20 +5384,6 @@
5437
5384
  "multiple": false,
5438
5385
  "type": "option"
5439
5386
  },
5440
- "extra-headers": {
5441
- "description": "Additional authentication headers. Prefer environment-specific credential storage when available.",
5442
- "name": "extra-headers",
5443
- "hasDynamicHelp": false,
5444
- "multiple": false,
5445
- "type": "option"
5446
- },
5447
- "password": {
5448
- "description": "Repository password or token. This can be visible in shell history.",
5449
- "name": "password",
5450
- "hasDynamicHelp": false,
5451
- "multiple": false,
5452
- "type": "option"
5453
- },
5454
5387
  "pull-request-base-url": {
5455
5388
  "description": "Base URL for repository pull request links",
5456
5389
  "name": "pull-request-base-url",
@@ -5472,13 +5405,6 @@
5472
5405
  "multiple": false,
5473
5406
  "type": "option"
5474
5407
  },
5475
- "username": {
5476
- "description": "Repository username",
5477
- "name": "username",
5478
- "hasDynamicHelp": false,
5479
- "multiple": false,
5480
- "type": "option"
5481
- },
5482
5408
  "name": {
5483
5409
  "description": "Repository name",
5484
5410
  "name": "name",
@@ -5495,6 +5421,7 @@
5495
5421
  "Github",
5496
5422
  "Bitbucket",
5497
5423
  "GitLab",
5424
+ "Azure",
5498
5425
  "Microsoft Team Service",
5499
5426
  "Copado Version Control",
5500
5427
  "Others"
@@ -5507,6 +5434,7 @@
5507
5434
  "hasDynamicHelp": false,
5508
5435
  "multiple": false,
5509
5436
  "options": [
5437
+ "Metadata",
5510
5438
  "DX"
5511
5439
  ],
5512
5440
  "type": "option"
@@ -5569,6 +5497,50 @@
5569
5497
  "validate.js"
5570
5498
  ]
5571
5499
  },
5500
+ "cicd:user:get": {
5501
+ "aliases": [],
5502
+ "args": {},
5503
+ "description": "Get a Copado user by ID (defaults to the authenticated user)",
5504
+ "examples": [
5505
+ "<%= config.bin %> <%= command.id %>",
5506
+ "<%= config.bin %> <%= command.id %> --id me",
5507
+ "<%= config.bin %> <%= command.id %> --id 005000000000000",
5508
+ "<%= config.bin %> <%= command.id %> --json"
5509
+ ],
5510
+ "flags": {
5511
+ "json": {
5512
+ "description": "Format output as json.",
5513
+ "helpGroup": "GLOBAL",
5514
+ "name": "json",
5515
+ "allowNo": false,
5516
+ "type": "boolean"
5517
+ },
5518
+ "id": {
5519
+ "description": "User ID, or \"me\" for the authenticated user",
5520
+ "name": "id",
5521
+ "default": "me",
5522
+ "hasDynamicHelp": false,
5523
+ "multiple": false,
5524
+ "type": "option"
5525
+ }
5526
+ },
5527
+ "hasDynamicHelp": false,
5528
+ "hiddenAliases": [],
5529
+ "id": "cicd:user:get",
5530
+ "pluginAlias": "@copado/agentia-cli",
5531
+ "pluginName": "@copado/agentia-cli",
5532
+ "pluginType": "core",
5533
+ "strict": true,
5534
+ "enableJsonFlag": true,
5535
+ "isESM": true,
5536
+ "relativePath": [
5537
+ "dist",
5538
+ "commands",
5539
+ "cicd",
5540
+ "user",
5541
+ "get.js"
5542
+ ]
5543
+ },
5572
5544
  "cicd:stage:create": {
5573
5545
  "aliases": [],
5574
5546
  "args": {
@@ -5852,50 +5824,6 @@
5852
5824
  "update.js"
5853
5825
  ]
5854
5826
  },
5855
- "cicd:user:get": {
5856
- "aliases": [],
5857
- "args": {},
5858
- "description": "Get a Copado user by ID (defaults to the authenticated user)",
5859
- "examples": [
5860
- "<%= config.bin %> <%= command.id %>",
5861
- "<%= config.bin %> <%= command.id %> --id me",
5862
- "<%= config.bin %> <%= command.id %> --id 005000000000000",
5863
- "<%= config.bin %> <%= command.id %> --json"
5864
- ],
5865
- "flags": {
5866
- "json": {
5867
- "description": "Format output as json.",
5868
- "helpGroup": "GLOBAL",
5869
- "name": "json",
5870
- "allowNo": false,
5871
- "type": "boolean"
5872
- },
5873
- "id": {
5874
- "description": "User ID, or \"me\" for the authenticated user",
5875
- "name": "id",
5876
- "default": "me",
5877
- "hasDynamicHelp": false,
5878
- "multiple": false,
5879
- "type": "option"
5880
- }
5881
- },
5882
- "hasDynamicHelp": false,
5883
- "hiddenAliases": [],
5884
- "id": "cicd:user:get",
5885
- "pluginAlias": "@copado/agentia-cli",
5886
- "pluginName": "@copado/agentia-cli",
5887
- "pluginType": "core",
5888
- "strict": true,
5889
- "enableJsonFlag": true,
5890
- "isESM": true,
5891
- "relativePath": [
5892
- "dist",
5893
- "commands",
5894
- "cicd",
5895
- "user",
5896
- "get.js"
5897
- ]
5898
- },
5899
5827
  "cicd:work:commit": {
5900
5828
  "aliases": [],
5901
5829
  "args": {
@@ -6388,7 +6316,7 @@
6388
6316
  "type": "boolean"
6389
6317
  },
6390
6318
  "continue": {
6391
- "description": "Commit resolved merge conflicts and finish the remaining environment-sync git steps.",
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.",
6392
6320
  "exclusive": [
6393
6321
  "abort"
6394
6322
  ],
@@ -7010,7 +6938,7 @@
7010
6938
  "cicd:work:submit": {
7011
6939
  "aliases": [],
7012
6940
  "args": {},
7013
- "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. 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.",
7014
6942
  "examples": [
7015
6943
  "<%= config.bin %> <%= command.id %>",
7016
6944
  "<%= config.bin %> <%= command.id %> --apex-test-classes=MyTest,OtherTest",
@@ -7091,6 +7019,8 @@
7091
7019
  "examples": [
7092
7020
  "<%= config.bin %> <%= command.id %>",
7093
7021
  "<%= config.bin %> <%= command.id %> --local --apex-test-classes=MyTest,OtherTest",
7022
+ "<%= config.bin %> <%= command.id %> --local --rerun-failed-apex-tests",
7023
+ "<%= config.bin %> <%= command.id %> -e SKIP_LWC_TESTS=1 -e TOOL_API_KEY=secret",
7094
7024
  "<%= config.bin %> <%= command.id %> --json",
7095
7025
  "<%= config.bin %> <%= command.id %> --cloud"
7096
7026
  ],
@@ -7115,11 +7045,25 @@
7115
7045
  "allowNo": false,
7116
7046
  "type": "boolean"
7117
7047
  },
7048
+ "env": {
7049
+ "char": "e",
7050
+ "description": "Extra environment variable for the quality-gate script as NAME=value. Repeatable. Applied before reserved AGENTIA_APEX_* variables.",
7051
+ "name": "env",
7052
+ "hasDynamicHelp": false,
7053
+ "multiple": true,
7054
+ "type": "option"
7055
+ },
7118
7056
  "local": {
7119
7057
  "description": "Run local project-root quality gates scripts. Used by default when --cloud is omitted.",
7120
7058
  "name": "local",
7121
7059
  "allowNo": false,
7122
7060
  "type": "boolean"
7061
+ },
7062
+ "rerun-failed-apex-tests": {
7063
+ "description": "Pass AGENTIA_APEX_RERUN_FAILED=--rerun-failed-apex-tests to local quality gates so sample scripts forward that flag to work test apex.",
7064
+ "name": "rerun-failed-apex-tests",
7065
+ "allowNo": false,
7066
+ "type": "boolean"
7123
7067
  }
7124
7068
  },
7125
7069
  "hasDynamicHelp": false,
@@ -17217,6 +17161,49 @@
17217
17161
  "update.js"
17218
17162
  ]
17219
17163
  },
17164
+ "cicd:repository:auth:setup": {
17165
+ "aliases": [],
17166
+ "args": {
17167
+ "id": {
17168
+ "description": "Copado Git repository ID",
17169
+ "name": "id",
17170
+ "required": true
17171
+ }
17172
+ },
17173
+ "description": "Interactively configure repository authentication; OAuth is selected by default",
17174
+ "flags": {
17175
+ "json": {
17176
+ "description": "Format output as json.",
17177
+ "helpGroup": "GLOBAL",
17178
+ "name": "json",
17179
+ "allowNo": false,
17180
+ "type": "boolean"
17181
+ },
17182
+ "overwrite": {
17183
+ "description": "Replace an existing HTTPS or SSH credential",
17184
+ "name": "overwrite",
17185
+ "allowNo": false,
17186
+ "type": "boolean"
17187
+ }
17188
+ },
17189
+ "hasDynamicHelp": false,
17190
+ "hiddenAliases": [],
17191
+ "id": "cicd:repository:auth:setup",
17192
+ "pluginAlias": "@copado/agentia-cli",
17193
+ "pluginName": "@copado/agentia-cli",
17194
+ "pluginType": "core",
17195
+ "strict": true,
17196
+ "enableJsonFlag": true,
17197
+ "isESM": true,
17198
+ "relativePath": [
17199
+ "dist",
17200
+ "commands",
17201
+ "cicd",
17202
+ "repository",
17203
+ "auth",
17204
+ "setup.js"
17205
+ ]
17206
+ },
17220
17207
  "cicd:work:deployment-step:create": {
17221
17208
  "aliases": [],
17222
17209
  "args": {},
@@ -17819,11 +17806,13 @@
17819
17806
  "cicd:work:test:apex": {
17820
17807
  "aliases": [],
17821
17808
  "args": {},
17822
- "description": "Run specified Apex test classes via Salesforce CLI (`sf apex run test`) with code coverage. Usually run from project-root local quality gates (`.agentia_quality_gates.sh` / `.agentia_quality_gates.cmd`) when those scripts are configured. Prints the test-run summary when the run passes, or failing tests with their messages and stack traces when it fails.",
17809
+ "description": "Run specified Apex test classes via Salesforce CLI (`sf apex run test`) with code coverage. Usually run from project-root local quality gates (`.agentia_quality_gates.sh` / `.agentia_quality_gates.cmd`) when those scripts are configured. When `--apex-test-classes` is omitted or empty, logs that no Apex tests were specified and exits without running Salesforce CLI. Failed runs save `.agentia/apex.tests.<user-story>.json`; successful runs delete that file. `--rerun-failed-apex-tests` runs the previously failed classes (optionally filtered by `--apex-test-classes`). Prints the test-run summary when the run passes, or failing tests with their messages and stack traces when it fails. Exits with the same process exit code as Salesforce CLI (`sf`), including 100 when Apex tests fail.",
17823
17810
  "examples": [
17824
17811
  "<%= config.bin %> <%= command.id %> -t HelloWorldTest",
17825
17812
  "<%= config.bin %> <%= command.id %> --apex-test-classes=MyTest,OtherTest",
17826
- "<%= config.bin %> <%= command.id %> -t MyTest,OtherTest -w 10 --json"
17813
+ "<%= config.bin %> <%= command.id %> -t MyTest,OtherTest -w 10 --json",
17814
+ "<%= config.bin %> <%= command.id %> -t \"$AGENTIA_APEX_TEST_CLASSES\"",
17815
+ "<%= config.bin %> <%= command.id %> --rerun-failed-apex-tests"
17827
17816
  ],
17828
17817
  "flags": {
17829
17818
  "json": {
@@ -17835,13 +17824,18 @@
17835
17824
  },
17836
17825
  "apex-test-classes": {
17837
17826
  "char": "t",
17838
- "description": "Comma-separated Apex test class names to run",
17827
+ "description": "Comma-separated Apex test class names to run. Omit or leave empty to skip without running Salesforce CLI.",
17839
17828
  "name": "apex-test-classes",
17840
- "required": true,
17841
17829
  "hasDynamicHelp": false,
17842
17830
  "multiple": false,
17843
17831
  "type": "option"
17844
17832
  },
17833
+ "rerun-failed-apex-tests": {
17834
+ "description": "Rerun Apex classes saved from the last failure for this user story (`.agentia/apex.tests.<user-story>.json`). Combined with --apex-test-classes, only matching failed classes run.",
17835
+ "name": "rerun-failed-apex-tests",
17836
+ "allowNo": false,
17837
+ "type": "boolean"
17838
+ },
17845
17839
  "wait": {
17846
17840
  "char": "w",
17847
17841
  "description": "Minutes to wait for Salesforce CLI Apex test results",
@@ -18397,7 +18391,154 @@
18397
18391
  "log",
18398
18392
  "get.js"
18399
18393
  ]
18394
+ },
18395
+ "cicd:repository:auth:https:configure": {
18396
+ "aliases": [],
18397
+ "args": {
18398
+ "id": {
18399
+ "description": "Copado Git repository ID",
18400
+ "name": "id",
18401
+ "required": true
18402
+ }
18403
+ },
18404
+ "description": "Configure HTTPS authentication. Use a personal access token as the password when required by the provider.",
18405
+ "flags": {
18406
+ "json": {
18407
+ "description": "Format output as json.",
18408
+ "helpGroup": "GLOBAL",
18409
+ "name": "json",
18410
+ "allowNo": false,
18411
+ "type": "boolean"
18412
+ },
18413
+ "input-stdin": {
18414
+ "description": "Read the complete HTTPS authentication JSON payload from stdin",
18415
+ "name": "input-stdin",
18416
+ "allowNo": false,
18417
+ "type": "boolean"
18418
+ },
18419
+ "overwrite": {
18420
+ "description": "Replace an existing validated HTTPS credential",
18421
+ "name": "overwrite",
18422
+ "allowNo": false,
18423
+ "type": "boolean"
18424
+ }
18425
+ },
18426
+ "hasDynamicHelp": false,
18427
+ "hiddenAliases": [],
18428
+ "id": "cicd:repository:auth:https:configure",
18429
+ "pluginAlias": "@copado/agentia-cli",
18430
+ "pluginName": "@copado/agentia-cli",
18431
+ "pluginType": "core",
18432
+ "strict": true,
18433
+ "enableJsonFlag": true,
18434
+ "isESM": true,
18435
+ "relativePath": [
18436
+ "dist",
18437
+ "commands",
18438
+ "cicd",
18439
+ "repository",
18440
+ "auth",
18441
+ "https",
18442
+ "configure.js"
18443
+ ]
18444
+ },
18445
+ "cicd:repository:auth:oauth:login": {
18446
+ "aliases": [],
18447
+ "args": {
18448
+ "id": {
18449
+ "description": "Copado Git repository ID",
18450
+ "name": "id",
18451
+ "required": true
18452
+ }
18453
+ },
18454
+ "description": "Authenticate a repository through browser OAuth and select a remote repository",
18455
+ "flags": {
18456
+ "json": {
18457
+ "description": "Format output as json.",
18458
+ "helpGroup": "GLOBAL",
18459
+ "name": "json",
18460
+ "allowNo": false,
18461
+ "type": "boolean"
18462
+ },
18463
+ "port": {
18464
+ "description": "Local callback port (default: scan 8080-8090)",
18465
+ "name": "port",
18466
+ "hasDynamicHelp": false,
18467
+ "multiple": false,
18468
+ "type": "option"
18469
+ },
18470
+ "timeout": {
18471
+ "description": "Seconds to wait for browser authentication",
18472
+ "name": "timeout",
18473
+ "default": 300,
18474
+ "hasDynamicHelp": false,
18475
+ "multiple": false,
18476
+ "type": "option"
18477
+ }
18478
+ },
18479
+ "hasDynamicHelp": false,
18480
+ "hiddenAliases": [],
18481
+ "id": "cicd:repository:auth:oauth:login",
18482
+ "pluginAlias": "@copado/agentia-cli",
18483
+ "pluginName": "@copado/agentia-cli",
18484
+ "pluginType": "core",
18485
+ "strict": true,
18486
+ "enableJsonFlag": true,
18487
+ "isESM": true,
18488
+ "relativePath": [
18489
+ "dist",
18490
+ "commands",
18491
+ "cicd",
18492
+ "repository",
18493
+ "auth",
18494
+ "oauth",
18495
+ "login.js"
18496
+ ]
18497
+ },
18498
+ "cicd:repository:auth:ssh:configure": {
18499
+ "aliases": [],
18500
+ "args": {
18501
+ "id": {
18502
+ "description": "Copado Git repository ID",
18503
+ "name": "id",
18504
+ "required": true
18505
+ }
18506
+ },
18507
+ "description": "Generate SSH authentication and a public key. Add the key to your Git provider as a deploy, access, or SSH key.",
18508
+ "flags": {
18509
+ "json": {
18510
+ "description": "Format output as json.",
18511
+ "helpGroup": "GLOBAL",
18512
+ "name": "json",
18513
+ "allowNo": false,
18514
+ "type": "boolean"
18515
+ },
18516
+ "overwrite": {
18517
+ "description": "Replace an existing SSH key after confirmation",
18518
+ "name": "overwrite",
18519
+ "allowNo": false,
18520
+ "type": "boolean"
18521
+ }
18522
+ },
18523
+ "hasDynamicHelp": false,
18524
+ "hiddenAliases": [],
18525
+ "id": "cicd:repository:auth:ssh:configure",
18526
+ "pluginAlias": "@copado/agentia-cli",
18527
+ "pluginName": "@copado/agentia-cli",
18528
+ "pluginType": "core",
18529
+ "strict": true,
18530
+ "enableJsonFlag": true,
18531
+ "isESM": true,
18532
+ "relativePath": [
18533
+ "dist",
18534
+ "commands",
18535
+ "cicd",
18536
+ "repository",
18537
+ "auth",
18538
+ "ssh",
18539
+ "configure.js"
18540
+ ]
18400
18541
  }
18401
18542
  },
18402
- "version": "1.0.0-beta.2"
18543
+ "version": "1.0.0-beta.5"
18403
18544
  }