@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.
Files changed (136) hide show
  1. package/lib/cjs/api-keys/api-keys.cjs +45 -0
  2. package/lib/cjs/api-keys/api-keys.cjs.map +1 -0
  3. package/lib/cjs/api-keys/api-keys.d.cts +130 -0
  4. package/lib/cjs/api-keys/interfaces/api-key.interface.cjs +17 -0
  5. package/lib/cjs/api-keys/interfaces/api-key.interface.cjs.map +1 -0
  6. package/lib/cjs/api-keys/interfaces/api-key.interface.d.cts +30 -0
  7. package/lib/cjs/api-keys/interfaces/validate-api-key.interface.cjs +17 -0
  8. package/lib/cjs/api-keys/interfaces/validate-api-key.interface.cjs.map +1 -0
  9. package/lib/cjs/api-keys/interfaces/validate-api-key.interface.d.cts +13 -0
  10. package/lib/cjs/api-keys/serializers/api-key.serializer.cjs +43 -0
  11. package/lib/cjs/api-keys/serializers/api-key.serializer.cjs.map +1 -0
  12. package/lib/cjs/api-keys/serializers/api-key.serializer.d.cts +5 -0
  13. package/lib/cjs/api-keys/serializers/validate-api-key.serializer.cjs +36 -0
  14. package/lib/cjs/api-keys/serializers/validate-api-key.serializer.cjs.map +1 -0
  15. package/lib/cjs/api-keys/serializers/validate-api-key.serializer.d.cts +6 -0
  16. package/lib/cjs/audit-logs/audit-logs.d.cts +11 -9
  17. package/lib/cjs/client/sso.cjs +2 -2
  18. package/lib/cjs/client/sso.cjs.map +1 -1
  19. package/lib/cjs/client/user-management.cjs +2 -2
  20. package/lib/cjs/client/user-management.cjs.map +1 -1
  21. package/lib/cjs/common/exceptions/unprocessable-entity.exception.cjs +1 -12
  22. package/lib/cjs/common/exceptions/unprocessable-entity.exception.cjs.map +1 -1
  23. package/lib/cjs/common/net/fetch-client.cjs +4 -4
  24. package/lib/cjs/common/net/fetch-client.cjs.map +1 -1
  25. package/lib/cjs/common/net/http-client.cjs +4 -1
  26. package/lib/cjs/common/net/http-client.cjs.map +1 -1
  27. package/lib/cjs/common/net/http-client.d.cts +1 -0
  28. package/lib/cjs/common/utils/fetch-and-deserialize.d.cts +9 -7
  29. package/lib/cjs/common/utils/leb128.cjs +101 -0
  30. package/lib/cjs/common/utils/leb128.cjs.map +1 -0
  31. package/lib/cjs/common/utils/leb128.d.cts +24 -0
  32. package/lib/cjs/common/utils/query-string.cjs +66 -0
  33. package/lib/cjs/common/utils/query-string.cjs.map +1 -0
  34. package/lib/cjs/common/utils/query-string.d.cts +11 -0
  35. package/lib/cjs/directory-sync/directory-sync.d.cts +3 -1
  36. package/lib/cjs/events/events.d.cts +10 -8
  37. package/lib/cjs/fga/fga.d.cts +9 -7
  38. package/lib/cjs/fga/utils/fetch-and-deserialize-list.d.cts +10 -8
  39. package/lib/cjs/index.d.cts +3 -1
  40. package/lib/cjs/index.worker.d.cts +3 -1
  41. package/lib/cjs/mfa/mfa.d.cts +11 -9
  42. package/lib/cjs/organization-domains/organization-domains.d.cts +11 -9
  43. package/lib/cjs/organizations/organizations.d.cts +8 -6
  44. package/lib/cjs/passwordless/passwordless.d.cts +11 -9
  45. package/lib/cjs/portal/portal.d.cts +11 -9
  46. package/lib/cjs/sso/sso.d.cts +8 -6
  47. package/lib/cjs/user-management/session.cjs +10 -8
  48. package/lib/cjs/user-management/session.cjs.map +1 -1
  49. package/lib/cjs/user-management/session.d.cts +11 -9
  50. package/lib/cjs/user-management/user-management.cjs +14 -8
  51. package/lib/cjs/user-management/user-management.cjs.map +1 -1
  52. package/lib/cjs/user-management/user-management.d.cts +8 -6
  53. package/lib/cjs/{client/utils.cjs → utils/jose.cjs} +11 -16
  54. package/lib/cjs/utils/jose.cjs.map +1 -0
  55. package/lib/cjs/utils/jose.d.cts +17 -0
  56. package/lib/cjs/vault/vault.cjs +3 -3
  57. package/lib/cjs/vault/vault.cjs.map +1 -1
  58. package/lib/cjs/vault/vault.d.cts +9 -7
  59. package/lib/cjs/widgets/interfaces/get-token.cjs.map +1 -1
  60. package/lib/cjs/widgets/interfaces/get-token.d.cts +1 -1
  61. package/lib/cjs/widgets/widgets.d.cts +11 -9
  62. package/lib/cjs/{workos-BcNRiAbw.d.cts → workos-X1cDErJB.d.cts} +18 -11
  63. package/lib/cjs/workos.cjs +3 -1
  64. package/lib/cjs/workos.cjs.map +1 -1
  65. package/lib/cjs/workos.d.cts +11 -9
  66. package/lib/esm/api-keys/api-keys.d.ts +130 -0
  67. package/lib/esm/api-keys/api-keys.js +22 -0
  68. package/lib/esm/api-keys/api-keys.js.map +1 -0
  69. package/lib/esm/api-keys/interfaces/api-key.interface.d.ts +30 -0
  70. package/lib/esm/api-keys/interfaces/api-key.interface.js +1 -0
  71. package/lib/esm/api-keys/interfaces/api-key.interface.js.map +1 -0
  72. package/lib/esm/api-keys/interfaces/validate-api-key.interface.d.ts +13 -0
  73. package/lib/esm/api-keys/interfaces/validate-api-key.interface.js +1 -0
  74. package/lib/esm/api-keys/interfaces/validate-api-key.interface.js.map +1 -0
  75. package/lib/esm/api-keys/serializers/api-key.serializer.d.ts +5 -0
  76. package/lib/esm/api-keys/serializers/api-key.serializer.js +20 -0
  77. package/lib/esm/api-keys/serializers/api-key.serializer.js.map +1 -0
  78. package/lib/esm/api-keys/serializers/validate-api-key.serializer.d.ts +6 -0
  79. package/lib/esm/api-keys/serializers/validate-api-key.serializer.js +13 -0
  80. package/lib/esm/api-keys/serializers/validate-api-key.serializer.js.map +1 -0
  81. package/lib/esm/audit-logs/audit-logs.d.ts +11 -9
  82. package/lib/esm/client/sso.js +1 -1
  83. package/lib/esm/client/sso.js.map +1 -1
  84. package/lib/esm/client/user-management.js +1 -1
  85. package/lib/esm/client/user-management.js.map +1 -1
  86. package/lib/esm/common/exceptions/unprocessable-entity.exception.js +1 -2
  87. package/lib/esm/common/exceptions/unprocessable-entity.exception.js.map +1 -1
  88. package/lib/esm/common/net/fetch-client.js +4 -4
  89. package/lib/esm/common/net/fetch-client.js.map +1 -1
  90. package/lib/esm/common/net/http-client.d.ts +1 -0
  91. package/lib/esm/common/net/http-client.js +4 -1
  92. package/lib/esm/common/net/http-client.js.map +1 -1
  93. package/lib/esm/common/utils/fetch-and-deserialize.d.ts +9 -7
  94. package/lib/esm/common/utils/leb128.d.ts +24 -0
  95. package/lib/esm/common/utils/leb128.js +77 -0
  96. package/lib/esm/common/utils/leb128.js.map +1 -0
  97. package/lib/esm/common/utils/query-string.d.ts +11 -0
  98. package/lib/esm/common/utils/query-string.js +43 -0
  99. package/lib/esm/common/utils/query-string.js.map +1 -0
  100. package/lib/esm/directory-sync/directory-sync.d.ts +3 -1
  101. package/lib/esm/events/events.d.ts +10 -8
  102. package/lib/esm/fga/fga.d.ts +9 -7
  103. package/lib/esm/fga/utils/fetch-and-deserialize-list.d.ts +10 -8
  104. package/lib/esm/index.d.ts +3 -1
  105. package/lib/esm/index.worker.d.ts +3 -1
  106. package/lib/esm/mfa/mfa.d.ts +11 -9
  107. package/lib/esm/organization-domains/organization-domains.d.ts +11 -9
  108. package/lib/esm/organizations/organizations.d.ts +8 -6
  109. package/lib/esm/passwordless/passwordless.d.ts +11 -9
  110. package/lib/esm/portal/portal.d.ts +11 -9
  111. package/lib/esm/sso/sso.d.ts +8 -6
  112. package/lib/esm/user-management/session.d.ts +11 -9
  113. package/lib/esm/user-management/session.js +7 -5
  114. package/lib/esm/user-management/session.js.map +1 -1
  115. package/lib/esm/user-management/user-management.d.ts +8 -6
  116. package/lib/esm/user-management/user-management.js +11 -5
  117. package/lib/esm/user-management/user-management.js.map +1 -1
  118. package/lib/esm/utils/jose.d.ts +17 -0
  119. package/lib/esm/utils/jose.js +11 -0
  120. package/lib/esm/utils/jose.js.map +1 -0
  121. package/lib/esm/vault/vault.d.ts +9 -7
  122. package/lib/esm/vault/vault.js +1 -1
  123. package/lib/esm/vault/vault.js.map +1 -1
  124. package/lib/esm/widgets/interfaces/get-token.d.ts +1 -1
  125. package/lib/esm/widgets/interfaces/get-token.js.map +1 -1
  126. package/lib/esm/widgets/widgets.d.ts +11 -9
  127. package/lib/esm/{workos-e5MfmByv.d.ts → workos-DLj13cxf.d.ts} +18 -11
  128. package/lib/esm/workos.d.ts +11 -9
  129. package/lib/esm/workos.js +3 -1
  130. package/lib/esm/workos.js.map +1 -1
  131. package/package.json +7 -7
  132. package/lib/cjs/client/utils.cjs.map +0 -1
  133. package/lib/cjs/client/utils.d.cts +0 -7
  134. package/lib/esm/client/utils.d.ts +0 -7
  135. package/lib/esm/client/utils.js +0 -16
  136. package/lib/esm/client/utils.js.map +0 -1
