@copado/agentia-cli 0.13.0-alpha.0 → 0.14.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 +49 -83
- package/dist/lib/cicd-gateway.d.ts +4 -0
- package/dist/lib/cicd-gateway.js +112 -15
- package/dist/lib/cicd-gateway.js.map +1 -1
- package/dist/lib/env-file.d.ts +5 -0
- package/dist/lib/env-file.js +41 -0
- package/dist/lib/env-file.js.map +1 -0
- package/dist/lib/local-gateway-config.d.ts +21 -0
- package/dist/lib/local-gateway-config.js +53 -0
- package/dist/lib/local-gateway-config.js.map +1 -0
- package/dist/lib/sf-org-context.d.ts +13 -0
- package/dist/lib/sf-org-context.js +151 -0
- package/dist/lib/sf-org-context.js.map +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -9,7 +9,6 @@ Command-line interface for Agentia headless Copado workflows (auth, environments
|
|
|
9
9
|
<!-- toc -->
|
|
10
10
|
* [@copado/agentia-cli](#copadoagentia-cli)
|
|
11
11
|
* [Usage](#usage)
|
|
12
|
-
* [Integration Testing](#integration-testing)
|
|
13
12
|
* [Local MCP Server](#local-mcp-server)
|
|
14
13
|
* [License](#license)
|
|
15
14
|
* [Commands](#commands)
|
|
@@ -23,7 +22,7 @@ $ npm install -g @copado/agentia-cli
|
|
|
23
22
|
$ agentia COMMAND
|
|
24
23
|
running command...
|
|
25
24
|
$ agentia (--version)
|
|
26
|
-
@copado/agentia-cli/0.
|
|
25
|
+
@copado/agentia-cli/0.14.0-alpha.0 linux-x64 node-v22.23.2
|
|
27
26
|
$ agentia --help [COMMAND]
|
|
28
27
|
USAGE
|
|
29
28
|
$ agentia COMMAND
|
|
@@ -31,17 +30,14 @@ USAGE
|
|
|
31
30
|
```
|
|
32
31
|
<!-- usagestop -->
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Live metadata integration tests are opt-in. They use the CICD API key and endpoint already stored with `agentia auth set`, plus local Test14 IDs from `.env.integration`.
|
|
33
|
+
Store CICD credentials before calling gateway-backed commands:
|
|
37
34
|
|
|
38
35
|
```sh-session
|
|
39
|
-
$ agentia auth set --cicd <api-key> --
|
|
40
|
-
$
|
|
41
|
-
$ npm run test:integration
|
|
36
|
+
$ agentia auth set --cicd <api-key> --region na
|
|
37
|
+
$ agentia auth get
|
|
42
38
|
```
|
|
43
39
|
|
|
44
|
-
|
|
40
|
+
Contributor setup, local gateway mode, and integration testing are documented in [DEVELOPMENT.md](DEVELOPMENT.md).
|
|
45
41
|
|
|
46
42
|
# Local MCP Server
|
|
47
43
|
|
|
@@ -49,17 +45,16 @@ Agentia can run as a local Model Context Protocol (MCP) server over stdio. MCP-c
|
|
|
49
45
|
|
|
50
46
|
## Prerequisites
|
|
51
47
|
|
|
52
|
-
1. Install
|
|
48
|
+
1. Install the CLI so `agentia` is available:
|
|
53
49
|
|
|
54
50
|
```sh-session
|
|
55
51
|
$ npm install -g @copado/agentia-cli
|
|
56
|
-
$ npm run build && npm link
|
|
57
52
|
```
|
|
58
53
|
|
|
59
54
|
2. Store CICD credentials. The MCP server reuses the same keychain-backed auth as the CLI:
|
|
60
55
|
|
|
61
56
|
```sh-session
|
|
62
|
-
$ agentia auth set --cicd <api-key> --
|
|
57
|
+
$ agentia auth set --cicd <api-key> --region na
|
|
63
58
|
$ agentia auth get
|
|
64
59
|
```
|
|
65
60
|
|
|
@@ -93,27 +88,8 @@ Add an MCP server entry that launches Agentia:
|
|
|
93
88
|
}
|
|
94
89
|
```
|
|
95
90
|
|
|
96
|
-
If Cursor cannot resolve `agentia` on `PATH`, use the absolute binary from this repo:
|
|
97
|
-
|
|
98
|
-
```json
|
|
99
|
-
{
|
|
100
|
-
"mcpServers": {
|
|
101
|
-
"agentia": {
|
|
102
|
-
"command": "/absolute/path/to/agentia-headless/cli/bin/run.js",
|
|
103
|
-
"args": ["mcp", "start"]
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
91
|
After saving the config, reload MCP servers in Cursor. The Agentia tools should appear in the MCP tool list.
|
|
110
92
|
|
|
111
|
-
For local development, rebuild after code changes so Cursor picks up the latest `dist` output:
|
|
112
|
-
|
|
113
|
-
```sh-session
|
|
114
|
-
$ npm run build
|
|
115
|
-
```
|
|
116
|
-
|
|
117
93
|
## Available tools
|
|
118
94
|
|
|
119
95
|
Tools are JSON-safe and return structured results. Sensitive fields are redacted.
|
|
@@ -137,16 +113,6 @@ Tools are JSON-safe and return structured results. Sensitive fields are redacted
|
|
|
137
113
|
- User get defaults `id` to `me` for the authenticated user.
|
|
138
114
|
- Environment create/update tools mirror the corresponding CLI commands and only send fields you provide.
|
|
139
115
|
|
|
140
|
-
## Verify locally
|
|
141
|
-
|
|
142
|
-
Unit coverage for MCP registration and redaction:
|
|
143
|
-
|
|
144
|
-
```sh-session
|
|
145
|
-
$ npm test -- --grep 'mcp'
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Live smoke check through Cursor: call `agentia_environment_list` or `agentia_project_default_get` after auth is configured. For pipeline and metadata tools, use Test14 IDs from your local `.env.integration`.
|
|
149
|
-
|
|
150
116
|
# License
|
|
151
117
|
|
|
152
118
|
Agentia CLI is distributed under the Copado End User License Agreement. See [LICENSE.md](LICENSE.md) for the full license terms.
|
|
@@ -238,7 +204,7 @@ EXAMPLES
|
|
|
238
204
|
$ agentia auth get --json
|
|
239
205
|
```
|
|
240
206
|
|
|
241
|
-
_See code: [src/commands/auth/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
207
|
+
_See code: [src/commands/auth/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/auth/get.ts)_
|
|
242
208
|
|
|
243
209
|
## `agentia auth set`
|
|
244
210
|
|
|
@@ -276,7 +242,7 @@ EXAMPLES
|
|
|
276
242
|
$ agentia auth set --cicd <copado-api-key> --region na --json
|
|
277
243
|
```
|
|
278
244
|
|
|
279
|
-
_See code: [src/commands/auth/set.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
245
|
+
_See code: [src/commands/auth/set.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/auth/set.ts)_
|
|
280
246
|
|
|
281
247
|
## `agentia environment auth status ID`
|
|
282
248
|
|
|
@@ -306,7 +272,7 @@ EXAMPLES
|
|
|
306
272
|
$ agentia environment auth status <environment-id> --json
|
|
307
273
|
```
|
|
308
274
|
|
|
309
|
-
_See code: [src/commands/environment/auth/status.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
275
|
+
_See code: [src/commands/environment/auth/status.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/environment/auth/status.ts)_
|
|
310
276
|
|
|
311
277
|
## `agentia environment auth web login ID`
|
|
312
278
|
|
|
@@ -340,7 +306,7 @@ EXAMPLES
|
|
|
340
306
|
$ agentia environment auth web login <environment-id> --json
|
|
341
307
|
```
|
|
342
308
|
|
|
343
|
-
_See code: [src/commands/environment/auth/web/login.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
309
|
+
_See code: [src/commands/environment/auth/web/login.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/environment/auth/web/login.ts)_
|
|
344
310
|
|
|
345
311
|
## `agentia environment create NAME`
|
|
346
312
|
|
|
@@ -385,7 +351,7 @@ EXAMPLES
|
|
|
385
351
|
$ agentia environment create Dev --json
|
|
386
352
|
```
|
|
387
353
|
|
|
388
|
-
_See code: [src/commands/environment/create.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
354
|
+
_See code: [src/commands/environment/create.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/environment/create.ts)_
|
|
389
355
|
|
|
390
356
|
## `agentia environment get ID`
|
|
391
357
|
|
|
@@ -410,7 +376,7 @@ EXAMPLES
|
|
|
410
376
|
$ agentia environment get a0SKC000000CmZ2AU --json
|
|
411
377
|
```
|
|
412
378
|
|
|
413
|
-
_See code: [src/commands/environment/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
379
|
+
_See code: [src/commands/environment/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/environment/get.ts)_
|
|
414
380
|
|
|
415
381
|
## `agentia environment list`
|
|
416
382
|
|
|
@@ -442,7 +408,7 @@ EXAMPLES
|
|
|
442
408
|
$ agentia environment list --json
|
|
443
409
|
```
|
|
444
410
|
|
|
445
|
-
_See code: [src/commands/environment/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
411
|
+
_See code: [src/commands/environment/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/environment/list.ts)_
|
|
446
412
|
|
|
447
413
|
## `agentia environment update ID`
|
|
448
414
|
|
|
@@ -488,7 +454,7 @@ EXAMPLES
|
|
|
488
454
|
$ agentia environment update a0SKC000000CmZ2AU --name UAT --json
|
|
489
455
|
```
|
|
490
456
|
|
|
491
|
-
_See code: [src/commands/environment/update.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
457
|
+
_See code: [src/commands/environment/update.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/environment/update.ts)_
|
|
492
458
|
|
|
493
459
|
## `agentia help [COMMAND]`
|
|
494
460
|
|
|
@@ -537,7 +503,7 @@ EXAMPLES
|
|
|
537
503
|
$ agentia job get <job-id> --user-id <id> --organization-id <id> --json
|
|
538
504
|
```
|
|
539
505
|
|
|
540
|
-
_See code: [src/commands/job/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
506
|
+
_See code: [src/commands/job/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/job/get.ts)_
|
|
541
507
|
|
|
542
508
|
## `agentia job kill ID`
|
|
543
509
|
|
|
@@ -566,7 +532,7 @@ EXAMPLES
|
|
|
566
532
|
$ agentia job kill <job-id> --user-id <id> --organization-id <id> --json
|
|
567
533
|
```
|
|
568
534
|
|
|
569
|
-
_See code: [src/commands/job/kill.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
535
|
+
_See code: [src/commands/job/kill.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/job/kill.ts)_
|
|
570
536
|
|
|
571
537
|
## `agentia job list`
|
|
572
538
|
|
|
@@ -604,7 +570,7 @@ EXAMPLES
|
|
|
604
570
|
$ agentia job list --user-id <id> --organization-id <id> --json
|
|
605
571
|
```
|
|
606
572
|
|
|
607
|
-
_See code: [src/commands/job/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
573
|
+
_See code: [src/commands/job/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/job/list.ts)_
|
|
608
574
|
|
|
609
575
|
## `agentia job pause ID`
|
|
610
576
|
|
|
@@ -633,7 +599,7 @@ EXAMPLES
|
|
|
633
599
|
$ agentia job pause <job-id> --user-id <id> --organization-id <id> --json
|
|
634
600
|
```
|
|
635
601
|
|
|
636
|
-
_See code: [src/commands/job/pause.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
602
|
+
_See code: [src/commands/job/pause.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/job/pause.ts)_
|
|
637
603
|
|
|
638
604
|
## `agentia job resume ID`
|
|
639
605
|
|
|
@@ -662,7 +628,7 @@ EXAMPLES
|
|
|
662
628
|
$ agentia job resume <job-id> --user-id <id> --organization-id <id> --json
|
|
663
629
|
```
|
|
664
630
|
|
|
665
|
-
_See code: [src/commands/job/resume.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
631
|
+
_See code: [src/commands/job/resume.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/job/resume.ts)_
|
|
666
632
|
|
|
667
633
|
## `agentia job run ID`
|
|
668
634
|
|
|
@@ -692,7 +658,7 @@ EXAMPLES
|
|
|
692
658
|
$ agentia job run <job-id> --user-id <id> --organization-id <id> --restart --json
|
|
693
659
|
```
|
|
694
660
|
|
|
695
|
-
_See code: [src/commands/job/run.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
661
|
+
_See code: [src/commands/job/run.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/job/run.ts)_
|
|
696
662
|
|
|
697
663
|
## `agentia mcp start`
|
|
698
664
|
|
|
@@ -711,7 +677,7 @@ EXAMPLES
|
|
|
711
677
|
$ agentia mcp start # long-running stdio MCP server for Cursor and other clients
|
|
712
678
|
```
|
|
713
679
|
|
|
714
|
-
_See code: [src/commands/mcp/start.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
680
|
+
_See code: [src/commands/mcp/start.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/mcp/start.ts)_
|
|
715
681
|
|
|
716
682
|
## `agentia metadata content compare`
|
|
717
683
|
|
|
@@ -754,7 +720,7 @@ EXAMPLES
|
|
|
754
720
|
$ agentia metadata content compare --metadata-type ApexClass --api-name MyClass --json
|
|
755
721
|
```
|
|
756
722
|
|
|
757
|
-
_See code: [src/commands/metadata/content/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
723
|
+
_See code: [src/commands/metadata/content/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/content/compare.ts)_
|
|
758
724
|
|
|
759
725
|
## `agentia metadata content get`
|
|
760
726
|
|
|
@@ -795,7 +761,7 @@ EXAMPLES
|
|
|
795
761
|
$ agentia metadata content get --file requests.json --json
|
|
796
762
|
```
|
|
797
763
|
|
|
798
|
-
_See code: [src/commands/metadata/content/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
764
|
+
_See code: [src/commands/metadata/content/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/content/get.ts)_
|
|
799
765
|
|
|
800
766
|
## `agentia metadata dependency list`
|
|
801
767
|
|
|
@@ -843,7 +809,7 @@ EXAMPLES
|
|
|
843
809
|
$ agentia metadata dependency list --from-changes --base-ref origin/main --retrieve-mode all --pipeline-id <id> --source-org-id <id> --source-credential-id <id>
|
|
844
810
|
```
|
|
845
811
|
|
|
846
|
-
_See code: [src/commands/metadata/dependency/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
812
|
+
_See code: [src/commands/metadata/dependency/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/dependency/list.ts)_
|
|
847
813
|
|
|
848
814
|
## `agentia metadata index compare`
|
|
849
815
|
|
|
@@ -877,7 +843,7 @@ EXAMPLES
|
|
|
877
843
|
$ agentia metadata index compare --comparison-mode MIX --json
|
|
878
844
|
```
|
|
879
845
|
|
|
880
|
-
_See code: [src/commands/metadata/index/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
846
|
+
_See code: [src/commands/metadata/index/compare.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/index/compare.ts)_
|
|
881
847
|
|
|
882
848
|
## `agentia metadata list`
|
|
883
849
|
|
|
@@ -925,7 +891,7 @@ EXAMPLES
|
|
|
925
891
|
$ agentia metadata list --source NewAndChanged --find-managed-packages --json
|
|
926
892
|
```
|
|
927
893
|
|
|
928
|
-
_See code: [src/commands/metadata/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
894
|
+
_See code: [src/commands/metadata/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/list.ts)_
|
|
929
895
|
|
|
930
896
|
## `agentia metadata refresh deleted`
|
|
931
897
|
|
|
@@ -957,7 +923,7 @@ EXAMPLES
|
|
|
957
923
|
$ agentia metadata refresh deleted --env <environment-id> --user-id <id> --organization-id <id> --module-type vlocity --json
|
|
958
924
|
```
|
|
959
925
|
|
|
960
|
-
_See code: [src/commands/metadata/refresh/deleted.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
926
|
+
_See code: [src/commands/metadata/refresh/deleted.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/refresh/deleted.ts)_
|
|
961
927
|
|
|
962
928
|
## `agentia metadata refresh run`
|
|
963
929
|
|
|
@@ -1000,7 +966,7 @@ EXAMPLES
|
|
|
1000
966
|
$ agentia metadata refresh run --env <environment-id> --user-id <id> --organization-id <id> --all --json
|
|
1001
967
|
```
|
|
1002
968
|
|
|
1003
|
-
_See code: [src/commands/metadata/refresh/run.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
969
|
+
_See code: [src/commands/metadata/refresh/run.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/refresh/run.ts)_
|
|
1004
970
|
|
|
1005
971
|
## `agentia metadata refresh status`
|
|
1006
972
|
|
|
@@ -1032,7 +998,7 @@ EXAMPLES
|
|
|
1032
998
|
$ agentia metadata refresh status --job-id <event-id> --user-id <id> --organization-id <id> --json
|
|
1033
999
|
```
|
|
1034
1000
|
|
|
1035
|
-
_See code: [src/commands/metadata/refresh/status.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1001
|
+
_See code: [src/commands/metadata/refresh/status.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/metadata/refresh/status.ts)_
|
|
1036
1002
|
|
|
1037
1003
|
## `agentia pipeline connection list`
|
|
1038
1004
|
|
|
@@ -1059,7 +1025,7 @@ EXAMPLES
|
|
|
1059
1025
|
$ agentia pipeline connection list --pipeline-id <pipeline-id> --user-id <id> --organization-id <id> --json
|
|
1060
1026
|
```
|
|
1061
1027
|
|
|
1062
|
-
_See code: [src/commands/pipeline/connection/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1028
|
+
_See code: [src/commands/pipeline/connection/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/pipeline/connection/list.ts)_
|
|
1063
1029
|
|
|
1064
1030
|
## `agentia pipeline get ID`
|
|
1065
1031
|
|
|
@@ -1088,7 +1054,7 @@ EXAMPLES
|
|
|
1088
1054
|
$ agentia pipeline get <pipeline-id> --user-id <id> --organization-id <id> --json
|
|
1089
1055
|
```
|
|
1090
1056
|
|
|
1091
|
-
_See code: [src/commands/pipeline/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1057
|
+
_See code: [src/commands/pipeline/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/pipeline/get.ts)_
|
|
1092
1058
|
|
|
1093
1059
|
## `agentia pipeline list`
|
|
1094
1060
|
|
|
@@ -1114,7 +1080,7 @@ EXAMPLES
|
|
|
1114
1080
|
$ agentia pipeline list --user-id <id> --organization-id <id> --json
|
|
1115
1081
|
```
|
|
1116
1082
|
|
|
1117
|
-
_See code: [src/commands/pipeline/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1083
|
+
_See code: [src/commands/pipeline/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/pipeline/list.ts)_
|
|
1118
1084
|
|
|
1119
1085
|
## `agentia plugins`
|
|
1120
1086
|
|
|
@@ -1441,7 +1407,7 @@ EXAMPLES
|
|
|
1441
1407
|
$ agentia project default get --json
|
|
1442
1408
|
```
|
|
1443
1409
|
|
|
1444
|
-
_See code: [src/commands/project/default/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1410
|
+
_See code: [src/commands/project/default/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/project/default/get.ts)_
|
|
1445
1411
|
|
|
1446
1412
|
## `agentia project default set`
|
|
1447
1413
|
|
|
@@ -1478,7 +1444,7 @@ EXAMPLES
|
|
|
1478
1444
|
$ agentia project default set --project my-project --json
|
|
1479
1445
|
```
|
|
1480
1446
|
|
|
1481
|
-
_See code: [src/commands/project/default/set.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1447
|
+
_See code: [src/commands/project/default/set.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/project/default/set.ts)_
|
|
1482
1448
|
|
|
1483
1449
|
## `agentia project default unset`
|
|
1484
1450
|
|
|
@@ -1515,7 +1481,7 @@ EXAMPLES
|
|
|
1515
1481
|
$ agentia project default unset --project --json
|
|
1516
1482
|
```
|
|
1517
1483
|
|
|
1518
|
-
_See code: [src/commands/project/default/unset.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1484
|
+
_See code: [src/commands/project/default/unset.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/project/default/unset.ts)_
|
|
1519
1485
|
|
|
1520
1486
|
## `agentia project list`
|
|
1521
1487
|
|
|
@@ -1542,7 +1508,7 @@ EXAMPLES
|
|
|
1542
1508
|
$ agentia project list --mine --json
|
|
1543
1509
|
```
|
|
1544
1510
|
|
|
1545
|
-
_See code: [src/commands/project/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1511
|
+
_See code: [src/commands/project/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/project/list.ts)_
|
|
1546
1512
|
|
|
1547
1513
|
## `agentia promotion conflict get ID`
|
|
1548
1514
|
|
|
@@ -1573,7 +1539,7 @@ EXAMPLES
|
|
|
1573
1539
|
$ agentia promotion conflict get <conflict-id> -p <promotion-id> --json
|
|
1574
1540
|
```
|
|
1575
1541
|
|
|
1576
|
-
_See code: [src/commands/promotion/conflict/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1542
|
+
_See code: [src/commands/promotion/conflict/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/promotion/conflict/get.ts)_
|
|
1577
1543
|
|
|
1578
1544
|
## `agentia promotion conflict list`
|
|
1579
1545
|
|
|
@@ -1598,7 +1564,7 @@ EXAMPLES
|
|
|
1598
1564
|
$ agentia promotion conflict list -p <promotion-id> --json
|
|
1599
1565
|
```
|
|
1600
1566
|
|
|
1601
|
-
_See code: [src/commands/promotion/conflict/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1567
|
+
_See code: [src/commands/promotion/conflict/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/promotion/conflict/list.ts)_
|
|
1602
1568
|
|
|
1603
1569
|
## `agentia promotion conflict resolve ID`
|
|
1604
1570
|
|
|
@@ -1631,7 +1597,7 @@ EXAMPLES
|
|
|
1631
1597
|
$ agentia promotion conflict resolve <conflict-id> -p <promotion-id> --mode auto --json
|
|
1632
1598
|
```
|
|
1633
1599
|
|
|
1634
|
-
_See code: [src/commands/promotion/conflict/resolve.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1600
|
+
_See code: [src/commands/promotion/conflict/resolve.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/promotion/conflict/resolve.ts)_
|
|
1635
1601
|
|
|
1636
1602
|
## `agentia promotion conflict unresolve ID`
|
|
1637
1603
|
|
|
@@ -1659,7 +1625,7 @@ EXAMPLES
|
|
|
1659
1625
|
$ agentia promotion conflict unresolve <conflict-id> -p <promotion-id> --json
|
|
1660
1626
|
```
|
|
1661
1627
|
|
|
1662
|
-
_See code: [src/commands/promotion/conflict/unresolve.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1628
|
+
_See code: [src/commands/promotion/conflict/unresolve.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/promotion/conflict/unresolve.ts)_
|
|
1663
1629
|
|
|
1664
1630
|
## `agentia promotion get ID`
|
|
1665
1631
|
|
|
@@ -1684,7 +1650,7 @@ EXAMPLES
|
|
|
1684
1650
|
$ agentia promotion get <promotion-id> --json
|
|
1685
1651
|
```
|
|
1686
1652
|
|
|
1687
|
-
_See code: [src/commands/promotion/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1653
|
+
_See code: [src/commands/promotion/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/promotion/get.ts)_
|
|
1688
1654
|
|
|
1689
1655
|
## `agentia promotion list`
|
|
1690
1656
|
|
|
@@ -1727,7 +1693,7 @@ EXAMPLES
|
|
|
1727
1693
|
$ agentia promotion list --json
|
|
1728
1694
|
```
|
|
1729
1695
|
|
|
1730
|
-
_See code: [src/commands/promotion/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1696
|
+
_See code: [src/commands/promotion/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/promotion/list.ts)_
|
|
1731
1697
|
|
|
1732
1698
|
## `agentia user get`
|
|
1733
1699
|
|
|
@@ -1756,7 +1722,7 @@ EXAMPLES
|
|
|
1756
1722
|
$ agentia user get --json
|
|
1757
1723
|
```
|
|
1758
1724
|
|
|
1759
|
-
_See code: [src/commands/user/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1725
|
+
_See code: [src/commands/user/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/user/get.ts)_
|
|
1760
1726
|
|
|
1761
1727
|
## `agentia work create`
|
|
1762
1728
|
|
|
@@ -1811,7 +1777,7 @@ EXAMPLES
|
|
|
1811
1777
|
$ agentia work create --title "My story" --json
|
|
1812
1778
|
```
|
|
1813
1779
|
|
|
1814
|
-
_See code: [src/commands/work/create.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1780
|
+
_See code: [src/commands/work/create.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/work/create.ts)_
|
|
1815
1781
|
|
|
1816
1782
|
## `agentia work delete ID`
|
|
1817
1783
|
|
|
@@ -1836,7 +1802,7 @@ EXAMPLES
|
|
|
1836
1802
|
$ agentia work delete a0SKC000000CmZ2AU --json
|
|
1837
1803
|
```
|
|
1838
1804
|
|
|
1839
|
-
_See code: [src/commands/work/delete.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1805
|
+
_See code: [src/commands/work/delete.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/work/delete.ts)_
|
|
1840
1806
|
|
|
1841
1807
|
## `agentia work get ID`
|
|
1842
1808
|
|
|
@@ -1861,7 +1827,7 @@ EXAMPLES
|
|
|
1861
1827
|
$ agentia work get a0SKC000000CmZ2AU --json
|
|
1862
1828
|
```
|
|
1863
1829
|
|
|
1864
|
-
_See code: [src/commands/work/get.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1830
|
+
_See code: [src/commands/work/get.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/work/get.ts)_
|
|
1865
1831
|
|
|
1866
1832
|
## `agentia work list`
|
|
1867
1833
|
|
|
@@ -1904,7 +1870,7 @@ EXAMPLES
|
|
|
1904
1870
|
$ agentia work list --json
|
|
1905
1871
|
```
|
|
1906
1872
|
|
|
1907
|
-
_See code: [src/commands/work/list.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1873
|
+
_See code: [src/commands/work/list.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/work/list.ts)_
|
|
1908
1874
|
|
|
1909
1875
|
## `agentia work update ID`
|
|
1910
1876
|
|
|
@@ -1962,5 +1928,5 @@ EXAMPLES
|
|
|
1962
1928
|
$ agentia work update a0SKC000000CmZ2AU --status "In Progress" --json
|
|
1963
1929
|
```
|
|
1964
1930
|
|
|
1965
|
-
_See code: [src/commands/work/update.ts](https://github.com/Copado/agentia-cli/blob/v0.
|
|
1931
|
+
_See code: [src/commands/work/update.ts](https://github.com/Copado/agentia-cli/blob/v0.14.0-alpha.0/src/commands/work/update.ts)_
|
|
1966
1932
|
<!-- commandsstop -->
|
|
@@ -7,6 +7,9 @@ export type CicdRequest = {
|
|
|
7
7
|
method: 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
|
|
8
8
|
responseType?: 'json' | 'text';
|
|
9
9
|
};
|
|
10
|
+
export type HttpRequestOptions = {
|
|
11
|
+
rejectUnauthorized?: boolean;
|
|
12
|
+
};
|
|
10
13
|
export type CicdResponse<T = unknown> = {
|
|
11
14
|
data?: T;
|
|
12
15
|
message?: string;
|
|
@@ -62,6 +65,7 @@ export declare function discoverCicdBaseUrl(apiKey: string): Promise<string>;
|
|
|
62
65
|
export declare function resolveAndValidateCicdEndpoint(apiKey: string, options: CicdEndpointOptions): Promise<string>;
|
|
63
66
|
export declare function setHttpRequestForTests(requestFn: HttpRequestFn): void;
|
|
64
67
|
export declare function resetHttpRequestForTests(): void;
|
|
68
|
+
export declare function getActiveHttpRequestOptionsForTests(): HttpRequestOptions;
|
|
65
69
|
export declare class CicdGateway {
|
|
66
70
|
static call<T = unknown>(request: CicdRequest, onDebugRequest?: (debugRequest: CicdDebugRequest) => void): Promise<T>;
|
|
67
71
|
static resolveAndValidateEndpoint(apiKey: string, options: CicdEndpointOptions): Promise<string>;
|
package/dist/lib/cicd-gateway.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import * as http from 'node:http';
|
|
1
2
|
import * as https from 'node:https';
|
|
2
3
|
import { createRequire } from 'node:module';
|
|
3
4
|
import { URL } from 'node:url';
|
|
4
5
|
import { v7 as uuidv7 } from 'uuid';
|
|
5
6
|
import { CICD_REGIONS, cicdBaseUrl } from './cicd-region.js';
|
|
6
7
|
import { getCicdBaseUrl, getCredential } from './credential-store.js';
|
|
8
|
+
import { normalizeLocalGatewayBaseUrl, readLocalGatewayConfig } from './local-gateway-config.js';
|
|
9
|
+
import { getSfOrgContext } from './sf-org-context.js';
|
|
7
10
|
const require = createRequire(import.meta.url);
|
|
8
11
|
const packageJson = require('../../package.json');
|
|
9
12
|
const CICD_API_PATH = '/json/v1/webhook/cicd-api';
|
|
10
13
|
const CICD_VALIDATION_ENDPOINT = '/health';
|
|
14
|
+
let activeHttpRequestOptions = {};
|
|
11
15
|
export class CicdGatewayError extends Error {
|
|
12
16
|
categories;
|
|
13
17
|
code;
|
|
@@ -122,19 +126,31 @@ export function maskedCicdApiUrl(serverUrl) {
|
|
|
122
126
|
return endpoint.toString();
|
|
123
127
|
}
|
|
124
128
|
function defaultHttpsJsonRequest(url, method, headers, body) {
|
|
125
|
-
const
|
|
129
|
+
const hasBody = body !== undefined;
|
|
130
|
+
const payload = hasBody ? JSON.stringify(body) : '';
|
|
131
|
+
const requestHeaders = {
|
|
132
|
+
Accept: 'application/json',
|
|
133
|
+
...headers,
|
|
134
|
+
};
|
|
135
|
+
const { rejectUnauthorized } = activeHttpRequestOptions;
|
|
136
|
+
const transport = url.protocol === 'http:' ? http : https;
|
|
137
|
+
if (hasBody) {
|
|
138
|
+
requestHeaders['Content-Type'] = requestHeaders['Content-Type'] ?? 'application/json';
|
|
139
|
+
requestHeaders['Content-Length'] = Buffer.byteLength(payload).toString();
|
|
140
|
+
}
|
|
126
141
|
return new Promise((resolve, reject) => {
|
|
127
|
-
const
|
|
128
|
-
headers:
|
|
129
|
-
Accept: 'application/json',
|
|
130
|
-
'Content-Length': Buffer.byteLength(payload).toString(),
|
|
131
|
-
'Content-Type': 'application/json',
|
|
132
|
-
...headers,
|
|
133
|
-
},
|
|
142
|
+
const requestOptions = {
|
|
143
|
+
headers: requestHeaders,
|
|
134
144
|
hostname: url.hostname,
|
|
135
145
|
method,
|
|
136
146
|
path: `${url.pathname}${url.search}`,
|
|
137
|
-
|
|
147
|
+
port: url.port.length > 0 ? Number(url.port) : undefined,
|
|
148
|
+
};
|
|
149
|
+
if (url.protocol === 'https:' && rejectUnauthorized !== undefined) {
|
|
150
|
+
;
|
|
151
|
+
requestOptions.rejectUnauthorized = rejectUnauthorized;
|
|
152
|
+
}
|
|
153
|
+
const req = transport.request(requestOptions, (res) => {
|
|
138
154
|
const chunks = [];
|
|
139
155
|
res.on('data', (chunk) => chunks.push(chunk));
|
|
140
156
|
res.on('end', () => {
|
|
@@ -148,12 +164,25 @@ function defaultHttpsJsonRequest(url, method, headers, body) {
|
|
|
148
164
|
});
|
|
149
165
|
});
|
|
150
166
|
req.on('error', (error) => reject(error));
|
|
151
|
-
|
|
167
|
+
if (hasBody) {
|
|
168
|
+
req.write(payload);
|
|
169
|
+
}
|
|
152
170
|
req.end();
|
|
153
171
|
});
|
|
154
172
|
}
|
|
155
173
|
let httpRequestFn = defaultHttpsJsonRequest;
|
|
156
|
-
function resolveCicdCredentials() {
|
|
174
|
+
function resolveCicdCredentials(options = {}) {
|
|
175
|
+
const localConfig = readLocalGatewayConfig();
|
|
176
|
+
if (!options.forceRemote && localConfig.enabled) {
|
|
177
|
+
const apiKey = localConfig.apiKey || getCredential('cicd');
|
|
178
|
+
if (apiKey === null || apiKey.trim().length === 0) {
|
|
179
|
+
throw new Error('CICD API key is not configured for local gateway mode. Set AGENTIA_LOCAL_API_KEY in .env or run `agentia auth set --cicd <key>`.');
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
apiKey,
|
|
183
|
+
baseUrl: normalizeLocalGatewayBaseUrl(localConfig.url),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
157
186
|
const apiKey = getCredential('cicd');
|
|
158
187
|
if (apiKey === null || apiKey.trim().length === 0) {
|
|
159
188
|
throw new Error('CICD API key is not configured. Run `agentia auth set --cicd <key> [--region <region> | --custom-url <url>]`.');
|
|
@@ -164,6 +193,34 @@ function resolveCicdCredentials() {
|
|
|
164
193
|
}
|
|
165
194
|
return { apiKey, baseUrl };
|
|
166
195
|
}
|
|
196
|
+
function maskSecret(value) {
|
|
197
|
+
if (value.length <= 8) {
|
|
198
|
+
return '<masked>';
|
|
199
|
+
}
|
|
200
|
+
return `${value.slice(0, 4)}...${value.slice(-4)}`;
|
|
201
|
+
}
|
|
202
|
+
function buildLocalGatewayHeaders(apiKey, sfContext, requestHeaders, transactionId) {
|
|
203
|
+
return {
|
|
204
|
+
'User-Agent': gatewayUserAgent(),
|
|
205
|
+
'x-api-key': apiKey,
|
|
206
|
+
'x-canvas-api-session': sfContext.accessToken,
|
|
207
|
+
'x-copado-api-url': sfContext.instanceUrl,
|
|
208
|
+
'x-organization-id': sfContext.orgId,
|
|
209
|
+
'x-transaction-id': transactionId,
|
|
210
|
+
'x-user-id': sfContext.userId,
|
|
211
|
+
...requestHeaders,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function maskLocalGatewayHeaders(headers) {
|
|
215
|
+
const masked = { ...headers };
|
|
216
|
+
if (masked['x-api-key'] !== undefined) {
|
|
217
|
+
masked['x-api-key'] = maskSecret(masked['x-api-key']);
|
|
218
|
+
}
|
|
219
|
+
if (masked['x-canvas-api-session'] !== undefined) {
|
|
220
|
+
masked['x-canvas-api-session'] = '<masked>';
|
|
221
|
+
}
|
|
222
|
+
return masked;
|
|
223
|
+
}
|
|
167
224
|
function unwrapResponse(parsed) {
|
|
168
225
|
const data = (parsed && typeof parsed === 'object' && 'data' in parsed ? parsed.data : undefined) ?? parsed.result;
|
|
169
226
|
if (data === undefined) {
|
|
@@ -171,8 +228,8 @@ function unwrapResponse(parsed) {
|
|
|
171
228
|
}
|
|
172
229
|
return data;
|
|
173
230
|
}
|
|
174
|
-
async function executeRequest(credentials, request, onDebugRequest) {
|
|
175
|
-
const raw = await sendRequest(credentials, request, onDebugRequest);
|
|
231
|
+
async function executeRequest(credentials, request, onDebugRequest, options = {}) {
|
|
232
|
+
const raw = await sendRequest(credentials, request, onDebugRequest, options);
|
|
176
233
|
if (raw.trim().length === 0) {
|
|
177
234
|
return undefined;
|
|
178
235
|
}
|
|
@@ -202,7 +259,7 @@ async function executeRequest(credentials, request, onDebugRequest) {
|
|
|
202
259
|
}
|
|
203
260
|
return unwrapResponse(parsed);
|
|
204
261
|
}
|
|
205
|
-
async function
|
|
262
|
+
async function sendRemoteRequest(credentials, request, onDebugRequest) {
|
|
206
263
|
const endpoint = cicdApiUrl(credentials.baseUrl, credentials.apiKey);
|
|
207
264
|
const transactionId = createTransactionId();
|
|
208
265
|
const outerHeaders = buildOuterHeaders(transactionId);
|
|
@@ -222,6 +279,41 @@ async function sendRequest(credentials, request, onDebugRequest) {
|
|
|
222
279
|
}
|
|
223
280
|
return httpRequestFn(endpoint, 'POST', outerHeaders, gatewayRequest);
|
|
224
281
|
}
|
|
282
|
+
async function sendLocalRequest(credentials, request, onDebugRequest) {
|
|
283
|
+
const localConfig = readLocalGatewayConfig();
|
|
284
|
+
const sfContext = await getSfOrgContext(localConfig.orgAlias);
|
|
285
|
+
const transactionId = createTransactionId();
|
|
286
|
+
const headers = buildLocalGatewayHeaders(credentials.apiKey, sfContext, request.headers, transactionId);
|
|
287
|
+
const url = new URL(request.endpoint, `${credentials.baseUrl}/`);
|
|
288
|
+
const { body } = request;
|
|
289
|
+
if (onDebugRequest) {
|
|
290
|
+
onDebugRequest({
|
|
291
|
+
body: body ?? null,
|
|
292
|
+
headers: {
|
|
293
|
+
Accept: 'application/json',
|
|
294
|
+
...maskLocalGatewayHeaders(headers),
|
|
295
|
+
},
|
|
296
|
+
method: request.method,
|
|
297
|
+
url: url.toString(),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
const previousOptions = activeHttpRequestOptions;
|
|
301
|
+
activeHttpRequestOptions = {
|
|
302
|
+
rejectUnauthorized: localConfig.tlsInsecure ? false : undefined,
|
|
303
|
+
};
|
|
304
|
+
try {
|
|
305
|
+
return await httpRequestFn(url, request.method, headers, body);
|
|
306
|
+
}
|
|
307
|
+
finally {
|
|
308
|
+
activeHttpRequestOptions = previousOptions;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
async function sendRequest(credentials, request, onDebugRequest, options = {}) {
|
|
312
|
+
if (!options.forceRemote && readLocalGatewayConfig().enabled) {
|
|
313
|
+
return sendLocalRequest(credentials, request, onDebugRequest);
|
|
314
|
+
}
|
|
315
|
+
return sendRemoteRequest(credentials, request, onDebugRequest);
|
|
316
|
+
}
|
|
225
317
|
export async function discoverCicdBaseUrl(apiKey) {
|
|
226
318
|
for (const region of CICD_REGIONS) {
|
|
227
319
|
const baseUrl = cicdBaseUrl(region);
|
|
@@ -257,7 +349,7 @@ async function validateCredentialsAtBaseUrl(apiKey, baseUrl) {
|
|
|
257
349
|
}, {
|
|
258
350
|
endpoint: CICD_VALIDATION_ENDPOINT,
|
|
259
351
|
method: 'GET',
|
|
260
|
-
});
|
|
352
|
+
}, undefined, { forceRemote: true });
|
|
261
353
|
}
|
|
262
354
|
// Test-only hook
|
|
263
355
|
export function setHttpRequestForTests(requestFn) {
|
|
@@ -266,6 +358,11 @@ export function setHttpRequestForTests(requestFn) {
|
|
|
266
358
|
// Test-only hook
|
|
267
359
|
export function resetHttpRequestForTests() {
|
|
268
360
|
httpRequestFn = defaultHttpsJsonRequest;
|
|
361
|
+
activeHttpRequestOptions = {};
|
|
362
|
+
}
|
|
363
|
+
// Test-only hook
|
|
364
|
+
export function getActiveHttpRequestOptionsForTests() {
|
|
365
|
+
return activeHttpRequestOptions;
|
|
269
366
|
}
|
|
270
367
|
export class CicdGateway {
|
|
271
368
|
static async call(request, onDebugRequest) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cicd-gateway.js","sourceRoot":"","sources":["../../src/lib/cicd-gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cicd-gateway.js","sourceRoot":"","sources":["../../src/lib/cicd-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
let loadedPath = null;
|
|
4
|
+
export function parseEnvFileContents(contents) {
|
|
5
|
+
const values = {};
|
|
6
|
+
for (const rawLine of contents.split(/\r?\n/)) {
|
|
7
|
+
const line = rawLine.trim();
|
|
8
|
+
if (line.length === 0 || line.startsWith('#')) {
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const separator = line.indexOf('=');
|
|
12
|
+
if (separator === -1) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
const key = line.slice(0, separator).trim();
|
|
16
|
+
const value = line.slice(separator + 1).trim().replaceAll(/^['"]|['"]$/g, '');
|
|
17
|
+
if (key.length > 0) {
|
|
18
|
+
values[key] = value;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return values;
|
|
22
|
+
}
|
|
23
|
+
export function loadEnvFile(filePath = resolve(process.cwd(), '.env'), options = {}) {
|
|
24
|
+
if (loadedPath === filePath) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
loadedPath = filePath;
|
|
28
|
+
if (!existsSync(filePath)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const values = parseEnvFileContents(readFileSync(filePath, 'utf8'));
|
|
32
|
+
for (const [key, value] of Object.entries(values)) {
|
|
33
|
+
if (options.override || process.env[key] === undefined) {
|
|
34
|
+
process.env[key] = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function resetEnvFileForTests() {
|
|
39
|
+
loadedPath = null;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=env-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../../src/lib/env-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,IAAI,UAAU,GAAkB,IAAI,CAAA;AAEpC,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,MAAM,GAA2B,EAAE,CAAA;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAE3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEnC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAE7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,UAAgC,EAAE;IAC/G,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAM;IACR,CAAC;IAED,UAAU,GAAG,QAAQ,CAAA;IAErB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,UAAU,GAAG,IAAI,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const DEFAULT_LOCAL_GATEWAY_URL = "http://localhost:8000";
|
|
2
|
+
export declare function normalizeLocalGatewayBaseUrl(value: string): string;
|
|
3
|
+
export declare const DEFAULT_LOCAL_SF_ORG_ALIAS = "test14";
|
|
4
|
+
export declare const LOCAL_GATEWAY_ENV: {
|
|
5
|
+
readonly apiKey: "AGENTIA_LOCAL_API_KEY";
|
|
6
|
+
readonly orgAlias: "AGENTIA_LOCAL_SF_ORG_ALIAS";
|
|
7
|
+
readonly tlsInsecure: "AGENTIA_LOCAL_GATEWAY_TLS_INSECURE";
|
|
8
|
+
readonly url: "AGENTIA_LOCAL_GATEWAY_URL";
|
|
9
|
+
readonly useLocal: "AGENTIA_USE_LOCAL_GATEWAY";
|
|
10
|
+
};
|
|
11
|
+
export type LocalGatewayConfig = {
|
|
12
|
+
apiKey?: string;
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
orgAlias: string;
|
|
15
|
+
tlsInsecure: boolean;
|
|
16
|
+
url: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function readLocalGatewayConfig(env?: NodeJS.ProcessEnv, options?: {
|
|
19
|
+
loadFile?: boolean;
|
|
20
|
+
}): LocalGatewayConfig;
|
|
21
|
+
export declare function isLocalGatewayEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { loadEnvFile } from './env-file.js';
|
|
2
|
+
export const DEFAULT_LOCAL_GATEWAY_URL = 'http://localhost:8000';
|
|
3
|
+
export function normalizeLocalGatewayBaseUrl(value) {
|
|
4
|
+
let url;
|
|
5
|
+
try {
|
|
6
|
+
url = new URL(value);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
throw new Error('Local gateway URL must be a valid absolute HTTP or HTTPS URL.');
|
|
10
|
+
}
|
|
11
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
12
|
+
throw new Error('Local gateway URL must use HTTP or HTTPS.');
|
|
13
|
+
}
|
|
14
|
+
return url.origin;
|
|
15
|
+
}
|
|
16
|
+
export const DEFAULT_LOCAL_SF_ORG_ALIAS = 'test14';
|
|
17
|
+
export const LOCAL_GATEWAY_ENV = {
|
|
18
|
+
apiKey: 'AGENTIA_LOCAL_API_KEY',
|
|
19
|
+
orgAlias: 'AGENTIA_LOCAL_SF_ORG_ALIAS',
|
|
20
|
+
tlsInsecure: 'AGENTIA_LOCAL_GATEWAY_TLS_INSECURE',
|
|
21
|
+
url: 'AGENTIA_LOCAL_GATEWAY_URL',
|
|
22
|
+
useLocal: 'AGENTIA_USE_LOCAL_GATEWAY',
|
|
23
|
+
};
|
|
24
|
+
function isTruthyEnv(value) {
|
|
25
|
+
if (value === undefined) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const normalized = value.trim().toLowerCase();
|
|
29
|
+
return normalized === '1' || normalized === 'true' || normalized === 'yes' || normalized === 'on';
|
|
30
|
+
}
|
|
31
|
+
export function readLocalGatewayConfig(env = process.env, options = {}) {
|
|
32
|
+
if (options.loadFile !== false && env === process.env) {
|
|
33
|
+
loadEnvFile();
|
|
34
|
+
}
|
|
35
|
+
const enabled = isTruthyEnv(env[LOCAL_GATEWAY_ENV.useLocal]);
|
|
36
|
+
const url = env[LOCAL_GATEWAY_ENV.url]?.trim() || DEFAULT_LOCAL_GATEWAY_URL;
|
|
37
|
+
const orgAlias = env[LOCAL_GATEWAY_ENV.orgAlias]?.trim() || DEFAULT_LOCAL_SF_ORG_ALIAS;
|
|
38
|
+
const apiKey = env[LOCAL_GATEWAY_ENV.apiKey]?.trim() || undefined;
|
|
39
|
+
const tlsInsecure = env[LOCAL_GATEWAY_ENV.tlsInsecure] === undefined
|
|
40
|
+
? true
|
|
41
|
+
: isTruthyEnv(env[LOCAL_GATEWAY_ENV.tlsInsecure]);
|
|
42
|
+
return {
|
|
43
|
+
apiKey,
|
|
44
|
+
enabled,
|
|
45
|
+
orgAlias,
|
|
46
|
+
tlsInsecure,
|
|
47
|
+
url,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function isLocalGatewayEnabled(env = process.env) {
|
|
51
|
+
return readLocalGatewayConfig(env).enabled;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=local-gateway-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-gateway-config.js","sourceRoot":"","sources":["../../src/lib/local-gateway-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAA;AAEhE,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,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,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAA;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,4BAA4B;IACtC,WAAW,EAAE,oCAAoC;IACjD,GAAG,EAAE,2BAA2B;IAChC,QAAQ,EAAE,2BAA2B;CAC7B,CAAA;AAEV,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAA;AACnG,CAAC;AAUD,MAAM,UAAU,sBAAsB,CACpC,MAAyB,OAAO,CAAC,GAAG,EACpC,UAAgC,EAAE;IAElC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,WAAW,EAAE,CAAA;IACf,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,yBAAyB,CAAA;IAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,0BAA0B,CAAA;IACtF,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;IACjE,MAAM,WAAW,GACf,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,SAAS;QAC9C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;IAErD,OAAO;QACL,MAAM;QACN,OAAO;QACP,QAAQ;QACR,WAAW;QACX,GAAG;KACJ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACxE,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type SfOrgContext = {
|
|
2
|
+
accessToken: string;
|
|
3
|
+
instanceUrl: string;
|
|
4
|
+
orgId: string;
|
|
5
|
+
userId: string;
|
|
6
|
+
username?: string;
|
|
7
|
+
};
|
|
8
|
+
export type SfOrgDisplayFn = (orgAlias: string) => Promise<SfOrgContext>;
|
|
9
|
+
export declare function parseSfOrgDisplayJson(raw: string, orgAlias: string): SfOrgContext;
|
|
10
|
+
export declare function getSfOrgContext(orgAlias?: string): Promise<SfOrgContext>;
|
|
11
|
+
export declare function setSfOrgDisplayForTests(fn: SfOrgDisplayFn): void;
|
|
12
|
+
export declare function resetSfOrgDisplayForTests(): void;
|
|
13
|
+
export declare function clearSfOrgContextCacheForTests(): void;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import { DEFAULT_LOCAL_SF_ORG_ALIAS } from './local-gateway-config.js';
|
|
4
|
+
import { normalizeSalesforceId } from './salesforce-id.js';
|
|
5
|
+
const execFileAsync = promisify(execFile);
|
|
6
|
+
let sfOrgDisplayFn = defaultSfOrgDisplay;
|
|
7
|
+
let cachedContext;
|
|
8
|
+
function assertNonEmpty(value, field, orgAlias) {
|
|
9
|
+
if (value === undefined || value.trim().length === 0) {
|
|
10
|
+
throw new Error(`Salesforce org "${orgAlias}" did not return ${field}. Re-authenticate with \`sf org login web --alias ${orgAlias}\`.`);
|
|
11
|
+
}
|
|
12
|
+
return value.trim();
|
|
13
|
+
}
|
|
14
|
+
function sanitizeSfCliError(message, orgAlias) {
|
|
15
|
+
const cleaned = message
|
|
16
|
+
.replaceAll(/"accessToken"\s*:\s*"[^"]*"/gi, '"accessToken":"<masked>"')
|
|
17
|
+
.replaceAll(/\b00D[A-Za-z0-9]{12,15}\b/g, '<org-id>')
|
|
18
|
+
.replaceAll(/\b005[A-Za-z0-9]{12,15}\b/g, '<user-id>')
|
|
19
|
+
.trim();
|
|
20
|
+
if (cleaned.length === 0) {
|
|
21
|
+
return `Failed to resolve Salesforce org "${orgAlias}" via \`sf org display\`.`;
|
|
22
|
+
}
|
|
23
|
+
return `Failed to resolve Salesforce org "${orgAlias}" via \`sf org display\`: ${cleaned}`;
|
|
24
|
+
}
|
|
25
|
+
function extractJsonObject(raw) {
|
|
26
|
+
const start = raw.indexOf('{');
|
|
27
|
+
if (start === -1) {
|
|
28
|
+
throw new Error('Salesforce CLI returned non-JSON output.');
|
|
29
|
+
}
|
|
30
|
+
return JSON.parse(raw.slice(start));
|
|
31
|
+
}
|
|
32
|
+
function isRedactedAccessToken(value) {
|
|
33
|
+
return value.startsWith('[') || /REDACTED|show-access-token/i.test(value);
|
|
34
|
+
}
|
|
35
|
+
export function parseSfOrgDisplayJson(raw, orgAlias) {
|
|
36
|
+
const parsed = extractJsonObject(raw);
|
|
37
|
+
if (typeof parsed.status === 'number' && parsed.status !== 0) {
|
|
38
|
+
throw new Error(sanitizeSfCliError(parsed.message ?? parsed.name ?? 'unknown error', orgAlias));
|
|
39
|
+
}
|
|
40
|
+
if (parsed.result === undefined || typeof parsed.result === 'string') {
|
|
41
|
+
throw new Error(`Salesforce CLI response for org "${orgAlias}" is missing result data.`);
|
|
42
|
+
}
|
|
43
|
+
const orgId = assertNonEmpty(parsed.result.id ?? parsed.result.orgId, 'org Id', orgAlias);
|
|
44
|
+
const userId = assertNonEmpty(parsed.result.userId, 'user Id', orgAlias);
|
|
45
|
+
const accessToken = assertNonEmpty(parsed.result.accessToken, 'access token', orgAlias);
|
|
46
|
+
const instanceUrl = assertNonEmpty(parsed.result.instanceUrl, 'instance URL', orgAlias);
|
|
47
|
+
if (isRedactedAccessToken(accessToken)) {
|
|
48
|
+
throw new Error(`Salesforce org "${orgAlias}" access token is redacted. Set SF_TEMP_SHOW_SECRETS=true or upgrade the local gateway session resolver.`);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
accessToken,
|
|
52
|
+
instanceUrl: instanceUrl.replace(/\/$/, ''),
|
|
53
|
+
orgId: normalizeSalesforceId(orgId),
|
|
54
|
+
userId: normalizeSalesforceId(userId),
|
|
55
|
+
username: parsed.result.username?.trim() || undefined,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
async function runSfJson(args) {
|
|
59
|
+
try {
|
|
60
|
+
const { stdout } = await execFileAsync('sf', args, {
|
|
61
|
+
encoding: 'utf8',
|
|
62
|
+
env: {
|
|
63
|
+
...process.env,
|
|
64
|
+
SF_TEMP_SHOW_SECRETS: 'true',
|
|
65
|
+
},
|
|
66
|
+
maxBuffer: 2 * 1024 * 1024,
|
|
67
|
+
});
|
|
68
|
+
return extractJsonObject(stdout);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (error instanceof Error && 'stdout' in error && typeof error.stdout === 'string') {
|
|
72
|
+
const { stdout } = error;
|
|
73
|
+
if (stdout.trim().length > 0) {
|
|
74
|
+
return extractJsonObject(stdout);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
78
|
+
throw new Error(sanitizeSfCliError(message, args.at(-1) ?? 'unknown'));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function resultObject(parsed, orgAlias) {
|
|
82
|
+
if (parsed.result === undefined || typeof parsed.result === 'string') {
|
|
83
|
+
throw new Error(`Salesforce CLI response for org "${orgAlias}" is missing result data.`);
|
|
84
|
+
}
|
|
85
|
+
return parsed.result;
|
|
86
|
+
}
|
|
87
|
+
async function resolveAccessToken(orgAlias, candidate) {
|
|
88
|
+
if (candidate !== undefined && candidate.trim().length > 0 && !isRedactedAccessToken(candidate)) {
|
|
89
|
+
return candidate.trim();
|
|
90
|
+
}
|
|
91
|
+
const tokenResponse = await runSfJson([
|
|
92
|
+
'org',
|
|
93
|
+
'auth',
|
|
94
|
+
'show-access-token',
|
|
95
|
+
'--target-org',
|
|
96
|
+
orgAlias,
|
|
97
|
+
'--json',
|
|
98
|
+
'--no-prompt',
|
|
99
|
+
]);
|
|
100
|
+
if (typeof tokenResponse.status === 'number' && tokenResponse.status !== 0) {
|
|
101
|
+
throw new Error(sanitizeSfCliError(tokenResponse.message ?? tokenResponse.name ?? 'unknown error', orgAlias));
|
|
102
|
+
}
|
|
103
|
+
if (typeof tokenResponse.result === 'string') {
|
|
104
|
+
return assertNonEmpty(tokenResponse.result, 'access token', orgAlias);
|
|
105
|
+
}
|
|
106
|
+
return assertNonEmpty(tokenResponse.result?.accessToken, 'access token', orgAlias);
|
|
107
|
+
}
|
|
108
|
+
async function defaultSfOrgDisplay(orgAlias) {
|
|
109
|
+
const [orgResponse, userResponse] = await Promise.all([
|
|
110
|
+
runSfJson(['org', 'display', '--target-org', orgAlias, '--json']),
|
|
111
|
+
runSfJson(['org', 'display', 'user', '--target-org', orgAlias, '--json']),
|
|
112
|
+
]);
|
|
113
|
+
if (typeof orgResponse.status === 'number' && orgResponse.status !== 0) {
|
|
114
|
+
throw new Error(sanitizeSfCliError(orgResponse.message ?? orgResponse.name ?? 'unknown error', orgAlias));
|
|
115
|
+
}
|
|
116
|
+
if (typeof userResponse.status === 'number' && userResponse.status !== 0) {
|
|
117
|
+
throw new Error(sanitizeSfCliError(userResponse.message ?? userResponse.name ?? 'unknown error', orgAlias));
|
|
118
|
+
}
|
|
119
|
+
const org = resultObject(orgResponse, orgAlias);
|
|
120
|
+
const user = resultObject(userResponse, orgAlias);
|
|
121
|
+
const accessToken = await resolveAccessToken(orgAlias, org.accessToken ?? user.accessToken);
|
|
122
|
+
const orgId = assertNonEmpty(org.id ?? org.orgId ?? user.orgId, 'org Id', orgAlias);
|
|
123
|
+
const userId = assertNonEmpty(user.id ?? user.userId ?? org.userId, 'user Id', orgAlias);
|
|
124
|
+
const instanceUrl = assertNonEmpty(org.instanceUrl ?? user.instanceUrl, 'instance URL', orgAlias);
|
|
125
|
+
return {
|
|
126
|
+
accessToken,
|
|
127
|
+
instanceUrl: instanceUrl.replace(/\/$/, ''),
|
|
128
|
+
orgId: normalizeSalesforceId(orgId),
|
|
129
|
+
userId: normalizeSalesforceId(userId),
|
|
130
|
+
username: (user.username ?? org.username)?.trim() || undefined,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export async function getSfOrgContext(orgAlias = DEFAULT_LOCAL_SF_ORG_ALIAS) {
|
|
134
|
+
if (cachedContext?.alias === orgAlias) {
|
|
135
|
+
return cachedContext.context;
|
|
136
|
+
}
|
|
137
|
+
const context = await sfOrgDisplayFn(orgAlias);
|
|
138
|
+
cachedContext = { alias: orgAlias, context };
|
|
139
|
+
return context;
|
|
140
|
+
}
|
|
141
|
+
export function setSfOrgDisplayForTests(fn) {
|
|
142
|
+
sfOrgDisplayFn = fn;
|
|
143
|
+
}
|
|
144
|
+
export function resetSfOrgDisplayForTests() {
|
|
145
|
+
sfOrgDisplayFn = defaultSfOrgDisplay;
|
|
146
|
+
cachedContext = undefined;
|
|
147
|
+
}
|
|
148
|
+
export function clearSfOrgContextCacheForTests() {
|
|
149
|
+
cachedContext = undefined;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=sf-org-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sf-org-context.js","sourceRoot":"","sources":["../../src/lib/sf-org-context.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
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.
|
|
4
|
+
"version": "0.14.0-alpha.0",
|
|
5
5
|
"author": "Copado Solutions",
|
|
6
6
|
"bin": {
|
|
7
7
|
"agentia": "./bin/run.js"
|
|
@@ -105,6 +105,8 @@
|
|
|
105
105
|
"package:verify": "node scripts/verify-package.mjs",
|
|
106
106
|
"prepack": "npm run package:prepare",
|
|
107
107
|
"pretest:integration": "shx rm -rf dist oclif.manifest.json",
|
|
108
|
+
"setup:local-gateway": "node scripts/setup-local-gateway.mjs",
|
|
109
|
+
"smoke:local-gateway": "node scripts/smoke-local-gateway.mjs",
|
|
108
110
|
"test": "mocha --forbid-only \"test/**/*.test.ts\"",
|
|
109
111
|
"test:integration": "mocha --forbid-only \"test/integration/**/*.integration.ts\"",
|
|
110
112
|
"version": "oclif readme && git add README.md"
|