@replit/connectors-sdk 0.4.3 → 0.6.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 +33 -2
- package/client.d.ts +31 -5
- package/client.d.ts.map +1 -1
- package/client.js +183 -44
- package/client.js.map +1 -1
- package/index.d.ts +2 -2
- package/index.d.ts.map +1 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +6 -1
- package/types.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,34 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @replit/connectors-sdk
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Discover connections and send API requests from apps running on Replit.
|
|
4
|
+
Use `ConnectorsClient` in Repls and deployments that support Connectors v3.
|
|
5
|
+
Authentication is handled by the Replit runtime.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import {ConnectorsClient} from '@replit/connectors-sdk'
|
|
9
|
+
|
|
10
|
+
const connectors = new ConnectorsClient()
|
|
11
|
+
const connections = await connectors.listConnections()
|
|
12
|
+
const connection = connections[0]!
|
|
13
|
+
const response = await connectors.proxy(
|
|
14
|
+
connection.connector_name,
|
|
15
|
+
'/v1/resource',
|
|
16
|
+
{
|
|
17
|
+
connectionId: connection.id,
|
|
18
|
+
},
|
|
19
|
+
)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
V3 discovery returns authorized connections and supports `expand: ['connector']`.
|
|
23
|
+
Use `refresh_policy: 'none'` for discovery. Pass a `connectionId` when several
|
|
24
|
+
connections use the same connector. Calls without one require exactly one
|
|
25
|
+
matching connection.
|
|
26
|
+
|
|
27
|
+
`proxy()` and `createProxyFetch()` do not automatically retry failed requests.
|
|
28
|
+
`getProxyUrl()` returns the proxy URL; use `getProxyHeaders(connectorName,
|
|
29
|
+
{connectionId})` with it to select a connection.
|
|
30
|
+
|
|
31
|
+
`getCliConfig(connectorName, {connectionId})` returns a host and token to pass
|
|
32
|
+
unchanged to the supported CLI. Treat the token as opaque.
|
|
33
|
+
|
|
34
|
+
Existing apps can continue using `ReplitConnectors` for Connectors v2.
|
package/client.d.ts
CHANGED
|
@@ -1,12 +1,38 @@
|
|
|
1
|
-
import type { CliConfig, Connection, ListConnectionsOptions, ProxyOptions, ReplitConnectorsOptions } from './types';
|
|
1
|
+
import type { CliConfig, Connection, ConnectionSelection, ListConnectionsOptions, ProxyOptions, ReplitConnectorsOptions } from './types';
|
|
2
2
|
export declare class ReplitConnectors {
|
|
3
|
-
|
|
3
|
+
protected readonly apiPath: string;
|
|
4
|
+
protected readonly retryUnauthorized: boolean;
|
|
5
|
+
protected readonly baseUrl: string;
|
|
4
6
|
constructor(options?: ReplitConnectorsOptions);
|
|
7
|
+
protected get apiBaseUrl(): string;
|
|
8
|
+
protected buildApiHeaders(): Promise<Record<string, string>>;
|
|
9
|
+
protected fetchApi(url: string, init: RequestInit): Promise<Response>;
|
|
5
10
|
proxy(connectorName: string, path: string, options?: ProxyOptions): Promise<Response>;
|
|
6
11
|
listConnections(options?: ListConnectionsOptions): Promise<Connection[]>;
|
|
7
12
|
getProxyUrl(): string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
protected resolveProxyRequest(_connectorName: string, selection?: ConnectionSelection, _signal?: AbortSignal | null): Promise<{
|
|
14
|
+
url: string;
|
|
15
|
+
selectionHeaders: Record<string, string>;
|
|
16
|
+
}>;
|
|
17
|
+
getProxyHeaders(connectorName: string, selection?: ConnectionSelection): Promise<Record<string, string>>;
|
|
18
|
+
getCliConfig(connectorName: string, selection?: ConnectionSelection): Promise<CliConfig>;
|
|
19
|
+
createProxyFetch(connectorName: string, selection?: ConnectionSelection): typeof fetch;
|
|
20
|
+
}
|
|
21
|
+
export declare class ConnectorsClient extends ReplitConnectors {
|
|
22
|
+
protected readonly apiPath = "/api/v3";
|
|
23
|
+
protected readonly retryUnauthorized = false;
|
|
24
|
+
private readonly destination;
|
|
25
|
+
constructor(options?: ReplitConnectorsOptions);
|
|
26
|
+
protected get apiBaseUrl(): string;
|
|
27
|
+
getProxyUrl(_connectorName?: string, selection?: ConnectionSelection): string;
|
|
28
|
+
protected resolveProxyRequest(connectorName: string, selection?: ConnectionSelection, signal?: AbortSignal | null): Promise<{
|
|
29
|
+
url: string;
|
|
30
|
+
selectionHeaders: Record<string, string>;
|
|
31
|
+
}>;
|
|
32
|
+
getProxyHeaders(connectorName: string, selection?: ConnectionSelection): Promise<Record<string, string>>;
|
|
33
|
+
private resolveConnectionId;
|
|
34
|
+
getCliConfig(connectorName: string, selection?: ConnectionSelection): Promise<CliConfig>;
|
|
35
|
+
protected buildApiHeaders(): Promise<Record<string, string>>;
|
|
36
|
+
protected fetchApi(url: string, init: RequestInit): Promise<Response>;
|
|
11
37
|
}
|
|
12
38
|
//# sourceMappingURL=client.d.ts.map
|
package/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,sBAAsB,EAEtB,YAAY,EACZ,uBAAuB,EACxB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EAEtB,YAAY,EACZ,uBAAuB,EACxB,MAAM,SAAS,CAAA;AA4IhB,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAY;IAC9C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAO;IACpD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEtB,OAAO,CAAC,EAAE,uBAAuB;IAI7C,SAAS,KAAK,UAAU,IAAI,MAAM,CAEjC;IAED,SAAS,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI5D,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI/D,KAAK,CACT,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,QAAQ,CAAC;IAsDd,eAAe,CACnB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,UAAU,EAAE,CAAC;IAkDxB,WAAW,IAAI,MAAM;IAIrB,SAAS,CAAC,mBAAmB,CAC3B,cAAc,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,mBAAmB,EAC/B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,GAC3B,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAC;IAO7D,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAW5B,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,SAAS,CAAC;IAgCrB,gBAAgB,CACd,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,KAAK;CAmEhB;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,mBAA4B,OAAO,aAAY;IAC/C,mBAA4B,iBAAiB,SAAQ;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,OAAO,CAAC,EAAE,uBAAuB;IAiB7C,cAAuB,UAAU,IAAI,MAAM,CAE1C;IAEQ,WAAW,CAClB,cAAc,CAAC,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,mBAAmB,GAC9B,MAAM;cAKgB,mBAAmB,CAC1C,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAC1B,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAC;IAcpD,eAAe,CAC5B,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAQpB,mBAAmB;IAsBlB,YAAY,CACzB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,SAAS,CAAC;cAoBI,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAIlD,QAAQ,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC;CAKrB"}
|
package/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReplitConnectors = void 0;
|
|
3
|
+
exports.ConnectorsClient = exports.ReplitConnectors = void 0;
|
|
4
4
|
const identity_1 = require("./identity");
|
|
5
5
|
function resolveProxyTarget(url, proxyBase) {
|
|
6
6
|
if (url.startsWith(proxyBase)) {
|
|
@@ -12,6 +12,35 @@ function resolveProxyTarget(url, proxyBase) {
|
|
|
12
12
|
}
|
|
13
13
|
return `${proxyBase}${url.startsWith('/') ? '' : '/'}${url}`;
|
|
14
14
|
}
|
|
15
|
+
const CONNECTION_ID_HEADER = 'Connection-Id';
|
|
16
|
+
// Headers that pin one connection. An explicit `connectionId` is sent as
|
|
17
|
+
// CONNECTION_ID_HEADER; without one, nothing is added and the server keeps its
|
|
18
|
+
// existing connector-name resolution.
|
|
19
|
+
function connectionSelectionHeaders(selection) {
|
|
20
|
+
const connectionId = selection?.connectionId;
|
|
21
|
+
if (connectionId === undefined) {
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
if (typeof connectionId !== 'string' || connectionId.trim() === '') {
|
|
25
|
+
throw new Error('connectionId must be a non-empty string');
|
|
26
|
+
}
|
|
27
|
+
return { [CONNECTION_ID_HEADER]: connectionId };
|
|
28
|
+
}
|
|
29
|
+
// Header names are case-insensitive, but object keys are not: a caller's
|
|
30
|
+
// lowercase spelling would sit beside CONNECTION_ID_HEADER and Fetch would join
|
|
31
|
+
// the two values. A pin therefore drops every caller spelling before it is added.
|
|
32
|
+
function applyConnectionSelection(headers, selectionHeaders) {
|
|
33
|
+
if (!(CONNECTION_ID_HEADER in selectionHeaders)) {
|
|
34
|
+
return headers;
|
|
35
|
+
}
|
|
36
|
+
const pinned = {};
|
|
37
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
38
|
+
if (!Object.keys(selectionHeaders).some((selected) => selected.toLowerCase() === name.toLowerCase())) {
|
|
39
|
+
pinned[name] = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return { ...pinned, ...selectionHeaders };
|
|
43
|
+
}
|
|
15
44
|
function flattenHeaders(headers) {
|
|
16
45
|
if (!headers) {
|
|
17
46
|
return {};
|
|
@@ -64,20 +93,41 @@ const CLI_CONFIG_STRATEGIES = {
|
|
|
64
93
|
'microsoft-fabric': pathRouteStrategy,
|
|
65
94
|
datadog: pathRouteStrategy,
|
|
66
95
|
};
|
|
96
|
+
function cliConfigStrategy(connectorName) {
|
|
97
|
+
const strategy = CLI_CONFIG_STRATEGIES[connectorName];
|
|
98
|
+
if (!strategy) {
|
|
99
|
+
const supported = Object.keys(CLI_CONFIG_STRATEGIES).join(', ');
|
|
100
|
+
throw new Error(`getCliConfig() is only supported for ${supported}, got: ${connectorName}`);
|
|
101
|
+
}
|
|
102
|
+
return strategy;
|
|
103
|
+
}
|
|
67
104
|
class ReplitConnectors {
|
|
68
105
|
constructor(options) {
|
|
106
|
+
this.apiPath = '/api/v2';
|
|
107
|
+
this.retryUnauthorized = true;
|
|
69
108
|
this.baseUrl = options?.baseUrl ?? (0, identity_1.resolveBaseUrl)();
|
|
70
109
|
}
|
|
110
|
+
get apiBaseUrl() {
|
|
111
|
+
return this.baseUrl;
|
|
112
|
+
}
|
|
113
|
+
buildApiHeaders() {
|
|
114
|
+
return (0, identity_1.buildHeaders)();
|
|
115
|
+
}
|
|
116
|
+
fetchApi(url, init) {
|
|
117
|
+
return fetch(url, init);
|
|
118
|
+
}
|
|
71
119
|
async proxy(connectorName, path, options) {
|
|
72
120
|
const method = options?.method ?? 'GET';
|
|
73
121
|
const normalizedPath = path.startsWith('/') ? path : `/${path}`;
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
122
|
+
const resolved = await this.resolveProxyRequest(connectorName, options, options?.signal);
|
|
123
|
+
const url = `${resolved.url}${normalizedPath}`;
|
|
124
|
+
const { selectionHeaders } = resolved;
|
|
125
|
+
const headers = applyConnectionSelection({
|
|
126
|
+
...(await this.buildApiHeaders()),
|
|
77
127
|
'Connector-Name': connectorName,
|
|
78
128
|
...(options?.headers ?? {}),
|
|
79
|
-
};
|
|
80
|
-
const init = { method, headers };
|
|
129
|
+
}, selectionHeaders);
|
|
130
|
+
const init = { method, headers, signal: options?.signal };
|
|
81
131
|
if (options?.body !== undefined && options.body !== null) {
|
|
82
132
|
if (typeof options.body === 'string' ||
|
|
83
133
|
(typeof Buffer !== 'undefined' && options.body instanceof Buffer) ||
|
|
@@ -95,8 +145,8 @@ class ReplitConnectors {
|
|
|
95
145
|
}
|
|
96
146
|
}
|
|
97
147
|
}
|
|
98
|
-
const response = await
|
|
99
|
-
if (response.status === 401) {
|
|
148
|
+
const response = await this.fetchApi(url, init);
|
|
149
|
+
if (this.retryUnauthorized && response.status === 401) {
|
|
100
150
|
const freshAuth = await (0, identity_1.buildHeaders)();
|
|
101
151
|
const retryResponse = await fetch(url, {
|
|
102
152
|
...init,
|
|
@@ -116,14 +166,19 @@ class ReplitConnectors {
|
|
|
116
166
|
}
|
|
117
167
|
params.set('refresh_policy', options?.refresh_policy ?? 'none');
|
|
118
168
|
const qs = params.toString();
|
|
119
|
-
const url = `${this.
|
|
120
|
-
const headers = await
|
|
121
|
-
const response = await
|
|
122
|
-
|
|
169
|
+
const url = `${this.apiBaseUrl}${this.apiPath}/connection${qs ? `?${qs}` : ''}`;
|
|
170
|
+
const headers = await this.buildApiHeaders();
|
|
171
|
+
const response = await this.fetchApi(url, {
|
|
172
|
+
method: 'GET',
|
|
173
|
+
headers,
|
|
174
|
+
signal: options?.signal,
|
|
175
|
+
});
|
|
176
|
+
if (this.retryUnauthorized && response.status === 401) {
|
|
123
177
|
const freshHeaders = await (0, identity_1.buildHeaders)();
|
|
124
178
|
const retryResponse = await fetch(url, {
|
|
125
179
|
method: 'GET',
|
|
126
180
|
headers: freshHeaders,
|
|
181
|
+
signal: options?.signal,
|
|
127
182
|
});
|
|
128
183
|
if (!retryResponse.ok) {
|
|
129
184
|
throw new Error(`Failed to list connections: ${retryResponse.status} ${retryResponse.statusText}`);
|
|
@@ -138,24 +193,33 @@ class ReplitConnectors {
|
|
|
138
193
|
return data.items ?? [];
|
|
139
194
|
}
|
|
140
195
|
getProxyUrl() {
|
|
141
|
-
return `${this.
|
|
196
|
+
return `${this.apiBaseUrl}${this.apiPath}/proxy`;
|
|
142
197
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
async getCliConfig(connectorName) {
|
|
148
|
-
const strategy = CLI_CONFIG_STRATEGIES[connectorName];
|
|
149
|
-
if (!strategy) {
|
|
150
|
-
const supported = Object.keys(CLI_CONFIG_STRATEGIES).join(', ');
|
|
151
|
-
throw new Error(`getCliConfig() is only supported for ${supported}, got: ${connectorName}`);
|
|
152
|
-
}
|
|
153
|
-
const connections = await this.listConnections({
|
|
154
|
-
connector_names: connectorName,
|
|
198
|
+
resolveProxyRequest(_connectorName, selection, _signal) {
|
|
199
|
+
return Promise.resolve({
|
|
200
|
+
url: this.getProxyUrl(),
|
|
201
|
+
selectionHeaders: connectionSelectionHeaders(selection),
|
|
155
202
|
});
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
203
|
+
}
|
|
204
|
+
async getProxyHeaders(connectorName, selection) {
|
|
205
|
+
const selectionHeaders = connectionSelectionHeaders(selection);
|
|
206
|
+
return applyConnectionSelection({ ...(await this.buildApiHeaders()), 'Connector-Name': connectorName }, selectionHeaders);
|
|
207
|
+
}
|
|
208
|
+
// With `connectionId`, the CLI is configured for exactly that connection and
|
|
209
|
+
// no connections are listed; the server still authorizes it on every call.
|
|
210
|
+
// Without it, the first listed connection is used, as before.
|
|
211
|
+
async getCliConfig(connectorName, selection) {
|
|
212
|
+
const strategy = cliConfigStrategy(connectorName);
|
|
213
|
+
let connectionId = connectionSelectionHeaders(selection)[CONNECTION_ID_HEADER];
|
|
214
|
+
if (connectionId === undefined) {
|
|
215
|
+
const connections = await this.listConnections({
|
|
216
|
+
connector_names: connectorName,
|
|
217
|
+
});
|
|
218
|
+
// FAULT OF-1.1: picks the first connection for a connector name, not an assigned connection_id.
|
|
219
|
+
const connection = connections[0];
|
|
220
|
+
if (!connection)
|
|
221
|
+
throw new Error(`No ${connectorName} connection found`);
|
|
222
|
+
connectionId = connection.id;
|
|
159
223
|
}
|
|
160
224
|
const headers = await (0, identity_1.buildHeaders)();
|
|
161
225
|
const identityToken = headers['X-Replit-Token'] ?? headers['Replit-Authentication'];
|
|
@@ -166,22 +230,24 @@ class ReplitConnectors {
|
|
|
166
230
|
return strategy({
|
|
167
231
|
baseUrl: this.baseUrl,
|
|
168
232
|
connectorName,
|
|
169
|
-
connectionId
|
|
233
|
+
connectionId,
|
|
170
234
|
rawIdentityToken: rawToken,
|
|
171
235
|
});
|
|
172
236
|
}
|
|
173
|
-
createProxyFetch(connectorName) {
|
|
174
|
-
|
|
237
|
+
createProxyFetch(connectorName, selection) {
|
|
238
|
+
connectionSelectionHeaders(selection);
|
|
175
239
|
return async (input, init) => {
|
|
240
|
+
const signal = init && 'signal' in init
|
|
241
|
+
? init.signal
|
|
242
|
+
: input instanceof Request
|
|
243
|
+
? input.signal
|
|
244
|
+
: undefined;
|
|
245
|
+
const { url: proxyBase, selectionHeaders } = await this.resolveProxyRequest(connectorName, selection, signal);
|
|
176
246
|
const rawUrl = input instanceof Request ? input.url : String(input);
|
|
177
247
|
const targetUrl = resolveProxyTarget(rawUrl, proxyBase);
|
|
178
|
-
const authHeaders = await
|
|
248
|
+
const authHeaders = await this.buildApiHeaders();
|
|
179
249
|
const userHeaders = flattenHeaders(init?.headers ?? (input instanceof Request ? input.headers : undefined));
|
|
180
|
-
const headers = {
|
|
181
|
-
...authHeaders,
|
|
182
|
-
'Connector-Name': connectorName,
|
|
183
|
-
...userHeaders,
|
|
184
|
-
};
|
|
250
|
+
const headers = applyConnectionSelection({ ...authHeaders, 'Connector-Name': connectorName, ...userHeaders }, selectionHeaders);
|
|
185
251
|
const requestDefaults = input instanceof Request
|
|
186
252
|
? {
|
|
187
253
|
method: input.method,
|
|
@@ -200,16 +266,12 @@ class ReplitConnectors {
|
|
|
200
266
|
}
|
|
201
267
|
: {};
|
|
202
268
|
const fetchInit = { ...requestDefaults, ...init, headers };
|
|
203
|
-
const response = await
|
|
204
|
-
if (response.status === 401) {
|
|
269
|
+
const response = await this.fetchApi(targetUrl, fetchInit);
|
|
270
|
+
if (this.retryUnauthorized && response.status === 401) {
|
|
205
271
|
const freshAuth = await (0, identity_1.buildHeaders)();
|
|
206
272
|
return fetch(targetUrl, {
|
|
207
273
|
...fetchInit,
|
|
208
|
-
headers: {
|
|
209
|
-
...freshAuth,
|
|
210
|
-
'Connector-Name': connectorName,
|
|
211
|
-
...userHeaders,
|
|
212
|
-
},
|
|
274
|
+
headers: applyConnectionSelection({ ...freshAuth, 'Connector-Name': connectorName, ...userHeaders }, selectionHeaders),
|
|
213
275
|
});
|
|
214
276
|
}
|
|
215
277
|
return response;
|
|
@@ -217,4 +279,81 @@ class ReplitConnectors {
|
|
|
217
279
|
}
|
|
218
280
|
}
|
|
219
281
|
exports.ReplitConnectors = ReplitConnectors;
|
|
282
|
+
class ConnectorsClient extends ReplitConnectors {
|
|
283
|
+
constructor(options) {
|
|
284
|
+
super(options);
|
|
285
|
+
this.apiPath = '/api/v3';
|
|
286
|
+
this.retryUnauthorized = false;
|
|
287
|
+
const destination = new URL(this.baseUrl);
|
|
288
|
+
if (destination.protocol !== 'https:' ||
|
|
289
|
+
destination.username ||
|
|
290
|
+
destination.password ||
|
|
291
|
+
destination.port ||
|
|
292
|
+
destination.pathname !== '/' ||
|
|
293
|
+
destination.search ||
|
|
294
|
+
destination.hash) {
|
|
295
|
+
throw new Error('The connector destination must be an HTTPS origin');
|
|
296
|
+
}
|
|
297
|
+
this.destination = destination.hostname;
|
|
298
|
+
}
|
|
299
|
+
get apiBaseUrl() {
|
|
300
|
+
return 'https://connectors.replit.internal';
|
|
301
|
+
}
|
|
302
|
+
getProxyUrl(_connectorName, selection) {
|
|
303
|
+
connectionSelectionHeaders(selection);
|
|
304
|
+
return `${this.apiBaseUrl}/v3/proxy`;
|
|
305
|
+
}
|
|
306
|
+
async resolveProxyRequest(connectorName, selection, signal) {
|
|
307
|
+
return {
|
|
308
|
+
url: this.getProxyUrl(),
|
|
309
|
+
selectionHeaders: {
|
|
310
|
+
'Connector-Name': connectorName,
|
|
311
|
+
[CONNECTION_ID_HEADER]: await this.resolveConnectionId(connectorName, selection, signal),
|
|
312
|
+
},
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
async getProxyHeaders(connectorName, selection) {
|
|
316
|
+
const { selectionHeaders } = await this.resolveProxyRequest(connectorName, selection);
|
|
317
|
+
return { ...(await this.buildApiHeaders()), ...selectionHeaders };
|
|
318
|
+
}
|
|
319
|
+
async resolveConnectionId(connectorName, selection, signal) {
|
|
320
|
+
const connectionId = connectionSelectionHeaders(selection)[CONNECTION_ID_HEADER];
|
|
321
|
+
if (connectionId !== undefined)
|
|
322
|
+
return connectionId;
|
|
323
|
+
const connections = await this.listConnections({
|
|
324
|
+
connector_names: connectorName,
|
|
325
|
+
signal,
|
|
326
|
+
});
|
|
327
|
+
const connection = connections[0];
|
|
328
|
+
if (!connection)
|
|
329
|
+
throw new Error(`No ${connectorName} connection found`);
|
|
330
|
+
if (connections.length > 1) {
|
|
331
|
+
throw new Error(`Multiple ${connectorName} connections found; specify connectionId`);
|
|
332
|
+
}
|
|
333
|
+
return connection.id;
|
|
334
|
+
}
|
|
335
|
+
async getCliConfig(connectorName, selection) {
|
|
336
|
+
cliConfigStrategy(connectorName);
|
|
337
|
+
const connectionId = await this.resolveConnectionId(connectorName, selection);
|
|
338
|
+
const route = Buffer.from(JSON.stringify({
|
|
339
|
+
destination: this.destination,
|
|
340
|
+
connectorName,
|
|
341
|
+
connectionId,
|
|
342
|
+
})).toString('base64url');
|
|
343
|
+
return {
|
|
344
|
+
host: this.apiBaseUrl,
|
|
345
|
+
token: `replit-v3:${route}`,
|
|
346
|
+
connectorName,
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
async buildApiHeaders() {
|
|
350
|
+
return { 'X-Replit-OpenInt-Destination': this.destination };
|
|
351
|
+
}
|
|
352
|
+
async fetchApi(url, init) {
|
|
353
|
+
const headers = new Headers(init.headers);
|
|
354
|
+
headers.set('X-Replit-OpenInt-Destination', this.destination);
|
|
355
|
+
return fetch(url, { ...init, headers, redirect: 'manual' });
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
exports.ConnectorsClient = ConnectorsClient;
|
|
220
359
|
//# sourceMappingURL=client.js.map
|
package/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ReplitConnectors } from './client';
|
|
2
|
-
export type { CliConfig, Connection, Connector, ListConnectionsOptions, ListResponse, ProxyOptions, ReplitConnectorsOptions, } from './types';
|
|
1
|
+
export { ReplitConnectors, ConnectorsClient } from './client';
|
|
2
|
+
export type { CliConfig, Connection, ConnectionSelection, Connector, ListConnectionsOptions, ListResponse, ProxyOptions, ReplitConnectorsOptions, } from './types';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAA;AAC3D,YAAY,EACV,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,uBAAuB,GACxB,MAAM,SAAS,CAAA"}
|
package/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReplitConnectors = void 0;
|
|
3
|
+
exports.ConnectorsClient = exports.ReplitConnectors = void 0;
|
|
4
4
|
var client_1 = require("./client");
|
|
5
5
|
Object.defineProperty(exports, "ReplitConnectors", { enumerable: true, get: function () { return client_1.ReplitConnectors; } });
|
|
6
|
+
Object.defineProperty(exports, "ConnectorsClient", { enumerable: true, get: function () { return client_1.ConnectorsClient; } });
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA2D;AAAnD,0GAAA,gBAAgB,OAAA;AAAE,0GAAA,gBAAgB,OAAA"}
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -26,7 +26,11 @@ export interface Connection {
|
|
|
26
26
|
export interface ReplitConnectorsOptions {
|
|
27
27
|
baseUrl?: string;
|
|
28
28
|
}
|
|
29
|
-
export interface
|
|
29
|
+
export interface ConnectionSelection {
|
|
30
|
+
connectionId?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ProxyOptions extends ConnectionSelection {
|
|
33
|
+
signal?: AbortSignal | null;
|
|
30
34
|
method?: string;
|
|
31
35
|
body?: unknown;
|
|
32
36
|
headers?: Record<string, string>;
|
|
@@ -38,6 +42,7 @@ export interface ListResponse<T> {
|
|
|
38
42
|
offset?: number;
|
|
39
43
|
}
|
|
40
44
|
export interface ListConnectionsOptions {
|
|
45
|
+
signal?: AbortSignal | null;
|
|
41
46
|
connector_names?: string;
|
|
42
47
|
expand?: string[];
|
|
43
48
|
refresh_policy?: 'none' | 'force' | 'auto';
|
package/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACzC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACzC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAKD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;CACtB"}
|