{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { TelemetryCollectorOptions } from '@clerk/shared/telemetry';\nimport { TelemetryCollector } from '@clerk/shared/telemetry';\nimport type { SDKMetadata } from '@clerk/shared/types';\n\nimport type { ApiClient, CreateBackendApiOptions } from './api';\nimport { createBackendApiClient } from './api';\nimport { withLegacyReturn } from './jwt/legacyReturn';\nimport type { CreateAuthenticateRequestOptions } from './tokens/factory';\nimport { createAuthenticateRequest } from './tokens/factory';\nimport { verifyToken as _verifyToken } from './tokens/verify';\n\nexport const verifyToken = withLegacyReturn(_verifyToken);\n\nexport type ClerkOptions = Omit<CreateBackendApiOptions, 'skipApiVersionInUrl' | 'useMachineSecretKey'> &\n  Partial<\n    Pick<\n      CreateAuthenticateRequestOptions['options'],\n      'audience' | 'jwtKey' | 'proxyUrl' | 'secretKey' | 'publishableKey' | 'domain' | 'isSatellite'\n    >\n  > & { sdkMetadata?: SDKMetadata; telemetry?: Pick<TelemetryCollectorOptions, 'disabled' | 'debug' | 'samplingRate'> };\n\n// The current exported type resolves the following issue in packages importing createClerkClient\n// TS4023: Exported variable 'clerkClient' has or is using name 'AuthErrorReason' from external module \"/packages/backend/dist/index\" but cannot be named.\nexport type ClerkClient = {\n  telemetry: TelemetryCollector;\n} & ApiClient &\n  ReturnType<typeof createAuthenticateRequest>;\n\nexport function createClerkClient(options: ClerkOptions): ClerkClient {\n  const opts = { ...options };\n  const apiClient = createBackendApiClient(opts);\n  const requestState = createAuthenticateRequest({ options: opts, apiClient });\n  const telemetry = new TelemetryCollector({\n    publishableKey: opts.publishableKey,\n    secretKey: opts.secretKey,\n    samplingRate: 0.1,\n    ...(opts.sdkMetadata ? { sdk: opts.sdkMetadata.name, sdkVersion: opts.sdkMetadata.version } : {}),\n    ...(opts.telemetry || {}),\n  });\n\n  return {\n    ...apiClient,\n    ...requestState,\n    telemetry,\n  };\n}\n\n/**\n * General Types\n */\nexport type { OrganizationMembershipRole } from './api/resources';\nexport type { VerifyTokenOptions } from './tokens/verify';\n/**\n * JSON types\n */\nexport type {\n  ActorTokenJSON,\n  AgentTaskJSON,\n  AccountlessApplicationJSON,\n  ClerkResourceJSON,\n  TokenJSON,\n  AllowlistIdentifierJSON,\n  BlocklistIdentifierJSON,\n  ClientJSON,\n  CnameTargetJSON,\n  DomainJSON,\n  EmailJSON,\n  EmailAddressJSON,\n  EnterpriseConnectionJSON,\n  ExternalAccountJSON,\n  IdentificationLinkJSON,\n  InstanceJSON,\n  InstanceRestrictionsJSON,\n  InstanceSettingsJSON,\n  InvitationJSON,\n  JwtTemplateJSON,\n  OauthAccessTokenJSON,\n  OAuthApplicationJSON,\n  OrganizationJSON,\n  OrganizationDomainJSON,\n  OrganizationDomainVerificationJSON,\n  OrganizationInvitationJSON,\n  OrganizationSettingsJSON,\n  PublicOrganizationDataJSON,\n  OrganizationMembershipJSON,\n  OrganizationMembershipPublicUserDataJSON,\n  PhoneNumberJSON,\n  ProxyCheckJSON,\n  RedirectUrlJSON,\n  SessionJSON,\n  SignInJSON,\n  SignInTokenJSON,\n  SignUpJSON,\n  SignUpVerificationJSON,\n  SignUpVerificationsJSON,\n  SMSMessageJSON,\n  UserJSON,\n  UserDeletedJSON,\n  VerificationJSON,\n  WaitlistEntryJSON,\n  Web3WalletJSON,\n  DeletedObjectJSON,\n  PaginatedResponseJSON,\n  TestingTokenJSON,\n  WebhooksSvixJSON,\n  BillingPlanJSON,\n  BillingSubscriptionJSON,\n  BillingSubscriptionItemJSON,\n} from './api/resources/JSON';\n\n/**\n * Resources\n */\nexport type {\n  AgentTask,\n  APIKey,\n  ActorToken,\n  AccountlessApplication,\n  AllowlistIdentifier,\n  BlocklistIdentifier,\n  Client,\n  CnameTarget,\n  Domain,\n  EmailAddress,\n  EnterpriseConnection,\n  ExternalAccount,\n  Feature,\n  Instance,\n  InstanceRestrictions,\n  InstanceSettings,\n  Invitation,\n  JwtTemplate,\n  Machine,\n  M2MToken,\n  OauthAccessToken,\n  OAuthApplication,\n  Organization,\n  OrganizationDomain,\n  OrganizationDomainVerification,\n  OrganizationInvitation,\n  OrganizationMembership,\n  OrganizationMembershipPublicUserData,\n  OrganizationSettings,\n  PhoneNumber,\n  SamlConnection,\n  Session,\n  SignInToken,\n  SignUpAttempt,\n  SMSMessage,\n  Token,\n  User,\n  TestingToken,\n  WaitlistEntry,\n  BillingPlan,\n  BillingSubscription,\n  BillingSubscriptionItem,\n} from './api/resources';\n\n/**\n * Webhooks event types\n */\nexport type {\n  EmailWebhookEvent,\n  OrganizationWebhookEvent,\n  OrganizationDomainWebhookEvent,\n  OrganizationInvitationAcceptedWebhookEvent,\n  OrganizationInvitationWebhookEvent,\n  OrganizationMembershipWebhookEvent,\n  RoleWebhookEvent,\n  PermissionWebhookEvent,\n  SessionWebhookEvent,\n  SMSWebhookEvent,\n  UserWebhookEvent,\n  WaitlistEntryWebhookEvent,\n  WebhookEvent,\n  WebhookEventType,\n  BillingPaymentAttemptWebhookEvent,\n  BillingSubscriptionWebhookEvent,\n  BillingSubscriptionItemWebhookEvent,\n} from './api/resources/Webhooks';\n\n/**\n * Auth objects\n */\nexport type { AuthObject, InvalidTokenAuthObject } from './tokens/authObjects';\nexport type { SessionAuthObject, MachineAuthObject } from './tokens/types';\n"],"mappings":";;;;;;;;;;;;;;AACA,SAAS,0BAA0B;AAU5B,IAAMA,eAAc,iBAAiB,WAAY;AAiBjD,SAAS,kBAAkB,SAAoC;AACpE,QAAM,OAAO,EAAE,GAAG,QAAQ;AAC1B,QAAM,YAAY,uBAAuB,IAAI;AAC7C,QAAM,eAAe,0BAA0B,EAAE,SAAS,MAAM,UAAU,CAAC;AAC3E,QAAM,YAAY,IAAI,mBAAmB;AAAA,IACvC,gBAAgB,KAAK;AAAA,IACrB,WAAW,KAAK;AAAA,IAChB,cAAc;AAAA,IACd,GAAI,KAAK,cAAc,EAAE,KAAK,KAAK,YAAY,MAAM,YAAY,KAAK,YAAY,QAAQ,IAAI,CAAC;AAAA,IAC/F,GAAI,KAAK,aAAa,CAAC;AAAA,EACzB,CAAC;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;","names":["verifyToken"]}