@copado/agentia-cli 0.8.0-alpha.0 → 0.9.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -23,7 +23,7 @@ $ npm install -g @copado/agentia-cli
23
23
  $ agentia COMMAND
24
24
  running command...
25
25
  $ agentia (--version)
26
- @copado/agentia-cli/0.8.0-alpha.0 linux-x64 node-v22.23.1
26
+ @copado/agentia-cli/0.9.0-alpha.0 linux-x64 node-v22.23.1
27
27
  $ agentia --help [COMMAND]
28
28
  USAGE
29
29
  $ agentia COMMAND
@@ -189,6 +189,10 @@ Agentia CLI is distributed under the Copado End User License Agreement. See [LIC
189
189
  * [`agentia project default get`](#agentia-project-default-get)
190
190
  * [`agentia project default set`](#agentia-project-default-set)
191
191
  * [`agentia project default unset`](#agentia-project-default-unset)
192
+ * [`agentia promotion conflict get ID`](#agentia-promotion-conflict-get-id)
193
+ * [`agentia promotion conflict list`](#agentia-promotion-conflict-list)
194
+ * [`agentia promotion conflict resolve ID`](#agentia-promotion-conflict-resolve-id)
195
+ * [`agentia promotion conflict unresolve ID`](#agentia-promotion-conflict-unresolve-id)
192
196
 
193
197
  ## `agentia auth get`
194
198
 
@@ -220,7 +224,7 @@ EXAMPLES
220
224
  $ agentia auth get --json
221
225
  ```
222
226
 
223
- _See code: [src/commands/auth/get.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/auth/get.ts)_
227
+ _See code: [src/commands/auth/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/auth/get.ts)_
224
228
 
225
229
  ## `agentia auth set`
226
230
 
@@ -258,7 +262,7 @@ EXAMPLES
258
262
  $ agentia auth set --cicd <copado-api-key> --region na --json
259
263
  ```
260
264
 
261
- _See code: [src/commands/auth/set.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/auth/set.ts)_
265
+ _See code: [src/commands/auth/set.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/auth/set.ts)_
262
266
 
263
267
  ## `agentia environment auth status ID`
264
268
 
@@ -288,7 +292,7 @@ EXAMPLES
288
292
  $ agentia environment auth status <environment-id> --json
289
293
  ```
290
294
 
291
- _See code: [src/commands/environment/auth/status.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/environment/auth/status.ts)_
295
+ _See code: [src/commands/environment/auth/status.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/environment/auth/status.ts)_
292
296
 
293
297
  ## `agentia environment auth web login ID`
294
298
 
@@ -322,7 +326,7 @@ EXAMPLES
322
326
  $ agentia environment auth web login <environment-id> --json
323
327
  ```
324
328
 
325
- _See code: [src/commands/environment/auth/web/login.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/environment/auth/web/login.ts)_
329
+ _See code: [src/commands/environment/auth/web/login.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/environment/auth/web/login.ts)_
326
330
 
327
331
  ## `agentia environment create NAME`
328
332
 
@@ -367,7 +371,7 @@ EXAMPLES
367
371
  $ agentia environment create Dev --json
368
372
  ```
369
373
 
370
- _See code: [src/commands/environment/create.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/environment/create.ts)_
374
+ _See code: [src/commands/environment/create.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/environment/create.ts)_
371
375
 
372
376
  ## `agentia environment get ID`
373
377
 
@@ -392,7 +396,7 @@ EXAMPLES
392
396
  $ agentia environment get a0SKC000000CmZ2AU --json
393
397
  ```
394
398
 
395
- _See code: [src/commands/environment/get.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/environment/get.ts)_
399
+ _See code: [src/commands/environment/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/environment/get.ts)_
396
400
 
397
401
  ## `agentia environment list`
398
402
 
@@ -414,7 +418,7 @@ EXAMPLES
414
418
  $ agentia environment list --json
415
419
  ```
416
420
 
417
- _See code: [src/commands/environment/list.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/environment/list.ts)_
421
+ _See code: [src/commands/environment/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/environment/list.ts)_
418
422
 
419
423
  ## `agentia environment update ID`
420
424
 
@@ -460,7 +464,7 @@ EXAMPLES
460
464
  $ agentia environment update a0SKC000000CmZ2AU --name UAT --json
461
465
  ```
462
466
 
463
- _See code: [src/commands/environment/update.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/environment/update.ts)_
467
+ _See code: [src/commands/environment/update.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/environment/update.ts)_
464
468
 
465
469
  ## `agentia help [COMMAND]`
466
470
 
@@ -509,7 +513,7 @@ EXAMPLES
509
513
  $ agentia job get <job-id> --user-id <id> --organization-id <id> --json
510
514
  ```
511
515
 
512
- _See code: [src/commands/job/get.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/job/get.ts)_
516
+ _See code: [src/commands/job/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/job/get.ts)_
513
517
 
514
518
  ## `agentia job kill ID`
515
519
 
@@ -538,7 +542,7 @@ EXAMPLES
538
542
  $ agentia job kill <job-id> --user-id <id> --organization-id <id> --json
539
543
  ```
540
544
 
541
- _See code: [src/commands/job/kill.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/job/kill.ts)_
545
+ _See code: [src/commands/job/kill.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/job/kill.ts)_
542
546
 
543
547
  ## `agentia job list`
544
548
 
@@ -576,7 +580,7 @@ EXAMPLES
576
580
  $ agentia job list --user-id <id> --organization-id <id> --json
577
581
  ```
578
582
 
579
- _See code: [src/commands/job/list.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/job/list.ts)_
583
+ _See code: [src/commands/job/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/job/list.ts)_
580
584
 
581
585
  ## `agentia job pause ID`
582
586
 
@@ -605,7 +609,7 @@ EXAMPLES
605
609
  $ agentia job pause <job-id> --user-id <id> --organization-id <id> --json
606
610
  ```
607
611
 
608
- _See code: [src/commands/job/pause.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/job/pause.ts)_
612
+ _See code: [src/commands/job/pause.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/job/pause.ts)_
609
613
 
610
614
  ## `agentia job resume ID`
611
615
 
@@ -634,7 +638,7 @@ EXAMPLES
634
638
  $ agentia job resume <job-id> --user-id <id> --organization-id <id> --json
635
639
  ```
636
640
 
637
- _See code: [src/commands/job/resume.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/job/resume.ts)_
641
+ _See code: [src/commands/job/resume.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/job/resume.ts)_
638
642
 
639
643
  ## `agentia job run ID`
640
644
 
@@ -664,7 +668,7 @@ EXAMPLES
664
668
  $ agentia job run <job-id> --user-id <id> --organization-id <id> --restart --json
665
669
  ```
666
670
 
667
- _See code: [src/commands/job/run.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/job/run.ts)_
671
+ _See code: [src/commands/job/run.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/job/run.ts)_
668
672
 
669
673
  ## `agentia mcp start`
670
674
 
@@ -683,7 +687,7 @@ EXAMPLES
683
687
  $ agentia mcp start # long-running stdio MCP server for Cursor and other clients
684
688
  ```
685
689
 
686
- _See code: [src/commands/mcp/start.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/mcp/start.ts)_
690
+ _See code: [src/commands/mcp/start.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/mcp/start.ts)_
687
691
 
688
692
  ## `agentia metadata content compare`
689
693
 
@@ -726,7 +730,7 @@ EXAMPLES
726
730
  $ agentia metadata content compare --metadata-type ApexClass --api-name MyClass --json
727
731
  ```
728
732
 
729
- _See code: [src/commands/metadata/content/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/content/compare.ts)_
733
+ _See code: [src/commands/metadata/content/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/content/compare.ts)_
730
734
 
731
735
  ## `agentia metadata content get`
732
736
 
@@ -767,7 +771,7 @@ EXAMPLES
767
771
  $ agentia metadata content get --file requests.json --json
768
772
  ```
769
773
 
770
- _See code: [src/commands/metadata/content/get.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/content/get.ts)_
774
+ _See code: [src/commands/metadata/content/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/content/get.ts)_
771
775
 
772
776
  ## `agentia metadata dependency list`
773
777
 
@@ -815,7 +819,7 @@ EXAMPLES
815
819
  $ agentia metadata dependency list --from-changes --base-ref origin/main --retrieve-mode all --pipeline-id <id> --source-org-id <id> --source-credential-id <id>
816
820
  ```
817
821
 
818
- _See code: [src/commands/metadata/dependency/list.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/dependency/list.ts)_
822
+ _See code: [src/commands/metadata/dependency/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/dependency/list.ts)_
819
823
 
820
824
  ## `agentia metadata index compare`
821
825
 
@@ -849,7 +853,7 @@ EXAMPLES
849
853
  $ agentia metadata index compare --comparison-mode MIX --json
850
854
  ```
851
855
 
852
- _See code: [src/commands/metadata/index/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/index/compare.ts)_
856
+ _See code: [src/commands/metadata/index/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/index/compare.ts)_
853
857
 
854
858
  ## `agentia metadata list`
855
859
 
@@ -897,7 +901,7 @@ EXAMPLES
897
901
  $ agentia metadata list --source NewAndChanged --find-managed-packages --json
898
902
  ```
899
903
 
900
- _See code: [src/commands/metadata/list.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/list.ts)_
904
+ _See code: [src/commands/metadata/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/list.ts)_
901
905
 
902
906
  ## `agentia metadata refresh deleted`
903
907
 
@@ -929,7 +933,7 @@ EXAMPLES
929
933
  $ agentia metadata refresh deleted --env <environment-id> --user-id <id> --organization-id <id> --module-type vlocity --json
930
934
  ```
931
935
 
932
- _See code: [src/commands/metadata/refresh/deleted.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/refresh/deleted.ts)_
936
+ _See code: [src/commands/metadata/refresh/deleted.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/refresh/deleted.ts)_
933
937
 
934
938
  ## `agentia metadata refresh run`
935
939
 
@@ -972,7 +976,7 @@ EXAMPLES
972
976
  $ agentia metadata refresh run --env <environment-id> --user-id <id> --organization-id <id> --all --json
973
977
  ```
974
978
 
975
- _See code: [src/commands/metadata/refresh/run.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/refresh/run.ts)_
979
+ _See code: [src/commands/metadata/refresh/run.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/refresh/run.ts)_
976
980
 
977
981
  ## `agentia metadata refresh status`
978
982
 
@@ -1004,7 +1008,7 @@ EXAMPLES
1004
1008
  $ agentia metadata refresh status --job-id <event-id> --user-id <id> --organization-id <id> --json
1005
1009
  ```
1006
1010
 
1007
- _See code: [src/commands/metadata/refresh/status.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/metadata/refresh/status.ts)_
1011
+ _See code: [src/commands/metadata/refresh/status.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/metadata/refresh/status.ts)_
1008
1012
 
1009
1013
  ## `agentia pipeline connection list`
1010
1014
 
@@ -1031,7 +1035,7 @@ EXAMPLES
1031
1035
  $ agentia pipeline connection list --pipeline-id <pipeline-id> --user-id <id> --organization-id <id> --json
1032
1036
  ```
1033
1037
 
1034
- _See code: [src/commands/pipeline/connection/list.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/pipeline/connection/list.ts)_
1038
+ _See code: [src/commands/pipeline/connection/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/pipeline/connection/list.ts)_
1035
1039
 
1036
1040
  ## `agentia pipeline get ID`
1037
1041
 
@@ -1060,7 +1064,7 @@ EXAMPLES
1060
1064
  $ agentia pipeline get <pipeline-id> --user-id <id> --organization-id <id> --json
1061
1065
  ```
1062
1066
 
1063
- _See code: [src/commands/pipeline/get.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/pipeline/get.ts)_
1067
+ _See code: [src/commands/pipeline/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/pipeline/get.ts)_
1064
1068
 
1065
1069
  ## `agentia pipeline list`
1066
1070
 
@@ -1086,7 +1090,7 @@ EXAMPLES
1086
1090
  $ agentia pipeline list --user-id <id> --organization-id <id> --json
1087
1091
  ```
1088
1092
 
1089
- _See code: [src/commands/pipeline/list.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/pipeline/list.ts)_
1093
+ _See code: [src/commands/pipeline/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/pipeline/list.ts)_
1090
1094
 
1091
1095
  ## `agentia plugins`
1092
1096
 
@@ -1413,7 +1417,7 @@ EXAMPLES
1413
1417
  $ agentia project default get --json
1414
1418
  ```
1415
1419
 
1416
- _See code: [src/commands/project/default/get.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/project/default/get.ts)_
1420
+ _See code: [src/commands/project/default/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/project/default/get.ts)_
1417
1421
 
1418
1422
  ## `agentia project default set`
1419
1423
 
@@ -1450,7 +1454,7 @@ EXAMPLES
1450
1454
  $ agentia project default set --project my-project --json
1451
1455
  ```
1452
1456
 
1453
- _See code: [src/commands/project/default/set.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/project/default/set.ts)_
1457
+ _See code: [src/commands/project/default/set.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/project/default/set.ts)_
1454
1458
 
1455
1459
  ## `agentia project default unset`
1456
1460
 
@@ -1487,5 +1491,122 @@ EXAMPLES
1487
1491
  $ agentia project default unset --project --json
1488
1492
  ```
1489
1493
 
1490
- _See code: [src/commands/project/default/unset.ts](https://github.com/Copado/agentia-cli/blob/v0.8.0-alpha.0/src/commands/project/default/unset.ts)_
1494
+ _See code: [src/commands/project/default/unset.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/project/default/unset.ts)_
1495
+
1496
+ ## `agentia promotion conflict get ID`
1497
+
1498
+ Get raw merge-conflict content for a promotion file
1499
+
1500
+ ```
1501
+ USAGE
1502
+ $ agentia promotion conflict get ID -p <value> [--json] [--output <value>]
1503
+
1504
+ ARGUMENTS
1505
+ ID Conflict attachment Id
1506
+
1507
+ FLAGS
1508
+ -p, --promotion=<value> (required) Copado promotion Id
1509
+ --output=<value> Write raw conflict content to this file path
1510
+
1511
+ GLOBAL FLAGS
1512
+ --json Format output as json.
1513
+
1514
+ DESCRIPTION
1515
+ Get raw merge-conflict content for a promotion file
1516
+
1517
+ EXAMPLES
1518
+ $ agentia promotion conflict get <conflict-id> --promotion <promotion-id>
1519
+
1520
+ $ agentia promotion conflict get <conflict-id> -p <promotion-id> --output ./MyClass.cls
1521
+
1522
+ $ agentia promotion conflict get <conflict-id> -p <promotion-id> --json
1523
+ ```
1524
+
1525
+ _See code: [src/commands/promotion/conflict/get.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/promotion/conflict/get.ts)_
1526
+
1527
+ ## `agentia promotion conflict list`
1528
+
1529
+ List merge conflicts for a Copado promotion
1530
+
1531
+ ```
1532
+ USAGE
1533
+ $ agentia promotion conflict list -p <value> [--json]
1534
+
1535
+ FLAGS
1536
+ -p, --promotion=<value> (required) Copado promotion Id
1537
+
1538
+ GLOBAL FLAGS
1539
+ --json Format output as json.
1540
+
1541
+ DESCRIPTION
1542
+ List merge conflicts for a Copado promotion
1543
+
1544
+ EXAMPLES
1545
+ $ agentia promotion conflict list --promotion <promotion-id>
1546
+
1547
+ $ agentia promotion conflict list -p <promotion-id> --json
1548
+ ```
1549
+
1550
+ _See code: [src/commands/promotion/conflict/list.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/promotion/conflict/list.ts)_
1551
+
1552
+ ## `agentia promotion conflict resolve ID`
1553
+
1554
+ Resolve a promotion merge conflict automatically or from a file
1555
+
1556
+ ```
1557
+ USAGE
1558
+ $ agentia promotion conflict resolve ID --mode auto|manual -p <value> [--json] [--file <value>]
1559
+
1560
+ ARGUMENTS
1561
+ ID Conflict attachment Id
1562
+
1563
+ FLAGS
1564
+ -p, --promotion=<value> (required) Copado promotion Id
1565
+ --file=<value> Path to manually resolved conflict content
1566
+ --mode=<option> (required) Conflict resolution mode
1567
+ <options: auto|manual>
1568
+
1569
+ GLOBAL FLAGS
1570
+ --json Format output as json.
1571
+
1572
+ DESCRIPTION
1573
+ Resolve a promotion merge conflict automatically or from a file
1574
+
1575
+ EXAMPLES
1576
+ $ agentia promotion conflict resolve <conflict-id> --promotion <promotion-id> --mode auto
1577
+
1578
+ $ agentia promotion conflict resolve <conflict-id> -p <promotion-id> --mode manual --file ./MyClass.cls
1579
+
1580
+ $ agentia promotion conflict resolve <conflict-id> -p <promotion-id> --mode auto --json
1581
+ ```
1582
+
1583
+ _See code: [src/commands/promotion/conflict/resolve.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/promotion/conflict/resolve.ts)_
1584
+
1585
+ ## `agentia promotion conflict unresolve ID`
1586
+
1587
+ Undo a promotion conflict resolution
1588
+
1589
+ ```
1590
+ USAGE
1591
+ $ agentia promotion conflict unresolve ID -p <value> [--json]
1592
+
1593
+ ARGUMENTS
1594
+ ID Conflict attachment Id
1595
+
1596
+ FLAGS
1597
+ -p, --promotion=<value> (required) Copado promotion Id
1598
+
1599
+ GLOBAL FLAGS
1600
+ --json Format output as json.
1601
+
1602
+ DESCRIPTION
1603
+ Undo a promotion conflict resolution
1604
+
1605
+ EXAMPLES
1606
+ $ agentia promotion conflict unresolve <conflict-id> --promotion <promotion-id>
1607
+
1608
+ $ agentia promotion conflict unresolve <conflict-id> -p <promotion-id> --json
1609
+ ```
1610
+
1611
+ _See code: [src/commands/promotion/conflict/unresolve.ts](https://github.com/Copado/agentia-cli/blob/v0.9.0-alpha.0/src/commands/promotion/conflict/unresolve.ts)_
1491
1612
  <!-- commandsstop -->
@@ -0,0 +1,19 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ export type PromotionConflictContentResult = {
3
+ conflictId: string;
4
+ content: string;
5
+ output?: string;
6
+ promotionId: string;
7
+ };
8
+ export default class PromotionConflictGet extends AgentiaCommand {
9
+ static args: {
10
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
11
+ };
12
+ static description: string;
13
+ static examples: string[];
14
+ static flags: {
15
+ output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ promotion: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ };
18
+ run(): Promise<PromotionConflictContentResult>;
19
+ }
@@ -0,0 +1,54 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { writeFileSync } from 'node:fs';
3
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
4
+ import { CicdGateway } from '../../../lib/cicd-gateway.js';
5
+ import { promotionConflictContentEndpoint, withPromotionConflictErrorTranslation, } from '../../../lib/promotion-conflicts.js';
6
+ export default class PromotionConflictGet extends AgentiaCommand {
7
+ static args = {
8
+ id: Args.string({
9
+ description: 'Conflict attachment Id',
10
+ required: true,
11
+ }),
12
+ };
13
+ static description = 'Get raw merge-conflict content for a promotion file';
14
+ static examples = [
15
+ '<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id>',
16
+ '<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --output ./MyClass.cls',
17
+ '<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --json',
18
+ ];
19
+ static flags = {
20
+ output: Flags.string({
21
+ description: 'Write raw conflict content to this file path',
22
+ }),
23
+ promotion: Flags.string({
24
+ char: 'p',
25
+ description: 'Copado promotion Id',
26
+ required: true,
27
+ }),
28
+ };
29
+ async run() {
30
+ const { args, flags } = await this.parse(PromotionConflictGet);
31
+ const content = await this.withSpinner('Fetching promotion conflict content', () => withPromotionConflictErrorTranslation(() => CicdGateway.call({
32
+ endpoint: promotionConflictContentEndpoint(flags.promotion, args.id),
33
+ method: 'GET',
34
+ responseType: 'text',
35
+ })));
36
+ if (flags.output !== undefined) {
37
+ writeFileSync(flags.output, content, 'utf8');
38
+ }
39
+ this.display(() => {
40
+ if (flags.output !== undefined) {
41
+ this.log(`Wrote promotion conflict content to ${flags.output}.`);
42
+ return;
43
+ }
44
+ process.stdout.write(content);
45
+ });
46
+ return {
47
+ conflictId: args.id,
48
+ content,
49
+ ...(flags.output === undefined ? {} : { output: flags.output }),
50
+ promotionId: flags.promotion,
51
+ };
52
+ }
53
+ }
54
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/promotion/conflict/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAA;AAErC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,gCAAgC,EAChC,qCAAqC,GACtC,MAAM,qCAAqC,CAAA;AAS5C,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,cAAc;IAC9D,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,qDAAqD,CAAA;IACnF,MAAM,CAAU,QAAQ,GAAG;QACzB,8EAA8E;QAC9E,4FAA4F;QAC5F,4EAA4E;KAC7E,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,8CAA8C;SAC5D,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,EAAE,GAAG,EAAE,CACjF,qCAAqC,CAAC,GAAG,EAAE,CACzC,WAAW,CAAC,IAAI,CAAS;YACvB,QAAQ,EAAE,gCAAgC,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YACpE,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,MAAM;SACrB,CAAC,CACH,CACF,CAAA;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,uCAAuC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;gBAChE,OAAM;YACR,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC;YAC7D,WAAW,EAAE,KAAK,CAAC,SAAS;SAC7B,CAAA;IACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type PromotionConflict } from '../../../lib/promotion-conflicts.js';
3
+ export default class PromotionConflictList extends AgentiaCommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ promotion: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ run(): Promise<PromotionConflict[]>;
10
+ }
@@ -0,0 +1,35 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
+ import { CicdGateway } from '../../../lib/cicd-gateway.js';
4
+ import { formatPromotionConflictTable, normalizePromotionConflicts, promotionConflictsEndpoint, withPromotionConflictErrorTranslation, } from '../../../lib/promotion-conflicts.js';
5
+ export default class PromotionConflictList extends AgentiaCommand {
6
+ static description = 'List merge conflicts for a Copado promotion';
7
+ static examples = [
8
+ '<%= config.bin %> <%= command.id %> --promotion <promotion-id>',
9
+ '<%= config.bin %> <%= command.id %> -p <promotion-id> --json',
10
+ ];
11
+ static flags = {
12
+ promotion: Flags.string({
13
+ char: 'p',
14
+ description: 'Copado promotion Id',
15
+ required: true,
16
+ }),
17
+ };
18
+ async run() {
19
+ const { flags } = await this.parse(PromotionConflictList);
20
+ const response = await this.withSpinner('Fetching promotion conflicts', () => withPromotionConflictErrorTranslation(() => CicdGateway.call({
21
+ endpoint: promotionConflictsEndpoint(flags.promotion),
22
+ method: 'GET',
23
+ })));
24
+ const conflicts = normalizePromotionConflicts(response);
25
+ this.display(() => {
26
+ if (conflicts.length === 0) {
27
+ this.log('No promotion conflicts were found.');
28
+ return;
29
+ }
30
+ this.log(formatPromotionConflictTable(conflicts));
31
+ });
32
+ return conflicts;
33
+ }
34
+ }
35
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/promotion/conflict/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAG3B,0BAA0B,EAC1B,qCAAqC,GACtC,MAAM,qCAAqC,CAAA;AAE5C,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc;IAC/D,MAAM,CAAU,WAAW,GAAG,6CAA6C,CAAA;IAC3E,MAAM,CAAU,QAAQ,GAAG;QACzB,gEAAgE;QAChE,8DAA8D;KAC/D,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAC3E,qCAAqC,CAAC,GAAG,EAAE,CACzC,WAAW,CAAC,IAAI,CAAsD;YACpE,QAAQ,EAAE,0BAA0B,CAAC,KAAK,CAAC,SAAS,CAAC;YACrD,MAAM,EAAE,KAAK;SACd,CAAC,CACH,CACF,CAAA;QACD,MAAM,SAAS,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAEvD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;gBAC9C,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type PromotionConflictResolutionResult } from '../../../lib/promotion-conflicts.js';
3
+ export default class PromotionConflictResolve extends AgentiaCommand {
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static examples: string[];
9
+ static flags: {
10
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ mode: import("@oclif/core/interfaces").OptionFlag<"auto" | "manual", import("@oclif/core/interfaces").CustomOptions>;
12
+ promotion: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<PromotionConflictResolutionResult>;
15
+ }
@@ -0,0 +1,59 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { readFileSync } from 'node:fs';
3
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
4
+ import { CicdGateway } from '../../../lib/cicd-gateway.js';
5
+ import { buildPromotionConflictResolutionRequest, PROMOTION_CONFLICT_MODES, promotionConflictResolveEndpoint, withPromotionConflictErrorTranslation, } from '../../../lib/promotion-conflicts.js';
6
+ export default class PromotionConflictResolve extends AgentiaCommand {
7
+ static args = {
8
+ id: Args.string({
9
+ description: 'Conflict attachment Id',
10
+ required: true,
11
+ }),
12
+ };
13
+ static description = 'Resolve a promotion merge conflict automatically or from a file';
14
+ static examples = [
15
+ '<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id> --mode auto',
16
+ '<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --mode manual --file ./MyClass.cls',
17
+ '<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --mode auto --json',
18
+ ];
19
+ static flags = {
20
+ file: Flags.string({
21
+ description: 'Path to manually resolved conflict content',
22
+ }),
23
+ mode: Flags.option({
24
+ description: 'Conflict resolution mode',
25
+ options: [...PROMOTION_CONFLICT_MODES],
26
+ required: true,
27
+ })(),
28
+ promotion: Flags.string({
29
+ char: 'p',
30
+ description: 'Copado promotion Id',
31
+ required: true,
32
+ }),
33
+ };
34
+ async run() {
35
+ const { args, flags } = await this.parse(PromotionConflictResolve);
36
+ const resolveFlags = flags;
37
+ if (resolveFlags.mode === 'manual' && resolveFlags.file === undefined) {
38
+ this.error('--file is required when --mode manual is used.', { exit: 2 });
39
+ }
40
+ if (resolveFlags.mode === 'auto' && resolveFlags.file !== undefined) {
41
+ this.error('--file can only be used when --mode manual is used.', { exit: 2 });
42
+ }
43
+ const content = resolveFlags.file === undefined ? undefined : readFileSync(resolveFlags.file, 'utf8');
44
+ const body = buildPromotionConflictResolutionRequest(resolveFlags.mode, content);
45
+ const result = await this.withSpinner('Resolving promotion conflict', () => withPromotionConflictErrorTranslation(() => CicdGateway.call({
46
+ body,
47
+ endpoint: promotionConflictResolveEndpoint(resolveFlags.promotion, args.id),
48
+ headers: { 'Content-Type': 'application/json' },
49
+ method: 'POST',
50
+ })));
51
+ this.display(() => {
52
+ this.log(`Success: Conflict ${args.id} resolved successfully.`);
53
+ this.log(`Resolved count: ${result.resolvedCount ?? 0}`);
54
+ this.log(`Promotion status updated: ${result.promotionStatusUpdated ?? false}`);
55
+ });
56
+ return result;
57
+ }
58
+ }
59
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/commands/promotion/conflict/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EAGxB,gCAAgC,EAChC,qCAAqC,GACtC,MAAM,qCAAqC,CAAA;AAQ5C,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,cAAc;IAClE,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,iEAAiE,CAAA;IAC/F,MAAM,CAAU,QAAQ,GAAG;QACzB,0FAA0F;QAC1F,wGAAwG;QACxG,wFAAwF;KACzF,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,4CAA4C;SAC1D,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,CAAC,GAAG,wBAAwB,CAAC;YACtC,QAAQ,EAAE,IAAI;SACf,CAAC,EAAE;QACJ,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAChE,MAAM,YAAY,GAAG,KAAsC,CAAA;QAE3D,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;QACzE,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;QAC9E,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACrG,MAAM,IAAI,GAAG,uCAAuC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAChF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,EAAE,CACzE,qCAAqC,CAAC,GAAG,EAAE,CACzC,WAAW,CAAC,IAAI,CAAoC;YAClD,IAAI;YACJ,QAAQ,EAAE,gCAAgC,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;YAC7C,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CACF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,EAAE,yBAAyB,CAAC,CAAA;YAC/D,IAAI,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,sBAAsB,IAAI,KAAK,EAAE,CAAC,CAAA;QACjF,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type PromotionConflictUndoResult } from '../../../lib/promotion-conflicts.js';
3
+ export default class PromotionConflictUnresolve extends AgentiaCommand {
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static examples: string[];
9
+ static flags: {
10
+ promotion: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ run(): Promise<PromotionConflictUndoResult>;
13
+ }
@@ -0,0 +1,37 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
+ import { CicdGateway } from '../../../lib/cicd-gateway.js';
4
+ import { promotionConflictUndoEndpoint, withPromotionConflictErrorTranslation, } from '../../../lib/promotion-conflicts.js';
5
+ export default class PromotionConflictUnresolve extends AgentiaCommand {
6
+ static args = {
7
+ id: Args.string({
8
+ description: 'Conflict attachment Id',
9
+ required: true,
10
+ }),
11
+ };
12
+ static description = 'Undo a promotion conflict resolution';
13
+ static examples = [
14
+ '<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id>',
15
+ '<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --json',
16
+ ];
17
+ static flags = {
18
+ promotion: Flags.string({
19
+ char: 'p',
20
+ description: 'Copado promotion Id',
21
+ required: true,
22
+ }),
23
+ };
24
+ async run() {
25
+ const { args, flags } = await this.parse(PromotionConflictUnresolve);
26
+ const result = await this.withSpinner('Undoing promotion conflict resolution', () => withPromotionConflictErrorTranslation(() => CicdGateway.call({
27
+ endpoint: promotionConflictUndoEndpoint(flags.promotion, args.id),
28
+ method: 'POST',
29
+ })));
30
+ this.display(() => {
31
+ this.log(`Success: Resolution undone for conflict ${args.id}.`);
32
+ this.log(`Undone count: ${result.undoneCount ?? 0}`);
33
+ });
34
+ return result;
35
+ }
36
+ }
37
+ //# sourceMappingURL=unresolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unresolve.js","sourceRoot":"","sources":["../../../../src/commands/promotion/conflict/unresolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EACL,6BAA6B,EAE7B,qCAAqC,GACtC,MAAM,qCAAqC,CAAA;AAE5C,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,cAAc;IACpE,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAA;IACpE,MAAM,CAAU,QAAQ,GAAG;QACzB,8EAA8E;QAC9E,4EAA4E;KAC7E,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAClF,qCAAqC,CAAC,GAAG,EAAE,CACzC,WAAW,CAAC,IAAI,CAA8B;YAC5C,QAAQ,EAAE,6BAA6B,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CACF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YAC/D,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC"}
@@ -5,6 +5,7 @@ export type CicdRequest = {
5
5
  endpoint: string;
6
6
  headers?: Record<string, string>;
7
7
  method: 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
8
+ responseType?: 'json' | 'text';
8
9
  };
9
10
  export type CicdResponse<T = unknown> = {
10
11
  data?: T;
@@ -40,6 +41,16 @@ export type CicdEndpointOptions = {
40
41
  region?: CicdRegion;
41
42
  };
42
43
  export type HttpRequestFn = (url: URL, method: string, headers: Record<string, string>, body: unknown) => Promise<string>;
44
+ export declare class CicdGatewayError extends Error {
45
+ readonly categories: string[];
46
+ readonly code?: string;
47
+ readonly statusCode?: number;
48
+ constructor(message: string, options?: {
49
+ categories?: string[];
50
+ code?: string;
51
+ statusCode?: number;
52
+ });
53
+ }
43
54
  export declare function gatewayUserAgent(): string;
44
55
  export declare function createTransactionId(): string;
45
56
  export declare function normalizeCicdBaseUrl(value: string): string;
@@ -8,6 +8,18 @@ const require = createRequire(import.meta.url);
8
8
  const packageJson = require('../../package.json');
9
9
  const CICD_API_PATH = '/json/v1/webhook/cicd-api';
10
10
  const CICD_VALIDATION_ENDPOINT = '/health';
11
+ export class CicdGatewayError extends Error {
12
+ categories;
13
+ code;
14
+ statusCode;
15
+ constructor(message, options = {}) {
16
+ super(message);
17
+ this.name = 'CicdGatewayError';
18
+ this.categories = options.categories ?? [];
19
+ this.code = options.code;
20
+ this.statusCode = options.statusCode;
21
+ }
22
+ }
11
23
  export function gatewayUserAgent() {
12
24
  return `agentia-cli/${packageJson.version}`;
13
25
  }
@@ -42,6 +54,15 @@ function extractCicdErrorDetailMessage(details) {
42
54
  }
43
55
  return undefined;
44
56
  }
57
+ function extractCicdErrorCategories(details) {
58
+ if (details === undefined) {
59
+ return [];
60
+ }
61
+ const values = Array.isArray(details) ? details : [details];
62
+ return values
63
+ .map((detail) => detail.category)
64
+ .filter((category) => typeof category === 'string' && category.trim().length > 0);
65
+ }
45
66
  export function sanitizeCicdErrorMessage(message) {
46
67
  const exposesSalesforceQuery = /INVALID_QUERY_FILTER_OPERATOR/i.test(message) ||
47
68
  /ERROR at Row:\d+:Column:\d+/i.test(message) ||
@@ -58,21 +79,31 @@ export function formatCicdGatewayError(status, raw) {
58
79
  const detailMessage = extractCicdErrorDetailMessage(parsed.data?.details);
59
80
  const message = detailMessage ?? parsed.message;
60
81
  if (message !== undefined && message.trim().length > 0) {
61
- return new Error(sanitizeCicdErrorMessage(message));
82
+ return new CicdGatewayError(sanitizeCicdErrorMessage(message), {
83
+ categories: extractCicdErrorCategories(parsed.data?.details),
84
+ code: parsed.data?.code,
85
+ statusCode: status,
86
+ });
62
87
  }
63
88
  }
64
89
  catch {
65
90
  // Fall through to the generic error below.
66
91
  }
67
- return new Error(`CICD Gateway request failed (${status}).`);
92
+ return new CicdGatewayError(`CICD Gateway request failed (${status}).`, { statusCode: status });
68
93
  }
69
94
  function createCicdGatewayError(parsed) {
70
95
  const detailMessage = extractCicdErrorDetailMessage(parsed.data?.details);
71
96
  const message = detailMessage ?? parsed.message;
72
97
  if (message !== undefined && message.trim().length > 0) {
73
- return new Error(sanitizeCicdErrorMessage(message));
98
+ return new CicdGatewayError(sanitizeCicdErrorMessage(message), {
99
+ categories: extractCicdErrorCategories(parsed.data?.details),
100
+ code: parsed.data?.code,
101
+ });
74
102
  }
75
- return new Error('CICD Gateway request failed.');
103
+ return new CicdGatewayError('CICD Gateway request failed.', {
104
+ categories: extractCicdErrorCategories(parsed.data?.details),
105
+ code: parsed.data?.code,
106
+ });
76
107
  }
77
108
  function buildOuterHeaders(transactionId) {
78
109
  return {
@@ -142,6 +173,20 @@ function unwrapResponse(parsed) {
142
173
  }
143
174
  async function executeRequest(credentials, request, onDebugRequest) {
144
175
  const raw = await sendRequest(credentials, request, onDebugRequest);
176
+ if (request.responseType === 'text') {
177
+ try {
178
+ const possibleError = JSON.parse(raw);
179
+ if (possibleError.status === 'error') {
180
+ throw createCicdGatewayError(possibleError);
181
+ }
182
+ }
183
+ catch (error) {
184
+ if (error instanceof CicdGatewayError) {
185
+ throw error;
186
+ }
187
+ }
188
+ return raw;
189
+ }
145
190
  let parsed;
146
191
  try {
147
192
  parsed = JSON.parse(raw);
@@ -158,9 +203,11 @@ async function sendRequest(credentials, request, onDebugRequest) {
158
203
  const endpoint = cicdApiUrl(credentials.baseUrl, credentials.apiKey);
159
204
  const transactionId = createTransactionId();
160
205
  const outerHeaders = buildOuterHeaders(transactionId);
206
+ const gatewayRequest = { ...request };
207
+ delete gatewayRequest.responseType;
161
208
  if (onDebugRequest) {
162
209
  onDebugRequest({
163
- body: request,
210
+ body: gatewayRequest,
164
211
  headers: {
165
212
  Accept: 'application/json',
166
213
  'Content-Type': 'application/json',
@@ -170,7 +217,7 @@ async function sendRequest(credentials, request, onDebugRequest) {
170
217
  url: maskedCicdApiUrl(credentials.baseUrl),
171
218
  });
172
219
  }
173
- return httpRequestFn(endpoint, 'POST', outerHeaders, request);
220
+ return httpRequestFn(endpoint, 'POST', outerHeaders, gatewayRequest);
174
221
  }
175
222
  export async function discoverCicdBaseUrl(apiKey) {
176
223
  for (const region of CICD_REGIONS) {
@@ -1 +1 @@
1
- {"version":3,"file":"cicd-gateway.js","sourceRoot":"","sources":["../../src/lib/cicd-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AACzC,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAA;AAEjC,OAAO,EAAC,YAAY,EAAE,WAAW,EAAkB,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAA;AAEnE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAsB,CAAA;AAEtE,MAAM,aAAa,GAAG,2BAA2B,CAAA;AACjD,MAAM,wBAAwB,GAAG,SAAS,CAAA;AAwD1C,MAAM,UAAU,gBAAgB;IAC9B,OAAO,eAAe,WAAW,CAAC,OAAO,EAAE,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,EAAE,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,GAAQ,CAAA;IAEZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAA;AACnB,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAiC;IACtE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO;aACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aAChC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAEnG,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,OAAO,OAAO,CAAC,OAAO,CAAA;IACxB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,sBAAsB,GAC1B,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9C,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5C,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;QACrC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,qEAAqE,CAAA;IAC9E,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,GAAW;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAA;QACnD,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACzE,MAAM,OAAO,GAAG,aAAa,IAAI,MAAM,CAAC,OAAO,CAAA;QAE/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,gCAAgC,MAAM,IAAI,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAyB;IACvD,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzE,MAAM,OAAO,GAAG,aAAa,IAAI,MAAM,CAAC,OAAO,CAAA;IAE/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAqB;IAC9C,OAAO;QACL,YAAY,EAAE,gBAAgB,EAAE;QAChC,kBAAkB,EAAE,aAAa;KAClC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc;IAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC5C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAChD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAA;AAC5B,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAQ,EACR,MAAc,EACd,OAA+B,EAC/B,IAAa;IAEb,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;gBACvD,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM;YACN,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;SACrC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YACrD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAClD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAA;gBAElC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;oBAClB,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;oBAC3C,OAAM;gBACR,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC,CAAC,CAAA;QACJ,CAAC,CACF,CAAA;QAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACzC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClB,GAAG,CAAC,GAAG,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,aAAa,GAAkB,uBAAuB,CAAA;AAE1D,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAEpC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAEhC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAA;IACH,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAI,MAAuB;IAChD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAA;IAElH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,MAAsB,CAAA;IAC/B,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,WAA4B,EAC5B,OAAoB,EACpB,cAAyD;IAEzD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;IAEnE,IAAI,MAAuB,CAAA;IAE3B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,sBAAsB,CAAC,MAA2B,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,WAA4B,EAC5B,OAAoB,EACpB,cAAyD;IAEzD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAA;IAC3C,MAAM,YAAY,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAErD,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,GAAG,YAAY;aAChB;YACD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;SAC3C,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QAEnC,IAAI,CAAC;YACH,8EAA8E;YAC9E,4CAA4C;YAC5C,MAAM,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YACnD,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,MAAc,EAAE,OAA4B;IAC/F,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,MAAc,EAAE,OAAe;IACzE,MAAM,WAAW,CACf;QACE,MAAM;QACN,OAAO;KACR,EACD;QACE,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,KAAK;KACd,CACF,CAAA;AACH,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,sBAAsB,CAAC,SAAwB;IAC7D,aAAa,GAAG,SAAS,CAAA;AAC3B,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,wBAAwB;IACtC,aAAa,GAAG,uBAAuB,CAAA;AACzC,CAAC;AAED,MAAM,OAAO,WAAW;IACf,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,OAAoB,EACpB,cAAyD;QAEzD,OAAO,cAAc,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;IAC1E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,MAAc,EAAE,OAA4B;QACzF,OAAO,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,OAAe;QACrE,MAAM,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"cicd-gateway.js","sourceRoot":"","sources":["../../src/lib/cicd-gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export declare const PROMOTION_CONFLICT_MODES: readonly ["auto", "manual"];
2
+ export type PromotionConflictMode = (typeof PROMOTION_CONFLICT_MODES)[number];
3
+ export type PromotionConflict = {
4
+ attachmentId?: null | string;
5
+ commitContent?: null | string;
6
+ featureBranchUrl?: null | string;
7
+ isKnownResolution?: boolean;
8
+ isOutOfPromotionMetadata?: boolean;
9
+ metadataName?: null | string;
10
+ metadataType?: null | string;
11
+ name?: null | string;
12
+ resolutionStrategy?: null | string;
13
+ userStory?: null | string;
14
+ };
15
+ export type PromotionConflictListResponse = {
16
+ data?: PromotionConflict[];
17
+ };
18
+ export type PromotionConflictResolutionRequest = {
19
+ content: string;
20
+ forceSaveWithMarkers: false;
21
+ mode: 'manual';
22
+ } | {
23
+ mode: 'auto';
24
+ };
25
+ export type PromotionConflictResolutionResult = {
26
+ promotionStatusUpdated?: boolean;
27
+ resolvedCount?: number;
28
+ };
29
+ export type PromotionConflictUndoResult = {
30
+ undoneCount?: number;
31
+ };
32
+ export declare function promotionConflictsEndpoint(promotionId: string): string;
33
+ export declare function promotionConflictContentEndpoint(promotionId: string, conflictId: string): string;
34
+ export declare function promotionConflictResolveEndpoint(promotionId: string, conflictId: string): string;
35
+ export declare function promotionConflictUndoEndpoint(promotionId: string, conflictId: string): string;
36
+ export declare function normalizePromotionConflicts(response: PromotionConflict[] | PromotionConflictListResponse): PromotionConflict[];
37
+ export declare function buildPromotionConflictResolutionRequest(mode: PromotionConflictMode, content?: string): PromotionConflictResolutionRequest;
38
+ export declare function formatPromotionConflictTable(conflicts: PromotionConflict[]): string;
39
+ export declare function translatePromotionConflictError(error: unknown): Error;
40
+ export declare function withPromotionConflictErrorTranslation<T>(action: () => Promise<T>): Promise<T>;
@@ -0,0 +1,83 @@
1
+ import { CicdGatewayError } from './cicd-gateway.js';
2
+ import { cellValue, table } from './format.js';
3
+ export const PROMOTION_CONFLICT_MODES = ['auto', 'manual'];
4
+ const PROMOTION_CONFLICT_ERROR_MESSAGES = {
5
+ 'PRO-003': 'You do not have permission to manage conflicts for this promotion.',
6
+ 'PRO-004': 'Promotion or Conflict ID not found. Please verify your IDs.',
7
+ 'PRO-005': 'Invalid resolution request. Ensure your manual content does not contain unresolved Git markers unless forceSaveWithMarkers is used.',
8
+ 'PRO-016': 'Promotion or Conflict ID not found. Please verify your IDs.',
9
+ 'PRO-025': 'Invalid resolution request. Ensure your manual content does not contain unresolved Git markers unless forceSaveWithMarkers is used.',
10
+ 'PRO-026': 'Invalid resolution request. Ensure your manual content does not contain unresolved Git markers unless forceSaveWithMarkers is used.',
11
+ };
12
+ function endpointSegment(value, label) {
13
+ const trimmed = value.trim();
14
+ if (trimmed.length === 0) {
15
+ throw new Error(`${label} cannot be empty.`);
16
+ }
17
+ return encodeURIComponent(trimmed);
18
+ }
19
+ export function promotionConflictsEndpoint(promotionId) {
20
+ return `/release/promotion/${endpointSegment(promotionId, 'Promotion ID')}/conflicts`;
21
+ }
22
+ export function promotionConflictContentEndpoint(promotionId, conflictId) {
23
+ return `${promotionConflictsEndpoint(promotionId)}/${endpointSegment(conflictId, 'Conflict ID')}/content`;
24
+ }
25
+ export function promotionConflictResolveEndpoint(promotionId, conflictId) {
26
+ return `${promotionConflictsEndpoint(promotionId)}/${endpointSegment(conflictId, 'Conflict ID')}/resolve`;
27
+ }
28
+ export function promotionConflictUndoEndpoint(promotionId, conflictId) {
29
+ return `${promotionConflictsEndpoint(promotionId)}/${endpointSegment(conflictId, 'Conflict ID')}/undo-resolution`;
30
+ }
31
+ export function normalizePromotionConflicts(response) {
32
+ if (Array.isArray(response)) {
33
+ return response;
34
+ }
35
+ return Array.isArray(response.data) ? response.data : [];
36
+ }
37
+ export function buildPromotionConflictResolutionRequest(mode, content) {
38
+ if (mode === 'auto') {
39
+ return { mode };
40
+ }
41
+ if (content === undefined) {
42
+ throw new Error('--file is required when --mode manual is used.');
43
+ }
44
+ return {
45
+ content,
46
+ forceSaveWithMarkers: false,
47
+ mode,
48
+ };
49
+ }
50
+ export function formatPromotionConflictTable(conflicts) {
51
+ return table([
52
+ { alias: 'CONFLICT ID', value: 'attachmentId' },
53
+ { alias: 'USER STORY', value: 'userStory' },
54
+ { alias: 'TYPE', value: 'metadataType' },
55
+ { alias: 'NAME', value: 'metadataName' },
56
+ { alias: 'STATUS', value: 'resolutionStrategy' },
57
+ ], conflicts.map((conflict) => ({
58
+ attachmentId: cellValue(conflict.attachmentId),
59
+ metadataName: cellValue(conflict.metadataName),
60
+ metadataType: cellValue(conflict.metadataType),
61
+ resolutionStrategy: cellValue(conflict.resolutionStrategy),
62
+ userStory: cellValue(conflict.userStory),
63
+ })));
64
+ }
65
+ export function translatePromotionConflictError(error) {
66
+ if (error instanceof CicdGatewayError) {
67
+ const identifiers = [error.code, ...error.categories];
68
+ const identifier = identifiers.find((value) => value !== undefined && value in PROMOTION_CONFLICT_ERROR_MESSAGES);
69
+ if (identifier !== undefined) {
70
+ return new Error(PROMOTION_CONFLICT_ERROR_MESSAGES[identifier]);
71
+ }
72
+ }
73
+ return error instanceof Error ? error : new Error(String(error));
74
+ }
75
+ export async function withPromotionConflictErrorTranslation(action) {
76
+ try {
77
+ return await action();
78
+ }
79
+ catch (error) {
80
+ throw translatePromotionConflictError(error);
81
+ }
82
+ }
83
+ //# sourceMappingURL=promotion-conflicts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotion-conflicts.js","sourceRoot":"","sources":["../../src/lib/promotion-conflicts.ts"],"names":[],"mappings":"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"}
@@ -2247,6 +2247,224 @@
2247
2247
  "unset.js"
2248
2248
  ]
2249
2249
  },
2250
+ "promotion:conflict:get": {
2251
+ "aliases": [],
2252
+ "args": {
2253
+ "id": {
2254
+ "description": "Conflict attachment Id",
2255
+ "name": "id",
2256
+ "required": true
2257
+ }
2258
+ },
2259
+ "description": "Get raw merge-conflict content for a promotion file",
2260
+ "examples": [
2261
+ "<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id>",
2262
+ "<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --output ./MyClass.cls",
2263
+ "<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --json"
2264
+ ],
2265
+ "flags": {
2266
+ "json": {
2267
+ "description": "Format output as json.",
2268
+ "helpGroup": "GLOBAL",
2269
+ "name": "json",
2270
+ "allowNo": false,
2271
+ "type": "boolean"
2272
+ },
2273
+ "output": {
2274
+ "description": "Write raw conflict content to this file path",
2275
+ "name": "output",
2276
+ "hasDynamicHelp": false,
2277
+ "multiple": false,
2278
+ "type": "option"
2279
+ },
2280
+ "promotion": {
2281
+ "char": "p",
2282
+ "description": "Copado promotion Id",
2283
+ "name": "promotion",
2284
+ "required": true,
2285
+ "hasDynamicHelp": false,
2286
+ "multiple": false,
2287
+ "type": "option"
2288
+ }
2289
+ },
2290
+ "hasDynamicHelp": false,
2291
+ "hiddenAliases": [],
2292
+ "id": "promotion:conflict:get",
2293
+ "pluginAlias": "@copado/agentia-cli",
2294
+ "pluginName": "@copado/agentia-cli",
2295
+ "pluginType": "core",
2296
+ "strict": true,
2297
+ "enableJsonFlag": true,
2298
+ "isESM": true,
2299
+ "relativePath": [
2300
+ "dist",
2301
+ "commands",
2302
+ "promotion",
2303
+ "conflict",
2304
+ "get.js"
2305
+ ]
2306
+ },
2307
+ "promotion:conflict:list": {
2308
+ "aliases": [],
2309
+ "args": {},
2310
+ "description": "List merge conflicts for a Copado promotion",
2311
+ "examples": [
2312
+ "<%= config.bin %> <%= command.id %> --promotion <promotion-id>",
2313
+ "<%= config.bin %> <%= command.id %> -p <promotion-id> --json"
2314
+ ],
2315
+ "flags": {
2316
+ "json": {
2317
+ "description": "Format output as json.",
2318
+ "helpGroup": "GLOBAL",
2319
+ "name": "json",
2320
+ "allowNo": false,
2321
+ "type": "boolean"
2322
+ },
2323
+ "promotion": {
2324
+ "char": "p",
2325
+ "description": "Copado promotion Id",
2326
+ "name": "promotion",
2327
+ "required": true,
2328
+ "hasDynamicHelp": false,
2329
+ "multiple": false,
2330
+ "type": "option"
2331
+ }
2332
+ },
2333
+ "hasDynamicHelp": false,
2334
+ "hiddenAliases": [],
2335
+ "id": "promotion:conflict:list",
2336
+ "pluginAlias": "@copado/agentia-cli",
2337
+ "pluginName": "@copado/agentia-cli",
2338
+ "pluginType": "core",
2339
+ "strict": true,
2340
+ "enableJsonFlag": true,
2341
+ "isESM": true,
2342
+ "relativePath": [
2343
+ "dist",
2344
+ "commands",
2345
+ "promotion",
2346
+ "conflict",
2347
+ "list.js"
2348
+ ]
2349
+ },
2350
+ "promotion:conflict:resolve": {
2351
+ "aliases": [],
2352
+ "args": {
2353
+ "id": {
2354
+ "description": "Conflict attachment Id",
2355
+ "name": "id",
2356
+ "required": true
2357
+ }
2358
+ },
2359
+ "description": "Resolve a promotion merge conflict automatically or from a file",
2360
+ "examples": [
2361
+ "<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id> --mode auto",
2362
+ "<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --mode manual --file ./MyClass.cls",
2363
+ "<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --mode auto --json"
2364
+ ],
2365
+ "flags": {
2366
+ "json": {
2367
+ "description": "Format output as json.",
2368
+ "helpGroup": "GLOBAL",
2369
+ "name": "json",
2370
+ "allowNo": false,
2371
+ "type": "boolean"
2372
+ },
2373
+ "file": {
2374
+ "description": "Path to manually resolved conflict content",
2375
+ "name": "file",
2376
+ "hasDynamicHelp": false,
2377
+ "multiple": false,
2378
+ "type": "option"
2379
+ },
2380
+ "mode": {
2381
+ "description": "Conflict resolution mode",
2382
+ "name": "mode",
2383
+ "required": true,
2384
+ "hasDynamicHelp": false,
2385
+ "multiple": false,
2386
+ "options": [
2387
+ "auto",
2388
+ "manual"
2389
+ ],
2390
+ "type": "option"
2391
+ },
2392
+ "promotion": {
2393
+ "char": "p",
2394
+ "description": "Copado promotion Id",
2395
+ "name": "promotion",
2396
+ "required": true,
2397
+ "hasDynamicHelp": false,
2398
+ "multiple": false,
2399
+ "type": "option"
2400
+ }
2401
+ },
2402
+ "hasDynamicHelp": false,
2403
+ "hiddenAliases": [],
2404
+ "id": "promotion:conflict:resolve",
2405
+ "pluginAlias": "@copado/agentia-cli",
2406
+ "pluginName": "@copado/agentia-cli",
2407
+ "pluginType": "core",
2408
+ "strict": true,
2409
+ "enableJsonFlag": true,
2410
+ "isESM": true,
2411
+ "relativePath": [
2412
+ "dist",
2413
+ "commands",
2414
+ "promotion",
2415
+ "conflict",
2416
+ "resolve.js"
2417
+ ]
2418
+ },
2419
+ "promotion:conflict:unresolve": {
2420
+ "aliases": [],
2421
+ "args": {
2422
+ "id": {
2423
+ "description": "Conflict attachment Id",
2424
+ "name": "id",
2425
+ "required": true
2426
+ }
2427
+ },
2428
+ "description": "Undo a promotion conflict resolution",
2429
+ "examples": [
2430
+ "<%= config.bin %> <%= command.id %> <conflict-id> --promotion <promotion-id>",
2431
+ "<%= config.bin %> <%= command.id %> <conflict-id> -p <promotion-id> --json"
2432
+ ],
2433
+ "flags": {
2434
+ "json": {
2435
+ "description": "Format output as json.",
2436
+ "helpGroup": "GLOBAL",
2437
+ "name": "json",
2438
+ "allowNo": false,
2439
+ "type": "boolean"
2440
+ },
2441
+ "promotion": {
2442
+ "char": "p",
2443
+ "description": "Copado promotion Id",
2444
+ "name": "promotion",
2445
+ "required": true,
2446
+ "hasDynamicHelp": false,
2447
+ "multiple": false,
2448
+ "type": "option"
2449
+ }
2450
+ },
2451
+ "hasDynamicHelp": false,
2452
+ "hiddenAliases": [],
2453
+ "id": "promotion:conflict:unresolve",
2454
+ "pluginAlias": "@copado/agentia-cli",
2455
+ "pluginName": "@copado/agentia-cli",
2456
+ "pluginType": "core",
2457
+ "strict": true,
2458
+ "enableJsonFlag": true,
2459
+ "isESM": true,
2460
+ "relativePath": [
2461
+ "dist",
2462
+ "commands",
2463
+ "promotion",
2464
+ "conflict",
2465
+ "unresolve.js"
2466
+ ]
2467
+ },
2250
2468
  "environment:auth:web:login": {
2251
2469
  "aliases": [],
2252
2470
  "args": {
@@ -2313,5 +2531,5 @@
2313
2531
  ]
2314
2532
  }
2315
2533
  },
2316
- "version": "0.8.0-alpha.0"
2534
+ "version": "0.9.0-alpha.0"
2317
2535
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@copado/agentia-cli",
3
3
  "description": "Command-line interface for Agentia",
4
- "version": "0.8.0-alpha.0",
4
+ "version": "0.9.0-alpha.0",
5
5
  "author": "Copado Solutions",
6
6
  "bin": {
7
7
  "agentia": "./bin/run.js"
@@ -79,6 +79,9 @@
79
79
  },
80
80
  "project": {
81
81
  "description": "Manage Copado projects"
82
+ },
83
+ "promotion": {
84
+ "description": "Manage Copado promotions"
82
85
  }
83
86
  }
84
87
  },