@@ -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":"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","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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "8.0.0-rc.1",
2
+ "version": "8.0.0-rc.3",
3
3
  "name": "@workos-inc/node",
4
4
  "author": "WorkOS",
5
5
  "description": "A Node wrapper for the WorkOS API",
@@ -9,7 +9,7 @@
9
9
  "workos"
10
10
  ],
11
11
  "engines": {
12
- "node": ">=20"
12
+ "node": ">=20.15.0"
13
13
  },
14
14
  "type": "module",
15
15
  "main": "./lib/cjs/index.cjs",
@@ -41,10 +41,7 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "iron-session": "^8.0.4",
44
- "jose": "~6.1.0",
45
- "leb": "^1.0.0",
46
- "pluralize": "8.0.0",
47
- "qs": "6.14.0"
44
+ "jose": "~6.1.0"
48
45
  },
49
46
  "devDependencies": {
50
47
  "@babel/plugin-transform-modules-commonjs": "^7.26.3",
@@ -55,7 +52,6 @@
55
52
  "@types/glob": "^8.1.0",
56
53
  "@types/jest": "^30.0.0",
57
54
  "@types/node": "~20",
58
- "@types/pluralize": "0.0.33",
59
55
  "@types/qs": "^6.14.0",
60
56
  "@typescript-eslint/parser": "^8.46.0",
61
57
  "babel-jest": "^30.2.0",
@@ -100,6 +96,10 @@
100
96
  "import": "./lib/esm/index.js",
101
97
  "require": "./lib/cjs/index.cjs"
102
98
  },
