@workos-inc/node 8.0.0-beta.3 → 8.0.0-beta.4
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/lib/cjs/audit-logs/audit-logs.d.cts +3 -2
- package/lib/cjs/client/index.cjs +42 -0
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/index.d.cts +3 -0
- package/lib/cjs/client/sso.cjs +65 -0
- package/lib/cjs/client/sso.cjs.map +1 -0
- package/lib/cjs/client/sso.d.cts +2 -0
- package/lib/cjs/client/user-management.cjs +110 -0
- package/lib/cjs/client/user-management.cjs.map +1 -0
- package/lib/cjs/client/user-management.d.cts +1 -0
- package/lib/cjs/client/utils.cjs +49 -0
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/client/utils.d.cts +7 -0
- package/lib/cjs/common/decorators/public-method.cjs +48 -0
- package/lib/cjs/common/decorators/public-method.cjs.map +1 -0
- package/lib/cjs/common/decorators/public-method.d.cts +12 -0
- package/lib/cjs/common/interfaces/event.interface.cjs.map +1 -1
- package/lib/cjs/common/interfaces/event.interface.d.cts +19 -3
- package/lib/cjs/common/interfaces/index.d.cts +1 -1
- package/lib/cjs/common/interfaces/workos-options.interface.cjs.map +1 -1
- package/lib/cjs/common/interfaces/workos-options.interface.d.cts +1 -0
- package/lib/cjs/common/net/fetch-client.cjs +67 -36
- package/lib/cjs/common/net/fetch-client.cjs.map +1 -1
- package/lib/cjs/common/net/fetch-client.d.cts +5 -2
- package/lib/cjs/common/serializers/event.serializer.cjs +2 -0
- package/lib/cjs/common/serializers/event.serializer.cjs.map +1 -1
- package/lib/cjs/common/utils/fetch-and-deserialize.d.cts +3 -2
- package/lib/cjs/common/utils/pagination.cjs +2 -4
- package/lib/cjs/common/utils/pagination.cjs.map +1 -1
- package/lib/cjs/common/utils/runtime-info.cjs +73 -0
- package/lib/cjs/common/utils/runtime-info.cjs.map +1 -0
- package/lib/cjs/common/utils/runtime-info.d.cts +22 -0
- package/lib/cjs/directory-sync/directory-sync.d.cts +4 -3
- package/lib/cjs/events/events.d.cts +3 -2
- package/lib/cjs/fga/fga.d.cts +4 -3
- package/lib/cjs/fga/utils/fetch-and-deserialize-list.d.cts +3 -2
- package/lib/cjs/index.cjs +2 -0
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/index.client.cjs +42 -0
- package/lib/cjs/index.client.cjs.map +1 -0
- package/lib/cjs/index.client.d.cts +3 -0
- package/lib/cjs/index.d.cts +3 -2
- package/lib/cjs/index.public.cjs +52 -0
- package/lib/cjs/index.public.cjs.map +1 -0
- package/lib/cjs/index.public.d.cts +36 -0
- package/lib/cjs/index.worker.d.cts +3 -2
- package/lib/cjs/mfa/mfa.d.cts +3 -2
- package/lib/cjs/organization-domains/organization-domains.d.cts +3 -2
- package/lib/cjs/organizations/interfaces/list-organization-feature-flags-options.interface.cjs.map +1 -1
- package/lib/cjs/organizations/interfaces/list-organization-feature-flags-options.interface.d.cts +3 -1
- package/lib/cjs/organizations/organizations.cjs +15 -5
- package/lib/cjs/organizations/organizations.cjs.map +1 -1
- package/lib/cjs/organizations/organizations.d.cts +4 -3
- package/lib/cjs/passwordless/passwordless.d.cts +3 -2
- package/lib/cjs/portal/portal.d.cts +3 -2
- package/lib/cjs/public/index.cjs +42 -0
- package/lib/cjs/public/index.cjs.map +1 -0
- package/lib/cjs/public/index.d.cts +2 -0
- package/lib/cjs/public/sso.cjs +65 -0
- package/lib/cjs/public/sso.cjs.map +1 -0
- package/lib/cjs/public/sso.d.cts +1 -0
- package/lib/cjs/public/user-management.cjs +110 -0
- package/lib/cjs/public/user-management.cjs.map +1 -0
- package/lib/cjs/public/user-management.d.cts +1 -0
- package/lib/cjs/public/utils.cjs +49 -0
- package/lib/cjs/public/utils.cjs.map +1 -0
- package/lib/cjs/public/utils.d.cts +7 -0
- package/lib/cjs/sso/interfaces/authorization-url-options.interface.cjs.map +1 -1
- package/lib/cjs/sso/interfaces/authorization-url-options.interface.d.cts +19 -4
- package/lib/cjs/sso/interfaces/connection-type.enum.cjs +1 -0
- package/lib/cjs/sso/interfaces/connection-type.enum.cjs.map +1 -1
- package/lib/cjs/sso/interfaces/connection-type.enum.d.cts +1 -0
- package/lib/cjs/sso/interfaces/index.d.cts +1 -0
- package/lib/cjs/sso/interfaces/profile-and-token.interface.cjs.map +1 -1
- package/lib/cjs/sso/interfaces/profile-and-token.interface.d.cts +3 -0
- package/lib/cjs/sso/serializers/index.d.cts +1 -0
- package/lib/cjs/sso/serializers/profile-and-token.serializer.cjs +3 -1
- package/lib/cjs/sso/serializers/profile-and-token.serializer.cjs.map +1 -1
- package/lib/cjs/sso/serializers/profile-and-token.serializer.d.cts +1 -0
- package/lib/cjs/sso/sso.cjs +15 -37
- package/lib/cjs/sso/sso.cjs.map +1 -1
- package/lib/cjs/sso/sso.d.cts +2 -1
- package/lib/cjs/sso-BkBnkcTC.d.cts +22 -0
- package/lib/cjs/sso-Cdnhezcz.d.cts +31 -0
- package/lib/cjs/sso-DwRz-nPM.d.cts +31 -0
- package/lib/cjs/user-management/interfaces/authenticate-with-session-cookie.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/authenticate-with-session-cookie.interface.d.cts +2 -0
- package/lib/cjs/user-management/interfaces/authentication-response.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/authentication-response.interface.d.cts +1 -1
- package/lib/cjs/user-management/interfaces/create-organization-membership-options.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/create-organization-membership-options.interface.d.cts +2 -0
- package/lib/cjs/user-management/interfaces/identity.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/identity.interface.d.cts +2 -2
- package/lib/cjs/user-management/interfaces/list-sessions-options.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/organization-membership.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/organization-membership.interface.d.cts +2 -0
- package/lib/cjs/user-management/interfaces/update-organization-membership-options.interface.cjs.map +1 -1
- package/lib/cjs/user-management/interfaces/update-organization-membership-options.interface.d.cts +2 -0
- package/lib/cjs/user-management/serializers/create-organization-membership-options.serializer.cjs +2 -1
- package/lib/cjs/user-management/serializers/create-organization-membership-options.serializer.cjs.map +1 -1
- package/lib/cjs/user-management/serializers/organization-membership.serializer.cjs +2 -1
- package/lib/cjs/user-management/serializers/organization-membership.serializer.cjs.map +1 -1
- package/lib/cjs/user-management/serializers/update-organization-membership-options.serializer.cjs +2 -1
- package/lib/cjs/user-management/serializers/update-organization-membership-options.serializer.cjs.map +1 -1
- package/lib/cjs/user-management/session.cjs +4 -0
- package/lib/cjs/user-management/session.cjs.map +1 -1
- package/lib/cjs/user-management/session.d.cts +2 -1
- package/lib/cjs/user-management/user-management.cjs +13 -81
- package/lib/cjs/user-management/user-management.cjs.map +1 -1
- package/lib/cjs/user-management/user-management.d.cts +3 -2
- package/lib/cjs/user-management-B-71OTAR.d.cts +401 -0
- package/lib/cjs/user-management-B38wNrIN.d.cts +68 -0
- package/lib/cjs/user-management-Dh73wyCr.d.cts +68 -0
- package/lib/cjs/vault/vault.d.cts +3 -2
- package/lib/cjs/widgets/interfaces/get-token.cjs.map +1 -1
- package/lib/cjs/widgets/interfaces/get-token.d.cts +5 -5
- package/lib/cjs/widgets/widgets.d.cts +3 -2
- package/lib/cjs/workos-BEHZtxw8.d.cts +401 -0
- package/lib/cjs/workos-Bt8QqzZV.d.cts +395 -0
- package/lib/cjs/workos-C6IZ2mAH.d.cts +402 -0
- package/lib/cjs/workos-C7eLbzyK.d.cts +398 -0
- package/lib/cjs/workos-C9Z7mAdD.d.cts +399 -0
- package/lib/cjs/workos-CUh2oD_o.d.cts +396 -0
- package/lib/cjs/workos-Cuegztvg.d.cts +397 -0
- package/lib/cjs/workos-DiEirbod.d.cts +397 -0
- package/lib/cjs/workos-jsQjZHfV.d.cts +395 -0
- package/lib/cjs/workos.cjs +2 -1
- package/lib/cjs/workos.cjs.map +1 -1
- package/lib/cjs/workos.d.cts +3 -2
- package/lib/common/interfaces/event.interface.d.ts +18 -2
- package/lib/common/interfaces/workos-options.interface.d.ts +1 -0
- package/lib/common/net/fetch-client.d.ts +6 -2
- package/lib/common/net/fetch-client.js +67 -31
- package/lib/common/net/fetch-client.spec.js +71 -0
- package/lib/common/serializers/event.serializer.js +2 -0
- package/lib/common/utils/pagination.js +1 -1
- package/lib/esm/audit-logs/audit-logs.d.ts +3 -2
- package/lib/esm/client/index.d.ts +3 -0
- package/lib/esm/client/index.js +7 -0
- package/lib/esm/client/index.js.map +1 -0
- package/lib/esm/client/sso.d.ts +2 -0
- package/lib/esm/client/sso.js +42 -0
- package/lib/esm/client/sso.js.map +1 -0
- package/lib/esm/client/user-management.d.ts +1 -0
- package/lib/esm/client/user-management.js +85 -0
- package/lib/esm/client/user-management.js.map +1 -0
- package/lib/esm/client/utils.d.ts +7 -0
- package/lib/esm/client/utils.js +16 -0
- package/lib/esm/client/utils.js.map +1 -0
- package/lib/esm/common/interfaces/event.interface.d.ts +19 -3
- package/lib/esm/common/interfaces/index.d.ts +1 -1
- package/lib/esm/common/interfaces/workos-options.interface.d.ts +1 -0
- package/lib/esm/common/net/fetch-client.d.ts +5 -2
- package/lib/esm/common/net/fetch-client.js +67 -36
- package/lib/esm/common/net/fetch-client.js.map +1 -1
- package/lib/esm/common/serializers/event.serializer.js +2 -0
- package/lib/esm/common/serializers/event.serializer.js.map +1 -1
- package/lib/esm/common/utils/fetch-and-deserialize.d.ts +3 -2
- package/lib/esm/common/utils/pagination.js +2 -4
- package/lib/esm/common/utils/pagination.js.map +1 -1
- package/lib/esm/directory-sync/directory-sync.d.ts +4 -3
- package/lib/esm/events/events.d.ts +3 -2
- package/lib/esm/fga/fga.d.ts +4 -3
- package/lib/esm/fga/utils/fetch-and-deserialize-list.d.ts +3 -2
- package/lib/esm/index.client.d.ts +3 -0
- package/lib/esm/index.client.js +7 -0
- package/lib/esm/index.client.js.map +1 -0
- package/lib/esm/index.d.ts +3 -2
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/index.worker.d.ts +3 -2
- package/lib/esm/mfa/mfa.d.ts +3 -2
- package/lib/esm/organization-domains/organization-domains.d.ts +3 -2
- package/lib/esm/organizations/interfaces/list-organization-feature-flags-options.interface.d.ts +3 -1
- package/lib/esm/organizations/organizations.d.ts +4 -3
- package/lib/esm/organizations/organizations.js +15 -5
- package/lib/esm/organizations/organizations.js.map +1 -1
- package/lib/esm/passwordless/passwordless.d.ts +3 -2
- package/lib/esm/portal/portal.d.ts +3 -2
- package/lib/esm/sso/interfaces/authorization-url-options.interface.d.ts +19 -4
- package/lib/esm/sso/interfaces/connection-type.enum.d.ts +1 -0
- package/lib/esm/sso/interfaces/connection-type.enum.js +1 -0
- package/lib/esm/sso/interfaces/connection-type.enum.js.map +1 -1
- package/lib/esm/sso/interfaces/index.d.ts +1 -0
- package/lib/esm/sso/interfaces/profile-and-token.interface.d.ts +3 -0
- package/lib/esm/sso/serializers/index.d.ts +1 -0
- package/lib/esm/sso/serializers/profile-and-token.serializer.d.ts +1 -0
- package/lib/esm/sso/serializers/profile-and-token.serializer.js +3 -1
- package/lib/esm/sso/serializers/profile-and-token.serializer.js.map +1 -1
- package/lib/esm/sso/sso.d.ts +2 -1
- package/lib/esm/sso/sso.js +5 -37
- package/lib/esm/sso/sso.js.map +1 -1
- package/lib/esm/sso-nFEQz_Js.d.ts +22 -0
- package/lib/esm/user-management/interfaces/authenticate-with-session-cookie.interface.d.ts +2 -0
- package/lib/esm/user-management/interfaces/authenticate-with-session-cookie.interface.js.map +1 -1
- package/lib/esm/user-management/interfaces/authentication-response.interface.d.ts +1 -1
- package/lib/esm/user-management/interfaces/create-organization-membership-options.interface.d.ts +2 -0
- package/lib/esm/user-management/interfaces/identity.interface.d.ts +2 -2
- package/lib/esm/user-management/interfaces/organization-membership.interface.d.ts +2 -0
- package/lib/esm/user-management/interfaces/update-organization-membership-options.interface.d.ts +2 -0
- package/lib/esm/user-management/serializers/create-organization-membership-options.serializer.js +2 -1
- package/lib/esm/user-management/serializers/create-organization-membership-options.serializer.js.map +1 -1
- package/lib/esm/user-management/serializers/organization-membership.serializer.js +2 -1
- package/lib/esm/user-management/serializers/organization-membership.serializer.js.map +1 -1
- package/lib/esm/user-management/serializers/update-organization-membership-options.serializer.js +2 -1
- package/lib/esm/user-management/serializers/update-organization-membership-options.serializer.js.map +1 -1
- package/lib/esm/user-management/session.d.ts +2 -1
- package/lib/esm/user-management/session.js +4 -0
- package/lib/esm/user-management/session.js.map +1 -1
- package/lib/esm/user-management/user-management.d.ts +3 -2
- package/lib/esm/user-management/user-management.js +13 -81
- package/lib/esm/user-management/user-management.js.map +1 -1
- package/lib/esm/user-management-B38wNrIN.d.ts +68 -0
- package/lib/esm/vault/vault.d.ts +3 -2
- package/lib/esm/widgets/interfaces/get-token.d.ts +5 -5
- package/lib/esm/widgets/interfaces/get-token.js.map +1 -1
- package/lib/esm/widgets/widgets.d.ts +3 -2
- package/lib/esm/{workos-DGRMJ65Z.d.ts → workos-EX3jNkYH.d.ts} +5 -7
- package/lib/esm/workos.d.ts +3 -2
- package/lib/esm/workos.js +2 -1
- package/lib/esm/workos.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/organizations/interfaces/list-organization-feature-flags-options.interface.d.ts +2 -1
- package/lib/organizations/organizations.d.ts +1 -2
- package/lib/organizations/organizations.js +2 -4
- package/lib/organizations/organizations.spec.js +46 -1
- package/lib/sso/interfaces/authorization-url-options.interface.d.ts +2 -0
- package/lib/sso/interfaces/profile-and-token.interface.d.ts +3 -0
- package/lib/sso/serializers/profile-and-token.serializer.js +2 -0
- package/lib/sso/sso.d.ts +1 -1
- package/lib/sso/sso.js +14 -10
- package/lib/sso/sso.spec.js +131 -0
- package/lib/user-management/interfaces/authenticate-with-session-cookie.interface.d.ts +2 -0
- package/lib/user-management/interfaces/create-organization-membership-options.interface.d.ts +2 -0
- package/lib/user-management/interfaces/organization-membership.interface.d.ts +2 -0
- package/lib/user-management/interfaces/update-organization-membership-options.interface.d.ts +2 -0
- package/lib/user-management/serializers/create-organization-membership-options.serializer.js +1 -0
- package/lib/user-management/serializers/organization-membership.serializer.js +1 -11
- package/lib/user-management/serializers/update-organization-membership-options.serializer.js +1 -0
- package/lib/user-management/session.js +4 -2
- package/lib/user-management/session.spec.js +4 -2
- package/lib/user-management/user-management.js +2 -1
- package/lib/user-management/user-management.spec.js +33 -0
- package/lib/widgets/interfaces/get-token.d.ts +5 -5
- package/lib/workos.js +2 -2
- package/package.json +10 -5
|
@@ -25,6 +25,7 @@ __export(fetch_client_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(fetch_client_exports);
|
|
26
26
|
var import_http_client2 = require('./http-client.cjs');
|
|
27
27
|
var import_parse_error = require('../exceptions/parse-error.cjs');
|
|
28
|
+
const DEFAULT_FETCH_TIMEOUT = 6e4;
|
|
28
29
|
class FetchHttpClient extends import_http_client2.HttpClient {
|
|
29
30
|
constructor(baseURL, options, fetchFn) {
|
|
30
31
|
super(baseURL, options);
|
|
@@ -146,45 +147,75 @@ class FetchHttpClient extends import_http_client2.HttpClient {
|
|
|
146
147
|
async fetchRequest(url, method, body, headers) {
|
|
147
148
|
const methodHasPayload = method === "POST" || method === "PUT" || method === "PATCH";
|
|
148
149
|
const requestBody = body || (methodHasPayload ? "" : void 0);
|
|
149
|
-
const { "User-Agent": userAgent } = this.options?.headers;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
throw error;
|
|
150
|
+
const { "User-Agent": userAgent } = this.options?.headers || {};
|
|
151
|
+
let abortController;
|
|
152
|
+
let timeoutId;
|
|
153
|
+
const timeout = this.options?.timeout ?? DEFAULT_FETCH_TIMEOUT;
|
|
154
|
+
abortController = new AbortController();
|
|
155
|
+
timeoutId = setTimeout(() => {
|
|
156
|
+
abortController?.abort();
|
|
157
|
+
}, timeout);
|
|
158
|
+
try {
|
|
159
|
+
const res = await this._fetchFn(url, {
|
|
160
|
+
method,
|
|
161
|
+
headers: {
|
|
162
|
+
Accept: "application/json, text/plain, */*",
|
|
163
|
+
"Content-Type": "application/json",
|
|
164
|
+
...this.options?.headers,
|
|
165
|
+
...headers,
|
|
166
|
+
"User-Agent": this.addClientToUserAgent(
|
|
167
|
+
(userAgent || "workos-node").toString()
|
|
168
|
+
)
|
|
169
|
+
},
|
|
170
|
+
body: requestBody,
|
|
171
|
+
signal: abortController?.signal
|
|
172
|
+
});
|
|
173
|
+
if (timeoutId) {
|
|
174
|
+
clearTimeout(timeoutId);
|
|
177
175
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
if (!res.ok) {
|
|
177
|
+
const requestID = res.headers.get("X-Request-ID") ?? "";
|
|
178
|
+
const rawBody = await res.text();
|
|
179
|
+
let responseJson;
|
|
180
|
+
try {
|
|
181
|
+
responseJson = JSON.parse(rawBody);
|
|
182
|
+
} catch (error) {
|
|
183
|
+
if (error instanceof SyntaxError) {
|
|
184
|
+
throw new import_parse_error.ParseError({
|
|
185
|
+
message: error.message,
|
|
186
|
+
rawBody,
|
|
187
|
+
requestID,
|
|
188
|
+
rawStatus: res.status
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
throw error;
|
|
184
192
|
}
|
|
185
|
-
|
|
193
|
+
throw new import_http_client2.HttpClientError({
|
|
194
|
+
message: res.statusText,
|
|
195
|
+
response: {
|
|
196
|
+
status: res.status,
|
|
197
|
+
headers: res.headers,
|
|
198
|
+
data: responseJson
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return new FetchHttpClientResponse(res);
|
|
203
|
+
} catch (error) {
|
|
204
|
+
if (timeoutId) {
|
|
205
|
+
clearTimeout(timeoutId);
|
|
206
|
+
}
|
|
207
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
208
|
+
throw new import_http_client2.HttpClientError({
|
|
209
|
+
message: `Request timeout after ${timeout}ms`,
|
|
210
|
+
response: {
|
|
211
|
+
status: 408,
|
|
212
|
+
headers: {},
|
|
213
|
+
data: { error: "Request timeout" }
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
throw error;
|
|
186
218
|
}
|
|
187
|
-
return new FetchHttpClientResponse(res);
|
|
188
219
|
}
|
|
189
220
|
async fetchRequestWithRetry(url, method, body, headers) {
|
|
190
221
|
let response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/common/net/fetch-client.ts"],"sourcesContent":["import {\n HttpClientInterface,\n HttpClientResponseInterface,\n RequestHeaders,\n RequestOptions,\n ResponseHeaders,\n} from '../interfaces/http-client.interface';\nimport { HttpClient, HttpClientError, HttpClientResponse } from './http-client';\nimport { ParseError } from '../exceptions/parse-error';\n\nexport class FetchHttpClient extends HttpClient implements HttpClientInterface {\n private readonly _fetchFn;\n\n constructor(\n readonly baseURL: string,\n readonly options?: RequestInit,\n fetchFn?: typeof fetch,\n ) {\n super(baseURL, options);\n\n // Default to global fetch if available\n if (!fetchFn) {\n if (!globalThis.fetch) {\n throw new Error(\n 'Fetch function not defined in the global scope and no replacement was provided.',\n );\n }\n fetchFn = globalThis.fetch;\n }\n\n this._fetchFn = fetchFn.bind(globalThis);\n }\n\n /** @override */\n getClientName(): string {\n return 'fetch';\n }\n\n async get(\n path: string,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'GET',\n null,\n options.headers,\n );\n } else {\n return await this.fetchRequest(resourceURL, 'GET', null, options.headers);\n }\n }\n\n async post<Entity = any>(\n path: string,\n entity: Entity,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'POST',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n } else {\n return await this.fetchRequest(\n resourceURL,\n 'POST',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n }\n }\n\n async put<Entity = any>(\n path: string,\n entity: Entity,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'PUT',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n } else {\n return await this.fetchRequest(\n resourceURL,\n 'PUT',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n }\n }\n\n async delete(\n path: string,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'DELETE',\n null,\n options.headers,\n );\n } else {\n return await this.fetchRequest(\n resourceURL,\n 'DELETE',\n null,\n options.headers,\n );\n }\n }\n\n private async fetchRequest(\n url: string,\n method: string,\n body?: any,\n headers?: RequestHeaders,\n ): Promise<HttpClientResponseInterface> {\n // For methods which expect payloads, we should always pass a body value\n // even when it is empty. Without this, some JS runtimes (eg. Deno) will\n // inject a second Content-Length header.\n const methodHasPayload =\n method === 'POST' || method === 'PUT' || method === 'PATCH';\n\n const requestBody = body || (methodHasPayload ? '' : undefined);\n\n const { 'User-Agent': userAgent } = this.options?.headers as RequestHeaders;\n\n const res = await this._fetchFn(url, {\n method,\n headers: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': 'application/json',\n ...this.options?.headers,\n ...headers,\n 'User-Agent': this.addClientToUserAgent(userAgent.toString()),\n },\n body: requestBody,\n });\n\n if (!res.ok) {\n const requestID = res.headers.get('X-Request-ID') ?? '';\n const rawBody = await res.text();\n\n let responseJson: any;\n\n try {\n responseJson = JSON.parse(rawBody);\n } catch (error) {\n if (error instanceof SyntaxError) {\n throw new ParseError({\n message: error.message,\n rawBody,\n requestID,\n rawStatus: res.status,\n });\n }\n throw error;\n }\n\n throw new HttpClientError({\n message: res.statusText,\n response: {\n status: res.status,\n headers: res.headers,\n data: responseJson,\n },\n });\n }\n return new FetchHttpClientResponse(res);\n }\n\n private async fetchRequestWithRetry(\n url: string,\n method: string,\n body?: any,\n headers?: RequestHeaders,\n ): Promise<HttpClientResponseInterface> {\n let response: HttpClientResponseInterface;\n let retryAttempts = 1;\n\n const makeRequest = async (): Promise<HttpClientResponseInterface> => {\n let requestError: any = null;\n\n try {\n response = await this.fetchRequest(url, method, body, headers);\n } catch (e) {\n requestError = e;\n }\n\n if (this.shouldRetryRequest(requestError, retryAttempts)) {\n retryAttempts++;\n await this.sleep(retryAttempts);\n return makeRequest();\n }\n\n if (requestError != null) {\n throw requestError;\n }\n\n return response;\n };\n\n return makeRequest();\n }\n\n private shouldRetryRequest(requestError: any, retryAttempt: number): boolean {\n if (retryAttempt > this.MAX_RETRY_ATTEMPTS) {\n return false;\n }\n\n if (requestError != null) {\n if (requestError instanceof TypeError) {\n return true;\n }\n\n if (\n requestError instanceof HttpClientError &&\n this.RETRY_STATUS_CODES.includes(requestError.response.status)\n ) {\n return true;\n }\n }\n\n return false;\n }\n}\n\n// tslint:disable-next-line\nexport class FetchHttpClientResponse\n extends HttpClientResponse\n implements HttpClientResponseInterface\n{\n _res: Response;\n\n constructor(res: Response) {\n super(\n res.status,\n FetchHttpClientResponse._transformHeadersToObject(res.headers),\n );\n this._res = res;\n }\n\n getRawResponse(): Response {\n return this._res;\n }\n\n toJSON(): Promise<any> | null {\n const contentType = this._res.headers.get('content-type');\n const isJsonResponse = contentType?.includes('application/json');\n\n return isJsonResponse ? this._res.json() : null;\n }\n\n static _transformHeadersToObject(headers: Headers): ResponseHeaders {\n // Fetch uses a Headers instance so this must be converted to a barebones\n // JS object to meet the HttpClient interface.\n const headersObj: ResponseHeaders = {};\n for (const entry of Object.entries(headers)) {\n if (!Array.isArray(entry) || entry.length !== 2) {\n throw new Error(\n 'Response objects produced by the fetch function given to FetchHttpClient do not have an iterable headers map. Response#headers should be an iterable object.',\n );\n }\n\n headersObj[entry[0]] = entry[1];\n }\n\n return headersObj;\n }\n}\n"],"mappings":"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","names":["import_http_client"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/net/fetch-client.ts"],"sourcesContent":["import {\n HttpClientInterface,\n HttpClientResponseInterface,\n RequestHeaders,\n RequestOptions,\n ResponseHeaders,\n} from '../interfaces/http-client.interface';\nimport { HttpClient, HttpClientError, HttpClientResponse } from './http-client';\nimport { ParseError } from '../exceptions/parse-error';\n\ninterface FetchHttpClientOptions extends RequestInit {\n timeout?: number;\n}\n\nconst DEFAULT_FETCH_TIMEOUT = 60_000; // 60 seconds\nexport class FetchHttpClient extends HttpClient implements HttpClientInterface {\n private readonly _fetchFn;\n\n constructor(\n readonly baseURL: string,\n readonly options?: FetchHttpClientOptions,\n fetchFn?: typeof fetch,\n ) {\n super(baseURL, options);\n\n // Default to global fetch if available\n if (!fetchFn) {\n if (!globalThis.fetch) {\n throw new Error(\n 'Fetch function not defined in the global scope and no replacement was provided.',\n );\n }\n fetchFn = globalThis.fetch;\n }\n\n this._fetchFn = fetchFn.bind(globalThis);\n }\n\n /** @override */\n getClientName(): string {\n return 'fetch';\n }\n\n async get(\n path: string,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'GET',\n null,\n options.headers,\n );\n } else {\n return await this.fetchRequest(resourceURL, 'GET', null, options.headers);\n }\n }\n\n async post<Entity = any>(\n path: string,\n entity: Entity,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'POST',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n } else {\n return await this.fetchRequest(\n resourceURL,\n 'POST',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n }\n }\n\n async put<Entity = any>(\n path: string,\n entity: Entity,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'PUT',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n } else {\n return await this.fetchRequest(\n resourceURL,\n 'PUT',\n HttpClient.getBody(entity),\n {\n ...HttpClient.getContentTypeHeader(entity),\n ...options.headers,\n },\n );\n }\n }\n\n async delete(\n path: string,\n options: RequestOptions,\n ): Promise<HttpClientResponseInterface> {\n const resourceURL = HttpClient.getResourceURL(\n this.baseURL,\n path,\n options.params,\n );\n\n if (path.startsWith('/fga/')) {\n return await this.fetchRequestWithRetry(\n resourceURL,\n 'DELETE',\n null,\n options.headers,\n );\n } else {\n return await this.fetchRequest(\n resourceURL,\n 'DELETE',\n null,\n options.headers,\n );\n }\n }\n\n private async fetchRequest(\n url: string,\n method: string,\n body?: any,\n headers?: RequestHeaders,\n ): Promise<HttpClientResponseInterface> {\n // For methods which expect payloads, we should always pass a body value\n // even when it is empty. Without this, some JS runtimes (eg. Deno) will\n // inject a second Content-Length header.\n const methodHasPayload =\n method === 'POST' || method === 'PUT' || method === 'PATCH';\n\n const requestBody = body || (methodHasPayload ? '' : undefined);\n\n const { 'User-Agent': userAgent } = (this.options?.headers ||\n {}) as RequestHeaders;\n\n // Create AbortController for timeout if configured\n let abortController: AbortController | undefined;\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n // Access timeout from the options with default of 60 seconds\n const timeout = this.options?.timeout ?? DEFAULT_FETCH_TIMEOUT; // Default 60 seconds\n abortController = new AbortController();\n timeoutId = setTimeout(() => {\n abortController?.abort();\n }, timeout);\n\n try {\n const res = await this._fetchFn(url, {\n method,\n headers: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': 'application/json',\n ...this.options?.headers,\n ...headers,\n 'User-Agent': this.addClientToUserAgent(\n (userAgent || 'workos-node').toString(),\n ),\n },\n body: requestBody,\n signal: abortController?.signal,\n });\n\n // Clear timeout if request completed successfully\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n if (!res.ok) {\n const requestID = res.headers.get('X-Request-ID') ?? '';\n const rawBody = await res.text();\n\n let responseJson: any;\n\n try {\n responseJson = JSON.parse(rawBody);\n } catch (error) {\n if (error instanceof SyntaxError) {\n throw new ParseError({\n message: error.message,\n rawBody,\n requestID,\n rawStatus: res.status,\n });\n }\n throw error;\n }\n\n throw new HttpClientError({\n message: res.statusText,\n response: {\n status: res.status,\n headers: res.headers,\n data: responseJson,\n },\n });\n }\n return new FetchHttpClientResponse(res);\n } catch (error) {\n // Clear timeout if request failed\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n // Handle timeout errors\n if (error instanceof Error && error.name === 'AbortError') {\n throw new HttpClientError({\n message: `Request timeout after ${timeout}ms`,\n response: {\n status: 408,\n headers: {},\n data: { error: 'Request timeout' },\n },\n });\n }\n\n throw error;\n }\n }\n\n private async fetchRequestWithRetry(\n url: string,\n method: string,\n body?: any,\n headers?: RequestHeaders,\n ): Promise<HttpClientResponseInterface> {\n let response: HttpClientResponseInterface;\n let retryAttempts = 1;\n\n const makeRequest = async (): Promise<HttpClientResponseInterface> => {\n let requestError: any = null;\n\n try {\n response = await this.fetchRequest(url, method, body, headers);\n } catch (e) {\n requestError = e;\n }\n\n if (this.shouldRetryRequest(requestError, retryAttempts)) {\n retryAttempts++;\n await this.sleep(retryAttempts);\n return makeRequest();\n }\n\n if (requestError != null) {\n throw requestError;\n }\n\n return response;\n };\n\n return makeRequest();\n }\n\n private shouldRetryRequest(requestError: any, retryAttempt: number): boolean {\n if (retryAttempt > this.MAX_RETRY_ATTEMPTS) {\n return false;\n }\n\n if (requestError != null) {\n if (requestError instanceof TypeError) {\n return true;\n }\n\n if (\n requestError instanceof HttpClientError &&\n this.RETRY_STATUS_CODES.includes(requestError.response.status)\n ) {\n return true;\n }\n }\n\n return false;\n }\n}\n\n// tslint:disable-next-line\nexport class FetchHttpClientResponse\n extends HttpClientResponse\n implements HttpClientResponseInterface\n{\n _res: Response;\n\n constructor(res: Response) {\n super(\n res.status,\n FetchHttpClientResponse._transformHeadersToObject(res.headers),\n );\n this._res = res;\n }\n\n getRawResponse(): Response {\n return this._res;\n }\n\n toJSON(): Promise<any> | null {\n const contentType = this._res.headers.get('content-type');\n const isJsonResponse = contentType?.includes('application/json');\n\n return isJsonResponse ? this._res.json() : null;\n }\n\n static _transformHeadersToObject(headers: Headers): ResponseHeaders {\n // Fetch uses a Headers instance so this must be converted to a barebones\n // JS object to meet the HttpClient interface.\n const headersObj: ResponseHeaders = {};\n for (const entry of Object.entries(headers)) {\n if (!Array.isArray(entry) || entry.length !== 2) {\n throw new Error(\n 'Response objects produced by the fetch function given to FetchHttpClient do not have an iterable headers map. Response#headers should be an iterable object.',\n );\n }\n\n headersObj[entry[0]] = entry[1];\n }\n\n return headersObj;\n }\n}\n"],"mappings":"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","names":["import_http_client"]}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { HttpClientInterface, RequestOptions, HttpClientResponseInterface, ResponseHeaders } from '../interfaces/http-client.interface.cjs';
|
|
2
2
|
import { HttpClient, HttpClientResponse } from './http-client.cjs';
|
|
3
3
|
|
|
4
|
+
interface FetchHttpClientOptions extends RequestInit {
|
|
5
|
+
timeout?: number;
|
|
6
|
+
}
|
|
4
7
|
declare class FetchHttpClient extends HttpClient implements HttpClientInterface {
|
|
5
8
|
readonly baseURL: string;
|
|
6
|
-
readonly options?:
|
|
9
|
+
readonly options?: FetchHttpClientOptions | undefined;
|
|
7
10
|
private readonly _fetchFn;
|
|
8
|
-
constructor(baseURL: string, options?:
|
|
11
|
+
constructor(baseURL: string, options?: FetchHttpClientOptions | undefined, fetchFn?: typeof fetch);
|
|
9
12
|
/** @override */
|
|
10
13
|
getClientName(): string;
|
|
11
14
|
get(path: string, options: RequestOptions): Promise<HttpClientResponseInterface>;
|
|
@@ -121,7 +121,9 @@ const deserializeEvent = /* @__PURE__ */ __name((event) => {
|
|
|
121
121
|
event: event.event,
|
|
122
122
|
data: (0, import_serializers4.deserializeEmailVerificationEvent)(event.data)
|
|
123
123
|
};
|
|
124
|
+
case "invitation.accepted":
|
|
124
125
|
case "invitation.created":
|
|
126
|
+
case "invitation.revoked":
|
|
125
127
|
return {
|
|
126
128
|
...eventBase,
|
|
127
129
|
event: event.event,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/common/serializers/event.serializer.ts"],"sourcesContent":["import {\n deserializeDeletedEventDirectory,\n deserializeDirectoryUser,\n deserializeEventDirectory,\n deserializeDirectoryGroup,\n deserializeUpdatedEventDirectoryGroup,\n deserializeUpdatedEventDirectoryUser,\n} from '../../directory-sync/serializers';\nimport { deserializeOrganization } from '../../organizations/serializers';\nimport { deserializeConnection } from '../../sso/serializers';\nimport {\n deserializeAuthenticationEvent,\n deserializeEmailVerificationEvent,\n deserializeInvitationEvent,\n deserializeMagicAuthEvent,\n deserializePasswordResetEvent,\n deserializeUser,\n} from '../../user-management/serializers';\nimport { deserializeOrganizationDomain } from '../../organization-domains/serializers/organization-domain.serializer';\nimport { deserializeOrganizationMembership } from '../../user-management/serializers/organization-membership.serializer';\nimport { deserializeRoleEvent } from '../../user-management/serializers/role.serializer';\nimport { deserializeSession } from '../../user-management/serializers/session.serializer';\nimport { Event, EventBase, EventResponse } from '../interfaces';\nimport { deserializeAuthenticationRadarRiskDetectedEvent } from '../../user-management/serializers/authentication-radar-risk-event-serializer';\n\nexport const deserializeEvent = (event: EventResponse): Event => {\n const eventBase: EventBase = {\n id: event.id,\n createdAt: event.created_at,\n };\n\n switch (event.event) {\n case 'authentication.email_verification_succeeded':\n case 'authentication.magic_auth_failed':\n case 'authentication.magic_auth_succeeded':\n case 'authentication.mfa_succeeded':\n case 'authentication.oauth_failed':\n case 'authentication.oauth_succeeded':\n case 'authentication.password_failed':\n case 'authentication.password_succeeded':\n case 'authentication.sso_failed':\n case 'authentication.sso_succeeded':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeAuthenticationEvent(event.data),\n };\n case 'authentication.radar_risk_detected':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeAuthenticationRadarRiskDetectedEvent(event.data),\n };\n case 'connection.activated':\n case 'connection.deactivated':\n case 'connection.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeConnection(event.data),\n };\n case 'dsync.activated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeEventDirectory(event.data),\n };\n case 'dsync.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeDeletedEventDirectory(event.data),\n };\n case 'dsync.group.created':\n case 'dsync.group.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeDirectoryGroup(event.data),\n };\n case 'dsync.group.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeUpdatedEventDirectoryGroup(event.data),\n };\n case 'dsync.group.user_added':\n case 'dsync.group.user_removed':\n return {\n ...eventBase,\n event: event.event,\n data: {\n directoryId: event.data.directory_id,\n user: deserializeDirectoryUser(event.data.user),\n group: deserializeDirectoryGroup(event.data.group),\n },\n };\n case 'dsync.user.created':\n case 'dsync.user.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeDirectoryUser(event.data),\n };\n case 'dsync.user.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeUpdatedEventDirectoryUser(event.data),\n };\n case 'email_verification.created':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeEmailVerificationEvent(event.data),\n };\n case 'invitation.created':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeInvitationEvent(event.data),\n };\n case 'magic_auth.created':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeMagicAuthEvent(event.data),\n };\n case 'password_reset.created':\n case 'password_reset.succeeded':\n return {\n ...eventBase,\n event: event.event,\n data: deserializePasswordResetEvent(event.data),\n };\n case 'user.created':\n case 'user.updated':\n case 'user.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeUser(event.data),\n };\n case 'organization_membership.created':\n case 'organization_membership.deleted':\n case 'organization_membership.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeOrganizationMembership(event.data),\n };\n case 'role.created':\n case 'role.deleted':\n case 'role.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeRoleEvent(event.data),\n };\n case 'session.created':\n case 'session.revoked':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeSession(event.data),\n };\n case 'organization.created':\n case 'organization.updated':\n case 'organization.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeOrganization(event.data),\n };\n case 'organization_domain.verified':\n case 'organization_domain.verification_failed':\n case 'organization_domain.created':\n case 'organization_domain.updated':\n case 'organization_domain.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeOrganizationDomain(event.data),\n };\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAOO;AACP,IAAAA,sBAAwC;AACxC,IAAAA,sBAAsC;AACtC,IAAAA,sBAOO;AACP,iCAA8C;AAC9C,qCAAkD;AAClD,kBAAqC;AACrC,qBAAmC;AAEnC,wDAAgE;AAEzD,MAAM,mBAAmB,wBAAC,UAAgC;AAC/D,QAAM,YAAuB;AAAA,IAC3B,IAAI,MAAM;AAAA,IACV,WAAW,MAAM;AAAA,EACnB;AAEA,UAAQ,MAAM,OAAO;AAAA,IACnB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,oDAA+B,MAAM,IAAI;AAAA,MACjD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,mGAAgD,MAAM,IAAI;AAAA,MAClE;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,2CAAsB,MAAM,IAAI;AAAA,MACxC;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,8CAA0B,MAAM,IAAI;AAAA,MAC5C;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,qDAAiC,MAAM,IAAI;AAAA,MACnD;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,8CAA0B,MAAM,IAAI;AAAA,MAC5C;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,0DAAsC,MAAM,IAAI;AAAA,MACxD;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,MAAM;AAAA,UACJ,aAAa,MAAM,KAAK;AAAA,UACxB,UAAM,6CAAyB,MAAM,KAAK,IAAI;AAAA,UAC9C,WAAO,8CAA0B,MAAM,KAAK,KAAK;AAAA,QACnD;AAAA,MACF;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,6CAAyB,MAAM,IAAI;AAAA,MAC3C;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,yDAAqC,MAAM,IAAI;AAAA,MACvD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,uDAAkC,MAAM,IAAI;AAAA,MACpD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,gDAA2B,MAAM,IAAI;AAAA,MAC7C;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,+CAA0B,MAAM,IAAI;AAAA,MAC5C;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,mDAA8B,MAAM,IAAI;AAAA,MAChD;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,qCAAgB,MAAM,IAAI;AAAA,MAClC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,kEAAkC,MAAM,IAAI;AAAA,MACpD;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,kCAAqB,MAAM,IAAI;AAAA,MACvC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,mCAAmB,MAAM,IAAI;AAAA,MACrC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,6CAAwB,MAAM,IAAI;AAAA,MAC1C;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM;AAAA,QACb,UAAM,0DAA8B,MAAM,IAAI;AAAA,MAChD;AAAA,EACJ;AACF,
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/serializers/event.serializer.ts"],"sourcesContent":["import {\n deserializeDeletedEventDirectory,\n deserializeDirectoryUser,\n deserializeEventDirectory,\n deserializeDirectoryGroup,\n deserializeUpdatedEventDirectoryGroup,\n deserializeUpdatedEventDirectoryUser,\n} from '../../directory-sync/serializers';\nimport { deserializeOrganization } from '../../organizations/serializers';\nimport { deserializeConnection } from '../../sso/serializers';\nimport {\n deserializeAuthenticationEvent,\n deserializeEmailVerificationEvent,\n deserializeInvitationEvent,\n deserializeMagicAuthEvent,\n deserializePasswordResetEvent,\n deserializeUser,\n} from '../../user-management/serializers';\nimport { deserializeOrganizationDomain } from '../../organization-domains/serializers/organization-domain.serializer';\nimport { deserializeOrganizationMembership } from '../../user-management/serializers/organization-membership.serializer';\nimport { deserializeRoleEvent } from '../../user-management/serializers/role.serializer';\nimport { deserializeSession } from '../../user-management/serializers/session.serializer';\nimport { Event, EventBase, EventResponse } from '../interfaces';\nimport { deserializeAuthenticationRadarRiskDetectedEvent } from '../../user-management/serializers/authentication-radar-risk-event-serializer';\n\nexport const deserializeEvent = (event: EventResponse): Event => {\n const eventBase: EventBase = {\n id: event.id,\n createdAt: event.created_at,\n };\n\n switch (event.event) {\n case 'authentication.email_verification_succeeded':\n case 'authentication.magic_auth_failed':\n case 'authentication.magic_auth_succeeded':\n case 'authentication.mfa_succeeded':\n case 'authentication.oauth_failed':\n case 'authentication.oauth_succeeded':\n case 'authentication.password_failed':\n case 'authentication.password_succeeded':\n case 'authentication.sso_failed':\n case 'authentication.sso_succeeded':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeAuthenticationEvent(event.data),\n };\n case 'authentication.radar_risk_detected':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeAuthenticationRadarRiskDetectedEvent(event.data),\n };\n case 'connection.activated':\n case 'connection.deactivated':\n case 'connection.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeConnection(event.data),\n };\n case 'dsync.activated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeEventDirectory(event.data),\n };\n case 'dsync.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeDeletedEventDirectory(event.data),\n };\n case 'dsync.group.created':\n case 'dsync.group.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeDirectoryGroup(event.data),\n };\n case 'dsync.group.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeUpdatedEventDirectoryGroup(event.data),\n };\n case 'dsync.group.user_added':\n case 'dsync.group.user_removed':\n return {\n ...eventBase,\n event: event.event,\n data: {\n directoryId: event.data.directory_id,\n user: deserializeDirectoryUser(event.data.user),\n group: deserializeDirectoryGroup(event.data.group),\n },\n };\n case 'dsync.user.created':\n case 'dsync.user.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeDirectoryUser(event.data),\n };\n case 'dsync.user.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeUpdatedEventDirectoryUser(event.data),\n };\n case 'email_verification.created':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeEmailVerificationEvent(event.data),\n };\n case 'invitation.accepted':\n case 'invitation.created':\n case 'invitation.revoked':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeInvitationEvent(event.data),\n };\n case 'magic_auth.created':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeMagicAuthEvent(event.data),\n };\n case 'password_reset.created':\n case 'password_reset.succeeded':\n return {\n ...eventBase,\n event: event.event,\n data: deserializePasswordResetEvent(event.data),\n };\n case 'user.created':\n case 'user.updated':\n case 'user.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeUser(event.data),\n };\n case 'organization_membership.created':\n case 'organization_membership.deleted':\n case 'organization_membership.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeOrganizationMembership(event.data),\n };\n case 'role.created':\n case 'role.deleted':\n case 'role.updated':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeRoleEvent(event.data),\n };\n case 'session.created':\n case 'session.revoked':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeSession(event.data),\n };\n case 'organization.created':\n case 'organization.updated':\n case 'organization.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeOrganization(event.data),\n };\n case 'organization_domain.verified':\n case 'organization_domain.verification_failed':\n case 'organization_domain.created':\n case 'organization_domain.updated':\n case 'organization_domain.deleted':\n return {\n ...eventBase,\n event: event.event,\n data: deserializeOrganizationDomain(event.data),\n };\n }\n};\n"],"mappings":"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","names":["import_serializers"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as WorkOS } from '../../workos-
|
|
1
|
+
import { W as WorkOS } from '../../workos-Bt8QqzZV.cjs';
|
|
2
2
|
import { PaginationOptions } from '../interfaces/pagination-options.interface.cjs';
|
|
3
3
|
import { GetOptions } from '../interfaces/get-options.interface.cjs';
|
|
4
4
|
import { List } from '../interfaces/list.interface.cjs';
|
|
@@ -45,6 +45,7 @@ import '../../sso/interfaces/get-profile-options.interface.cjs';
|
|
|
45
45
|
import '../../sso/interfaces/get-profile-and-token-options.interface.cjs';
|
|
46
46
|
import '../../sso/interfaces/list-connections-options.interface.cjs';
|
|
47
47
|
import '../../sso/interfaces/profile-and-token.interface.cjs';
|
|
48
|
+
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
48
49
|
import '../../sso/interfaces/profile.interface.cjs';
|
|
49
50
|
import '../../webhooks/webhooks.cjs';
|
|
50
51
|
import '../crypto/crypto-provider.cjs';
|
|
@@ -61,6 +62,7 @@ import '../../audit-logs/interfaces/audit-log-export.interface.cjs';
|
|
|
61
62
|
import '../../audit-logs/interfaces/create-audit-log-event-options.interface.cjs';
|
|
62
63
|
import '../../audit-logs/interfaces/create-audit-log-schema-options.interface.cjs';
|
|
63
64
|
import 'jose';
|
|
65
|
+
import '../../user-management-B38wNrIN.cjs';
|
|
64
66
|
import '../../user-management/interfaces/authenticate-with-code-options.interface.cjs';
|
|
65
67
|
import '../../user-management/interfaces/authenticate-with-options-base.interface.cjs';
|
|
66
68
|
import '../../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.cjs';
|
|
@@ -71,7 +73,6 @@ import '../../user-management/interfaces/authenticate-with-password-options.inte
|
|
|
71
73
|
import '../../user-management/interfaces/authenticate-with-refresh-token-options.interface.cjs';
|
|
72
74
|
import '../../user-management/interfaces/authenticate-with-session-cookie.interface.cjs';
|
|
73
75
|
import '../../user-management/interfaces/authentication-response.interface.cjs';
|
|
74
|
-
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
75
76
|
import '../../user-management/interfaces/authenticate-with-totp-options.interface.cjs';
|
|
76
77
|
import '../../user-management/interfaces/authorization-url-options.interface.cjs';
|
|
77
78
|
import '../../user-management/interfaces/create-magic-auth-options.interface.cjs';
|
|
@@ -47,10 +47,8 @@ class AutoPaginatable {
|
|
|
47
47
|
});
|
|
48
48
|
yield result.data;
|
|
49
49
|
if (result.listMetadata.after) {
|
|
50
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
51
|
-
yield* this.generatePages({
|
|
52
|
-
after: result.listMetadata.after
|
|
53
|
-
});
|
|
50
|
+
await new Promise((resolve) => setTimeout(resolve, 350));
|
|
51
|
+
yield* this.generatePages({ after: result.listMetadata.after });
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/common/utils/pagination.ts"],"sourcesContent":["import { List, PaginationOptions } from '../interfaces';\n\nexport class AutoPaginatable<\n ResourceType,\n ParametersType extends PaginationOptions,\n> {\n readonly object = 'list' as const;\n readonly options: ParametersType;\n\n constructor(\n protected list: List<ResourceType>,\n private apiCall: (params: PaginationOptions) => Promise<List<ResourceType>>,\n options?: ParametersType,\n ) {\n this.options = options ?? ({} as ParametersType);\n }\n\n get data(): ResourceType[] {\n return this.list.data;\n }\n\n get listMetadata() {\n return this.list.listMetadata;\n }\n\n private async *generatePages(\n params: PaginationOptions,\n ): AsyncGenerator<ResourceType[]> {\n const result = await this.apiCall({\n ...this.options,\n limit: 100,\n after: params.after,\n });\n\n yield result.data;\n\n if (result.listMetadata.after) {\n // Delay of 4rps to respect list users rate limits\n await new Promise((resolve) => setTimeout(resolve,
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/utils/pagination.ts"],"sourcesContent":["import { List, PaginationOptions } from '../interfaces';\n\nexport class AutoPaginatable<\n ResourceType,\n ParametersType extends PaginationOptions,\n> {\n readonly object = 'list' as const;\n readonly options: ParametersType;\n\n constructor(\n protected list: List<ResourceType>,\n private apiCall: (params: PaginationOptions) => Promise<List<ResourceType>>,\n options?: ParametersType,\n ) {\n this.options = options ?? ({} as ParametersType);\n }\n\n get data(): ResourceType[] {\n return this.list.data;\n }\n\n get listMetadata() {\n return this.list.listMetadata;\n }\n\n private async *generatePages(\n params: PaginationOptions,\n ): AsyncGenerator<ResourceType[]> {\n const result = await this.apiCall({\n ...this.options,\n limit: 100,\n after: params.after,\n });\n\n yield result.data;\n\n if (result.listMetadata.after) {\n // Delay of 4rps to respect list users rate limits\n await new Promise((resolve) => setTimeout(resolve, 350));\n yield* this.generatePages({ after: result.listMetadata.after });\n }\n }\n\n /**\n * Automatically paginates over the list of results, returning the complete data set.\n * Returns the first result if `options.limit` is passed to the first request.\n */\n async autoPagination(): Promise<ResourceType[]> {\n if (this.options.limit) {\n return this.data;\n }\n\n const results: ResourceType[] = [];\n\n for await (const page of this.generatePages({\n after: this.options.after,\n })) {\n results.push(...page);\n }\n\n return results;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,gBAGX;AAAA,EAIA,YACY,MACF,SACR,SACA;AAHU;AACF;AAGR,SAAK,UAAU,WAAY,CAAC;AAAA,EAC9B;AAAA,EAfF,OAKE;AAAA;AAAA;AAAA,EACS,SAAS;AAAA,EACT;AAAA,EAUT,IAAI,OAAuB;AACzB,WAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,IAAI,eAAe;AACjB,WAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,OAAe,cACb,QACgC;AAChC,UAAM,SAAS,MAAM,KAAK,QAAQ;AAAA,MAChC,GAAG,KAAK;AAAA,MACR,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,IAChB,CAAC;AAED,UAAM,OAAO;AAEb,QAAI,OAAO,aAAa,OAAO;AAE7B,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAG,CAAC;AACvD,aAAO,KAAK,cAAc,EAAE,OAAO,OAAO,aAAa,MAAM,CAAC;AAAA,IAChE;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,iBAA0C;AAC9C,QAAI,KAAK,QAAQ,OAAO;AACtB,aAAO,KAAK;AAAA,IACd;AAEA,UAAM,UAA0B,CAAC;AAEjC,qBAAiB,QAAQ,KAAK,cAAc;AAAA,MAC1C,OAAO,KAAK,QAAQ;AAAA,IACtB,CAAC,GAAG;AACF,cAAQ,KAAK,GAAG,IAAI;AAAA,IACtB;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var runtime_info_exports = {};
|
|
21
|
+
__export(runtime_info_exports, {
|
|
22
|
+
getRuntimeInfo: () => getRuntimeInfo
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(runtime_info_exports);
|
|
25
|
+
var import_env = require('./env.cjs');
|
|
26
|
+
function getRuntimeInfo() {
|
|
27
|
+
const name = (0, import_env.detectRuntime)();
|
|
28
|
+
let version;
|
|
29
|
+
try {
|
|
30
|
+
switch (name) {
|
|
31
|
+
case "node":
|
|
32
|
+
version = typeof process !== "undefined" ? process.version : void 0;
|
|
33
|
+
break;
|
|
34
|
+
case "deno":
|
|
35
|
+
version = globalThis.Deno?.version?.deno;
|
|
36
|
+
break;
|
|
37
|
+
case "bun":
|
|
38
|
+
version = globalThis.Bun?.version || extractBunVersionFromUserAgent();
|
|
39
|
+
break;
|
|
40
|
+
// These environments typically don't expose version info
|
|
41
|
+
case "cloudflare":
|
|
42
|
+
case "fastly":
|
|
43
|
+
case "edge-light":
|
|
44
|
+
case "other":
|
|
45
|
+
default:
|
|
46
|
+
version = void 0;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
} catch {
|
|
50
|
+
version = void 0;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
name,
|
|
54
|
+
version
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
__name(getRuntimeInfo, "getRuntimeInfo");
|
|
58
|
+
function extractBunVersionFromUserAgent() {
|
|
59
|
+
try {
|
|
60
|
+
if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
61
|
+
const match = navigator.userAgent.match(/Bun\/(\d+\.\d+\.\d+)/);
|
|
62
|
+
return match?.[1];
|
|
63
|
+
}
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
return void 0;
|
|
67
|
+
}
|
|
68
|
+
__name(extractBunVersionFromUserAgent, "extractBunVersionFromUserAgent");
|
|
69
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
70
|
+
0 && (module.exports = {
|
|
71
|
+
getRuntimeInfo
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=runtime-info.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/utils/runtime-info.ts"],"sourcesContent":["import { detectRuntime } from './env';\n\n// Extend globalThis to include runtime-specific globals\ndeclare global {\n // eslint-disable-next-line no-var\n var Deno:\n | {\n version: {\n deno: string;\n };\n }\n | undefined;\n\n // eslint-disable-next-line no-var\n var Bun:\n | {\n version: string;\n }\n | undefined;\n}\n\nexport interface RuntimeInfo {\n name: string;\n version?: string;\n}\n\n/**\n * Get runtime information including name and version.\n * Safely extracts version information for different JavaScript runtimes.\n * @returns RuntimeInfo object with name and optional version\n */\nexport function getRuntimeInfo(): RuntimeInfo {\n const name = detectRuntime();\n let version: string | undefined;\n\n try {\n switch (name) {\n case 'node':\n // process.version includes 'v' prefix (e.g., \"v20.5.0\")\n version = typeof process !== 'undefined' ? process.version : undefined;\n break;\n\n case 'deno':\n // Deno.version.deno returns just version number (e.g., \"1.36.4\")\n version = globalThis.Deno?.version?.deno;\n break;\n\n case 'bun':\n version = globalThis.Bun?.version || extractBunVersionFromUserAgent();\n break;\n\n // These environments typically don't expose version info\n case 'cloudflare':\n case 'fastly':\n case 'edge-light':\n case 'other':\n default:\n version = undefined;\n break;\n }\n } catch {\n version = undefined;\n }\n\n return {\n name,\n version,\n };\n}\n\n/**\n * Extract Bun version from navigator.userAgent as fallback.\n * @returns Bun version string or undefined\n */\nfunction extractBunVersionFromUserAgent(): string | undefined {\n try {\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\n const match = navigator.userAgent.match(/Bun\\/(\\d+\\.\\d+\\.\\d+)/);\n return match?.[1];\n }\n } catch {\n // Ignore errors\n }\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA8B;AA+BvB,SAAS,iBAA8B;AAC5C,QAAM,WAAO,0BAAc;AAC3B,MAAI;AAEJ,MAAI;AACF,YAAQ,MAAM;AAAA,MACZ,KAAK;AAEH,kBAAU,OAAO,YAAY,cAAc,QAAQ,UAAU;AAC7D;AAAA,MAEF,KAAK;AAEH,kBAAU,WAAW,MAAM,SAAS;AACpC;AAAA,MAEF,KAAK;AACH,kBAAU,WAAW,KAAK,WAAW,+BAA+B;AACpE;AAAA;AAAA,MAGF,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AACE,kBAAU;AACV;AAAA,IACJ;AAAA,EACF,QAAQ;AACN,cAAU;AAAA,EACZ;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AArCgB;AA2ChB,SAAS,iCAAqD;AAC5D,MAAI;AACF,QAAI,OAAO,cAAc,eAAe,UAAU,WAAW;AAC3D,YAAM,QAAQ,UAAU,UAAU,MAAM,sBAAsB;AAC9D,aAAO,QAAQ,CAAC;AAAA,IAClB;AAAA,EACF,QAAQ;AAAA,EAER;AACA,SAAO;AACT;AAVS;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var Deno: {
|
|
3
|
+
version: {
|
|
4
|
+
deno: string;
|
|
5
|
+
};
|
|
6
|
+
} | undefined;
|
|
7
|
+
var Bun: {
|
|
8
|
+
version: string;
|
|
9
|
+
} | undefined;
|
|
10
|
+
}
|
|
11
|
+
interface RuntimeInfo {
|
|
12
|
+
name: string;
|
|
13
|
+
version?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get runtime information including name and version.
|
|
17
|
+
* Safely extracts version information for different JavaScript runtimes.
|
|
18
|
+
* @returns RuntimeInfo object with name and optional version
|
|
19
|
+
*/
|
|
20
|
+
declare function getRuntimeInfo(): RuntimeInfo;
|
|
21
|
+
|
|
22
|
+
export { type RuntimeInfo, getRuntimeInfo };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { D as DirectorySync } from '../workos-
|
|
1
|
+
export { D as DirectorySync } from '../workos-Bt8QqzZV.cjs';
|
|
2
2
|
import '../common/utils/pagination.cjs';
|
|
3
3
|
import './interfaces/directory.interface.cjs';
|
|
4
4
|
import './interfaces/directory-group.interface.cjs';
|
|
@@ -33,8 +33,8 @@ import '../organizations/interfaces/create-organization-options.interface.cjs';
|
|
|
33
33
|
import '../organizations/interfaces/domain-data.interface.cjs';
|
|
34
34
|
import '../organizations/interfaces/feature-flag.interface.cjs';
|
|
35
35
|
import '../organizations/interfaces/list-organization-feature-flags-options.interface.cjs';
|
|
36
|
-
import '../organizations/interfaces/list-organizations-options.interface.cjs';
|
|
37
36
|
import '../common/interfaces/pagination-options.interface.cjs';
|
|
37
|
+
import '../organizations/interfaces/list-organizations-options.interface.cjs';
|
|
38
38
|
import '../organizations/interfaces/update-organization-options.interface.cjs';
|
|
39
39
|
import '../organizations/interfaces/list-organization-roles-options.interface.cjs';
|
|
40
40
|
import '../organization-domains/interfaces/create-organization-domain-options.interface.cjs';
|
|
@@ -48,6 +48,7 @@ import '../sso/interfaces/get-profile-options.interface.cjs';
|
|
|
48
48
|
import '../sso/interfaces/get-profile-and-token-options.interface.cjs';
|
|
49
49
|
import '../sso/interfaces/list-connections-options.interface.cjs';
|
|
50
50
|
import '../sso/interfaces/profile-and-token.interface.cjs';
|
|
51
|
+
import '../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
51
52
|
import '../sso/interfaces/profile.interface.cjs';
|
|
52
53
|
import '../webhooks/webhooks.cjs';
|
|
53
54
|
import '../common/crypto/crypto-provider.cjs';
|
|
@@ -64,6 +65,7 @@ import '../audit-logs/interfaces/audit-log-export.interface.cjs';
|
|
|
64
65
|
import '../audit-logs/interfaces/create-audit-log-event-options.interface.cjs';
|
|
65
66
|
import '../audit-logs/interfaces/create-audit-log-schema-options.interface.cjs';
|
|
66
67
|
import 'jose';
|
|
68
|
+
import '../user-management-B38wNrIN.cjs';
|
|
67
69
|
import '../user-management/interfaces/authenticate-with-code-options.interface.cjs';
|
|
68
70
|
import '../user-management/interfaces/authenticate-with-options-base.interface.cjs';
|
|
69
71
|
import '../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.cjs';
|
|
@@ -74,7 +76,6 @@ import '../user-management/interfaces/authenticate-with-password-options.interfa
|
|
|
74
76
|
import '../user-management/interfaces/authenticate-with-refresh-token-options.interface.cjs';
|
|
75
77
|
import '../user-management/interfaces/authenticate-with-session-cookie.interface.cjs';
|
|
76
78
|
import '../user-management/interfaces/authentication-response.interface.cjs';
|
|
77
|
-
import '../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
78
79
|
import '../user-management/interfaces/authenticate-with-totp-options.interface.cjs';
|
|
79
80
|
import '../user-management/interfaces/authorization-url-options.interface.cjs';
|
|
80
81
|
import '../user-management/interfaces/create-magic-auth-options.interface.cjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { E as Events } from '../workos-
|
|
1
|
+
export { E as Events } from '../workos-Bt8QqzZV.cjs';
|
|
2
2
|
import './interfaces/list-events-options.interface.cjs';
|
|
3
3
|
import '../common/interfaces/event.interface.cjs';
|
|
4
4
|
import '../common/interfaces/list.interface.cjs';
|
|
@@ -32,6 +32,7 @@ import '../sso/interfaces/get-profile-options.interface.cjs';
|
|
|
32
32
|
import '../sso/interfaces/get-profile-and-token-options.interface.cjs';
|
|
33
33
|
import '../sso/interfaces/list-connections-options.interface.cjs';
|
|
34
34
|
import '../sso/interfaces/profile-and-token.interface.cjs';
|
|
35
|
+
import '../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
35
36
|
import '../sso/interfaces/profile.interface.cjs';
|
|
36
37
|
import '../webhooks/webhooks.cjs';
|
|
37
38
|
import '../common/crypto/crypto-provider.cjs';
|
|
@@ -61,6 +62,7 @@ import '../audit-logs/interfaces/audit-log-export.interface.cjs';
|
|
|
61
62
|
import '../audit-logs/interfaces/create-audit-log-event-options.interface.cjs';
|
|
62
63
|
import '../audit-logs/interfaces/create-audit-log-schema-options.interface.cjs';
|
|
63
64
|
import 'jose';
|
|
65
|
+
import '../user-management-B38wNrIN.cjs';
|
|
64
66
|
import '../user-management/interfaces/authenticate-with-code-options.interface.cjs';
|
|
65
67
|
import '../user-management/interfaces/authenticate-with-options-base.interface.cjs';
|
|
66
68
|
import '../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.cjs';
|
|
@@ -71,7 +73,6 @@ import '../user-management/interfaces/authenticate-with-password-options.interfa
|
|
|
71
73
|
import '../user-management/interfaces/authenticate-with-refresh-token-options.interface.cjs';
|
|
72
74
|
import '../user-management/interfaces/authenticate-with-session-cookie.interface.cjs';
|
|
73
75
|
import '../user-management/interfaces/authentication-response.interface.cjs';
|
|
74
|
-
import '../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
75
76
|
import '../user-management/interfaces/authenticate-with-totp-options.interface.cjs';
|
|
76
77
|
import '../user-management/interfaces/authorization-url-options.interface.cjs';
|
|
77
78
|
import '../user-management/interfaces/create-magic-auth-options.interface.cjs';
|
package/lib/cjs/fga/fga.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { F as FGA } from '../workos-
|
|
1
|
+
export { F as FGA } from '../workos-Bt8QqzZV.cjs';
|
|
2
2
|
import './interfaces/check.interface.cjs';
|
|
3
3
|
import './interfaces/query.interface.cjs';
|
|
4
4
|
import './interfaces/resource.interface.cjs';
|
|
@@ -36,8 +36,8 @@ import '../organizations/interfaces/create-organization-options.interface.cjs';
|
|
|
36
36
|
import '../organizations/interfaces/domain-data.interface.cjs';
|
|
37
37
|
import '../organizations/interfaces/feature-flag.interface.cjs';
|
|
38
38
|
import '../organizations/interfaces/list-organization-feature-flags-options.interface.cjs';
|
|
39
|
-
import '../organizations/interfaces/list-organizations-options.interface.cjs';
|
|
40
39
|
import '../common/interfaces/pagination-options.interface.cjs';
|
|
40
|
+
import '../organizations/interfaces/list-organizations-options.interface.cjs';
|
|
41
41
|
import '../organizations/interfaces/update-organization-options.interface.cjs';
|
|
42
42
|
import '../organizations/interfaces/list-organization-roles-options.interface.cjs';
|
|
43
43
|
import '../organization-domains/interfaces/create-organization-domain-options.interface.cjs';
|
|
@@ -51,6 +51,7 @@ import '../sso/interfaces/get-profile-options.interface.cjs';
|
|
|
51
51
|
import '../sso/interfaces/get-profile-and-token-options.interface.cjs';
|
|
52
52
|
import '../sso/interfaces/list-connections-options.interface.cjs';
|
|
53
53
|
import '../sso/interfaces/profile-and-token.interface.cjs';
|
|
54
|
+
import '../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
54
55
|
import '../sso/interfaces/profile.interface.cjs';
|
|
55
56
|
import '../webhooks/webhooks.cjs';
|
|
56
57
|
import '../common/crypto/crypto-provider.cjs';
|
|
@@ -67,6 +68,7 @@ import '../audit-logs/interfaces/audit-log-export.interface.cjs';
|
|
|
67
68
|
import '../audit-logs/interfaces/create-audit-log-event-options.interface.cjs';
|
|
68
69
|
import '../audit-logs/interfaces/create-audit-log-schema-options.interface.cjs';
|
|
69
70
|
import 'jose';
|
|
71
|
+
import '../user-management-B38wNrIN.cjs';
|
|
70
72
|
import '../user-management/interfaces/authenticate-with-code-options.interface.cjs';
|
|
71
73
|
import '../user-management/interfaces/authenticate-with-options-base.interface.cjs';
|
|
72
74
|
import '../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.cjs';
|
|
@@ -77,7 +79,6 @@ import '../user-management/interfaces/authenticate-with-password-options.interfa
|
|
|
77
79
|
import '../user-management/interfaces/authenticate-with-refresh-token-options.interface.cjs';
|
|
78
80
|
import '../user-management/interfaces/authenticate-with-session-cookie.interface.cjs';
|
|
79
81
|
import '../user-management/interfaces/authentication-response.interface.cjs';
|
|
80
|
-
import '../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
81
82
|
import '../user-management/interfaces/authenticate-with-totp-options.interface.cjs';
|
|
82
83
|
import '../user-management/interfaces/authorization-url-options.interface.cjs';
|
|
83
84
|
import '../user-management/interfaces/create-magic-auth-options.interface.cjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as WorkOS } from '../../workos-
|
|
1
|
+
import { W as WorkOS } from '../../workos-Bt8QqzZV.cjs';
|
|
2
2
|
import { FGAList } from '../interfaces/list.interface.cjs';
|
|
3
3
|
import { PaginationOptions } from '../../common/interfaces/pagination-options.interface.cjs';
|
|
4
4
|
import { QueryRequestOptions } from '../interfaces/query.interface.cjs';
|
|
@@ -47,6 +47,7 @@ import '../../sso/interfaces/get-profile-options.interface.cjs';
|
|
|
47
47
|
import '../../sso/interfaces/get-profile-and-token-options.interface.cjs';
|
|
48
48
|
import '../../sso/interfaces/list-connections-options.interface.cjs';
|
|
49
49
|
import '../../sso/interfaces/profile-and-token.interface.cjs';
|
|
50
|
+
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
50
51
|
import '../../sso/interfaces/profile.interface.cjs';
|
|
51
52
|
import '../../webhooks/webhooks.cjs';
|
|
52
53
|
import '../../common/crypto/crypto-provider.cjs';
|
|
@@ -63,6 +64,7 @@ import '../../audit-logs/interfaces/audit-log-export.interface.cjs';
|
|
|
63
64
|
import '../../audit-logs/interfaces/create-audit-log-event-options.interface.cjs';
|
|
64
65
|
import '../../audit-logs/interfaces/create-audit-log-schema-options.interface.cjs';
|
|
65
66
|
import 'jose';
|
|
67
|
+
import '../../user-management-B38wNrIN.cjs';
|
|
66
68
|
import '../../user-management/interfaces/authenticate-with-code-options.interface.cjs';
|
|
67
69
|
import '../../user-management/interfaces/authenticate-with-options-base.interface.cjs';
|
|
68
70
|
import '../../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.cjs';
|
|
@@ -73,7 +75,6 @@ import '../../user-management/interfaces/authenticate-with-password-options.inte
|
|
|
73
75
|
import '../../user-management/interfaces/authenticate-with-refresh-token-options.interface.cjs';
|
|
74
76
|
import '../../user-management/interfaces/authenticate-with-session-cookie.interface.cjs';
|
|
75
77
|
import '../../user-management/interfaces/authentication-response.interface.cjs';
|
|
76
|
-
import '../../user-management/interfaces/oauth-tokens.interface.cjs';
|
|
77
78
|
import '../../user-management/interfaces/authenticate-with-totp-options.interface.cjs';
|
|
78
79
|
import '../../user-management/interfaces/authorization-url-options.interface.cjs';
|
|
79
80
|
import '../../user-management/interfaces/create-magic-auth-options.interface.cjs';
|
package/lib/cjs/index.cjs
CHANGED
|
@@ -52,6 +52,8 @@ class WorkOSNode extends import_workos.WorkOS {
|
|
|
52
52
|
createHttpClient(options, userAgent) {
|
|
53
53
|
const opts = {
|
|
54
54
|
...options.config,
|
|
55
|
+
timeout: options.timeout,
|
|
56
|
+
// Pass through the timeout option
|
|
55
57
|
headers: {
|
|
56
58
|
...options.config?.headers,
|
|
57
59
|
Authorization: `Bearer ${this.key}`,
|
package/lib/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { SubtleCryptoProvider } from './common/crypto/subtle-crypto-provider';\nimport { CryptoProvider } from './common/crypto/crypto-provider';\n\nimport { HttpClient } from './common/net/http-client';\nimport { FetchHttpClient } from './common/net/fetch-client';\n\nimport { Actions } from './actions/actions';\nimport { Webhooks } from './webhooks/webhooks';\nimport { WorkOS } from './workos';\nimport { WorkOSOptions } from './common/interfaces';\n\nexport * from './actions/interfaces';\nexport * from './audit-logs/interfaces';\nexport * from './common/exceptions';\nexport * from './common/interfaces';\nexport * from './common/utils/pagination';\nexport * from './directory-sync/interfaces';\nexport * from './directory-sync/utils/get-primary-email';\nexport * from './events/interfaces';\nexport * from './fga/interfaces';\nexport * from './organizations/interfaces';\nexport * from './organization-domains/interfaces';\nexport * from './passwordless/interfaces';\nexport * from './portal/interfaces';\nexport * from './sso/interfaces';\nexport * from './user-management/interfaces';\nexport * from './roles/interfaces';\n\nclass WorkOSNode extends WorkOS {\n /** @override */\n createHttpClient(options: WorkOSOptions, userAgent: string): HttpClient {\n const opts = {\n ...options.config,\n headers: {\n ...options.config?.headers,\n Authorization: `Bearer ${this.key}`,\n 'User-Agent': userAgent,\n },\n };\n\n return new FetchHttpClient(this.baseURL, opts, options.fetchFn);\n }\n\n /** @override */\n createWebhookClient(): Webhooks {\n return new Webhooks(this.getCryptoProvider());\n }\n\n override getCryptoProvider(): CryptoProvider {\n return new SubtleCryptoProvider();\n }\n\n /** @override */\n createActionsClient(): Actions {\n return new Actions(this.getCryptoProvider());\n }\n\n /** @override */\n emitWarning(warning: string): void {\n return process.emitWarning(warning, 'WorkOS');\n }\n}\n\nexport { WorkOSNode as WorkOS };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAqC;AAIrC,0BAAgC;AAEhC,qBAAwB;AACxB,sBAAyB;AACzB,oBAAuB;AAGvB,0BAAc,iCAXd;AAYA,0BAAc,oCAZd;AAaA,0BAAc,gCAbd;AAcA,0BAAc,gCAdd;AAeA,0BAAc,sCAfd;AAgBA,0BAAc,wCAhBd;AAiBA,0BAAc,qDAjBd;AAkBA,0BAAc,gCAlBd;AAmBA,0BAAc,6BAnBd;AAoBA,0BAAc,uCApBd;AAqBA,0BAAc,8CArBd;AAsBA,0BAAc,sCAtBd;AAuBA,0BAAc,gCAvBd;AAwBA,0BAAc,6BAxBd;AAyBA,0BAAc,yCAzBd;AA0BA,0BAAc,+BA1Bd;AA4BA,MAAM,mBAAmB,qBAAO;AAAA,EA5BhC,OA4BgC;AAAA;AAAA;AAAA;AAAA,EAE9B,iBAAiB,SAAwB,WAA+B;AACtE,UAAM,OAAO;AAAA,MACX,GAAG,QAAQ;AAAA,MACX,SAAS;AAAA,QACP,GAAG,QAAQ,QAAQ;AAAA,QACnB,eAAe,UAAU,KAAK,GAAG;AAAA,QACjC,cAAc;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,IAAI,oCAAgB,KAAK,SAAS,MAAM,QAAQ,OAAO;AAAA,EAChE;AAAA;AAAA,EAGA,sBAAgC;AAC9B,WAAO,IAAI,yBAAS,KAAK,kBAAkB,CAAC;AAAA,EAC9C;AAAA,EAES,oBAAoC;AAC3C,WAAO,IAAI,mDAAqB;AAAA,EAClC;AAAA;AAAA,EAGA,sBAA+B;AAC7B,WAAO,IAAI,uBAAQ,KAAK,kBAAkB,CAAC;AAAA,EAC7C;AAAA;AAAA,EAGA,YAAY,SAAuB;AACjC,WAAO,QAAQ,YAAY,SAAS,QAAQ;AAAA,EAC9C;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { SubtleCryptoProvider } from './common/crypto/subtle-crypto-provider';\nimport { CryptoProvider } from './common/crypto/crypto-provider';\n\nimport { HttpClient } from './common/net/http-client';\nimport { FetchHttpClient } from './common/net/fetch-client';\n\nimport { Actions } from './actions/actions';\nimport { Webhooks } from './webhooks/webhooks';\nimport { WorkOS } from './workos';\nimport { WorkOSOptions } from './common/interfaces';\n\nexport * from './actions/interfaces';\nexport * from './audit-logs/interfaces';\nexport * from './common/exceptions';\nexport * from './common/interfaces';\nexport * from './common/utils/pagination';\nexport * from './directory-sync/interfaces';\nexport * from './directory-sync/utils/get-primary-email';\nexport * from './events/interfaces';\nexport * from './fga/interfaces';\nexport * from './organizations/interfaces';\nexport * from './organization-domains/interfaces';\nexport * from './passwordless/interfaces';\nexport * from './portal/interfaces';\nexport * from './sso/interfaces';\nexport * from './user-management/interfaces';\nexport * from './roles/interfaces';\n\nclass WorkOSNode extends WorkOS {\n /** @override */\n createHttpClient(options: WorkOSOptions, userAgent: string): HttpClient {\n const opts = {\n ...options.config,\n timeout: options.timeout, // Pass through the timeout option\n headers: {\n ...options.config?.headers,\n Authorization: `Bearer ${this.key}`,\n 'User-Agent': userAgent,\n },\n };\n\n return new FetchHttpClient(this.baseURL, opts, options.fetchFn);\n }\n\n /** @override */\n createWebhookClient(): Webhooks {\n return new Webhooks(this.getCryptoProvider());\n }\n\n override getCryptoProvider(): CryptoProvider {\n return new SubtleCryptoProvider();\n }\n\n /** @override */\n createActionsClient(): Actions {\n return new Actions(this.getCryptoProvider());\n }\n\n /** @override */\n emitWarning(warning: string): void {\n return process.emitWarning(warning, 'WorkOS');\n }\n}\n\nexport { WorkOSNode as WorkOS };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAqC;AAIrC,0BAAgC;AAEhC,qBAAwB;AACxB,sBAAyB;AACzB,oBAAuB;AAGvB,0BAAc,iCAXd;AAYA,0BAAc,oCAZd;AAaA,0BAAc,gCAbd;AAcA,0BAAc,gCAdd;AAeA,0BAAc,sCAfd;AAgBA,0BAAc,wCAhBd;AAiBA,0BAAc,qDAjBd;AAkBA,0BAAc,gCAlBd;AAmBA,0BAAc,6BAnBd;AAoBA,0BAAc,uCApBd;AAqBA,0BAAc,8CArBd;AAsBA,0BAAc,sCAtBd;AAuBA,0BAAc,gCAvBd;AAwBA,0BAAc,6BAxBd;AAyBA,0BAAc,yCAzBd;AA0BA,0BAAc,+BA1Bd;AA4BA,MAAM,mBAAmB,qBAAO;AAAA,EA5BhC,OA4BgC;AAAA;AAAA;AAAA;AAAA,EAE9B,iBAAiB,SAAwB,WAA+B;AACtE,UAAM,OAAO;AAAA,MACX,GAAG,QAAQ;AAAA,MACX,SAAS,QAAQ;AAAA;AAAA,MACjB,SAAS;AAAA,QACP,GAAG,QAAQ,QAAQ;AAAA,QACnB,eAAe,UAAU,KAAK,GAAG;AAAA,QACjC,cAAc;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,IAAI,oCAAgB,KAAK,SAAS,MAAM,QAAQ,OAAO;AAAA,EAChE;AAAA;AAAA,EAGA,sBAAgC;AAC9B,WAAO,IAAI,yBAAS,KAAK,kBAAkB,CAAC;AAAA,EAC9C;AAAA,EAES,oBAAoC;AAC3C,WAAO,IAAI,mDAAqB;AAAA,EAClC;AAAA;AAAA,EAGA,sBAA+B;AAC7B,WAAO,IAAI,uBAAQ,KAAK,kBAAkB,CAAC;AAAA,EAC7C;AAAA;AAAA,EAGA,YAAY,SAAuB;AACjC,WAAO,QAAQ,YAAY,SAAS,QAAQ;AAAA,EAC9C;AACF;","names":[]}
|