@workos-inc/node 8.0.0-rc.1 → 8.0.0-rc.3
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/api-keys/api-keys.cjs +45 -0
- package/lib/cjs/api-keys/api-keys.cjs.map +1 -0
- package/lib/cjs/api-keys/api-keys.d.cts +130 -0
- package/lib/cjs/api-keys/interfaces/api-key.interface.cjs +17 -0
- package/lib/cjs/api-keys/interfaces/api-key.interface.cjs.map +1 -0
- package/lib/cjs/api-keys/interfaces/api-key.interface.d.cts +30 -0
- package/lib/cjs/api-keys/interfaces/validate-api-key.interface.cjs +17 -0
- package/lib/cjs/api-keys/interfaces/validate-api-key.interface.cjs.map +1 -0
- package/lib/cjs/api-keys/interfaces/validate-api-key.interface.d.cts +13 -0
- package/lib/cjs/api-keys/serializers/api-key.serializer.cjs +43 -0
- package/lib/cjs/api-keys/serializers/api-key.serializer.cjs.map +1 -0
- package/lib/cjs/api-keys/serializers/api-key.serializer.d.cts +5 -0
- package/lib/cjs/api-keys/serializers/validate-api-key.serializer.cjs +36 -0
- package/lib/cjs/api-keys/serializers/validate-api-key.serializer.cjs.map +1 -0
- package/lib/cjs/api-keys/serializers/validate-api-key.serializer.d.cts +6 -0
- package/lib/cjs/audit-logs/audit-logs.d.cts +11 -9
- package/lib/cjs/client/sso.cjs +2 -2
- package/lib/cjs/client/sso.cjs.map +1 -1
- package/lib/cjs/client/user-management.cjs +2 -2
- package/lib/cjs/client/user-management.cjs.map +1 -1
- package/lib/cjs/common/exceptions/unprocessable-entity.exception.cjs +1 -12
- package/lib/cjs/common/exceptions/unprocessable-entity.exception.cjs.map +1 -1
- package/lib/cjs/common/net/fetch-client.cjs +4 -4
- package/lib/cjs/common/net/fetch-client.cjs.map +1 -1
- package/lib/cjs/common/net/http-client.cjs +4 -1
- package/lib/cjs/common/net/http-client.cjs.map +1 -1
- package/lib/cjs/common/net/http-client.d.cts +1 -0
- package/lib/cjs/common/utils/fetch-and-deserialize.d.cts +9 -7
- package/lib/cjs/common/utils/leb128.cjs +101 -0
- package/lib/cjs/common/utils/leb128.cjs.map +1 -0
- package/lib/cjs/common/utils/leb128.d.cts +24 -0
- package/lib/cjs/common/utils/query-string.cjs +66 -0
- package/lib/cjs/common/utils/query-string.cjs.map +1 -0
- package/lib/cjs/common/utils/query-string.d.cts +11 -0
- package/lib/cjs/directory-sync/directory-sync.d.cts +3 -1
- package/lib/cjs/events/events.d.cts +10 -8
- package/lib/cjs/fga/fga.d.cts +9 -7
- package/lib/cjs/fga/utils/fetch-and-deserialize-list.d.cts +10 -8
- package/lib/cjs/index.d.cts +3 -1
- package/lib/cjs/index.worker.d.cts +3 -1
- package/lib/cjs/mfa/mfa.d.cts +11 -9
- package/lib/cjs/organization-domains/organization-domains.d.cts +11 -9
- package/lib/cjs/organizations/organizations.d.cts +8 -6
- package/lib/cjs/passwordless/passwordless.d.cts +11 -9
- package/lib/cjs/portal/portal.d.cts +11 -9
- package/lib/cjs/sso/sso.d.cts +8 -6
- package/lib/cjs/user-management/session.cjs +10 -8
- package/lib/cjs/user-management/session.cjs.map +1 -1
- package/lib/cjs/user-management/session.d.cts +11 -9
- package/lib/cjs/user-management/user-management.cjs +14 -8
- package/lib/cjs/user-management/user-management.cjs.map +1 -1
- package/lib/cjs/user-management/user-management.d.cts +8 -6
- package/lib/cjs/{client/utils.cjs → utils/jose.cjs} +11 -16
- package/lib/cjs/utils/jose.cjs.map +1 -0
- package/lib/cjs/utils/jose.d.cts +17 -0
- package/lib/cjs/vault/vault.cjs +3 -3
- package/lib/cjs/vault/vault.cjs.map +1 -1
- package/lib/cjs/vault/vault.d.cts +9 -7
- package/lib/cjs/widgets/interfaces/get-token.cjs.map +1 -1
- package/lib/cjs/widgets/interfaces/get-token.d.cts +1 -1
- package/lib/cjs/widgets/widgets.d.cts +11 -9
- package/lib/cjs/{workos-BcNRiAbw.d.cts → workos-X1cDErJB.d.cts} +18 -11
- package/lib/cjs/workos.cjs +3 -1
- package/lib/cjs/workos.cjs.map +1 -1
- package/lib/cjs/workos.d.cts +11 -9
- package/lib/esm/api-keys/api-keys.d.ts +130 -0
- package/lib/esm/api-keys/api-keys.js +22 -0
- package/lib/esm/api-keys/api-keys.js.map +1 -0
- package/lib/esm/api-keys/interfaces/api-key.interface.d.ts +30 -0
- package/lib/esm/api-keys/interfaces/api-key.interface.js +1 -0
- package/lib/esm/api-keys/interfaces/api-key.interface.js.map +1 -0
- package/lib/esm/api-keys/interfaces/validate-api-key.interface.d.ts +13 -0
- package/lib/esm/api-keys/interfaces/validate-api-key.interface.js +1 -0
- package/lib/esm/api-keys/interfaces/validate-api-key.interface.js.map +1 -0
- package/lib/esm/api-keys/serializers/api-key.serializer.d.ts +5 -0
- package/lib/esm/api-keys/serializers/api-key.serializer.js +20 -0
- package/lib/esm/api-keys/serializers/api-key.serializer.js.map +1 -0
- package/lib/esm/api-keys/serializers/validate-api-key.serializer.d.ts +6 -0
- package/lib/esm/api-keys/serializers/validate-api-key.serializer.js +13 -0
- package/lib/esm/api-keys/serializers/validate-api-key.serializer.js.map +1 -0
- package/lib/esm/audit-logs/audit-logs.d.ts +11 -9
- package/lib/esm/client/sso.js +1 -1
- package/lib/esm/client/sso.js.map +1 -1
- package/lib/esm/client/user-management.js +1 -1
- package/lib/esm/client/user-management.js.map +1 -1
- package/lib/esm/common/exceptions/unprocessable-entity.exception.js +1 -2
- package/lib/esm/common/exceptions/unprocessable-entity.exception.js.map +1 -1
- package/lib/esm/common/net/fetch-client.js +4 -4
- package/lib/esm/common/net/fetch-client.js.map +1 -1
- package/lib/esm/common/net/http-client.d.ts +1 -0
- package/lib/esm/common/net/http-client.js +4 -1
- package/lib/esm/common/net/http-client.js.map +1 -1
- package/lib/esm/common/utils/fetch-and-deserialize.d.ts +9 -7
- package/lib/esm/common/utils/leb128.d.ts +24 -0
- package/lib/esm/common/utils/leb128.js +77 -0
- package/lib/esm/common/utils/leb128.js.map +1 -0
- package/lib/esm/common/utils/query-string.d.ts +11 -0
- package/lib/esm/common/utils/query-string.js +43 -0
- package/lib/esm/common/utils/query-string.js.map +1 -0
- package/lib/esm/directory-sync/directory-sync.d.ts +3 -1
- package/lib/esm/events/events.d.ts +10 -8
- package/lib/esm/fga/fga.d.ts +9 -7
- package/lib/esm/fga/utils/fetch-and-deserialize-list.d.ts +10 -8
- package/lib/esm/index.d.ts +3 -1
- package/lib/esm/index.worker.d.ts +3 -1
- package/lib/esm/mfa/mfa.d.ts +11 -9
- package/lib/esm/organization-domains/organization-domains.d.ts +11 -9
- package/lib/esm/organizations/organizations.d.ts +8 -6
- package/lib/esm/passwordless/passwordless.d.ts +11 -9
- package/lib/esm/portal/portal.d.ts +11 -9
- package/lib/esm/sso/sso.d.ts +8 -6
- package/lib/esm/user-management/session.d.ts +11 -9
- package/lib/esm/user-management/session.js +7 -5
- package/lib/esm/user-management/session.js.map +1 -1
- package/lib/esm/user-management/user-management.d.ts +8 -6
- package/lib/esm/user-management/user-management.js +11 -5
- package/lib/esm/user-management/user-management.js.map +1 -1
- package/lib/esm/utils/jose.d.ts +17 -0
- package/lib/esm/utils/jose.js +11 -0
- package/lib/esm/utils/jose.js.map +1 -0
- package/lib/esm/vault/vault.d.ts +9 -7
- package/lib/esm/vault/vault.js +1 -1
- package/lib/esm/vault/vault.js.map +1 -1
- package/lib/esm/widgets/interfaces/get-token.d.ts +1 -1
- package/lib/esm/widgets/interfaces/get-token.js.map +1 -1
- package/lib/esm/widgets/widgets.d.ts +11 -9
- package/lib/esm/{workos-e5MfmByv.d.ts → workos-DLj13cxf.d.ts} +18 -11
- package/lib/esm/workos.d.ts +11 -9
- package/lib/esm/workos.js +3 -1
- package/lib/esm/workos.js.map +1 -1
- package/package.json +7 -7
- package/lib/cjs/client/utils.cjs.map +0 -1
- package/lib/cjs/client/utils.d.cts +0 -7
- package/lib/esm/client/utils.d.ts +0 -7
- package/lib/esm/client/utils.js +0 -16
- package/lib/esm/client/utils.js.map +0 -1
package/lib/cjs/workos.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workos.ts"],"sourcesContent":["import {\n GenericServerException,\n NoApiKeyProvidedException,\n NotFoundException,\n UnauthorizedException,\n UnprocessableEntityException,\n OauthException,\n RateLimitExceededException,\n} from './common/exceptions';\nimport {\n GetOptions,\n HttpClientResponseInterface,\n PostOptions,\n PutOptions,\n WorkOSOptions,\n WorkOSResponseError,\n} from './common/interfaces';\nimport { DirectorySync } from './directory-sync/directory-sync';\nimport { Events } from './events/events';\nimport { Organizations } from './organizations/organizations';\nimport { OrganizationDomains } from './organization-domains/organization-domains';\nimport { Passwordless } from './passwordless/passwordless';\nimport { Portal } from './portal/portal';\nimport { SSO } from './sso/sso';\nimport { Webhooks } from './webhooks/webhooks';\nimport { Mfa } from './mfa/mfa';\nimport { AuditLogs } from './audit-logs/audit-logs';\nimport { UserManagement } from './user-management/user-management';\nimport { FGA } from './fga/fga';\nimport { BadRequestException } from './common/exceptions/bad-request.exception';\n\nimport { HttpClient, HttpClientError } from './common/net/http-client';\nimport { SubtleCryptoProvider } from './common/crypto/subtle-crypto-provider';\nimport { FetchHttpClient } from './common/net/fetch-client';\nimport { Widgets } from './widgets/widgets';\nimport { Actions } from './actions/actions';\nimport { Vault } from './vault/vault';\nimport { ConflictException } from './common/exceptions/conflict.exception';\nimport { CryptoProvider } from './common/crypto/crypto-provider';\nimport { ParseError } from './common/exceptions/parse-error';\nimport { getEnv } from './common/utils/env';\nimport { getRuntimeInfo } from './common/utils/runtime-info';\n\nconst VERSION = '8.0.0-beta.4';\n\nconst DEFAULT_HOSTNAME = 'api.workos.com';\n\nconst HEADER_AUTHORIZATION = 'Authorization';\nconst HEADER_IDEMPOTENCY_KEY = 'Idempotency-Key';\nconst HEADER_WARRANT_TOKEN = 'Warrant-Token';\n\nexport class WorkOS {\n readonly baseURL: string;\n readonly client: HttpClient;\n readonly clientId?: string;\n\n readonly actions: Actions;\n readonly auditLogs = new AuditLogs(this);\n readonly directorySync = new DirectorySync(this);\n readonly organizations = new Organizations(this);\n readonly organizationDomains = new OrganizationDomains(this);\n readonly passwordless = new Passwordless(this);\n readonly portal = new Portal(this);\n readonly sso = new SSO(this);\n readonly webhooks: Webhooks;\n readonly mfa = new Mfa(this);\n readonly events = new Events(this);\n readonly userManagement: UserManagement;\n readonly fga = new FGA(this);\n readonly widgets = new Widgets(this);\n readonly vault = new Vault(this);\n\n constructor(\n readonly key?: string,\n readonly options: WorkOSOptions = {},\n ) {\n if (!key) {\n this.key = getEnv('WORKOS_API_KEY');\n\n if (!this.key) {\n throw new NoApiKeyProvidedException();\n }\n }\n\n if (this.options.https === undefined) {\n this.options.https = true;\n }\n\n this.clientId = this.options.clientId;\n if (!this.clientId) {\n this.clientId = getEnv('WORKOS_CLIENT_ID');\n }\n\n const protocol: string = this.options.https ? 'https' : 'http';\n const apiHostname: string = this.options.apiHostname || DEFAULT_HOSTNAME;\n const port: number | undefined = this.options.port;\n this.baseURL = `${protocol}://${apiHostname}`;\n\n if (port) {\n this.baseURL = this.baseURL + `:${port}`;\n }\n\n this.webhooks = this.createWebhookClient();\n this.actions = this.createActionsClient();\n\n // Must initialize UserManagement after baseURL is configured\n this.userManagement = new UserManagement(this);\n\n const userAgent = this.createUserAgent(options);\n\n this.client = this.createHttpClient(options, userAgent);\n }\n\n private createUserAgent(options: WorkOSOptions): string {\n let userAgent: string = `workos-node/${VERSION}`;\n\n const { name: runtimeName, version: runtimeVersion } = getRuntimeInfo();\n userAgent += ` (${runtimeName}${runtimeVersion ? `/${runtimeVersion}` : ''})`;\n\n if (options.appInfo) {\n const { name, version } = options.appInfo;\n userAgent += ` ${name}: ${version}`;\n }\n\n return userAgent;\n }\n\n createWebhookClient() {\n return new Webhooks(this.getCryptoProvider());\n }\n\n createActionsClient() {\n return new Actions(this.getCryptoProvider());\n }\n\n getCryptoProvider(): CryptoProvider {\n return new SubtleCryptoProvider();\n }\n\n createHttpClient(options: WorkOSOptions, userAgent: string) {\n return new FetchHttpClient(this.baseURL, {\n ...options.config,\n timeout: options.timeout,\n headers: {\n ...options.config?.headers,\n Authorization: `Bearer ${this.key}`,\n 'User-Agent': userAgent,\n },\n }) as HttpClient;\n }\n\n get version() {\n return VERSION;\n }\n\n async post<Result = any, Entity = any>(\n path: string,\n entity: Entity,\n options: PostOptions = {},\n ): Promise<{ data: Result }> {\n const requestHeaders: Record<string, string> = {};\n\n if (options.idempotencyKey) {\n requestHeaders[HEADER_IDEMPOTENCY_KEY] = options.idempotencyKey;\n }\n\n if (options.warrantToken) {\n requestHeaders[HEADER_WARRANT_TOKEN] = options.warrantToken;\n }\n\n let res: HttpClientResponseInterface;\n\n try {\n res = await this.client.post<Entity>(path, entity, {\n params: options.query,\n headers: requestHeaders,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n throw error;\n }\n\n try {\n return { data: await res.toJSON() };\n } catch (error) {\n await this.handleParseError(error, res);\n throw error;\n }\n }\n\n async get<Result = any>(\n path: string,\n options: GetOptions = {},\n ): Promise<{ data: Result }> {\n const requestHeaders: Record<string, string> = {};\n\n if (options.accessToken) {\n requestHeaders[HEADER_AUTHORIZATION] = `Bearer ${options.accessToken}`;\n }\n\n if (options.warrantToken) {\n requestHeaders[HEADER_WARRANT_TOKEN] = options.warrantToken;\n }\n\n let res: HttpClientResponseInterface;\n try {\n res = await this.client.get(path, {\n params: options.query,\n headers: requestHeaders,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n\n throw error;\n }\n\n try {\n return { data: await res.toJSON() };\n } catch (error) {\n await this.handleParseError(error, res);\n throw error;\n }\n }\n\n async put<Result = any, Entity = any>(\n path: string,\n entity: Entity,\n options: PutOptions = {},\n ): Promise<{ data: Result }> {\n const requestHeaders: Record<string, string> = {};\n\n if (options.idempotencyKey) {\n requestHeaders[HEADER_IDEMPOTENCY_KEY] = options.idempotencyKey;\n }\n\n let res: HttpClientResponseInterface;\n\n try {\n res = await this.client.put<Entity>(path, entity, {\n params: options.query,\n headers: requestHeaders,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n\n throw error;\n }\n\n try {\n return { data: await res.toJSON() };\n } catch (error) {\n await this.handleParseError(error, res);\n throw error;\n }\n }\n\n async delete(path: string, query?: any): Promise<void> {\n try {\n await this.client.delete(path, {\n params: query,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n\n throw error;\n }\n }\n\n emitWarning(warning: string) {\n // tslint:disable-next-line:no-console\n console.warn(`WorkOS: ${warning}`);\n }\n\n private async handleParseError(\n error: unknown,\n res: HttpClientResponseInterface,\n ) {\n if (error instanceof SyntaxError) {\n const rawResponse = res.getRawResponse() as Response;\n const requestID = rawResponse.headers.get('X-Request-ID') ?? '';\n const rawStatus = rawResponse.status;\n const rawBody = await rawResponse.text();\n throw new ParseError({\n message: error.message,\n rawBody,\n rawStatus,\n requestID,\n });\n }\n }\n\n private handleHttpError({ path, error }: { path: string; error: unknown }) {\n if (!(error instanceof HttpClientError)) {\n throw new Error(`Unexpected error: ${error}`, { cause: error });\n }\n\n const { response } = error as HttpClientError<WorkOSResponseError>;\n\n if (response) {\n const { status, data, headers } = response;\n\n const requestID = headers['X-Request-ID'] ?? '';\n const {\n code,\n error_description: errorDescription,\n error,\n errors,\n message,\n } = data;\n\n switch (status) {\n case 401: {\n throw new UnauthorizedException(requestID);\n }\n case 409: {\n throw new ConflictException({ requestID, message, error });\n }\n case 422: {\n throw new UnprocessableEntityException({\n code,\n errors,\n message,\n requestID,\n });\n }\n case 404: {\n throw new NotFoundException({\n code,\n message,\n path,\n requestID,\n });\n }\n case 429: {\n const retryAfter = headers.get('Retry-After');\n\n throw new RateLimitExceededException(\n data.message,\n requestID,\n retryAfter ? Number(retryAfter) : null,\n );\n }\n default: {\n if (error || errorDescription) {\n throw new OauthException(\n status,\n requestID,\n error,\n errorDescription,\n data,\n );\n } else if (code && errors) {\n // Note: ideally this should be mapped directly with a `400` status code.\n // However, this would break existing logic for the `OauthException` exception.\n throw new BadRequestException({\n code,\n errors,\n message,\n requestID,\n });\n } else {\n throw new GenericServerException(\n status,\n data.message,\n data,\n requestID,\n );\n }\n }\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQO;AASP,4BAA8B;AAC9B,oBAAuB;AACvB,2BAA8B;AAC9B,kCAAoC;AACpC,0BAA6B;AAC7B,oBAAuB;AACvB,iBAAoB;AACpB,sBAAyB;AACzB,iBAAoB;AACpB,wBAA0B;AAC1B,6BAA+B;AAC/B,iBAAoB;AACpB,yBAAoC;AAEpC,yBAA4C;AAC5C,oCAAqC;AACrC,0BAAgC;AAChC,qBAAwB;AACxB,qBAAwB;AACxB,mBAAsB;AACtB,sBAAkC;AAElC,yBAA2B;AAC3B,iBAAuB;AACvB,0BAA+B;AAE/B,MAAM,UAAU;AAEhB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAC/B,MAAM,uBAAuB;AAEtB,MAAM,OAAO;AAAA,EAqBlB,YACW,KACA,UAAyB,CAAC,GACnC;AAFS;AACA;AAET,QAAI,CAAC,KAAK;AACR,WAAK,UAAM,mBAAO,gBAAgB;AAElC,UAAI,CAAC,KAAK,KAAK;AACb,cAAM,IAAI,4CAA0B;AAAA,MACtC;AAAA,IACF;AAEA,QAAI,KAAK,QAAQ,UAAU,QAAW;AACpC,WAAK,QAAQ,QAAQ;AAAA,IACvB;AAEA,SAAK,WAAW,KAAK,QAAQ;AAC7B,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,eAAW,mBAAO,kBAAkB;AAAA,IAC3C;AAEA,UAAM,WAAmB,KAAK,QAAQ,QAAQ,UAAU;AACxD,UAAM,cAAsB,KAAK,QAAQ,eAAe;AACxD,UAAM,OAA2B,KAAK,QAAQ;AAC9C,SAAK,UAAU,GAAG,QAAQ,MAAM,WAAW;AAE3C,QAAI,MAAM;AACR,WAAK,UAAU,KAAK,UAAU,IAAI,IAAI;AAAA,IACxC;AAEA,SAAK,WAAW,KAAK,oBAAoB;AACzC,SAAK,UAAU,KAAK,oBAAoB;AAGxC,SAAK,iBAAiB,IAAI,sCAAe,IAAI;AAE7C,UAAM,YAAY,KAAK,gBAAgB,OAAO;AAE9C,SAAK,SAAS,KAAK,iBAAiB,SAAS,SAAS;AAAA,EACxD;AAAA,EA/GF,OAmDoB;AAAA;AAAA;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA,YAAY,IAAI,4BAAU,IAAI;AAAA,EAC9B,gBAAgB,IAAI,oCAAc,IAAI;AAAA,EACtC,gBAAgB,IAAI,mCAAc,IAAI;AAAA,EACtC,sBAAsB,IAAI,gDAAoB,IAAI;AAAA,EAClD,eAAe,IAAI,iCAAa,IAAI;AAAA,EACpC,SAAS,IAAI,qBAAO,IAAI;AAAA,EACxB,MAAM,IAAI,eAAI,IAAI;AAAA,EAClB;AAAA,EACA,MAAM,IAAI,eAAI,IAAI;AAAA,EAClB,SAAS,IAAI,qBAAO,IAAI;AAAA,EACxB;AAAA,EACA,MAAM,IAAI,eAAI,IAAI;AAAA,EAClB,UAAU,IAAI,uBAAQ,IAAI;AAAA,EAC1B,QAAQ,IAAI,mBAAM,IAAI;AAAA,EA2CvB,gBAAgB,SAAgC;AACtD,QAAI,YAAoB,eAAe,OAAO;AAE9C,UAAM,EAAE,MAAM,aAAa,SAAS,eAAe,QAAI,oCAAe;AACtE,iBAAa,KAAK,WAAW,GAAG,iBAAiB,IAAI,cAAc,KAAK,EAAE;AAE1E,QAAI,QAAQ,SAAS;AACnB,YAAM,EAAE,MAAM,QAAQ,IAAI,QAAQ;AAClC,mBAAa,IAAI,IAAI,KAAK,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,sBAAsB;AACpB,WAAO,IAAI,yBAAS,KAAK,kBAAkB,CAAC;AAAA,EAC9C;AAAA,EAEA,sBAAsB;AACpB,WAAO,IAAI,uBAAQ,KAAK,kBAAkB,CAAC;AAAA,EAC7C;AAAA,EAEA,oBAAoC;AAClC,WAAO,IAAI,mDAAqB;AAAA,EAClC;AAAA,EAEA,iBAAiB,SAAwB,WAAmB;AAC1D,WAAO,IAAI,oCAAgB,KAAK,SAAS;AAAA,MACvC,GAAG,QAAQ;AAAA,MACX,SAAS,QAAQ;AAAA,MACjB,SAAS;AAAA,QACP,GAAG,QAAQ,QAAQ;AAAA,QACnB,eAAe,UAAU,KAAK,GAAG;AAAA,QACjC,cAAc;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,KACJ,MACA,QACA,UAAuB,CAAC,GACG;AAC3B,UAAM,iBAAyC,CAAC;AAEhD,QAAI,QAAQ,gBAAgB;AAC1B,qBAAe,sBAAsB,IAAI,QAAQ;AAAA,IACnD;AAEA,QAAI,QAAQ,cAAc;AACxB,qBAAe,oBAAoB,IAAI,QAAQ;AAAA,IACjD;AAEA,QAAI;AAEJ,QAAI;AACF,YAAM,MAAM,KAAK,OAAO,KAAa,MAAM,QAAQ;AAAA,QACjD,QAAQ,QAAQ;AAAA,QAChB,SAAS;AAAA,MACX,CAAC;AAAA,IACH,SAAS,OAAO;AACd,WAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACpC,YAAM;AAAA,IACR;AAEA,QAAI;AACF,aAAO,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE;AAAA,IACpC,SAAS,OAAO;AACd,YAAM,KAAK,iBAAiB,OAAO,GAAG;AACtC,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,IACJ,MACA,UAAsB,CAAC,GACI;AAC3B,UAAM,iBAAyC,CAAC;AAEhD,QAAI,QAAQ,aAAa;AACvB,qBAAe,oBAAoB,IAAI,UAAU,QAAQ,WAAW;AAAA,IACtE;AAEA,QAAI,QAAQ,cAAc;AACxB,qBAAe,oBAAoB,IAAI,QAAQ;AAAA,IACjD;AAEA,QAAI;AACJ,QAAI;AACF,YAAM,MAAM,KAAK,OAAO,IAAI,MAAM;AAAA,QAChC,QAAQ,QAAQ;AAAA,QAChB,SAAS;AAAA,MACX,CAAC;AAAA,IACH,SAAS,OAAO;AACd,WAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAEpC,YAAM;AAAA,IACR;AAEA,QAAI;AACF,aAAO,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE;AAAA,IACpC,SAAS,OAAO;AACd,YAAM,KAAK,iBAAiB,OAAO,GAAG;AACtC,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,IACJ,MACA,QACA,UAAsB,CAAC,GACI;AAC3B,UAAM,iBAAyC,CAAC;AAEhD,QAAI,QAAQ,gBAAgB;AAC1B,qBAAe,sBAAsB,IAAI,QAAQ;AAAA,IACnD;AAEA,QAAI;AAEJ,QAAI;AACF,YAAM,MAAM,KAAK,OAAO,IAAY,MAAM,QAAQ;AAAA,QAChD,QAAQ,QAAQ;AAAA,QAChB,SAAS;AAAA,MACX,CAAC;AAAA,IACH,SAAS,OAAO;AACd,WAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAEpC,YAAM;AAAA,IACR;AAEA,QAAI;AACF,aAAO,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE;AAAA,IACpC,SAAS,OAAO;AACd,YAAM,KAAK,iBAAiB,OAAO,GAAG;AACtC,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,OAAO,MAAc,OAA4B;AACrD,QAAI;AACF,YAAM,KAAK,OAAO,OAAO,MAAM;AAAA,QAC7B,QAAQ;AAAA,MACV,CAAC;AAAA,IACH,SAAS,OAAO;AACd,WAAK,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAEpC,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,YAAY,SAAiB;AAE3B,YAAQ,KAAK,WAAW,OAAO,EAAE;AAAA,EACnC;AAAA,EAEA,MAAc,iBACZ,OACA,KACA;AACA,QAAI,iBAAiB,aAAa;AAChC,YAAM,cAAc,IAAI,eAAe;AACvC,YAAM,YAAY,YAAY,QAAQ,IAAI,cAAc,KAAK;AAC7D,YAAM,YAAY,YAAY;AAC9B,YAAM,UAAU,MAAM,YAAY,KAAK;AACvC,YAAM,IAAI,8BAAW;AAAA,QACnB,SAAS,MAAM;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,gBAAgB,EAAE,MAAM,MAAM,GAAqC;AACzE,QAAI,EAAE,iBAAiB,qCAAkB;AACvC,YAAM,IAAI,MAAM,qBAAqB,KAAK,IAAI,EAAE,OAAO,MAAM,CAAC;AAAA,IAChE;AAEA,UAAM,EAAE,SAAS,IAAI;AAErB,QAAI,UAAU;AACZ,YAAM,EAAE,QAAQ,MAAM,QAAQ,IAAI;AAElC,YAAM,YAAY,QAAQ,cAAc,KAAK;AAC7C,YAAM;AAAA,QACJ;AAAA,QACA,mBAAmB;AAAA,QACnB,OAAAA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,cAAQ,QAAQ;AAAA,QACd,KAAK,KAAK;AACR,gBAAM,IAAI,wCAAsB,SAAS;AAAA,QAC3C;AAAA,QACA,KAAK,KAAK;AACR,gBAAM,IAAI,kCAAkB,EAAE,WAAW,SAAS,OAAAA,OAAM,CAAC;AAAA,QAC3D;AAAA,QACA,KAAK,KAAK;AACR,gBAAM,IAAI,+CAA6B;AAAA,YACrC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,KAAK,KAAK;AACR,gBAAM,IAAI,oCAAkB;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,KAAK,KAAK;AACR,gBAAM,aAAa,QAAQ,IAAI,aAAa;AAE5C,gBAAM,IAAI;AAAA,YACR,KAAK;AAAA,YACL;AAAA,YACA,aAAa,OAAO,UAAU,IAAI;AAAA,UACpC;AAAA,QACF;AAAA,QACA,SAAS;AACP,cAAIA,UAAS,kBAAkB;AAC7B,kBAAM,IAAI;AAAA,cACR;AAAA,cACA;AAAA,cACAA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,UACF,WAAW,QAAQ,QAAQ;AAGzB,kBAAM,IAAI,uCAAoB;AAAA,cAC5B;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC;AAAA,UACH,OAAO;AACL,kBAAM,IAAI;AAAA,cACR;AAAA,cACA,KAAK;AAAA,cACL;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":["error"]}
|
|
1
|
+
{"version":3,"sources":["../../src/workos.ts"],"sourcesContent":["import {\n GenericServerException,\n NoApiKeyProvidedException,\n NotFoundException,\n UnauthorizedException,\n UnprocessableEntityException,\n OauthException,\n RateLimitExceededException,\n} from './common/exceptions';\nimport {\n GetOptions,\n HttpClientResponseInterface,\n PostOptions,\n PutOptions,\n WorkOSOptions,\n WorkOSResponseError,\n} from './common/interfaces';\nimport { ApiKeys } from './api-keys/api-keys';\nimport { DirectorySync } from './directory-sync/directory-sync';\nimport { Events } from './events/events';\nimport { Organizations } from './organizations/organizations';\nimport { OrganizationDomains } from './organization-domains/organization-domains';\nimport { Passwordless } from './passwordless/passwordless';\nimport { Portal } from './portal/portal';\nimport { SSO } from './sso/sso';\nimport { Webhooks } from './webhooks/webhooks';\nimport { Mfa } from './mfa/mfa';\nimport { AuditLogs } from './audit-logs/audit-logs';\nimport { UserManagement } from './user-management/user-management';\nimport { FGA } from './fga/fga';\nimport { BadRequestException } from './common/exceptions/bad-request.exception';\n\nimport { HttpClient, HttpClientError } from './common/net/http-client';\nimport { SubtleCryptoProvider } from './common/crypto/subtle-crypto-provider';\nimport { FetchHttpClient } from './common/net/fetch-client';\nimport { Widgets } from './widgets/widgets';\nimport { Actions } from './actions/actions';\nimport { Vault } from './vault/vault';\nimport { ConflictException } from './common/exceptions/conflict.exception';\nimport { CryptoProvider } from './common/crypto/crypto-provider';\nimport { ParseError } from './common/exceptions/parse-error';\nimport { getEnv } from './common/utils/env';\nimport { getRuntimeInfo } from './common/utils/runtime-info';\n\nconst VERSION = '8.0.0-rc.3';\n\nconst DEFAULT_HOSTNAME = 'api.workos.com';\n\nconst HEADER_AUTHORIZATION = 'Authorization';\nconst HEADER_IDEMPOTENCY_KEY = 'Idempotency-Key';\nconst HEADER_WARRANT_TOKEN = 'Warrant-Token';\n\nexport class WorkOS {\n readonly baseURL: string;\n readonly client: HttpClient;\n readonly clientId?: string;\n\n readonly actions: Actions;\n readonly apiKeys = new ApiKeys(this);\n readonly auditLogs = new AuditLogs(this);\n readonly directorySync = new DirectorySync(this);\n readonly organizations = new Organizations(this);\n readonly organizationDomains = new OrganizationDomains(this);\n readonly passwordless = new Passwordless(this);\n readonly portal = new Portal(this);\n readonly sso = new SSO(this);\n readonly webhooks: Webhooks;\n readonly mfa = new Mfa(this);\n readonly events = new Events(this);\n readonly userManagement: UserManagement;\n readonly fga = new FGA(this);\n readonly widgets = new Widgets(this);\n readonly vault = new Vault(this);\n\n constructor(\n readonly key?: string,\n readonly options: WorkOSOptions = {},\n ) {\n if (!key) {\n this.key = getEnv('WORKOS_API_KEY');\n\n if (!this.key) {\n throw new NoApiKeyProvidedException();\n }\n }\n\n if (this.options.https === undefined) {\n this.options.https = true;\n }\n\n this.clientId = this.options.clientId;\n if (!this.clientId) {\n this.clientId = getEnv('WORKOS_CLIENT_ID');\n }\n\n const protocol: string = this.options.https ? 'https' : 'http';\n const apiHostname: string = this.options.apiHostname || DEFAULT_HOSTNAME;\n const port: number | undefined = this.options.port;\n this.baseURL = `${protocol}://${apiHostname}`;\n\n if (port) {\n this.baseURL = this.baseURL + `:${port}`;\n }\n\n this.webhooks = this.createWebhookClient();\n this.actions = this.createActionsClient();\n\n // Must initialize UserManagement after baseURL is configured\n this.userManagement = new UserManagement(this);\n\n const userAgent = this.createUserAgent(options);\n\n this.client = this.createHttpClient(options, userAgent);\n }\n\n private createUserAgent(options: WorkOSOptions): string {\n let userAgent: string = `workos-node/${VERSION}`;\n\n const { name: runtimeName, version: runtimeVersion } = getRuntimeInfo();\n userAgent += ` (${runtimeName}${runtimeVersion ? `/${runtimeVersion}` : ''})`;\n\n if (options.appInfo) {\n const { name, version } = options.appInfo;\n userAgent += ` ${name}: ${version}`;\n }\n\n return userAgent;\n }\n\n createWebhookClient() {\n return new Webhooks(this.getCryptoProvider());\n }\n\n createActionsClient() {\n return new Actions(this.getCryptoProvider());\n }\n\n getCryptoProvider(): CryptoProvider {\n return new SubtleCryptoProvider();\n }\n\n createHttpClient(options: WorkOSOptions, userAgent: string) {\n return new FetchHttpClient(this.baseURL, {\n ...options.config,\n timeout: options.timeout,\n headers: {\n ...options.config?.headers,\n Authorization: `Bearer ${this.key}`,\n 'User-Agent': userAgent,\n },\n }) as HttpClient;\n }\n\n get version() {\n return VERSION;\n }\n\n async post<Result = any, Entity = any>(\n path: string,\n entity: Entity,\n options: PostOptions = {},\n ): Promise<{ data: Result }> {\n const requestHeaders: Record<string, string> = {};\n\n if (options.idempotencyKey) {\n requestHeaders[HEADER_IDEMPOTENCY_KEY] = options.idempotencyKey;\n }\n\n if (options.warrantToken) {\n requestHeaders[HEADER_WARRANT_TOKEN] = options.warrantToken;\n }\n\n let res: HttpClientResponseInterface;\n\n try {\n res = await this.client.post<Entity>(path, entity, {\n params: options.query,\n headers: requestHeaders,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n throw error;\n }\n\n try {\n return { data: await res.toJSON() };\n } catch (error) {\n await this.handleParseError(error, res);\n throw error;\n }\n }\n\n async get<Result = any>(\n path: string,\n options: GetOptions = {},\n ): Promise<{ data: Result }> {\n const requestHeaders: Record<string, string> = {};\n\n if (options.accessToken) {\n requestHeaders[HEADER_AUTHORIZATION] = `Bearer ${options.accessToken}`;\n }\n\n if (options.warrantToken) {\n requestHeaders[HEADER_WARRANT_TOKEN] = options.warrantToken;\n }\n\n let res: HttpClientResponseInterface;\n try {\n res = await this.client.get(path, {\n params: options.query,\n headers: requestHeaders,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n\n throw error;\n }\n\n try {\n return { data: await res.toJSON() };\n } catch (error) {\n await this.handleParseError(error, res);\n throw error;\n }\n }\n\n async put<Result = any, Entity = any>(\n path: string,\n entity: Entity,\n options: PutOptions = {},\n ): Promise<{ data: Result }> {\n const requestHeaders: Record<string, string> = {};\n\n if (options.idempotencyKey) {\n requestHeaders[HEADER_IDEMPOTENCY_KEY] = options.idempotencyKey;\n }\n\n let res: HttpClientResponseInterface;\n\n try {\n res = await this.client.put<Entity>(path, entity, {\n params: options.query,\n headers: requestHeaders,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n\n throw error;\n }\n\n try {\n return { data: await res.toJSON() };\n } catch (error) {\n await this.handleParseError(error, res);\n throw error;\n }\n }\n\n async delete(path: string, query?: any): Promise<void> {\n try {\n await this.client.delete(path, {\n params: query,\n });\n } catch (error) {\n this.handleHttpError({ path, error });\n\n throw error;\n }\n }\n\n emitWarning(warning: string) {\n // tslint:disable-next-line:no-console\n console.warn(`WorkOS: ${warning}`);\n }\n\n private async handleParseError(\n error: unknown,\n res: HttpClientResponseInterface,\n ) {\n if (error instanceof SyntaxError) {\n const rawResponse = res.getRawResponse() as Response;\n const requestID = rawResponse.headers.get('X-Request-ID') ?? '';\n const rawStatus = rawResponse.status;\n const rawBody = await rawResponse.text();\n throw new ParseError({\n message: error.message,\n rawBody,\n rawStatus,\n requestID,\n });\n }\n }\n\n private handleHttpError({ path, error }: { path: string; error: unknown }) {\n if (!(error instanceof HttpClientError)) {\n throw new Error(`Unexpected error: ${error}`, { cause: error });\n }\n\n const { response } = error as HttpClientError<WorkOSResponseError>;\n\n if (response) {\n const { status, data, headers } = response;\n\n const requestID = headers['X-Request-ID'] ?? '';\n const {\n code,\n error_description: errorDescription,\n error,\n errors,\n message,\n } = data;\n\n switch (status) {\n case 401: {\n throw new UnauthorizedException(requestID);\n }\n case 409: {\n throw new ConflictException({ requestID, message, error });\n }\n case 422: {\n throw new UnprocessableEntityException({\n code,\n errors,\n message,\n requestID,\n });\n }\n case 404: {\n throw new NotFoundException({\n code,\n message,\n path,\n requestID,\n });\n }\n case 429: {\n const retryAfter = headers.get('Retry-After');\n\n throw new RateLimitExceededException(\n data.message,\n requestID,\n retryAfter ? Number(retryAfter) : null,\n );\n }\n default: {\n if (error || errorDescription) {\n throw new OauthException(\n status,\n requestID,\n error,\n errorDescription,\n data,\n );\n } else if (code && errors) {\n // Note: ideally this should be mapped directly with a `400` status code.\n // However, this would break existing logic for the `OauthException` exception.\n throw new BadRequestException({\n code,\n errors,\n message,\n requestID,\n });\n } else {\n throw new GenericServerException(\n status,\n data.message,\n data,\n requestID,\n );\n }\n }\n }\n }\n }\n}\n"],"mappings":"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","names":["error"]}
|
package/lib/cjs/workos.d.cts
CHANGED
|
@@ -2,18 +2,24 @@ import './common/interfaces/get-options.interface.cjs';
|
|
|
2
2
|
import './common/interfaces/post-options.interface.cjs';
|
|
3
3
|
import './common/interfaces/put-options.interface.cjs';
|
|
4
4
|
import './common/interfaces/workos-options.interface.cjs';
|
|
5
|
-
export { W as WorkOS } from './workos-
|
|
5
|
+
export { W as WorkOS } from './workos-X1cDErJB.cjs';
|
|
6
6
|
import './webhooks/webhooks.cjs';
|
|
7
7
|
import './common/net/http-client.cjs';
|
|
8
8
|
import './actions/actions.cjs';
|
|
9
9
|
import './common/crypto/crypto-provider.cjs';
|
|
10
10
|
import './common/interfaces/app-info.interface.cjs';
|
|
11
|
-
import './
|
|
12
|
-
import './common/interfaces/
|
|
11
|
+
import './common/utils/pagination.cjs';
|
|
12
|
+
import './common/interfaces/pagination-options.interface.cjs';
|
|
13
|
+
import './common/interfaces/list.interface.cjs';
|
|
13
14
|
import './directory-sync/interfaces/directory.interface.cjs';
|
|
14
15
|
import './directory-sync/interfaces/directory-group.interface.cjs';
|
|
16
|
+
import './directory-sync/interfaces/list-directories-options.interface.cjs';
|
|
17
|
+
import './directory-sync/interfaces/list-groups-options.interface.cjs';
|
|
18
|
+
import './directory-sync/interfaces/list-directory-users-options.interface.cjs';
|
|
15
19
|
import './directory-sync/interfaces/directory-user.interface.cjs';
|
|
16
20
|
import './roles/interfaces/role.interface.cjs';
|
|
21
|
+
import './events/interfaces/list-events-options.interface.cjs';
|
|
22
|
+
import './common/interfaces/event.interface.cjs';
|
|
17
23
|
import './organizations/interfaces/organization.interface.cjs';
|
|
18
24
|
import './organization-domains/interfaces/organization-domain.interface.cjs';
|
|
19
25
|
import './sso/interfaces/connection.interface.cjs';
|
|
@@ -28,9 +34,6 @@ import './user-management/interfaces/magic-auth.interface.cjs';
|
|
|
28
34
|
import './user-management/interfaces/password-reset.interface.cjs';
|
|
29
35
|
import './user-management/interfaces/session.interface.cjs';
|
|
30
36
|
import './user-management/interfaces/impersonator.interface.cjs';
|
|
31
|
-
import './common/interfaces/list.interface.cjs';
|
|
32
|
-
import './common/utils/pagination.cjs';
|
|
33
|
-
import './common/interfaces/pagination-options.interface.cjs';
|
|
34
37
|
import './organizations/interfaces/create-organization-options.interface.cjs';
|
|
35
38
|
import './organizations/interfaces/domain-data.interface.cjs';
|
|
36
39
|
import './organizations/interfaces/list-organization-feature-flags-options.interface.cjs';
|
|
@@ -120,9 +123,8 @@ import './vault/interfaces/object/delete-object.interface.cjs';
|
|
|
120
123
|
import './vault/interfaces/object/read-object.interface.cjs';
|
|
121
124
|
import './vault/interfaces/object.interface.cjs';
|
|
122
125
|
import './vault/interfaces/object/update-object.interface.cjs';
|
|
123
|
-
import './
|
|
124
|
-
import './
|
|
125
|
-
import './directory-sync/interfaces/list-directory-users-options.interface.cjs';
|
|
126
|
+
import './api-keys/interfaces/validate-api-key.interface.cjs';
|
|
127
|
+
import './api-keys/interfaces/api-key.interface.cjs';
|
|
126
128
|
import './common/interfaces/http-client.interface.cjs';
|
|
127
129
|
import './actions/interfaces/action.interface.cjs';
|
|
128
130
|
import './actions/interfaces/response-payload.interface.cjs';
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
export { A as ApiKeys } from '../workos-DLj13cxf.js';
|
|
2
|
+
import './interfaces/validate-api-key.interface.js';
|
|
3
|
+
import '../common/interfaces/get-options.interface.js';
|
|
4
|
+
import '../common/interfaces/post-options.interface.js';
|
|
5
|
+
import '../common/interfaces/put-options.interface.js';
|
|
6
|
+
import '../common/interfaces/workos-options.interface.js';
|
|
7
|
+
import '../common/interfaces/app-info.interface.js';
|
|
8
|
+
import '../common/utils/pagination.js';
|
|
9
|
+
import '../common/interfaces/pagination-options.interface.js';
|
|
10
|
+
import '../common/interfaces/list.interface.js';
|
|
11
|
+
import '../directory-sync/interfaces/directory.interface.js';
|
|
12
|
+
import '../directory-sync/interfaces/directory-group.interface.js';
|
|
13
|
+
import '../directory-sync/interfaces/list-directories-options.interface.js';
|
|
14
|
+
import '../directory-sync/interfaces/list-groups-options.interface.js';
|
|
15
|
+
import '../directory-sync/interfaces/list-directory-users-options.interface.js';
|
|
16
|
+
import '../directory-sync/interfaces/directory-user.interface.js';
|
|
17
|
+
import '../roles/interfaces/role.interface.js';
|
|
18
|
+
import '../events/interfaces/list-events-options.interface.js';
|
|
19
|
+
import '../common/interfaces/event.interface.js';
|
|
20
|
+
import '../organizations/interfaces/organization.interface.js';
|
|
21
|
+
import '../organization-domains/interfaces/organization-domain.interface.js';
|
|
22
|
+
import '../sso/interfaces/connection.interface.js';
|
|
23
|
+
import '../sso/interfaces/connection-type.enum.js';
|
|
24
|
+
import '../user-management/interfaces/user.interface.js';
|
|
25
|
+
import '../user-management/interfaces/authentication-event.interface.js';
|
|
26
|
+
import '../user-management/interfaces/authentication-radar-risk-detected-event.interface.js';
|
|
27
|
+
import '../user-management/interfaces/email-verification.interface.js';
|
|
28
|
+
import '../user-management/interfaces/invitation.interface.js';
|
|
29
|
+
import '../user-management/interfaces/organization-membership.interface.js';
|
|
30
|
+
import '../user-management/interfaces/magic-auth.interface.js';
|
|
31
|
+
import '../user-management/interfaces/password-reset.interface.js';
|
|
32
|
+
import '../user-management/interfaces/session.interface.js';
|
|
33
|
+
import '../user-management/interfaces/impersonator.interface.js';
|
|
34
|
+
import '../organizations/interfaces/create-organization-options.interface.js';
|
|
35
|
+
import '../organizations/interfaces/domain-data.interface.js';
|
|
36
|
+
import '../organizations/interfaces/list-organization-feature-flags-options.interface.js';
|
|
37
|
+
import '../organizations/interfaces/list-organizations-options.interface.js';
|
|
38
|
+
import '../organizations/interfaces/update-organization-options.interface.js';
|
|
39
|
+
import '../feature-flags/interfaces/feature-flag.interface.js';
|
|
40
|
+
import '../organizations/interfaces/list-organization-roles-options.interface.js';
|
|
41
|
+
import '../organization-domains/interfaces/create-organization-domain-options.interface.js';
|
|
42
|
+
import '../passwordless/interfaces/passwordless-session.interface.js';
|
|
43
|
+
import '../passwordless/interfaces/create-passwordless-session-options.interface.js';
|
|
44
|
+
import '../passwordless/interfaces/send-session-response.interface.js';
|
|
45
|
+
import '../portal/interfaces/generate-portal-link-intent.interface.js';
|
|
46
|
+
import '../common/interfaces/unknown-record.interface.js';
|
|
47
|
+
import '../sso/interfaces/authorization-url-options.interface.js';
|
|
48
|
+
import '../sso/interfaces/get-profile-options.interface.js';
|
|
49
|
+
import '../sso/interfaces/get-profile-and-token-options.interface.js';
|
|
50
|
+
import '../sso/interfaces/list-connections-options.interface.js';
|
|
51
|
+
import '../sso/interfaces/profile-and-token.interface.js';
|
|
52
|
+
import '../user-management/interfaces/oauth-tokens.interface.js';
|
|
53
|
+
import '../sso/interfaces/profile.interface.js';
|
|
54
|
+
import '../webhooks/webhooks.js';
|
|
55
|
+
import '../common/crypto/crypto-provider.js';
|
|
56
|
+
import '../mfa/interfaces/challenge-factor-options.js';
|
|
57
|
+
import '../mfa/interfaces/challenge.interface.js';
|
|
58
|
+
import '../mfa/interfaces/enroll-factor-options.js';
|
|
59
|
+
import '../mfa/interfaces/factor.interface.js';
|
|
60
|
+
import '../mfa/interfaces/sms.interface.js';
|
|
61
|
+
import '../mfa/interfaces/totp.interface.js';
|
|
62
|
+
import '../mfa/interfaces/verify-challenge-options.js';
|
|
63
|
+
import '../mfa/interfaces/verify-challenge-response.js';
|
|
64
|
+
import '../audit-logs/interfaces/audit-log-export-options.interface.js';
|
|
65
|
+
import '../audit-logs/interfaces/audit-log-export.interface.js';
|
|
66
|
+
import '../audit-logs/interfaces/create-audit-log-event-options.interface.js';
|
|
67
|
+
import '../audit-logs/interfaces/create-audit-log-schema-options.interface.js';
|
|
68
|
+
import 'jose';
|
|
69
|
+
import '../user-management-qKHMGyQi.js';
|
|
70
|
+
import '../user-management/interfaces/authenticate-with-code-options.interface.js';
|
|
71
|
+
import '../user-management/interfaces/authenticate-with-options-base.interface.js';
|
|
72
|
+
import '../user-management/interfaces/authenticate-with-code-and-verifier-options.interface.js';
|
|
73
|
+
import '../user-management/interfaces/authenticate-with-email-verification-options.interface.js';
|
|
74
|
+
import '../user-management/interfaces/authenticate-with-magic-auth-options.interface.js';
|
|
75
|
+
import '../user-management/interfaces/authenticate-with-organization-selection.interface.js';
|
|
76
|
+
import '../user-management/interfaces/authenticate-with-password-options.interface.js';
|
|
77
|
+
import '../user-management/interfaces/authenticate-with-refresh-token-options.interface.js';
|
|
78
|
+
import '../user-management/interfaces/authenticate-with-session-cookie.interface.js';
|
|
79
|
+
import '../user-management/interfaces/authentication-response.interface.js';
|
|
80
|
+
import '../user-management/interfaces/authenticate-with-totp-options.interface.js';
|
|
81
|
+
import '../user-management/interfaces/authorization-url-options.interface.js';
|
|
82
|
+
import '../user-management/interfaces/create-magic-auth-options.interface.js';
|
|
83
|
+
import '../user-management/interfaces/create-organization-membership-options.interface.js';
|
|
84
|
+
import '../user-management/interfaces/create-password-reset-options.interface.js';
|
|
85
|
+
import '../user-management/interfaces/create-user-options.interface.js';
|
|
86
|
+
import '../user-management/interfaces/password-hash-type.interface.js';
|
|
87
|
+
import '../user-management/interfaces/enroll-auth-factor.interface.js';
|
|
88
|
+
import '../user-management/interfaces/factor.interface.js';
|
|
89
|
+
import '../user-management/interfaces/identity.interface.js';
|
|
90
|
+
import '../user-management/interfaces/list-auth-factors-options.interface.js';
|
|
91
|
+
import '../user-management/interfaces/list-invitations-options.interface.js';
|
|
92
|
+
import '../user-management/interfaces/list-organization-memberships-options.interface.js';
|
|
93
|
+
import '../user-management/interfaces/list-sessions-options.interface.js';
|
|
94
|
+
import '../user-management/interfaces/list-user-feature-flags-options.interface.js';
|
|
95
|
+
import '../user-management/interfaces/list-users-options.interface.js';
|
|
96
|
+
import '../user-management/interfaces/reset-password-options.interface.js';
|
|
97
|
+
import '../user-management/interfaces/revoke-session-options.interface.js';
|
|
98
|
+
import '../user-management/interfaces/send-invitation-options.interface.js';
|
|
99
|
+
import '../user-management/interfaces/send-verification-email-options.interface.js';
|
|
100
|
+
import '../user-management/interfaces/update-organization-membership-options.interface.js';
|
|
101
|
+
import '../user-management/interfaces/update-user-options.interface.js';
|
|
102
|
+
import '../user-management/interfaces/verify-email-options.interface.js';
|
|
103
|
+
import '../user-management/interfaces/session-handler-options.interface.js';
|
|
104
|
+
import '../user-management/interfaces/refresh-and-seal-session-data.interface.js';
|
|
105
|
+
import '../fga/interfaces/check.interface.js';
|
|
106
|
+
import '../fga/interfaces/resource.interface.js';
|
|
107
|
+
import '../fga/interfaces/resource-op.enum.js';
|
|
108
|
+
import '../fga/interfaces/warrant.interface.js';
|
|
109
|
+
import '../fga/interfaces/warrant-op.enum.js';
|
|
110
|
+
import '../fga/interfaces/check-op.enum.js';
|
|
111
|
+
import '../fga/interfaces/warning.interface.js';
|
|
112
|
+
import '../fga/interfaces/query.interface.js';
|
|
113
|
+
import '../fga/interfaces/warrant-token.interface.js';
|
|
114
|
+
import '../fga/utils/fga-paginatable.js';
|
|
115
|
+
import '../fga/interfaces/list.interface.js';
|
|
116
|
+
import '../common/net/http-client.js';
|
|
117
|
+
import '../common/interfaces/http-client.interface.js';
|
|
118
|
+
import '../widgets/interfaces/get-token.js';
|
|
119
|
+
import '../actions/actions.js';
|
|
120
|
+
import '../actions/interfaces/action.interface.js';
|
|
121
|
+
import '../actions/interfaces/response-payload.interface.js';
|
|
122
|
+
import '../vault/interfaces/key/create-data-key.interface.js';
|
|
123
|
+
import '../vault/interfaces/key.interface.js';
|
|
124
|
+
import '../vault/interfaces/key/decrypt-data-key.interface.js';
|
|
125
|
+
import '../vault/interfaces/object/create-object.interface.js';
|
|
126
|
+
import '../vault/interfaces/object/delete-object.interface.js';
|
|
127
|
+
import '../vault/interfaces/object/read-object.interface.js';
|
|
128
|
+
import '../vault/interfaces/object.interface.js';
|
|
129
|
+
import '../vault/interfaces/object/update-object.interface.js';
|
|
130
|
+
import './interfaces/api-key.interface.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { deserializeValidateApiKeyResponse } from "./serializers/validate-api-key.serializer.js";
|
|
4
|
+
class ApiKeys {
|
|
5
|
+
constructor(workos) {
|
|
6
|
+
this.workos = workos;
|
|
7
|
+
}
|
|
8
|
+
static {
|
|
9
|
+
__name(this, "ApiKeys");
|
|
10
|
+
}
|
|
11
|
+
async validateApiKey(payload) {
|
|
12
|
+
const { data } = await this.workos.post(
|
|
13
|
+
"/api_keys/validations",
|
|
14
|
+
payload
|
|
15
|
+
);
|
|
16
|
+
return deserializeValidateApiKeyResponse(data);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
ApiKeys
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=api-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api-keys/api-keys.ts"],"sourcesContent":["import { WorkOS } from '../workos';\nimport {\n SerializedValidateApiKeyResponse,\n ValidateApiKeyOptions,\n ValidateApiKeyResponse,\n} from './interfaces/validate-api-key.interface';\nimport { deserializeValidateApiKeyResponse } from './serializers/validate-api-key.serializer';\n\nexport class ApiKeys {\n constructor(private readonly workos: WorkOS) {}\n\n async validateApiKey(\n payload: ValidateApiKeyOptions,\n ): Promise<ValidateApiKeyResponse> {\n const { data } = await this.workos.post<SerializedValidateApiKeyResponse>(\n '/api_keys/validations',\n payload,\n );\n\n return deserializeValidateApiKeyResponse(data);\n }\n}\n"],"mappings":";;AAMA,SAAS,yCAAyC;AAE3C,MAAM,QAAQ;AAAA,EACnB,YAA6B,QAAgB;AAAhB;AAAA,EAAiB;AAAA,EAThD,OAQqB;AAAA;AAAA;AAAA,EAGnB,MAAM,eACJ,SACiC;AACjC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO;AAAA,MACjC;AAAA,MACA;AAAA,IACF;AAEA,WAAO,kCAAkC,IAAI;AAAA,EAC/C;AACF;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface ApiKey {
|
|
2
|
+
object: 'api_key';
|
|
3
|
+
id: string;
|
|
4
|
+
owner: {
|
|
5
|
+
type: 'organization';
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
name: string;
|
|
9
|
+
obfuscatedValue: string;
|
|
10
|
+
lastUsedAt: string | null;
|
|
11
|
+
permissions: string[];
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
}
|
|
15
|
+
interface SerializedApiKey {
|
|
16
|
+
object: 'api_key';
|
|
17
|
+
id: string;
|
|
18
|
+
owner: {
|
|
19
|
+
type: 'organization';
|
|
20
|
+
id: string;
|
|
21
|
+
};
|
|
22
|
+
name: string;
|
|
23
|
+
obfuscated_value: string;
|
|
24
|
+
last_used_at: string | null;
|
|
25
|
+
permissions: string[];
|
|
26
|
+
created_at: string;
|
|
27
|
+
updated_at: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type { ApiKey, SerializedApiKey };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=api-key.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ApiKey, SerializedApiKey } from './api-key.interface.js';
|
|
2
|
+
|
|
3
|
+
interface ValidateApiKeyOptions {
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
interface ValidateApiKeyResponse {
|
|
7
|
+
apiKey: ApiKey | null;
|
|
8
|
+
}
|
|
9
|
+
interface SerializedValidateApiKeyResponse {
|
|
10
|
+
api_key: SerializedApiKey | null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type { SerializedValidateApiKeyResponse, ValidateApiKeyOptions, ValidateApiKeyResponse };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=validate-api-key.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
function deserializeApiKey(apiKey) {
|
|
4
|
+
return {
|
|
5
|
+
object: apiKey.object,
|
|
6
|
+
id: apiKey.id,
|
|
7
|
+
owner: apiKey.owner,
|
|
8
|
+
name: apiKey.name,
|
|
9
|
+
obfuscatedValue: apiKey.obfuscated_value,
|
|
10
|
+
lastUsedAt: apiKey.last_used_at,
|
|
11
|
+
permissions: apiKey.permissions,
|
|
12
|
+
createdAt: apiKey.created_at,
|
|
13
|
+
updatedAt: apiKey.updated_at
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
__name(deserializeApiKey, "deserializeApiKey");
|
|
17
|
+
export {
|
|
18
|
+
deserializeApiKey
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=api-key.serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/api-keys/serializers/api-key.serializer.ts"],"sourcesContent":["import { ApiKey, SerializedApiKey } from '../interfaces/api-key.interface';\n\nexport function deserializeApiKey(apiKey: SerializedApiKey): ApiKey {\n return {\n object: apiKey.object,\n id: apiKey.id,\n owner: apiKey.owner,\n name: apiKey.name,\n obfuscatedValue: apiKey.obfuscated_value,\n lastUsedAt: apiKey.last_used_at,\n permissions: apiKey.permissions,\n createdAt: apiKey.created_at,\n updatedAt: apiKey.updated_at,\n };\n}\n"],"mappings":";;AAEO,SAAS,kBAAkB,QAAkC;AAClE,SAAO;AAAA,IACL,QAAQ,OAAO;AAAA,IACf,IAAI,OAAO;AAAA,IACX,OAAO,OAAO;AAAA,IACd,MAAM,OAAO;AAAA,IACb,iBAAiB,OAAO;AAAA,IACxB,YAAY,OAAO;AAAA,IACnB,aAAa,OAAO;AAAA,IACpB,WAAW,OAAO;AAAA,IAClB,WAAW,OAAO;AAAA,EACpB;AACF;AAZgB;","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SerializedValidateApiKeyResponse, ValidateApiKeyResponse } from '../interfaces/validate-api-key.interface.js';
|
|
2
|
+
import '../interfaces/api-key.interface.js';
|
|
3
|
+
|
|
4
|
+
declare function deserializeValidateApiKeyResponse(response: SerializedValidateApiKeyResponse): ValidateApiKeyResponse;
|
|
5
|
+
|
|
6
|
+
export { deserializeValidateApiKeyResponse };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { deserializeApiKey } from "./api-key.serializer.js";
|
|
4
|
+
function deserializeValidateApiKeyResponse(response) {
|
|
5
|
+
return {
|
|
6
|
+
apiKey: response.api_key ? deserializeApiKey(response.api_key) : null
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
__name(deserializeValidateApiKeyResponse, "deserializeValidateApiKeyResponse");
|
|
10
|
+
export {
|
|
11
|
+
deserializeValidateApiKeyResponse
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=validate-api-key.serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/api-keys/serializers/validate-api-key.serializer.ts"],"sourcesContent":["import {\n SerializedValidateApiKeyResponse,\n ValidateApiKeyResponse,\n} from '../interfaces/validate-api-key.interface';\nimport { deserializeApiKey } from './api-key.serializer';\n\nexport function deserializeValidateApiKeyResponse(\n response: SerializedValidateApiKeyResponse,\n): ValidateApiKeyResponse {\n return {\n apiKey: response.api_key ? deserializeApiKey(response.api_key) : null,\n };\n}\n"],"mappings":";;AAIA,SAAS,yBAAyB;AAE3B,SAAS,kCACd,UACwB;AACxB,SAAO;AAAA,IACL,QAAQ,SAAS,UAAU,kBAAkB,SAAS,OAAO,IAAI;AAAA,EACnE;AACF;AANgB;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { c as AuditLogs } from '../workos-DLj13cxf.js';
|
|
2
2
|
import './interfaces/audit-log-export-options.interface.js';
|
|
3
3
|
import './interfaces/audit-log-export.interface.js';
|
|
4
4
|
import './interfaces/create-audit-log-event-options.interface.js';
|
|
@@ -8,12 +8,18 @@ import '../common/interfaces/post-options.interface.js';
|
|
|
8
8
|
import '../common/interfaces/put-options.interface.js';
|
|
9
9
|
import '../common/interfaces/workos-options.interface.js';
|
|
10
10
|
import '../common/interfaces/app-info.interface.js';
|
|
11
|
-
import '../
|
|
12
|
-
import '../common/interfaces/
|
|
11
|
+
import '../common/utils/pagination.js';
|
|
12
|
+
import '../common/interfaces/pagination-options.interface.js';
|
|
13
|
+
import '../common/interfaces/list.interface.js';
|
|
13
14
|
import '../directory-sync/interfaces/directory.interface.js';
|
|
14
15
|
import '../directory-sync/interfaces/directory-group.interface.js';
|
|
16
|
+
import '../directory-sync/interfaces/list-directories-options.interface.js';
|
|
17
|
+
import '../directory-sync/interfaces/list-groups-options.interface.js';
|
|
18
|
+
import '../directory-sync/interfaces/list-directory-users-options.interface.js';
|
|
15
19
|
import '../directory-sync/interfaces/directory-user.interface.js';
|
|
16
20
|
import '../roles/interfaces/role.interface.js';
|
|
21
|
+
import '../events/interfaces/list-events-options.interface.js';
|
|
22
|
+
import '../common/interfaces/event.interface.js';
|
|
17
23
|
import '../organizations/interfaces/organization.interface.js';
|
|
18
24
|
import '../organization-domains/interfaces/organization-domain.interface.js';
|
|
19
25
|
import '../sso/interfaces/connection.interface.js';
|
|
@@ -28,9 +34,6 @@ import '../user-management/interfaces/magic-auth.interface.js';
|
|
|
28
34
|
import '../user-management/interfaces/password-reset.interface.js';
|
|
29
35
|
import '../user-management/interfaces/session.interface.js';
|
|
30
36
|
import '../user-management/interfaces/impersonator.interface.js';
|
|
31
|
-
import '../common/interfaces/list.interface.js';
|
|
32
|
-
import '../common/utils/pagination.js';
|
|
33
|
-
import '../common/interfaces/pagination-options.interface.js';
|
|
34
37
|
import '../organizations/interfaces/create-organization-options.interface.js';
|
|
35
38
|
import '../organizations/interfaces/domain-data.interface.js';
|
|
36
39
|
import '../organizations/interfaces/list-organization-feature-flags-options.interface.js';
|
|
@@ -123,6 +126,5 @@ import '../vault/interfaces/object/delete-object.interface.js';
|
|
|
123
126
|
import '../vault/interfaces/object/read-object.interface.js';
|
|
124
127
|
import '../vault/interfaces/object.interface.js';
|
|
125
128
|
import '../vault/interfaces/object/update-object.interface.js';
|
|
126
|
-
import '../
|
|
127
|
-
import '../
|
|
128
|
-
import '../directory-sync/interfaces/list-directory-users-options.interface.js';
|
|
129
|
+
import '../api-keys/interfaces/validate-api-key.interface.js';
|
|
130
|
+
import '../api-keys/interfaces/api-key.interface.js';
|
package/lib/esm/client/sso.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { toQueryString } from "
|
|
3
|
+
import { toQueryString } from "../common/utils/query-string.js";
|
|
4
4
|
function getAuthorizationUrl(options) {
|
|
5
5
|
const {
|
|
6
6
|
connection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/sso.ts"],"sourcesContent":["import { toQueryString } from '
|
|
1
|
+
{"version":3,"sources":["../../../src/client/sso.ts"],"sourcesContent":["import { toQueryString } from '../common/utils/query-string';\nimport type { SSOAuthorizationURLOptions as BaseSSOAuthorizationURLOptions } from '../sso/interfaces';\n\n// Extend the base options to include baseURL for internal use\nexport type SSOAuthorizationURLOptions = BaseSSOAuthorizationURLOptions & {\n baseURL?: string;\n};\n\n/**\n * Generates the authorization URL for SSO authentication.\n * Does not require an API key, suitable for OAuth client operations.\n *\n * @param options - SSO authorization URL options\n * @returns The authorization URL as a string\n * @throws Error if required arguments are missing\n */\nexport function getAuthorizationUrl(\n options: SSOAuthorizationURLOptions,\n): string {\n const {\n connection,\n clientId,\n domainHint,\n loginHint,\n organization,\n provider,\n providerQueryParams,\n providerScopes,\n redirectUri,\n state,\n baseURL = 'https://api.workos.com',\n } = options;\n\n if (!provider && !connection && !organization) {\n throw new Error(\n `Incomplete arguments. Need to specify either a 'connection', 'organization', or 'provider'.`,\n );\n }\n\n const query = toQueryString({\n connection,\n organization,\n domain_hint: domainHint,\n login_hint: loginHint,\n provider,\n provider_query_params: providerQueryParams,\n provider_scopes: providerScopes,\n client_id: clientId,\n redirect_uri: redirectUri,\n response_type: 'code',\n state,\n });\n\n return `${baseURL}/sso/authorize?${query}`;\n}\n"],"mappings":";;AAAA,SAAS,qBAAqB;AAgBvB,SAAS,oBACd,SACQ;AACR,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ,IAAI;AAEJ,MAAI,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc;AAC7C,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QAAQ,cAAc;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,YAAY;AAAA,IACZ;AAAA,IACA,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,IACf;AAAA,EACF,CAAC;AAED,SAAO,GAAG,OAAO,kBAAkB,KAAK;AAC1C;AAtCgB;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { toQueryString } from "
|
|
3
|
+
import { toQueryString } from "../common/utils/query-string.js";
|
|
4
4
|
function getAuthorizationUrl(options) {
|
|
5
5
|
const {
|
|
6
6
|
connectionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/client/user-management.ts"],"sourcesContent":["import { toQueryString } from '
|
|
1
|
+
{"version":3,"sources":["../../../src/client/user-management.ts"],"sourcesContent":["import { toQueryString } from '../common/utils/query-string';\n\n// Re-export necessary interfaces for client use\nexport interface AuthorizationURLOptions {\n clientId: string;\n codeChallenge?: string;\n codeChallengeMethod?: 'S256';\n connectionId?: string;\n organizationId?: string;\n domainHint?: string;\n loginHint?: string;\n provider?: string;\n providerQueryParams?: Record<string, string | boolean | number>;\n providerScopes?: string[];\n prompt?: string;\n redirectUri: string;\n state?: string;\n screenHint?: 'sign-up' | 'sign-in';\n}\n\nexport interface LogoutURLOptions {\n sessionId: string;\n returnTo?: string;\n}\n\n/**\n * Generates the authorization URL for OAuth client authentication.\n * Suitable for PKCE flows and other OAuth client operations that don't require an API key.\n *\n * @param options - Authorization URL options\n * @returns The authorization URL as a string\n * @throws TypeError if required arguments are missing\n */\nexport function getAuthorizationUrl(\n options: AuthorizationURLOptions & { baseURL?: string },\n): string {\n const {\n connectionId,\n codeChallenge,\n codeChallengeMethod,\n clientId,\n domainHint,\n loginHint,\n organizationId,\n provider,\n providerQueryParams,\n providerScopes,\n prompt,\n redirectUri,\n state,\n screenHint,\n baseURL = 'https://api.workos.com',\n } = options;\n\n if (!provider && !connectionId && !organizationId) {\n throw new TypeError(\n `Incomplete arguments. Need to specify either a 'connectionId', 'organizationId', or 'provider'.`,\n );\n }\n\n if (provider !== 'authkit' && screenHint) {\n throw new TypeError(\n `'screenHint' is only supported for 'authkit' provider`,\n );\n }\n\n const query = toQueryString({\n connection_id: connectionId,\n code_challenge: codeChallenge,\n code_challenge_method: codeChallengeMethod,\n organization_id: organizationId,\n domain_hint: domainHint,\n login_hint: loginHint,\n provider,\n provider_query_params: providerQueryParams,\n provider_scopes: providerScopes,\n prompt,\n client_id: clientId,\n redirect_uri: redirectUri,\n response_type: 'code',\n state,\n screen_hint: screenHint,\n });\n\n return `${baseURL}/user_management/authorize?${query}`;\n}\n\n/**\n * Generates the logout URL for ending a user session.\n * This method is safe to use in browser environments as it doesn't require an API key.\n *\n * @param options - Logout URL options\n * @returns The logout URL as a string\n * @throws TypeError if sessionId is not provided\n */\nexport function getLogoutUrl(\n options: LogoutURLOptions & { baseURL?: string },\n): string {\n const { sessionId, returnTo, baseURL = 'https://api.workos.com' } = options;\n\n if (!sessionId) {\n throw new TypeError(`Incomplete arguments. Need to specify 'sessionId'.`);\n }\n\n const url = new URL('/user_management/sessions/logout', baseURL);\n\n url.searchParams.set('session_id', sessionId);\n if (returnTo) {\n url.searchParams.set('return_to', returnTo);\n }\n\n return url.toString();\n}\n\n/**\n * Gets the JWKS (JSON Web Key Set) URL for a given client ID.\n * Does not require an API key, returns the public JWKS endpoint.\n *\n * @param clientId - The WorkOS client ID\n * @param baseURL - Optional base URL for the API (defaults to https://api.workos.com)\n * @returns The JWKS URL as a string\n * @throws TypeError if clientId is not provided\n */\nexport function getJwksUrl(\n clientId: string,\n baseURL = 'https://api.workos.com',\n): string {\n if (!clientId) {\n throw new TypeError('clientId must be a valid clientId');\n }\n\n return `${baseURL}/sso/jwks/${clientId}`;\n}\n"],"mappings":";;AAAA,SAAS,qBAAqB;AAiCvB,SAAS,oBACd,SACQ;AACR,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ,IAAI;AAEJ,MAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,gBAAgB;AACjD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,MAAI,aAAa,aAAa,YAAY;AACxC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QAAQ,cAAc;AAAA,IAC1B,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,YAAY;AAAA,IACZ;AAAA,IACA,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,IACf;AAAA,IACA,aAAa;AAAA,EACf,CAAC;AAED,SAAO,GAAG,OAAO,8BAA8B,KAAK;AACtD;AApDgB;AA8DT,SAAS,aACd,SACQ;AACR,QAAM,EAAE,WAAW,UAAU,UAAU,yBAAyB,IAAI;AAEpE,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,UAAU,oDAAoD;AAAA,EAC1E;AAEA,QAAM,MAAM,IAAI,IAAI,oCAAoC,OAAO;AAE/D,MAAI,aAAa,IAAI,cAAc,SAAS;AAC5C,MAAI,UAAU;AACZ,QAAI,aAAa,IAAI,aAAa,QAAQ;AAAA,EAC5C;AAEA,SAAO,IAAI,SAAS;AACtB;AAjBgB;AA4BT,SAAS,WACd,UACA,UAAU,0BACF;AACR,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,UAAU,mCAAmC;AAAA,EACzD;AAEA,SAAO,GAAG,OAAO,aAAa,QAAQ;AACxC;AATgB;","names":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import pluralize from "pluralize";
|
|
4
3
|
class UnprocessableEntityException extends Error {
|
|
5
4
|
static {
|
|
6
5
|
__name(this, "UnprocessableEntityException");
|
|
@@ -25,7 +24,7 @@ class UnprocessableEntityException extends Error {
|
|
|
25
24
|
this.code = code;
|
|
26
25
|
}
|
|
27
26
|
if (errors) {
|
|
28
|
-
const requirement =
|
|
27
|
+
const requirement = errors.length === 1 ? "requirement" : "requirements";
|
|
29
28
|
this.message = `The following ${requirement} must be met:
|
|
30
29
|
`;
|
|
31
30
|
for (const { code: code2 } of errors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/common/exceptions/unprocessable-entity.exception.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/common/exceptions/unprocessable-entity.exception.ts"],"sourcesContent":["import { UnprocessableEntityError } from '../interfaces';\nimport { RequestException } from '../interfaces/request-exception.interface';\n\nexport class UnprocessableEntityException\n extends Error\n implements RequestException\n{\n readonly status = 422;\n readonly name = 'UnprocessableEntityException';\n readonly message: string = 'Unprocessable entity';\n readonly code?: string;\n readonly requestID: string;\n\n constructor({\n code,\n errors,\n message,\n requestID,\n }: {\n code?: string;\n errors?: UnprocessableEntityError[];\n message?: string;\n requestID: string;\n }) {\n super();\n\n this.requestID = requestID;\n\n if (message) {\n this.message = message;\n }\n\n if (code) {\n this.code = code;\n }\n\n if (errors) {\n const requirement = errors.length === 1 ? 'requirement' : 'requirements';\n\n this.message = `The following ${requirement} must be met:\\n`;\n\n for (const { code } of errors) {\n this.message = this.message.concat(`\\t${code}\\n`);\n }\n }\n }\n}\n"],"mappings":";;AAGO,MAAM,qCACH,MAEV;AAAA,EANA,OAMA;AAAA;AAAA;AAAA,EACW,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EAET,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAKG;AACD,UAAM;AAEN,SAAK,YAAY;AAEjB,QAAI,SAAS;AACX,WAAK,UAAU;AAAA,IACjB;AAEA,QAAI,MAAM;AACR,WAAK,OAAO;AAAA,IACd;AAEA,QAAI,QAAQ;AACV,YAAM,cAAc,OAAO,WAAW,IAAI,gBAAgB;AAE1D,WAAK,UAAU,iBAAiB,WAAW;AAAA;AAE3C,iBAAW,EAAE,MAAAA,MAAK,KAAK,QAAQ;AAC7B,aAAK,UAAU,KAAK,QAAQ,OAAO,IAAKA,KAAI;AAAA,CAAI;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;","names":["code"]}
|
|
@@ -32,7 +32,7 @@ class FetchHttpClient extends HttpClient {
|
|
|
32
32
|
path,
|
|
33
33
|
options.params
|
|
34
34
|
);
|
|
35
|
-
if (
|
|
35
|
+
if (HttpClient.isPathRetryable(path)) {
|
|
36
36
|
return await this.fetchRequestWithRetry(
|
|
37
37
|
resourceURL,
|
|
38
38
|
"GET",
|
|
@@ -49,7 +49,7 @@ class FetchHttpClient extends HttpClient {
|
|
|
49
49
|
path,
|
|
50
50
|
options.params
|
|
51
51
|
);
|
|
52
|
-
if (
|
|
52
|
+
if (HttpClient.isPathRetryable(path)) {
|
|
53
53
|
return await this.fetchRequestWithRetry(
|
|
54
54
|
resourceURL,
|
|
55
55
|
"POST",
|
|
@@ -77,7 +77,7 @@ class FetchHttpClient extends HttpClient {
|
|
|
77
77
|
path,
|
|
78
78
|
options.params
|
|
79
79
|
);
|
|
80
|
-
if (
|
|
80
|
+
if (HttpClient.isPathRetryable(path)) {
|
|
81
81
|
return await this.fetchRequestWithRetry(
|
|
82
82
|
resourceURL,
|
|
83
83
|
"PUT",
|
|
@@ -105,7 +105,7 @@ class FetchHttpClient extends HttpClient {
|
|
|
105
105
|
path,
|
|
106
106
|
options.params
|
|
107
107
|
);
|
|
108
|
-
if (
|
|
108
|
+
if (HttpClient.isPathRetryable(path)) {
|
|
109
109
|
return await this.fetchRequestWithRetry(
|
|
110
110
|
resourceURL,
|
|
111
111
|
"DELETE",
|