99
+ "convex": {
100
+ "import": "./lib/index.worker.js",
101
+ "default": "./lib/index.worker.js"
102
+ },
103
103
  "import": "./lib/esm/index.js",
104
104
  "require": "./lib/cjs/index.cjs",
105
105
  "default": "./lib/esm/index.js"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/utils.ts"],"sourcesContent":["import qs from 'qs';\n\n/**\n * Converts an options object to a query string using qs library.\n * Maintains backwards compatibility with existing URL formatting.\n */\nexport const toQueryString = (\n options: Record<\n string,\n string | string[] | Record<string, string | boolean | number> | undefined\n >,\n): string => {\n return qs.stringify(options, {\n arrayFormat: 'repeat',\n // sorts the keys alphabetically to maintain backwards compatibility\n sort: (a, b) => a.localeCompare(b),\n // encodes space as + instead of %20 to maintain backwards compatibility\n format: 'RFC1738',\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AAMR,MAAM,gBAAgB,wBAC3B,YAIW;AACX,SAAO,UAAAA,QAAG,UAAU,SAAS;AAAA,IAC3B,aAAa;AAAA;AAAA,IAEb,MAAM,wBAAC,GAAG,MAAM,EAAE,cAAc,CAAC,GAA3B;AAAA;AAAA,IAEN,QAAQ;AAAA,EACV,CAAC;AACH,GAb6B;","names":["qs"]}
@@ -1,7 +0,0 @@
1
- /**
2
- * Converts an options object to a query string using qs library.
3
- * Maintains backwards compatibility with existing URL formatting.
4
- */
5
- declare const toQueryString: (options: Record<string, string | string[] | Record<string, string | boolean | number> | undefined>) => string;
6
-
7
- export { toQueryString };
@@ -1,7 +0,0 @@
1
- /**
2
- * Converts an options object to a query string using qs library.
3
- * Maintains backwards compatibility with existing URL formatting.
4
- */
5
- declare const toQueryString: (options: Record<string, string | string[] | Record<string, string | boolean | number> | undefined>) => string;
6
-
7
- export { toQueryString };
@@ -1,16 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import qs from "qs";
4
- const toQueryString = /* @__PURE__ */ __name((options) => {
5
- return qs.stringify(options, {
6
- arrayFormat: "repeat",
7
- // sorts the keys alphabetically to maintain backwards compatibility
8
- sort: /* @__PURE__ */ __name((a, b) => a.localeCompare(b), "sort"),
9
- // encodes space as + instead of %20 to maintain backwards compatibility
10
- format: "RFC1738"
11
- });
12
- }, "toQueryString");
13
- export {
14
- toQueryString
15
- };
16
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/utils.ts"],"sourcesContent":["import qs from 'qs';\n\n/**\n * Converts an options object to a query string using qs library.\n * Maintains backwards compatibility with existing URL formatting.\n */\nexport const toQueryString = (\n options: Record<\n string,\n string | string[] | Record<string, string | boolean | number> | undefined\n >,\n): string => {\n return qs.stringify(options, {\n arrayFormat: 'repeat',\n // sorts the keys alphabetically to maintain backwards compatibility\n sort: (a, b) => a.localeCompare(b),\n // encodes space as + instead of %20 to maintain backwards compatibility\n format: 'RFC1738',\n });\n};\n"],"mappings":";;AAAA,OAAO,QAAQ;AAMR,MAAM,gBAAgB,wBAC3B,YAIW;AACX,SAAO,GAAG,UAAU,SAAS;AAAA,IAC3B,aAAa;AAAA;AAAA,IAEb,MAAM,wBAAC,GAAG,MAAM,EAAE,cAAc,CAAC,GAA3B;AAAA;AAAA,IAEN,QAAQ;AAAA,EACV,CAAC;AACH,GAb6B;","names":[]}