@edge-markets/connect 1.9.0 → 1.9.1
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 +4 -4
- package/dist/index.d.mts +12 -17
- package/dist/index.d.ts +12 -17
- package/dist/index.js +3 -38
- package/dist/index.mjs +3 -38
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,13 +92,13 @@ import {
|
|
|
92
92
|
formatScopeForEnvironment,
|
|
93
93
|
} from '@edge-markets/connect'
|
|
94
94
|
|
|
95
|
-
const config = getEnvironmentConfig('
|
|
95
|
+
const config = getEnvironmentConfig('sandbox')
|
|
96
96
|
console.log(config.apiBaseUrl) // https://...
|
|
97
|
-
console.log(getLinkUrl('
|
|
97
|
+
console.log(getLinkUrl('sandbox')) // https://sandbox-oauth.staging-app.edgeboost.io/oauth/link
|
|
98
98
|
|
|
99
99
|
// Format scopes for your environment
|
|
100
|
-
const scopes = formatScopeForEnvironment(EDGE_SCOPES.BALANCE_READ, '
|
|
101
|
-
// Returns: 'edge-connect-
|
|
100
|
+
const scopes = formatScopeForEnvironment(EDGE_SCOPES.BALANCE_READ, 'sandbox')
|
|
101
|
+
// Returns: 'edge-connect-sandbox/balance.read'
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
### Error Handling
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type EdgeEnvironment = 'production' | '
|
|
1
|
+
type EdgeEnvironment = 'production' | 'sandbox';
|
|
2
2
|
declare const EDGE_LINK_PATH = "/oauth/link";
|
|
3
3
|
interface EdgeEnvironmentConfig {
|
|
4
4
|
/**
|
|
@@ -32,6 +32,7 @@ declare function getAvailableEnvironments(): readonly EdgeEnvironment[];
|
|
|
32
32
|
*
|
|
33
33
|
* @module @edge-markets/connect/config
|
|
34
34
|
*/
|
|
35
|
+
|
|
35
36
|
/**
|
|
36
37
|
* Available OAuth scopes for EDGE Connect.
|
|
37
38
|
*
|
|
@@ -64,7 +65,7 @@ declare const EDGE_SCOPES: {
|
|
|
64
65
|
readonly BALANCE_READ: "balance.read";
|
|
65
66
|
/**
|
|
66
67
|
* Reserved for future fund transfers and EDGE-hosted verification sessions.
|
|
67
|
-
* Not available in
|
|
68
|
+
* Not available in sandbox or production. Requesting this scope from Link
|
|
68
69
|
* SDKs fails with EdgeFeatureUnavailableError until EDGE enables transfers
|
|
69
70
|
* for a partner.
|
|
70
71
|
*
|
|
@@ -98,7 +99,7 @@ declare const RESERVED_EDGE_SCOPES: readonly EdgeScope[];
|
|
|
98
99
|
* ```typescript
|
|
99
100
|
* const link = new EdgeLink({
|
|
100
101
|
* clientId: 'your-client-id',
|
|
101
|
-
* environment: '
|
|
102
|
+
* environment: 'sandbox',
|
|
102
103
|
* scopes: ALL_EDGE_SCOPES, // Same values as ACTIVE_EDGE_SCOPES today
|
|
103
104
|
* onSuccess: handleSuccess,
|
|
104
105
|
* })
|
|
@@ -121,26 +122,20 @@ declare const SCOPE_ICONS: Readonly<Record<EdgeScope, string>>;
|
|
|
121
122
|
* Different environments may use different scope prefixes in the API Gateway.
|
|
122
123
|
* This function handles the prefix automatically.
|
|
123
124
|
*
|
|
124
|
-
* Note: 'development' environment uses 'staging' scope prefix because it
|
|
125
|
-
* connects to the staging API Gateway for local testing.
|
|
126
|
-
*
|
|
127
125
|
* @param scope - The scope to format
|
|
128
126
|
* @param environment - The target environment
|
|
129
127
|
* @returns The full scope string for API Gateway authorization
|
|
130
128
|
*
|
|
131
129
|
* @example
|
|
132
130
|
* ```typescript
|
|
133
|
-
* formatScopeForEnvironment('user.read', '
|
|
134
|
-
* // Returns: 'edge-connect-
|
|
131
|
+
* formatScopeForEnvironment('user.read', 'sandbox')
|
|
132
|
+
* // Returns: 'edge-connect-sandbox/user.read'
|
|
135
133
|
*
|
|
136
134
|
* formatScopeForEnvironment('user.read', 'production')
|
|
137
135
|
* // Returns: 'edge-connect/user.read'
|
|
138
|
-
*
|
|
139
|
-
* formatScopeForEnvironment('user.read', 'development')
|
|
140
|
-
* // Returns: 'edge-connect-staging/user.read' (maps to staging)
|
|
141
136
|
* ```
|
|
142
137
|
*/
|
|
143
|
-
declare function formatScopeForEnvironment(scope: EdgeScope, environment:
|
|
138
|
+
declare function formatScopeForEnvironment(scope: EdgeScope, environment: EdgeEnvironment): string;
|
|
144
139
|
/**
|
|
145
140
|
* Formats multiple scopes for an environment.
|
|
146
141
|
*
|
|
@@ -148,11 +143,11 @@ declare function formatScopeForEnvironment(scope: EdgeScope, environment: 'produ
|
|
|
148
143
|
* @param environment - The target environment
|
|
149
144
|
* @returns Array of full scope strings
|
|
150
145
|
*/
|
|
151
|
-
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment:
|
|
146
|
+
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment: EdgeEnvironment): string[];
|
|
152
147
|
/**
|
|
153
148
|
* Parses a full scope string to extract the base scope.
|
|
154
149
|
*
|
|
155
|
-
* @param fullScope - The full scope string (e.g., 'edge-connect-
|
|
150
|
+
* @param fullScope - The full scope string (e.g., 'edge-connect-sandbox/user.read')
|
|
156
151
|
* @returns The base scope (e.g., 'user.read') or null if invalid
|
|
157
152
|
*/
|
|
158
153
|
declare function parseScope(fullScope: string): EdgeScope | null;
|
|
@@ -163,7 +158,7 @@ declare function isValidScope(scope: string): scope is EdgeScope;
|
|
|
163
158
|
/**
|
|
164
159
|
* Checks whether a scope string requests the future transfer feature.
|
|
165
160
|
* Accepts either short scopes (`transfer.write`) or formatted environment
|
|
166
|
-
* scopes (`edge-connect-
|
|
161
|
+
* scopes (`edge-connect-sandbox/transfer.write`).
|
|
167
162
|
*/
|
|
168
163
|
declare function isTransferWriteScope(scope: string): boolean;
|
|
169
164
|
|
|
@@ -2790,7 +2785,7 @@ interface EdgeTokens {
|
|
|
2790
2785
|
* ```typescript
|
|
2791
2786
|
* const link = new EdgeLink({
|
|
2792
2787
|
* clientId: 'your-client-id',
|
|
2793
|
-
* environment: '
|
|
2788
|
+
* environment: 'sandbox',
|
|
2794
2789
|
* onSuccess: (result: EdgeLinkSuccess) => {
|
|
2795
2790
|
* // Send to your backend
|
|
2796
2791
|
* fetch('/api/edge/exchange', {
|
|
@@ -3213,7 +3208,7 @@ declare function isFeatureUnavailableError(error: unknown): error is EdgeFeature
|
|
|
3213
3208
|
*
|
|
3214
3209
|
* This package provides the foundation for building EDGE Connect integrations:
|
|
3215
3210
|
* - Type definitions generated from the OpenAPI spec
|
|
3216
|
-
* - Environment configuration (production,
|
|
3211
|
+
* - Environment configuration (production, sandbox)
|
|
3217
3212
|
* - OAuth scope constants
|
|
3218
3213
|
* - Typed error classes
|
|
3219
3214
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type EdgeEnvironment = 'production' | '
|
|
1
|
+
type EdgeEnvironment = 'production' | 'sandbox';
|
|
2
2
|
declare const EDGE_LINK_PATH = "/oauth/link";
|
|
3
3
|
interface EdgeEnvironmentConfig {
|
|
4
4
|
/**
|
|
@@ -32,6 +32,7 @@ declare function getAvailableEnvironments(): readonly EdgeEnvironment[];
|
|
|
32
32
|
*
|
|
33
33
|
* @module @edge-markets/connect/config
|
|
34
34
|
*/
|
|
35
|
+
|
|
35
36
|
/**
|
|
36
37
|
* Available OAuth scopes for EDGE Connect.
|
|
37
38
|
*
|
|
@@ -64,7 +65,7 @@ declare const EDGE_SCOPES: {
|
|
|
64
65
|
readonly BALANCE_READ: "balance.read";
|
|
65
66
|
/**
|
|
66
67
|
* Reserved for future fund transfers and EDGE-hosted verification sessions.
|
|
67
|
-
* Not available in
|
|
68
|
+
* Not available in sandbox or production. Requesting this scope from Link
|
|
68
69
|
* SDKs fails with EdgeFeatureUnavailableError until EDGE enables transfers
|
|
69
70
|
* for a partner.
|
|
70
71
|
*
|
|
@@ -98,7 +99,7 @@ declare const RESERVED_EDGE_SCOPES: readonly EdgeScope[];
|
|
|
98
99
|
* ```typescript
|
|
99
100
|
* const link = new EdgeLink({
|
|
100
101
|
* clientId: 'your-client-id',
|
|
101
|
-
* environment: '
|
|
102
|
+
* environment: 'sandbox',
|
|
102
103
|
* scopes: ALL_EDGE_SCOPES, // Same values as ACTIVE_EDGE_SCOPES today
|
|
103
104
|
* onSuccess: handleSuccess,
|
|
104
105
|
* })
|
|
@@ -121,26 +122,20 @@ declare const SCOPE_ICONS: Readonly<Record<EdgeScope, string>>;
|
|
|
121
122
|
* Different environments may use different scope prefixes in the API Gateway.
|
|
122
123
|
* This function handles the prefix automatically.
|
|
123
124
|
*
|
|
124
|
-
* Note: 'development' environment uses 'staging' scope prefix because it
|
|
125
|
-
* connects to the staging API Gateway for local testing.
|
|
126
|
-
*
|
|
127
125
|
* @param scope - The scope to format
|
|
128
126
|
* @param environment - The target environment
|
|
129
127
|
* @returns The full scope string for API Gateway authorization
|
|
130
128
|
*
|
|
131
129
|
* @example
|
|
132
130
|
* ```typescript
|
|
133
|
-
* formatScopeForEnvironment('user.read', '
|
|
134
|
-
* // Returns: 'edge-connect-
|
|
131
|
+
* formatScopeForEnvironment('user.read', 'sandbox')
|
|
132
|
+
* // Returns: 'edge-connect-sandbox/user.read'
|
|
135
133
|
*
|
|
136
134
|
* formatScopeForEnvironment('user.read', 'production')
|
|
137
135
|
* // Returns: 'edge-connect/user.read'
|
|
138
|
-
*
|
|
139
|
-
* formatScopeForEnvironment('user.read', 'development')
|
|
140
|
-
* // Returns: 'edge-connect-staging/user.read' (maps to staging)
|
|
141
136
|
* ```
|
|
142
137
|
*/
|
|
143
|
-
declare function formatScopeForEnvironment(scope: EdgeScope, environment:
|
|
138
|
+
declare function formatScopeForEnvironment(scope: EdgeScope, environment: EdgeEnvironment): string;
|
|
144
139
|
/**
|
|
145
140
|
* Formats multiple scopes for an environment.
|
|
146
141
|
*
|
|
@@ -148,11 +143,11 @@ declare function formatScopeForEnvironment(scope: EdgeScope, environment: 'produ
|
|
|
148
143
|
* @param environment - The target environment
|
|
149
144
|
* @returns Array of full scope strings
|
|
150
145
|
*/
|
|
151
|
-
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment:
|
|
146
|
+
declare function formatScopesForEnvironment(scopes: readonly EdgeScope[] | EdgeScope[], environment: EdgeEnvironment): string[];
|
|
152
147
|
/**
|
|
153
148
|
* Parses a full scope string to extract the base scope.
|
|
154
149
|
*
|
|
155
|
-
* @param fullScope - The full scope string (e.g., 'edge-connect-
|
|
150
|
+
* @param fullScope - The full scope string (e.g., 'edge-connect-sandbox/user.read')
|
|
156
151
|
* @returns The base scope (e.g., 'user.read') or null if invalid
|
|
157
152
|
*/
|
|
158
153
|
declare function parseScope(fullScope: string): EdgeScope | null;
|
|
@@ -163,7 +158,7 @@ declare function isValidScope(scope: string): scope is EdgeScope;
|
|
|
163
158
|
/**
|
|
164
159
|
* Checks whether a scope string requests the future transfer feature.
|
|
165
160
|
* Accepts either short scopes (`transfer.write`) or formatted environment
|
|
166
|
-
* scopes (`edge-connect-
|
|
161
|
+
* scopes (`edge-connect-sandbox/transfer.write`).
|
|
167
162
|
*/
|
|
168
163
|
declare function isTransferWriteScope(scope: string): boolean;
|
|
169
164
|
|
|
@@ -2790,7 +2785,7 @@ interface EdgeTokens {
|
|
|
2790
2785
|
* ```typescript
|
|
2791
2786
|
* const link = new EdgeLink({
|
|
2792
2787
|
* clientId: 'your-client-id',
|
|
2793
|
-
* environment: '
|
|
2788
|
+
* environment: 'sandbox',
|
|
2794
2789
|
* onSuccess: (result: EdgeLinkSuccess) => {
|
|
2795
2790
|
* // Send to your backend
|
|
2796
2791
|
* fetch('/api/edge/exchange', {
|
|
@@ -3213,7 +3208,7 @@ declare function isFeatureUnavailableError(error: unknown): error is EdgeFeature
|
|
|
3213
3208
|
*
|
|
3214
3209
|
* This package provides the foundation for building EDGE Connect integrations:
|
|
3215
3210
|
* - Type definitions generated from the OpenAPI spec
|
|
3216
|
-
* - Environment configuration (production,
|
|
3211
|
+
* - Environment configuration (production, sandbox)
|
|
3217
3212
|
* - OAuth scope constants
|
|
3218
3213
|
* - Typed error classes
|
|
3219
3214
|
*
|
package/dist/index.js
CHANGED
|
@@ -106,50 +106,16 @@ var EDGE_ENVIRONMENTS = {
|
|
|
106
106
|
displayName: "Production",
|
|
107
107
|
isProduction: true
|
|
108
108
|
},
|
|
109
|
-
staging: {
|
|
110
|
-
cognitoDomain: "https://edge-connect-staging.auth.us-east-1.amazoncognito.com",
|
|
111
|
-
// Staging partner API — mTLS-enforced. Requires a partner client
|
|
112
|
-
// certificate on every request. Routed through API Gateway → VPC Link →
|
|
113
|
-
// internal ALB → ECS. Direct routes to the backend (e.g.
|
|
114
|
-
// backend.connect-staging.edgeboost.io) no longer exist.
|
|
115
|
-
apiBaseUrl: "https://connect-staging.edgeboost.io/connect/v1",
|
|
116
|
-
// OAuth token exchange — partner-facing, also mTLS-enforced.
|
|
117
|
-
oauthBaseUrl: "https://connect-staging.edgeboost.io/connect/oauth",
|
|
118
|
-
// User-facing captive frame for the Link SDK enrollment and transfer
|
|
119
|
-
// verification flows. Served from the edge-connect-oauth Vite app
|
|
120
|
-
// deployed on Amplify. No mTLS — browser traffic.
|
|
121
|
-
userClientUrl: "https://oauth.staging-app.edgeboost.io",
|
|
122
|
-
displayName: "Staging",
|
|
123
|
-
isProduction: false
|
|
124
|
-
},
|
|
125
109
|
sandbox: {
|
|
126
110
|
cognitoDomain: "https://edge-connect-sandbox.auth.us-east-1.amazoncognito.com",
|
|
127
111
|
// Sandbox partner API — mTLS-enforced. Uses its own sandbox gateway and
|
|
128
112
|
// sandbox OAuth/JWKS issuer. The browser Link UI is served from a separate
|
|
129
|
-
// sandbox host
|
|
113
|
+
// sandbox host.
|
|
130
114
|
apiBaseUrl: "https://sandbox.connect.staging.edgeboost.io/connect/v1",
|
|
131
115
|
oauthBaseUrl: "https://sandbox.connect.staging.edgeboost.io/connect/oauth",
|
|
132
116
|
userClientUrl: "https://sandbox-oauth.staging-app.edgeboost.io",
|
|
133
117
|
displayName: "Sandbox",
|
|
134
118
|
isProduction: false
|
|
135
|
-
},
|
|
136
|
-
/**
|
|
137
|
-
* Development environment for local testing with API Gateway.
|
|
138
|
-
*
|
|
139
|
-
* Architecture:
|
|
140
|
-
* - apiBaseUrl: Goes through API Gateway → ngrok → local backend (JWT validated by API Gateway)
|
|
141
|
-
* - oauthBaseUrl: Goes directly to ngrok → local backend (consent/token exchange)
|
|
142
|
-
* - userClientUrl: ngrok tunnel to local edgeboost-user-client (consent popup)
|
|
143
|
-
*
|
|
144
|
-
* The ngrok URL is configured in edgeboost-api/ngrok.yml with a static domain.
|
|
145
|
-
*/
|
|
146
|
-
development: {
|
|
147
|
-
cognitoDomain: "https://edge-connect-staging.auth.us-east-1.amazoncognito.com",
|
|
148
|
-
apiBaseUrl: "https://connect-staging.edgeboost.io/connect/v1",
|
|
149
|
-
oauthBaseUrl: "https://revocable-overvaliantly-emmalyn.ngrok-free.app/oauth",
|
|
150
|
-
userClientUrl: "https://edgeboost-user-client.ngrok-free.app",
|
|
151
|
-
displayName: "Development",
|
|
152
|
-
isProduction: false
|
|
153
119
|
}
|
|
154
120
|
};
|
|
155
121
|
function getEnvironmentConfig(environment) {
|
|
@@ -187,7 +153,7 @@ var EDGE_SCOPES = {
|
|
|
187
153
|
BALANCE_READ: "balance.read",
|
|
188
154
|
/**
|
|
189
155
|
* Reserved for future fund transfers and EDGE-hosted verification sessions.
|
|
190
|
-
* Not available in
|
|
156
|
+
* Not available in sandbox or production. Requesting this scope from Link
|
|
191
157
|
* SDKs fails with EdgeFeatureUnavailableError until EDGE enables transfers
|
|
192
158
|
* for a partner.
|
|
193
159
|
*
|
|
@@ -209,8 +175,7 @@ var SCOPE_ICONS = {
|
|
|
209
175
|
[EDGE_SCOPES.TRANSFER_WRITE]: "arrow-left-right"
|
|
210
176
|
};
|
|
211
177
|
function formatScopeForEnvironment(scope, environment) {
|
|
212
|
-
const
|
|
213
|
-
const prefix = effectiveEnv === "production" ? "edge-connect" : `edge-connect-${effectiveEnv}`;
|
|
178
|
+
const prefix = environment === "production" ? "edge-connect" : `edge-connect-${environment}`;
|
|
214
179
|
return `${prefix}/${scope}`;
|
|
215
180
|
}
|
|
216
181
|
function formatScopesForEnvironment(scopes, environment) {
|
package/dist/index.mjs
CHANGED
|
@@ -35,50 +35,16 @@ var EDGE_ENVIRONMENTS = {
|
|
|
35
35
|
displayName: "Production",
|
|
36
36
|
isProduction: true
|
|
37
37
|
},
|
|
38
|
-
staging: {
|
|
39
|
-
cognitoDomain: "https://edge-connect-staging.auth.us-east-1.amazoncognito.com",
|
|
40
|
-
// Staging partner API — mTLS-enforced. Requires a partner client
|
|
41
|
-
// certificate on every request. Routed through API Gateway → VPC Link →
|
|
42
|
-
// internal ALB → ECS. Direct routes to the backend (e.g.
|
|
43
|
-
// backend.connect-staging.edgeboost.io) no longer exist.
|
|
44
|
-
apiBaseUrl: "https://connect-staging.edgeboost.io/connect/v1",
|
|
45
|
-
// OAuth token exchange — partner-facing, also mTLS-enforced.
|
|
46
|
-
oauthBaseUrl: "https://connect-staging.edgeboost.io/connect/oauth",
|
|
47
|
-
// User-facing captive frame for the Link SDK enrollment and transfer
|
|
48
|
-
// verification flows. Served from the edge-connect-oauth Vite app
|
|
49
|
-
// deployed on Amplify. No mTLS — browser traffic.
|
|
50
|
-
userClientUrl: "https://oauth.staging-app.edgeboost.io",
|
|
51
|
-
displayName: "Staging",
|
|
52
|
-
isProduction: false
|
|
53
|
-
},
|
|
54
38
|
sandbox: {
|
|
55
39
|
cognitoDomain: "https://edge-connect-sandbox.auth.us-east-1.amazoncognito.com",
|
|
56
40
|
// Sandbox partner API — mTLS-enforced. Uses its own sandbox gateway and
|
|
57
41
|
// sandbox OAuth/JWKS issuer. The browser Link UI is served from a separate
|
|
58
|
-
// sandbox host
|
|
42
|
+
// sandbox host.
|
|
59
43
|
apiBaseUrl: "https://sandbox.connect.staging.edgeboost.io/connect/v1",
|
|
60
44
|
oauthBaseUrl: "https://sandbox.connect.staging.edgeboost.io/connect/oauth",
|
|
61
45
|
userClientUrl: "https://sandbox-oauth.staging-app.edgeboost.io",
|
|
62
46
|
displayName: "Sandbox",
|
|
63
47
|
isProduction: false
|
|
64
|
-
},
|
|
65
|
-
/**
|
|
66
|
-
* Development environment for local testing with API Gateway.
|
|
67
|
-
*
|
|
68
|
-
* Architecture:
|
|
69
|
-
* - apiBaseUrl: Goes through API Gateway → ngrok → local backend (JWT validated by API Gateway)
|
|
70
|
-
* - oauthBaseUrl: Goes directly to ngrok → local backend (consent/token exchange)
|
|
71
|
-
* - userClientUrl: ngrok tunnel to local edgeboost-user-client (consent popup)
|
|
72
|
-
*
|
|
73
|
-
* The ngrok URL is configured in edgeboost-api/ngrok.yml with a static domain.
|
|
74
|
-
*/
|
|
75
|
-
development: {
|
|
76
|
-
cognitoDomain: "https://edge-connect-staging.auth.us-east-1.amazoncognito.com",
|
|
77
|
-
apiBaseUrl: "https://connect-staging.edgeboost.io/connect/v1",
|
|
78
|
-
oauthBaseUrl: "https://revocable-overvaliantly-emmalyn.ngrok-free.app/oauth",
|
|
79
|
-
userClientUrl: "https://edgeboost-user-client.ngrok-free.app",
|
|
80
|
-
displayName: "Development",
|
|
81
|
-
isProduction: false
|
|
82
48
|
}
|
|
83
49
|
};
|
|
84
50
|
function getEnvironmentConfig(environment) {
|
|
@@ -116,7 +82,7 @@ var EDGE_SCOPES = {
|
|
|
116
82
|
BALANCE_READ: "balance.read",
|
|
117
83
|
/**
|
|
118
84
|
* Reserved for future fund transfers and EDGE-hosted verification sessions.
|
|
119
|
-
* Not available in
|
|
85
|
+
* Not available in sandbox or production. Requesting this scope from Link
|
|
120
86
|
* SDKs fails with EdgeFeatureUnavailableError until EDGE enables transfers
|
|
121
87
|
* for a partner.
|
|
122
88
|
*
|
|
@@ -138,8 +104,7 @@ var SCOPE_ICONS = {
|
|
|
138
104
|
[EDGE_SCOPES.TRANSFER_WRITE]: "arrow-left-right"
|
|
139
105
|
};
|
|
140
106
|
function formatScopeForEnvironment(scope, environment) {
|
|
141
|
-
const
|
|
142
|
-
const prefix = effectiveEnv === "production" ? "edge-connect" : `edge-connect-${effectiveEnv}`;
|
|
107
|
+
const prefix = environment === "production" ? "edge-connect" : `edge-connect-${environment}`;
|
|
143
108
|
return `${prefix}/${scope}`;
|
|
144
109
|
}
|
|
145
110
|
function formatScopesForEnvironment(scopes, environment) {
|