@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 CHANGED
@@ -92,13 +92,13 @@ import {
92
92
  formatScopeForEnvironment,
93
93
  } from '@edge-markets/connect'
94
94
 
95
- const config = getEnvironmentConfig('staging')
95
+ const config = getEnvironmentConfig('sandbox')
96
96
  console.log(config.apiBaseUrl) // https://...
97
- console.log(getLinkUrl('staging')) // https://oauth.staging-app.edgeboost.io/oauth/link
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, 'staging')
101
- // Returns: 'edge-connect-staging/balance.read'
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' | 'staging' | 'sandbox' | 'development';
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 staging or production. Requesting this scope from Link
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: 'staging',
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', 'staging')
134
- * // Returns: 'edge-connect-staging/user.read'
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: 'production' | 'staging' | 'sandbox' | 'development'): string;
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: 'production' | 'staging' | 'sandbox' | 'development'): string[];
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-staging/user.read')
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-staging/transfer.write`).
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: 'staging',
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, staging, sandbox)
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' | 'staging' | 'sandbox' | 'development';
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 staging or production. Requesting this scope from Link
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: 'staging',
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', 'staging')
134
- * // Returns: 'edge-connect-staging/user.read'
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: 'production' | 'staging' | 'sandbox' | 'development'): string;
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: 'production' | 'staging' | 'sandbox' | 'development'): string[];
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-staging/user.read')
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-staging/transfer.write`).
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: 'staging',
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, staging, sandbox)
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 so SDK consumers do not enter the staging OAuth origin.
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 staging or production. Requesting this scope from Link
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 effectiveEnv = environment === "development" ? "staging" : environment;
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 so SDK consumers do not enter the staging OAuth origin.
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 staging or production. Requesting this scope from Link
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 effectiveEnv = environment === "development" ? "staging" : environment;
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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edge-markets/connect",
3
- "version": "1.9.0",
3
+ "version": "1.9.1",
4
4
  "description": "Core types, configuration, and utilities for EDGE Connect SDK",
5
5
  "author": "EdgeBoost",
6
6
  "license": "MIT",