@authhero/drizzle 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};let n=require("drizzle-orm"),r=require("nanoid"),i=require("drizzle-orm/sqlite-core"),a=require("@authhero/adapter-interfaces/sql"),o=require("@authhero/adapter-interfaces"),s=require("hono/http-exception");var c=(0,i.sqliteTable)(`tenants`,{id:(0,i.text)(`id`,{length:191}).primaryKey(),name:(0,i.text)(`name`,{length:255}),audience:(0,i.text)(`audience`,{length:255}),sender_email:(0,i.text)(`sender_email`,{length:255}),sender_name:(0,i.text)(`sender_name`,{length:255}),language:(0,i.text)(`language`,{length:255}),logo:(0,i.text)(`logo`,{length:255}),primary_color:(0,i.text)(`primary_color`,{length:255}),secondary_color:(0,i.text)(`secondary_color`,{length:255}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),support_url:(0,i.text)(`support_url`,{length:255}),idle_session_lifetime:(0,i.integer)(`idle_session_lifetime`),session_lifetime:(0,i.integer)(`session_lifetime`),session_cookie:(0,i.text)(`session_cookie`),allowed_logout_urls:(0,i.text)(`allowed_logout_urls`),ephemeral_session_lifetime:(0,i.integer)(`ephemeral_session_lifetime`),idle_ephemeral_session_lifetime:(0,i.integer)(`idle_ephemeral_session_lifetime`),default_redirection_uri:(0,i.text)(`default_redirection_uri`),default_client_id:(0,i.text)(`default_client_id`,{length:255}),enabled_locales:(0,i.text)(`enabled_locales`),default_directory:(0,i.text)(`default_directory`,{length:255}),error_page:(0,i.text)(`error_page`),flags:(0,i.text)(`flags`),friendly_name:(0,i.text)(`friendly_name`,{length:255}),picture_url:(0,i.text)(`picture_url`),support_email:(0,i.text)(`support_email`,{length:255}),sandbox_version:(0,i.text)(`sandbox_version`,{length:50}),sandbox_versions_available:(0,i.text)(`sandbox_versions_available`),legacy_sandbox_version:(0,i.text)(`legacy_sandbox_version`,{length:50}),change_password:(0,i.text)(`change_password`),guardian_mfa_page:(0,i.text)(`guardian_mfa_page`),device_flow:(0,i.text)(`device_flow`),default_token_quota:(0,i.text)(`default_token_quota`),default_audience:(0,i.text)(`default_audience`,{length:255}),default_organization:(0,i.text)(`default_organization`,{length:255}),sessions:(0,i.text)(`sessions`),oidc_logout:(0,i.text)(`oidc_logout`),allow_organization_name_in_authentication_api:(0,i.integer)(`allow_organization_name_in_authentication_api`),customize_mfa_in_postlogin_action:(0,i.integer)(`customize_mfa_in_postlogin_action`),acr_values_supported:(0,i.text)(`acr_values_supported`),mtls:(0,i.text)(`mtls`),pushed_authorization_requests_supported:(0,i.integer)(`pushed_authorization_requests_supported`),authorization_response_iss_parameter_supported:(0,i.integer)(`authorization_response_iss_parameter_supported`),deployment_type:(0,i.text)(`deployment_type`,{length:16}).notNull().default(`shared`),provisioning_state:(0,i.text)(`provisioning_state`,{length:16}).notNull().default(`ready`),provisioning_error:(0,i.text)(`provisioning_error`),provisioning_state_changed_at:(0,i.text)(`provisioning_state_changed_at`,{length:35}),bundle_configuration:(0,i.text)(`bundle_configuration`,{length:64}),worker_version:(0,i.text)(`worker_version`,{length:64}),database_version:(0,i.text)(`database_version`,{length:64}),worker_script_name:(0,i.text)(`worker_script_name`,{length:255}),storage_kind:(0,i.text)(`storage_kind`,{length:32}),d1_database_id:(0,i.text)(`d1_database_id`,{length:64})}),l=(0,i.sqliteTable)(`actions`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:255}).notNull(),code:(0,i.text)(`code`).notNull(),runtime:(0,i.text)(`runtime`,{length:50}),status:(0,i.text)(`status`,{length:16}),secrets:(0,i.text)(`secrets`),dependencies:(0,i.text)(`dependencies`),supported_triggers:(0,i.text)(`supported_triggers`),deployed_at_ts:(0,i.integer)(`deployed_at_ts`),is_system:(0,i.integer)(`is_system`),inherit:(0,i.integer)(`inherit`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`actions_pk`}),(0,i.index)(`idx_actions_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_actions_name`).on(e.tenant_id,e.name)]),u=(0,i.sqliteTable)(`action_versions`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),action_id:(0,i.text)(`action_id`,{length:255}).notNull(),number:(0,i.integer)(`number`).notNull(),code:(0,i.text)(`code`).notNull(),runtime:(0,i.text)(`runtime`,{length:50}),secrets:(0,i.text)(`secrets`),dependencies:(0,i.text)(`dependencies`),supported_triggers:(0,i.text)(`supported_triggers`),deployed:(0,i.integer)(`deployed`).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`action_versions_pk`}),(0,i.uniqueIndex)(`uq_action_versions_number`).on(e.tenant_id,e.action_id,e.number),(0,i.index)(`idx_action_versions_action_id`).on(e.tenant_id,e.action_id)]),d=(0,i.sqliteTable)(`action_executions`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),trigger_id:(0,i.text)(`trigger_id`,{length:255}).notNull(),status:(0,i.text)(`status`,{length:32}).notNull(),results:(0,i.text)(`results`).notNull(),logs:(0,i.text)(`logs`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`action_executions_pk`})]),f=(0,i.sqliteTable)(`users`,{user_id:(0,i.text)(`user_id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),email:(0,i.text)(`email`,{length:255}),given_name:(0,i.text)(`given_name`,{length:255}),family_name:(0,i.text)(`family_name`,{length:255}),nickname:(0,i.text)(`nickname`,{length:255}),name:(0,i.text)(`name`,{length:255}),picture:(0,i.text)(`picture`,{length:2083}),tags:(0,i.text)(`tags`,{length:255}),phone_number:(0,i.text)(`phone_number`,{length:17}),phone_verified:(0,i.integer)(`phone_verified`,{mode:`boolean`}),username:(0,i.text)(`username`,{length:128}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),linked_to:(0,i.text)(`linked_to`,{length:255}),registration_completed_at:(0,i.text)(`registration_completed_at`,{length:35}),provider:(0,i.text)(`provider`,{length:255}).notNull(),connection:(0,i.text)(`connection`,{length:255}),email_verified:(0,i.integer)(`email_verified`,{mode:`boolean`}).notNull(),is_social:(0,i.integer)(`is_social`,{mode:`boolean`}).notNull(),blocked:(0,i.integer)(`blocked`,{mode:`boolean`}),app_metadata:(0,i.text)(`app_metadata`,{length:4096}).notNull().default(`{}`),user_metadata:(0,i.text)(`user_metadata`).notNull().default(`{}`),profileData:(0,i.text)(`profileData`,{length:2048}),locale:(0,i.text)(`locale`,{length:255}),middle_name:(0,i.text)(`middle_name`,{length:100}),preferred_username:(0,i.text)(`preferred_username`,{length:255}),profile:(0,i.text)(`profile`),website:(0,i.text)(`website`),gender:(0,i.text)(`gender`,{length:50}),birthdate:(0,i.text)(`birthdate`,{length:10}),zoneinfo:(0,i.text)(`zoneinfo`,{length:100}),address:(0,i.text)(`address`)},e=>[(0,i.primaryKey)({columns:[e.user_id,e.tenant_id],name:`users_tenants`}),(0,i.uniqueIndex)(`unique_email_provider`).on(e.email,e.provider,e.tenant_id),(0,i.uniqueIndex)(`unique_username_provider`).on(e.username,e.provider,e.tenant_id),(0,i.index)(`users_email_index`).on(e.email),(0,i.index)(`users_linked_to_index`).on(e.linked_to),(0,i.index)(`users_name_index`).on(e.name),(0,i.index)(`users_phone_tenant_provider_index`).on(e.tenant_id,e.phone_number,e.provider)]),p=(0,i.sqliteTable)(`passwords`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),password:(0,i.text)(`password`,{length:255}).notNull(),algorithm:(0,i.text)(`algorithm`,{length:16}).notNull().default(`bcrypt`),is_current:(0,i.integer)(`is_current`).notNull().default(1)}),m=(0,i.sqliteTable)(`user_activity`,{tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),last_login:(0,i.text)(`last_login`,{length:35}),last_ip:(0,i.text)(`last_ip`,{length:45}),login_count:(0,i.integer)(`login_count`).notNull().default(0),failed_logins:(0,i.text)(`failed_logins`),last_password_reset:(0,i.text)(`last_password_reset`,{length:35})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.user_id],name:`user_activity_pkey`}),(0,i.foreignKey)({columns:[e.user_id,e.tenant_id],foreignColumns:[f.user_id,f.tenant_id],name:`user_activity_user_id_constraint`}).onDelete(`cascade`)]),h=(0,i.sqliteTable)(`sessions`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull(),expires_at_ts:(0,i.integer)(`expires_at_ts`),idle_expires_at_ts:(0,i.integer)(`idle_expires_at_ts`),authenticated_at_ts:(0,i.integer)(`authenticated_at_ts`),last_interaction_at_ts:(0,i.integer)(`last_interaction_at_ts`),used_at_ts:(0,i.integer)(`used_at_ts`),revoked_at_ts:(0,i.integer)(`revoked_at_ts`),device:(0,i.text)(`device`).notNull(),clients:(0,i.text)(`clients`).notNull(),login_session_id:(0,i.text)(`login_session_id`,{length:21})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`sessions_pk`}),(0,i.index)(`IDX_sessions_login_session_id`).on(e.login_session_id),(0,i.index)(`idx_sessions_user_id`).on(e.tenant_id,e.user_id),(0,i.index)(`idx_sessions_expires_at_ts`).on(e.expires_at_ts)]),g=(0,i.sqliteTable)(`refresh_tokens`,{id:(0,i.text)(`id`,{length:26}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),client_id:(0,i.text)(`client_id`,{length:191}).notNull(),login_id:(0,i.text)(`login_id`,{length:26}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}),resource_servers:(0,i.text)(`resource_servers`).notNull(),device:(0,i.text)(`device`).notNull(),rotating:(0,i.integer)(`rotating`,{mode:`boolean`}).notNull(),token_lookup:(0,i.text)(`token_lookup`,{length:16}),token_hash:(0,i.text)(`token_hash`,{length:64}),family_id:(0,i.text)(`family_id`,{length:26}),rotated_to:(0,i.text)(`rotated_to`,{length:26}),rotated_at_ts:(0,i.integer)(`rotated_at_ts`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),expires_at_ts:(0,i.integer)(`expires_at_ts`),idle_expires_at_ts:(0,i.integer)(`idle_expires_at_ts`),last_exchanged_at_ts:(0,i.integer)(`last_exchanged_at_ts`),revoked_at_ts:(0,i.integer)(`revoked_at_ts`)},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`refresh_tokens_pk`}),(0,i.index)(`idx_refresh_tokens_user_id`).on(e.tenant_id,e.user_id),(0,i.index)(`idx_refresh_tokens_login_id`).on(e.login_id),(0,i.index)(`idx_refresh_tokens_expires_at_ts`).on(e.expires_at_ts),(0,i.index)(`idx_refresh_tokens_token_lookup`).on(e.tenant_id,e.token_lookup),(0,i.index)(`idx_refresh_tokens_family_id`).on(e.tenant_id,e.family_id)]),_=(0,i.sqliteTable)(`login_sessions`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),session_id:(0,i.text)(`session_id`,{length:21}),csrf_token:(0,i.text)(`csrf_token`,{length:21}).notNull(),auth_params:(0,i.text)(`auth_params`),authorization_url:(0,i.text)(`authorization_url`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull(),expires_at_ts:(0,i.integer)(`expires_at_ts`).notNull(),ip:(0,i.text)(`ip`,{length:39}),useragent:(0,i.text)(`useragent`),auth0Client:(0,i.text)(`auth0Client`,{length:255}),state:(0,i.text)(`state`,{length:50}).notNull().default(`pending`),state_data:(0,i.text)(`state_data`),failure_reason:(0,i.text)(`failure_reason`),user_id:(0,i.text)(`user_id`,{length:255}),auth_connection:(0,i.text)(`auth_connection`,{length:255}),auth_strategy_strategy:(0,i.text)(`auth_strategy_strategy`,{length:64}),auth_strategy_strategy_type:(0,i.text)(`auth_strategy_strategy_type`,{length:64}),authenticated_at:(0,i.text)(`authenticated_at`,{length:35})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`login_sessions_pk`}),(0,i.index)(`login_sessions_id_index`).on(e.id),(0,i.index)(`login_sessions_state_idx`).on(e.state),(0,i.index)(`login_sessions_state_updated_idx`).on(e.state,e.updated_at_ts),(0,i.index)(`login_sessions_tenant_user_idx`).on(e.tenant_id,e.user_id),(0,i.index)(`idx_login_sessions_expires_at_ts`).on(e.expires_at_ts)]),v=(0,i.sqliteTable)(`codes`,{code_id:(0,i.text)(`code_id`,{length:191}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}),login_id:(0,i.text)(`login_id`,{length:255}),connection_id:(0,i.text)(`connection_id`,{length:255}),code_type:(0,i.text)(`code_type`,{length:255}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35}),code_verifier:(0,i.text)(`code_verifier`,{length:128}),code_challenge:(0,i.text)(`code_challenge`,{length:128}),code_challenge_method:(0,i.text)(`code_challenge_method`,{length:5}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),nonce:(0,i.text)(`nonce`,{length:1024}),state:(0,i.text)(`state`,{length:2048})},e=>[(0,i.primaryKey)({columns:[e.code_id,e.code_type],name:`PK_codes_code_id_code_type`}),(0,i.index)(`codes_expires_at_index`).on(e.expires_at)]),ee=(0,i.sqliteTable)(`authentication_codes`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),code:(0,i.text)(`code`,{length:255}).primaryKey(),client_id:(0,i.text)(`client_id`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),nonce:(0,i.text)(`nonce`,{length:255}),state:(0,i.text)(`state`,{length:8192}),scope:(0,i.text)(`scope`,{length:1024}),response_type:(0,i.text)(`response_type`,{length:256}),response_mode:(0,i.text)(`response_mode`,{length:256}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35})}),te=(0,i.sqliteTable)(`otps`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),id:(0,i.text)(`id`,{length:255}).primaryKey(),client_id:(0,i.text)(`client_id`,{length:255}).notNull(),code:(0,i.text)(`code`,{length:255}).notNull(),email:(0,i.text)(`email`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}),send:(0,i.text)(`send`,{length:255}),nonce:(0,i.text)(`nonce`,{length:255}),state:(0,i.text)(`state`,{length:1024}),scope:(0,i.text)(`scope`,{length:1024}),response_type:(0,i.text)(`response_type`,{length:256}),response_mode:(0,i.text)(`response_mode`,{length:256}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35}),audience:(0,i.text)(`audience`,{length:255}),ip:(0,i.text)(`ip`,{length:64})},e=>[(0,i.index)(`otps_email_index`).on(e.email),(0,i.index)(`otps_expires_at_index`).on(e.expires_at)]),ne=(0,i.sqliteTable)(`tickets`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),id:(0,i.text)(`id`,{length:255}).primaryKey(),client_id:(0,i.text)(`client_id`,{length:255}).notNull(),email:(0,i.text)(`email`,{length:255}).notNull(),nonce:(0,i.text)(`nonce`,{length:255}),state:(0,i.text)(`state`,{length:1024}),scope:(0,i.text)(`scope`,{length:1024}),response_type:(0,i.text)(`response_type`,{length:256}),response_mode:(0,i.text)(`response_mode`,{length:256}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35})}),y=(0,i.sqliteTable)(`clients`,{client_id:(0,i.text)(`client_id`,{length:191}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:255}).notNull(),description:(0,i.text)(`description`,{length:140}),global:(0,i.integer)(`global`).notNull().default(0),client_secret:(0,i.text)(`client_secret`,{length:255}),app_type:(0,i.text)(`app_type`,{length:64}).default(`regular_web`),logo_uri:(0,i.text)(`logo_uri`,{length:2083}),is_first_party:(0,i.integer)(`is_first_party`).notNull().default(0),oidc_conformant:(0,i.integer)(`oidc_conformant`).notNull().default(1),auth0_conformant:(0,i.integer)(`auth0_conformant`).notNull().default(1),callbacks:(0,i.text)(`callbacks`).notNull(),allowed_origins:(0,i.text)(`allowed_origins`).notNull(),web_origins:(0,i.text)(`web_origins`).notNull(),client_aliases:(0,i.text)(`client_aliases`).notNull(),allowed_clients:(0,i.text)(`allowed_clients`).notNull(),allowed_logout_urls:(0,i.text)(`allowed_logout_urls`).notNull(),session_transfer:(0,i.text)(`session_transfer`).notNull(),oidc_logout:(0,i.text)(`oidc_logout`).notNull(),grant_types:(0,i.text)(`grant_types`).notNull(),jwt_configuration:(0,i.text)(`jwt_configuration`).notNull(),signing_keys:(0,i.text)(`signing_keys`).notNull(),encryption_key:(0,i.text)(`encryption_key`).notNull(),sso:(0,i.integer)(`sso`).notNull().default(0),sso_disabled:(0,i.integer)(`sso_disabled`).notNull().default(1),cross_origin_authentication:(0,i.integer)(`cross_origin_authentication`).notNull().default(0),cross_origin_loc:(0,i.text)(`cross_origin_loc`,{length:2083}),custom_login_page_on:(0,i.integer)(`custom_login_page_on`).notNull().default(0),custom_login_page:(0,i.text)(`custom_login_page`),custom_login_page_preview:(0,i.text)(`custom_login_page_preview`),form_template:(0,i.text)(`form_template`),addons:(0,i.text)(`addons`).notNull(),token_endpoint_auth_method:(0,i.text)(`token_endpoint_auth_method`,{length:64}).default(`client_secret_basic`),client_metadata:(0,i.text)(`client_metadata`).notNull(),mobile:(0,i.text)(`mobile`).notNull(),initiate_login_uri:(0,i.text)(`initiate_login_uri`,{length:2083}),native_social_login:(0,i.text)(`native_social_login`).notNull(),refresh_token:(0,i.text)(`refresh_token`).notNull(),default_organization:(0,i.text)(`default_organization`).notNull(),organization_usage:(0,i.text)(`organization_usage`,{length:32}).default(`deny`),organization_require_behavior:(0,i.text)(`organization_require_behavior`,{length:32}).default(`no_prompt`),client_authentication_methods:(0,i.text)(`client_authentication_methods`).notNull(),require_pushed_authorization_requests:(0,i.integer)(`require_pushed_authorization_requests`).notNull().default(0),require_proof_of_possession:(0,i.integer)(`require_proof_of_possession`).notNull().default(0),hide_sign_up_disabled_error:(0,i.integer)(`hide_sign_up_disabled_error`).notNull().default(0),signed_request_object:(0,i.text)(`signed_request_object`).notNull(),compliance_level:(0,i.text)(`compliance_level`,{length:64}),par_request_expiry:(0,i.integer)(`par_request_expiry`),token_quota:(0,i.text)(`token_quota`).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),connections:(0,i.text)(`connections`).notNull().default(`[]`),owner_user_id:(0,i.text)(`owner_user_id`,{length:255}),registration_type:(0,i.text)(`registration_type`,{length:32}),registration_metadata:(0,i.text)(`registration_metadata`),user_linking_mode:(0,i.text)(`user_linking_mode`,{length:16})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.client_id],name:`clients_tenant_id_client_id`}),(0,i.index)(`idx_clients_owner_user_id`).on(e.tenant_id,e.owner_user_id)]),b=(0,i.sqliteTable)(`client_registration_tokens`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),token_hash:(0,i.text)(`token_hash`,{length:64}).notNull(),type:(0,i.text)(`type`,{length:8}).notNull(),client_id:(0,i.text)(`client_id`,{length:191}),sub:(0,i.text)(`sub`,{length:255}),constraints:(0,i.text)(`constraints`),single_use:(0,i.integer)(`single_use`).notNull().default(0),used_at_ts:(0,i.integer)(`used_at_ts`),expires_at_ts:(0,i.integer)(`expires_at_ts`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),revoked_at_ts:(0,i.integer)(`revoked_at_ts`)},e=>[(0,i.uniqueIndex)(`idx_client_registration_tokens_hash`).on(e.tenant_id,e.token_hash),(0,i.index)(`idx_client_registration_tokens_client`).on(e.tenant_id,e.client_id)]),x=(0,i.sqliteTable)(`client_grants`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),client_id:(0,i.text)(`client_id`,{length:191}).notNull(),audience:(0,i.text)(`audience`,{length:191}).notNull(),scope:(0,i.text)(`scope`).default(`[]`),organization_usage:(0,i.text)(`organization_usage`,{length:32}),allow_any_organization:(0,i.integer)(`allow_any_organization`).default(0),is_system:(0,i.integer)(`is_system`).default(0),subject_type:(0,i.text)(`subject_type`,{length:32}),authorization_details_types:(0,i.text)(`authorization_details_types`).default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`pk_client_grants`}),(0,i.index)(`idx_client_grants_audience`).on(e.audience)]),S=(0,i.sqliteTable)(`grants`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),client_id:(0,i.text)(`client_id`,{length:100}).notNull(),audience:(0,i.text)(`audience`,{length:100}).notNull().default(``),scope:(0,i.text)(`scope`).notNull().default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.foreignKey)({columns:[e.user_id,e.tenant_id],foreignColumns:[f.user_id,f.tenant_id],name:`grants_user_id_constraint`}).onDelete(`cascade`),(0,i.uniqueIndex)(`grants_natural_key_idx`).on(e.tenant_id,e.user_id,e.client_id,e.audience),(0,i.index)(`grants_tenant_user_idx`).on(e.tenant_id,e.user_id)]),C=(0,i.sqliteTable)(`connections`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:255}).notNull(),response_type:(0,i.text)(`response_type`,{length:255}),response_mode:(0,i.text)(`response_mode`,{length:255}),strategy:(0,i.text)(`strategy`,{length:64}),options:(0,i.text)(`options`,{length:8192}).notNull().default(`{}`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),display_name:(0,i.text)(`display_name`,{length:255}),is_domain_connection:(0,i.integer)(`is_domain_connection`),show_as_button:(0,i.integer)(`show_as_button`),is_system:(0,i.integer)(`is_system`).notNull().default(0),metadata:(0,i.text)(`metadata`,{length:4096})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id]}),(0,i.index)(`connections_tenant_id_index`).on(e.tenant_id),(0,i.uniqueIndex)(`connections_id_unique`).on(e.id)]),w=(0,i.sqliteTable)(`custom_domains`,{custom_domain_id:(0,i.text)(`custom_domain_id`,{length:256}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),domain:(0,i.text)(`domain`,{length:255}).notNull(),primary:(0,i.integer)(`primary`,{mode:`boolean`}).notNull(),status:(0,i.text)(`status`,{length:50}).notNull(),type:(0,i.text)(`type`,{length:50}).notNull(),origin_domain_name:(0,i.text)(`origin_domain_name`,{length:255}),verification:(0,i.text)(`verification`,{length:2048}),custom_client_ip_header:(0,i.text)(`custom_client_ip_header`,{length:50}),tls_policy:(0,i.text)(`tls_policy`,{length:50}),domain_metadata:(0,i.text)(`domain_metadata`,{length:2048}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.uniqueIndex)(`custom_domains_domain_unique`).on(e.domain)]),re=(0,i.sqliteTable)(`domains`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),domain:(0,i.text)(`domain`,{length:255}).notNull(),email_service:(0,i.text)(`email_service`,{length:255}),email_api_key:(0,i.text)(`email_api_key`,{length:255}),dkim_private_key:(0,i.text)(`dkim_private_key`,{length:2048}),dkim_public_key:(0,i.text)(`dkim_public_key`,{length:2048}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()}),T=(0,i.sqliteTable)(`organizations`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),name:(0,i.text)(`name`,{length:256}).notNull(),display_name:(0,i.text)(`display_name`,{length:256}),branding:(0,i.text)(`branding`),metadata:(0,i.text)(`metadata`),enabled_connections:(0,i.text)(`enabled_connections`),token_quota:(0,i.text)(`token_quota`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`idx_organizations_tenant_id`).on(e.tenant_id)]),E=(0,i.sqliteTable)(`user_organizations`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),user_id:(0,i.text)(`user_id`,{length:191}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:21}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.uniqueIndex)(`user_organizations_unique`).on(e.tenant_id,e.user_id,e.organization_id),(0,i.index)(`idx_user_organizations_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_user_organizations_user_id`).on(e.user_id),(0,i.index)(`idx_user_organizations_organization_id`).on(e.organization_id)]),D=(0,i.sqliteTable)(`invites`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:21}).notNull(),inviter:(0,i.text)(`inviter`).notNull(),invitee:(0,i.text)(`invitee`).notNull(),client_id:(0,i.text)(`client_id`,{length:191}).notNull(),connection_id:(0,i.text)(`connection_id`,{length:21}),invitation_url:(0,i.text)(`invitation_url`).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),app_metadata:(0,i.text)(`app_metadata`),user_metadata:(0,i.text)(`user_metadata`),roles:(0,i.text)(`roles`),ticket_id:(0,i.text)(`ticket_id`,{length:191}),ttl_sec:(0,i.integer)(`ttl_sec`),send_invitation_email:(0,i.integer)(`send_invitation_email`)},e=>[(0,i.index)(`idx_invites_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_invites_organization_id`).on(e.organization_id),(0,i.index)(`idx_invites_expires_at`).on(e.expires_at),(0,i.index)(`idx_invites_tenant_created`).on(e.tenant_id,e.created_at)]),O=(0,i.sqliteTable)(`roles`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),name:(0,i.text)(`name`,{length:50}).notNull(),description:(0,i.text)(`description`,{length:255}),is_system:(0,i.integer)(`is_system`).notNull().default(0),metadata:(0,i.text)(`metadata`,{length:4096}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`roles_pk`})]),k=(0,i.sqliteTable)(`role_permissions`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),role_id:(0,i.text)(`role_id`,{length:21}).notNull(),resource_server_identifier:(0,i.text)(`resource_server_identifier`,{length:191}).notNull(),permission_name:(0,i.text)(`permission_name`,{length:191}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.role_id,e.resource_server_identifier,e.permission_name],name:`role_permissions_pk`}),(0,i.index)(`role_permissions_role_fk`).on(e.tenant_id,e.role_id),(0,i.index)(`role_permissions_permission_fk`).on(e.tenant_id,e.resource_server_identifier,e.permission_name)]),A=(0,i.sqliteTable)(`user_permissions`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),user_id:(0,i.text)(`user_id`,{length:191}).notNull(),resource_server_identifier:(0,i.text)(`resource_server_identifier`,{length:191}).notNull(),permission_name:(0,i.text)(`permission_name`,{length:191}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:21}).notNull().default(``),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.user_id,e.resource_server_identifier,e.permission_name,e.organization_id],name:`user_permissions_pk`}),(0,i.index)(`user_permissions_user_fk`).on(e.tenant_id,e.user_id),(0,i.index)(`user_permissions_permission_fk`).on(e.tenant_id,e.resource_server_identifier,e.permission_name),(0,i.index)(`user_permissions_organization_fk`).on(e.organization_id)]),j=(0,i.sqliteTable)(`user_roles`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),user_id:(0,i.text)(`user_id`,{length:191}).notNull(),role_id:(0,i.text)(`role_id`,{length:21}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:191}).notNull().default(``),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.user_id,e.role_id,e.organization_id],name:`user_roles_pk`}),(0,i.index)(`user_roles_user_fk`).on(e.tenant_id,e.user_id),(0,i.index)(`user_roles_role_fk`).on(e.tenant_id,e.role_id),(0,i.index)(`user_roles_organization_fk`).on(e.organization_id)]),M=(0,i.sqliteTable)(`resource_servers`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),identifier:(0,i.text)(`identifier`,{length:191}).notNull(),name:(0,i.text)(`name`,{length:255}).notNull(),scopes:(0,i.text)(`scopes`,{length:4096}),signing_alg:(0,i.text)(`signing_alg`,{length:64}),signing_secret:(0,i.text)(`signing_secret`,{length:2048}),token_lifetime:(0,i.integer)(`token_lifetime`),token_lifetime_for_web:(0,i.integer)(`token_lifetime_for_web`),skip_consent_for_verifiable_first_party_clients:(0,i.integer)(`skip_consent_for_verifiable_first_party_clients`),allow_offline_access:(0,i.integer)(`allow_offline_access`),verification_key:(0,i.text)(`verification_key`,{length:4096}),options:(0,i.text)(`options`,{length:4096}),is_system:(0,i.integer)(`is_system`).notNull().default(0),metadata:(0,i.text)(`metadata`,{length:4096}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`resource_servers_pk`})]),ie=(0,i.sqliteTable)(`branding`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey().references(()=>c.id,{onDelete:`cascade`}),logo_url:(0,i.text)(`logo_url`,{length:512}),favicon_url:(0,i.text)(`favicon_url`,{length:512}),font_url:(0,i.text)(`font_url`,{length:512}),colors_primary:(0,i.text)(`colors_primary`,{length:8}),colors_page_background_type:(0,i.text)(`colors_page_background_type`,{length:32}),colors_page_background_start:(0,i.text)(`colors_page_background_start`,{length:8}),colors_page_background_end:(0,i.text)(`colors_page_background_end`,{length:8}),colors_page_background_angle_dev:(0,i.integer)(`colors_page_background_angle_dev`),dark_mode:(0,i.text)(`dark_mode`,{length:8})}),N=(0,i.sqliteTable)(`universal_login_templates`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey().references(()=>c.id,{onDelete:`cascade`}),body:(0,i.text)(`body`).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()}),P=(0,i.sqliteTable)(`themes`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),themeId:(0,i.text)(`themeId`,{length:255}).notNull(),displayName:(0,i.text)(`displayName`,{length:255}).notNull(),colors_primary_button_label:(0,i.text)(`colors_primary_button_label`,{length:24}).notNull(),colors_primary_button:(0,i.text)(`colors_primary_button`,{length:24}).notNull(),colors_secondary_button_border:(0,i.text)(`colors_secondary_button_border`,{length:24}).notNull(),colors_secondary_button_label:(0,i.text)(`colors_secondary_button_label`,{length:24}).notNull(),colors_base_focus_color:(0,i.text)(`colors_base_focus_color`,{length:24}).notNull(),colors_base_hover_color:(0,i.text)(`colors_base_hover_color`,{length:24}).notNull(),colors_body_text:(0,i.text)(`colors_body_text`,{length:24}).notNull(),colors_captcha_widget_theme:(0,i.text)(`colors_captcha_widget_theme`,{length:24}).notNull(),colors_error:(0,i.text)(`colors_error`,{length:24}).notNull(),colors_header:(0,i.text)(`colors_header`,{length:24}).notNull(),colors_icons:(0,i.text)(`colors_icons`,{length:24}).notNull(),colors_input_background:(0,i.text)(`colors_input_background`,{length:24}).notNull(),colors_input_border:(0,i.text)(`colors_input_border`,{length:24}).notNull(),colors_input_filled_text:(0,i.text)(`colors_input_filled_text`,{length:24}).notNull(),colors_input_labels_placeholders:(0,i.text)(`colors_input_labels_placeholders`,{length:24}).notNull(),colors_links_focused_components:(0,i.text)(`colors_links_focused_components`,{length:24}).notNull(),colors_success:(0,i.text)(`colors_success`,{length:24}).notNull(),colors_widget_background:(0,i.text)(`colors_widget_background`,{length:24}).notNull(),colors_widget_border:(0,i.text)(`colors_widget_border`,{length:24}).notNull(),borders_button_border_radius:(0,i.integer)(`borders_button_border_radius`).notNull(),borders_button_border_weight:(0,i.integer)(`borders_button_border_weight`).notNull(),borders_buttons_style:(0,i.text)(`borders_buttons_style`,{length:24}).notNull(),borders_input_border_radius:(0,i.integer)(`borders_input_border_radius`).notNull(),borders_input_border_weight:(0,i.integer)(`borders_input_border_weight`).notNull(),borders_inputs_style:(0,i.text)(`borders_inputs_style`,{length:24}).notNull(),borders_show_widget_shadow:(0,i.integer)(`borders_show_widget_shadow`,{mode:`boolean`}).notNull(),borders_widget_border_weight:(0,i.integer)(`borders_widget_border_weight`).notNull(),borders_widget_corner_radius:(0,i.integer)(`borders_widget_corner_radius`).notNull(),fonts_body_text_bold:(0,i.integer)(`fonts_body_text_bold`).notNull(),fonts_body_text_size:(0,i.integer)(`fonts_body_text_size`).notNull(),fonts_buttons_text_bold:(0,i.integer)(`fonts_buttons_text_bold`).notNull(),fonts_buttons_text_size:(0,i.integer)(`fonts_buttons_text_size`).notNull(),fonts_font_url:(0,i.text)(`fonts_font_url`,{length:255}).notNull(),fonts_input_labels_bold:(0,i.integer)(`fonts_input_labels_bold`).notNull(),fonts_input_labels_size:(0,i.integer)(`fonts_input_labels_size`).notNull(),fonts_links_bold:(0,i.integer)(`fonts_links_bold`,{mode:`boolean`}).notNull(),fonts_links_size:(0,i.integer)(`fonts_links_size`).notNull(),fonts_links_style:(0,i.text)(`fonts_links_style`,{length:24}).notNull(),fonts_reference_text_size:(0,i.integer)(`fonts_reference_text_size`).notNull(),fonts_subtitle_bold:(0,i.integer)(`fonts_subtitle_bold`,{mode:`boolean`}).notNull(),fonts_subtitle_size:(0,i.integer)(`fonts_subtitle_size`).notNull(),fonts_title_bold:(0,i.integer)(`fonts_title_bold`,{mode:`boolean`}).notNull(),fonts_title_size:(0,i.integer)(`fonts_title_size`).notNull(),page_background_background_color:(0,i.text)(`page_background_background_color`,{length:24}).notNull(),page_background_background_image_url:(0,i.text)(`page_background_background_image_url`,{length:255}).notNull(),page_background_page_layout:(0,i.text)(`page_background_page_layout`,{length:24}).notNull(),widget_header_text_alignment:(0,i.text)(`widget_header_text_alignment`,{length:24}).notNull(),widget_logo_height:(0,i.integer)(`widget_logo_height`).notNull(),widget_logo_position:(0,i.text)(`widget_logo_position`,{length:24}).notNull(),widget_logo_url:(0,i.text)(`widget_logo_url`,{length:255}).notNull(),widget_social_buttons_layout:(0,i.text)(`widget_social_buttons_layout`,{length:24}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.themeId],name:`themes_pkey`}),(0,i.index)(`themes_tenant_id_idx`).on(e.tenant_id)]),F=(0,i.sqliteTable)(`forms`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),name:(0,i.text)(`name`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),messages:(0,i.text)(`messages`,{length:255}),languages:(0,i.text)(`languages`,{length:255}),translations:(0,i.text)(`translations`,{length:4096}),nodes:(0,i.text)(`nodes`,{length:4096}),start:(0,i.text)(`start`,{length:255}),ending:(0,i.text)(`ending`,{length:255}),style:(0,i.text)(`style`,{length:1042}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`forms_tenant_id_idx`).on(e.tenant_id)]),I=(0,i.sqliteTable)(`flows`,{id:(0,i.text)(`id`,{length:24}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:150}).notNull(),actions:(0,i.text)(`actions`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`flows_tenant_id_idx`).on(e.tenant_id)]),ae=(0,i.sqliteTable)(`prompt_settings`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey(),universal_login_experience:(0,i.text)(`universal_login_experience`,{length:16}).notNull().default(`new`),identifier_first:(0,i.integer)(`identifier_first`,{mode:`boolean`}).notNull().default(!0),password_first:(0,i.integer)(`password_first`,{mode:`boolean`}).notNull().default(!1),webauthn_platform_first_factor:(0,i.integer)(`webauthn_platform_first_factor`,{mode:`boolean`}).notNull().default(!1),show_last_used_connection:(0,i.integer)(`show_last_used_connection`,{mode:`boolean`}).notNull().default(!1)}),L=(0,i.sqliteTable)(`email_providers`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey(),name:(0,i.text)(`name`,{length:255}).notNull(),enabled:(0,i.integer)(`enabled`,{mode:`boolean`}).notNull(),default_from_address:(0,i.text)(`default_from_address`,{length:255}),credentials:(0,i.text)(`credentials`,{length:2048}).notNull().default(`{}`),settings:(0,i.text)(`settings`,{length:2048}).notNull().default(`{}`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()}),R=(0,i.sqliteTable)(`email_templates`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),template:(0,i.text)(`template`,{length:64}).notNull(),body:(0,i.text)(`body`).notNull(),from:(0,i.text)(`from`,{length:255}).notNull(),subject:(0,i.text)(`subject`,{length:255}).notNull(),syntax:(0,i.text)(`syntax`,{length:16}).notNull().default(`liquid`),result_url:(0,i.text)(`result_url`,{length:2048}),url_lifetime_in_seconds:(0,i.integer)(`url_lifetime_in_seconds`),include_email_in_redirect:(0,i.integer)(`include_email_in_redirect`,{mode:`boolean`}).notNull().default(!1),enabled:(0,i.integer)(`enabled`,{mode:`boolean`}).notNull().default(!0),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.template]})]),z=(0,i.sqliteTable)(`hooks`,{hook_id:(0,i.text)(`hook_id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),url:(0,i.text)(`url`,{length:512}),trigger_id:(0,i.text)(`trigger_id`,{length:255}).notNull(),enabled:(0,i.integer)(`enabled`,{mode:`boolean`}).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull(),synchronous:(0,i.integer)(`synchronous`,{mode:`boolean`}).notNull().default(!1),priority:(0,i.integer)(`priority`),form_id:(0,i.text)(`form_id`,{length:128}),template_id:(0,i.text)(`template_id`,{length:64}),code_id:(0,i.text)(`code_id`,{length:21}),metadata:(0,i.text)(`metadata`)},e=>[(0,i.index)(`hooks_tenant_id_idx`).on(e.tenant_id)]),B=(0,i.sqliteTable)(`hook_code`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),code:(0,i.text)(`code`).notNull(),secrets:(0,i.text)(`secrets`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.index)(`hook_code_tenant_id_idx`).on(e.tenant_id)]),V=(0,i.sqliteTable)(`keys`,{kid:(0,i.text)(`kid`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).references(()=>c.id,{onDelete:`cascade`}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),revoked_at:(0,i.text)(`revoked_at`,{length:35}),cert:(0,i.text)(`cert`,{length:4096}),pkcs7:(0,i.text)(`pkcs7`,{length:4096}),fingerprint:(0,i.text)(`fingerprint`,{length:256}),thumbprint:(0,i.text)(`thumbprint`,{length:256}),current_since:(0,i.text)(`current_since`,{length:35}),current_until:(0,i.text)(`current_until`,{length:35}),type:(0,i.text)(`type`,{length:50}).notNull().default(`jwt_signing`),connection:(0,i.text)(`connection`,{length:255}).references(()=>C.id,{onDelete:`cascade`})}),H=(0,i.sqliteTable)(`custom_text`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),prompt:(0,i.text)(`prompt`,{length:64}).notNull(),language:(0,i.text)(`language`,{length:16}).notNull(),custom_text:(0,i.text)(`custom_text`).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.prompt,e.language]})]),U=(0,i.sqliteTable)(`authentication_methods`,{id:(0,i.text)(`id`,{length:26}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),type:(0,i.text)(`type`,{length:32}).notNull(),phone_number:(0,i.text)(`phone_number`,{length:32}),totp_secret:(0,i.text)(`totp_secret`,{length:255}),credential_id:(0,i.text)(`credential_id`,{length:512}),public_key:(0,i.text)(`public_key`),sign_count:(0,i.integer)(`sign_count`),credential_backed_up:(0,i.integer)(`credential_backed_up`),transports:(0,i.text)(`transports`,{length:512}),friendly_name:(0,i.text)(`friendly_name`,{length:255}),confirmed:(0,i.integer)(`confirmed`).notNull().default(0),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.index)(`authentication_methods_tenant_user_idx`).on(e.tenant_id,e.user_id),(0,i.index)(`authentication_methods_credential_id_idx`).on(e.credential_id)]),W=(0,i.sqliteTable)(`logs`,{log_id:(0,i.text)(`log_id`,{length:21}).primaryKey(),category:(0,i.text)(`category`,{length:255}),tenant_id:(0,i.text)(`tenant_id`,{length:64}),user_id:(0,i.text)(`user_id`,{length:64}),ip:(0,i.text)(`ip`,{length:255}),type:(0,i.text)(`type`,{length:8}).notNull(),date:(0,i.text)(`date`,{length:35}).notNull(),client_id:(0,i.text)(`client_id`,{length:255}),client_name:(0,i.text)(`client_name`,{length:255}),user_agent:(0,i.text)(`user_agent`,{length:255}),description:(0,i.text)(`description`,{length:255}),details:(0,i.text)(`details`,{length:2048}),isMobile:(0,i.integer)(`isMobile`),user_name:(0,i.text)(`user_name`,{length:255}),connection:(0,i.text)(`connection`,{length:255}),connection_id:(0,i.text)(`connection_id`,{length:255}),audience:(0,i.text)(`audience`,{length:255}),scope:(0,i.text)(`scope`,{length:255}),strategy:(0,i.text)(`strategy`,{length:255}),strategy_type:(0,i.text)(`strategy_type`,{length:255}),hostname:(0,i.text)(`hostname`,{length:255}),auth0_client:(0,i.text)(`auth0_client`,{length:8192}),session_connection:(0,i.text)(`session_connection`,{length:255}),country_code:(0,i.text)(`country_code`,{length:2}),city_name:(0,i.text)(`city_name`,{length:255}),latitude:(0,i.text)(`latitude`,{length:255}),longitude:(0,i.text)(`longitude`,{length:255}),time_zone:(0,i.text)(`time_zone`,{length:255}),continent_code:(0,i.text)(`continent_code`,{length:2})},e=>[(0,i.index)(`logs_user_id`).on(e.user_id),(0,i.index)(`logs_tenant_id`).on(e.tenant_id),(0,i.index)(`logs_date`).on(e.date),(0,i.index)(`IDX_logs_tenant_date_type_user`).on(e.tenant_id,e.date,e.type,e.user_id)]),G=(0,i.sqliteTable)(`outbox_events`,{id:(0,i.text)(`id`,{length:26}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),event_type:(0,i.text)(`event_type`,{length:64}).notNull(),log_type:(0,i.text)(`log_type`,{length:64}).notNull(),aggregate_type:(0,i.text)(`aggregate_type`,{length:64}).notNull(),aggregate_id:(0,i.text)(`aggregate_id`,{length:255}).notNull(),payload:(0,i.text)(`payload`).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),processed_at:(0,i.text)(`processed_at`,{length:35}),retry_count:(0,i.integer)(`retry_count`).notNull().default(0),next_retry_at:(0,i.text)(`next_retry_at`,{length:35}),error:(0,i.text)(`error`),claimed_by:(0,i.text)(`claimed_by`,{length:255}),claim_expires_at:(0,i.text)(`claim_expires_at`,{length:35}),dead_lettered_at:(0,i.text)(`dead_lettered_at`,{length:35}),final_error:(0,i.text)(`final_error`)},e=>[(0,i.index)(`idx_outbox_events_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_outbox_events_processed_at`).on(e.processed_at),(0,i.index)(`idx_outbox_events_claimed_by`).on(e.claimed_by),(0,i.index)(`idx_outbox_events_tenant_dead_lettered`).on(e.tenant_id,e.dead_lettered_at)]),K=(0,i.sqliteTable)(`proxy_routes`,{id:(0,i.text)(`id`,{length:64}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),custom_domain_id:(0,i.text)(`custom_domain_id`,{length:256}).notNull(),priority:(0,i.integer)(`priority`).notNull().default(100),match:(0,i.text)(`match`,{length:2048}).notNull().default(`{"path":"/*"}`),handlers:(0,i.text)(`handlers`,{length:16384}).notNull().default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`proxy_routes_tenant_id_idx`).on(e.tenant_id),(0,i.index)(`proxy_routes_custom_domain_id_idx`).on(e.custom_domain_id)]),q=(0,i.sqliteTable)(`scim_configurations`,{connection_id:(0,i.text)(`connection_id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),user_id_attribute:(0,i.text)(`user_id_attribute`,{length:255}).notNull().default(`externalId`),mapping:(0,i.text)(`mapping`,{length:16384}).notNull().default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.connection_id]})]),J=(0,i.sqliteTable)(`scim_tokens`,{token_id:(0,i.text)(`token_id`,{length:64}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),connection_id:(0,i.text)(`connection_id`,{length:255}).notNull(),token_hash:(0,i.text)(`token_hash`,{length:128}).notNull(),scopes:(0,i.text)(`scopes`,{length:4096}).notNull().default(`[]`),valid_until:(0,i.text)(`valid_until`,{length:35}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),last_used_at:(0,i.text)(`last_used_at`,{length:35})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.token_id]}),(0,i.index)(`scim_tokens_tenant_connection_idx`).on(e.tenant_id,e.connection_id),(0,i.uniqueIndex)(`scim_tokens_tenant_hash_idx`).on(e.tenant_id,e.token_hash)]),Y=(0,i.sqliteTable)(`scim_external_ids`,{tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),connection_id:(0,i.text)(`connection_id`,{length:255}).notNull(),external_id:(0,i.text)(`external_id`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.connection_id,e.user_id]}),(0,i.uniqueIndex)(`scim_external_ids_connection_external_idx`).on(e.tenant_id,e.connection_id,e.external_id)]),oe=t({actionExecutions:()=>d,actionVersions:()=>u,actions:()=>l,authenticationCodes:()=>ee,authenticationMethods:()=>U,branding:()=>ie,clientGrants:()=>x,clientRegistrationTokens:()=>b,clients:()=>y,codes:()=>v,connections:()=>C,customDomains:()=>w,customText:()=>H,domains:()=>re,emailProviders:()=>L,emailTemplates:()=>R,flows:()=>I,forms:()=>F,grants:()=>S,hookCode:()=>B,hooks:()=>z,invites:()=>D,keys:()=>V,loginSessions:()=>_,logs:()=>W,organizations:()=>T,otps:()=>te,outboxEvents:()=>G,passwords:()=>p,promptSettings:()=>ae,proxyRoutes:()=>K,refreshTokens:()=>g,resourceServers:()=>M,rolePermissions:()=>k,roles:()=>O,scimConfigurations:()=>q,scimExternalIds:()=>Y,scimTokens:()=>J,sessions:()=>h,tenants:()=>c,themes:()=>P,tickets:()=>ne,universalLoginTemplates:()=>N,userActivity:()=>m,userOrganizations:()=>E,userPermissions:()=>A,userRoles:()=>j,users:()=>f});function X(e,t){if(e==null)return t;if(typeof e==`string`)try{return JSON.parse(e)}catch{return t}return e}function se(e,t=``,n={}){for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=t?`${t}_${r}`:r,a=e[r];typeof a==`object`&&a&&!Array.isArray(a)?se(a,i,n):typeof a==`boolean`?n[i]=+!!a:n[i]=a}return n}function ce(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=t.find(e=>r.startsWith(`${e}_`));if(!e)n[r]=i;else{let t=r.slice(e.length+1);n[e]={...n[e],[t]:i}}}return n}function le(e){return typeof e==`object`&&!!e&&`coalesce`in e&&`defaultValue`in e}function ue(e){return n.sql`coalesce(${e.coalesce}, ${e.defaultValue})`}function Z(e,t,r,a=[]){let o=(0,n.is)(e,i.SQLiteTable)?(0,n.getTableColumns)(e):e,s=new Set(a),c=e=>{let t=Number(e);return Number.isFinite(t)?t:e},l=t.split(/ OR /i);if(l.length>1){let e=l.map(e=>{let t=e.trim().match(/^([^:]+):(.+)$/);if(t){let[,e,r]=t;if(!e||!r)return null;let i=e.trim(),a=r.replace(/^"(.*)"$/,`$1`).trim(),l=o[i];return le(l)?(0,n.eq)(ue(l),c(a)):(0,n.is)(l,n.Column)?s.has(i)?(0,n.like)(l,`%${a}%`):(0,n.eq)(l,a):null}return null}).filter(e=>e!==null);return e.length===0?void 0:(0,n.or)(...e)}let u=[],d=``,f=!1;for(let e=0;e<t.length;e++){let n=t[e];n===`"`?(f=!f,d+=n):n===` `&&!f?d.trim()&&(u.push(d.trim()),d=``):d+=n}d.trim()&&u.push(d.trim());let p=u.filter(e=>e!==`AND`).map(e=>e.replace(/^([^:]+)=/g,`$1:`)).map(e=>{let t=e.startsWith(`-`),n=null,r=``,i=!1,a;if(e.startsWith(`-_exists_:`))n=e.substring(10),i=!0,t=!0;else if(e.startsWith(`_exists_:`))n=e.substring(9),i=!0,t=!1;else if(e.includes(`:`)){let o=t?e.substring(1):e,s=o.indexOf(`:`);n=o.substring(0,s),r=o.substring(s+1),i=!1,r.startsWith(`>=`)?(a=`>=`,r=r.substring(2)):r.startsWith(`>`)?(a=`>`,r=r.substring(1)):r.startsWith(`<=`)?(a=`<=`,r=r.substring(2)):r.startsWith(`<`)?(a=`<`,r=r.substring(1)):a=`=`,r.startsWith(`"`)&&r.endsWith(`"`)&&r.length>1&&(r=r.slice(1,-1))}else n=null,r=e,i=!1;return{key:n,value:r,isNegation:t,isExistsQuery:i,operator:a}}),m=[];for(let{key:e,value:t,isNegation:i,isExistsQuery:a,operator:l}of p)if(e){let r=o[e],u=le(r),d=u?r.coalesce:(0,n.is)(r,n.Column)?r:void 0,f=u?c(t):t;if(!d){a?m.push(i?n.sql`${n.sql.identifier(e)} IS NULL`:n.sql`${n.sql.identifier(e)} IS NOT NULL`):m.push(n.sql`${n.sql.identifier(e)} ${n.sql.raw(i?`!=`:l??`=`)} ${t}`);continue}let p=u?ue(r):n.sql`${d}`;if(a)m.push(i?(0,n.isNull)(d):(0,n.isNotNull)(d));else if(s.has(e)&&l===`=`)m.push(i?(0,n.notLike)(d,`%${t}%`):(0,n.like)(d,`%${t}%`));else if(i)switch(l){case`>`:m.push((0,n.lte)(p,f));break;case`>=`:m.push((0,n.lt)(p,f));break;case`<`:m.push((0,n.gte)(p,f));break;case`<=`:m.push((0,n.gt)(p,f));break;default:m.push((0,n.ne)(p,f))}else switch(l){case`>`:m.push((0,n.gt)(p,f));break;case`>=`:m.push((0,n.gte)(p,f));break;case`<`:m.push((0,n.lt)(p,f));break;case`<=`:m.push((0,n.lte)(p,f));break;default:m.push((0,n.eq)(p,f))}}else if(t){let e=(t.includes(`|`)?[...r,`user_id`]:r).map(e=>{let r=o[e];return(0,n.is)(r,n.Column)?e===`user_id`?(0,n.eq)(r,t):(0,n.like)(r,`%${t}%`):null}).filter(e=>e!==null);e.length>0&&m.push((0,n.or)(...e))}if(m.length!==0)return m.length===1?m[0]:(0,n.and)(...m)}function de(e){let t=X(e);return Array.isArray(t)?t:[]}function fe(e){let{created_at_ts:t,updated_at_ts:n,deployed_at_ts:r,secrets:i,dependencies:a,supported_triggers:o,is_system:s,inherit:c,tenant_id:l,runtime:u,status:d,...f}=e;return{...f,tenant_id:l,runtime:u??void 0,status:d||`built`,deployed_at:r?new Date(Number(r)).toISOString():void 0,secrets:X(i),dependencies:X(a),supported_triggers:X(o),is_system:!!s,inherit:!!c,created_at:new Date(Number(t)).toISOString(),updated_at:new Date(Number(n)).toISOString()}}function pe(e){return{async create(t,n){let i=Date.now(),a=`act_${(0,r.nanoid)()}`;return await e.insert(l).values({id:a,tenant_id:t,name:n.name,code:n.code,runtime:n.runtime??null,status:`built`,secrets:n.secrets?JSON.stringify(n.secrets):null,dependencies:n.dependencies?JSON.stringify(n.dependencies):null,supported_triggers:n.supported_triggers?JSON.stringify(n.supported_triggers):null,is_system:+!!n.is_system,inherit:+!!n.inherit,created_at_ts:i,updated_at_ts:i}),{id:a,tenant_id:t,name:n.name,code:n.code,runtime:n.runtime,status:`built`,secrets:n.secrets?.map(e=>({name:e.name})),dependencies:n.dependencies,supported_triggers:n.supported_triggers,is_system:n.is_system??!1,inherit:n.inherit??!1,created_at:new Date(i).toISOString(),updated_at:new Date(i).toISOString()}},async get(t,r){let i=await e.select().from(l).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).get();return i?fe(i):null},async list(t,r={}){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r,u=[(0,n.eq)(l.tenant_id,t)];if(c){let e=Z(l,c,[`name`]);e&&u.push(e)}let d=(0,n.and)(...u),f=e.select().from(l).where(d).$dynamic();if(s?.sort_by){let e=l[s.sort_by];e&&(f=f.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let p=(await f.offset(i*a).limit(a)).map(fe);if(!o)return{actions:p,start:0,limit:0,length:0};let[m]=await e.select({count:(0,n.count)()}).from(l).where(d);return{actions:p,start:i*a,limit:a,length:Number(m?.count??0)}},async update(t,r,i){let a={updated_at_ts:Date.now()};if(i.name!==void 0&&(a.name=i.name),i.code!==void 0&&(a.code=i.code),i.runtime!==void 0&&(a.runtime=i.runtime),i.secrets!==void 0){let o=await e.select({secrets:l.secrets}).from(l).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).get(),s=new Map(de(o?.secrets).map(e=>[e.name,e])),c=i.secrets.map(e=>e.value===void 0?{name:e.name,value:s.get(e.name)?.value}:e);a.secrets=JSON.stringify(c)}if(i.dependencies!==void 0&&(a.dependencies=JSON.stringify(i.dependencies)),i.supported_triggers!==void 0&&(a.supported_triggers=JSON.stringify(i.supported_triggers)),i.status!==void 0&&(a.status=i.status),i.deployed_at!==void 0){let e=new Date(i.deployed_at).getTime();Number.isFinite(e)&&(a.deployed_at_ts=e)}return i.is_system!==void 0&&(a.is_system=+!!i.is_system),i.inherit!==void 0&&(a.inherit=+!!i.inherit),(await e.update(l).set(a).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).returning()).length>0},async remove(t,r){return(await e.delete(l).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).returning()).length>0}}}function me(e){return{async create(t,n){let r=Date.now();return await e.insert(d).values({id:n.id,tenant_id:t,trigger_id:n.trigger_id,status:n.status,results:JSON.stringify(n.results),logs:n.logs?JSON.stringify(n.logs):null,created_at_ts:r,updated_at_ts:r}),{id:n.id,tenant_id:t,trigger_id:n.trigger_id,status:n.status,results:n.results,logs:n.logs,created_at:new Date(r).toISOString(),updated_at:new Date(r).toISOString()}},async get(t,r){let i=await e.select().from(d).where((0,n.and)((0,n.eq)(d.tenant_id,t),(0,n.eq)(d.id,r))).get();return i?{id:i.id,tenant_id:i.tenant_id,trigger_id:i.trigger_id,status:i.status,results:X(i.results)??[],logs:X(i.logs),created_at:new Date(Number(i.created_at_ts)).toISOString(),updated_at:new Date(Number(i.updated_at_ts)).toISOString()}:null}}}function he(e){let t=e;return typeof t==`object`&&!!t&&`batch`in t&&typeof t.batch==`function`}async function ge(e,t){if(he(e))return e.batch(t);await e.run(n.sql`BEGIN`);try{let r=[];for(let e of t)r.push(await e);return await e.run(n.sql`COMMIT`),r}catch(t){try{await e.run(n.sql`ROLLBACK`)}catch(e){console.error(`runAtomic rollback failed`,e)}throw t}}function _e(e){let{created_at_ts:t,updated_at_ts:n,secrets:r,dependencies:i,supported_triggers:a,deployed:o,runtime:s,...c}=e;return{...c,runtime:s??void 0,deployed:!!o,secrets:X(r),dependencies:X(i),supported_triggers:X(a),created_at:new Date(Number(t)).toISOString(),updated_at:new Date(Number(n)).toISOString()}}function ve(e){return{async create(t,i){let a=Date.now(),o=`ver_${(0,r.nanoid)()}`,s=i.deployed!==!1,c=((await e.select({number:u.number}).from(u).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,i.action_id))).orderBy((0,n.desc)(u.number)).limit(1).get())?.number??0)+1,l=e.insert(u).values({id:o,tenant_id:t,action_id:i.action_id,number:c,code:i.code,runtime:i.runtime??null,secrets:i.secrets?JSON.stringify(i.secrets):null,dependencies:i.dependencies?JSON.stringify(i.dependencies):null,supported_triggers:i.supported_triggers?JSON.stringify(i.supported_triggers):null,deployed:+!!s,created_at_ts:a,updated_at_ts:a});return await ge(e,s?[e.update(u).set({deployed:0,updated_at_ts:a}).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,i.action_id),(0,n.eq)(u.deployed,1))),l]:[l]),{id:o,tenant_id:t,action_id:i.action_id,number:c,code:i.code,runtime:i.runtime,secrets:i.secrets,dependencies:i.dependencies,supported_triggers:i.supported_triggers,deployed:s,created_at:new Date(a).toISOString(),updated_at:new Date(a).toISOString()}},async get(t,r,i){let a=await e.select().from(u).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,r),(0,n.eq)(u.id,i))).get();return a?_e(a):null},async list(t,r,i={}){let{page:a=0,per_page:o=50,include_totals:s=!1}=i,c=(0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,r)),l=(await e.select().from(u).where(c).orderBy((0,n.desc)(u.number)).offset(a*o).limit(o)).map(_e);if(!s)return{versions:l,start:0,limit:0,length:0};let[d]=await e.select({count:(0,n.count)()}).from(u).where(c);return{versions:l,start:a*o,limit:o,length:Number(d?.count??0)}},async removeForAction(t,r){return(await e.delete(u).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,r))).returning()).length}}}function ye(e){return e===`dark`||e===`light`||e===`auto`}function be(e){return{async get(t){let r=await e.select().from(ie).where((0,n.eq)(ie.tenant_id,t)).get();if(!r)return null;let{tenant_id:i,colors_primary:o,colors_page_background_type:s,colors_page_background_start:c,colors_page_background_end:l,colors_page_background_angle_dev:u,font_url:d,dark_mode:f,...p}=r;return(0,a.removeNullProperties)({...p,colors:{primary:o,page_background:{type:s,start:c,end:l,angle_deg:u}},font:d?{url:d}:void 0,dark_mode:ye(f)?f:void 0})},async set(t,n){let{colors:r,font:i,dark_mode:a,...o}=n,s=r?.page_background,c=s&&typeof s==`object`?s:void 0,l={...o,colors_primary:r?.primary,colors_page_background_type:c?.type,colors_page_background_start:c?.start,colors_page_background_end:c?.end,colors_page_background_angle_dev:c?.angle_deg,font_url:i?.url,dark_mode:a};await e.insert(ie).values({tenant_id:t,...l}).onConflictDoUpdate({target:ie.tenant_id,set:l})}}}function xe(e){return e?.from!==void 0||e?.take!==void 0}function Se(e){let t=e?.take,n=typeof t==`number`&&Number.isFinite(t)?Math.floor(t):NaN;return n>=1?n:50}function Ce(e){let t=e.sortOrder===`asc`?n.asc:n.desc;return[t(e.sortColumn),t(e.idColumn)]}function we(e,t){let r=e?.from?(0,o.decodeCursor)(e.from):null;if(!r)return;if(r.k!==t.sortKey)throw new s.HTTPException(400,{message:"The `from` cursor was issued under a different sort and cannot be used with this request"});if(r.s===void 0||r.s===null)return t.sortOrder===`asc`?(0,n.gt)(t.idColumn,r.i):(0,n.lt)(t.idColumn,r.i);let i=t.sortOrder===`asc`?n.sql.raw(`>`):n.sql.raw(`<`);return n.sql`(${t.sortColumn}, ${t.idColumn}) ${i} (${r.s}, ${r.i})`}function Te(e,t,n,r=`id`,i){let a=e.length>t,s=a?e.slice(0,t):e,c,l=s[s.length-1];if(a&&l){let e=l[n];c=(0,o.encodeCursor)({s:typeof e==`string`||typeof e==`number`||e===null?e:String(e),i:String(l[r]),...i!==void 0&&{k:i}})}return{rows:s,next:c}}var Ee=[`global`,`is_first_party`,`oidc_conformant`,`auth0_conformant`,`sso`,`sso_disabled`,`cross_origin_authentication`,`custom_login_page_on`,`require_pushed_authorization_requests`,`require_proof_of_possession`,`hide_sign_up_disabled_error`],De=[`callbacks`,`allowed_origins`,`web_origins`,`client_aliases`,`allowed_clients`,`allowed_logout_urls`,`grant_types`,`signing_keys`],Oe=[`session_transfer`,`oidc_logout`,`jwt_configuration`,`encryption_key`,`addons`,`client_metadata`,`mobile`,`native_social_login`,`refresh_token`,`default_organization`,`client_authentication_methods`,`signed_request_object`,`token_quota`,`registration_metadata`];function ke(e){let{tenant_id:t,connections:n,...r}=e,i={...r};for(let e of Ee)i[e]=!!r[e];for(let e of De)i[e]=X(r[e],[]);for(let e of Oe)i[e]=X(r[e],{});return i.connections=X(n,[]),(0,a.removeNullProperties)(i)}function Ae(e){let t={...e};(0,a.booleanToInt)(e,Ee,t);for(let n of De)e[n]!==void 0&&(t[n]=JSON.stringify(e[n]||[]));for(let n of Oe)e[n]!==void 0&&(t[n]=JSON.stringify(e[n]||{}));return e.connections!==void 0&&(t.connections=JSON.stringify(e.connections||[])),(0,a.removeUndefinedAndNull)(t)}function je(e){return{async create(t,n){let r=new Date().toISOString(),i={client_id:n.client_id,tenant_id:t,name:n.name,description:n.description,app_type:n.app_type??`regular_web`,logo_uri:n.logo_uri,client_secret:n.client_secret,token_endpoint_auth_method:n.token_endpoint_auth_method??`client_secret_basic`,cross_origin_loc:n.cross_origin_loc,custom_login_page:n.custom_login_page,custom_login_page_preview:n.custom_login_page_preview,form_template:n.form_template,initiate_login_uri:n.initiate_login_uri,organization_usage:n.organization_usage??`deny`,organization_require_behavior:n.organization_require_behavior??`no_prompt`,compliance_level:n.compliance_level,par_request_expiry:n.par_request_expiry,created_at:r,updated_at:r};for(let e of Ee)i[e]=n[e]??!1;i.oidc_conformant=n.oidc_conformant??!0,i.auth0_conformant=n.auth0_conformant??!0,i.sso_disabled=n.sso_disabled??!1;for(let e of De)i[e]=n[e]||[];for(let e of Oe)i[e]=n[e]||{};i.connections=n.connections||[];let a=Ae(i);try{await e.insert(y).values({...a,tenant_id:t})}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`Client already exists`}):e}return ke({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).get();return i?ke(i):null},async getByClientId(t){let r=await e.select().from(y).where((0,n.eq)(y.client_id,t)).get();return r?{...ke(r),tenant_id:r.tenant_id}:null},async update(t,r,i){let a=Ae({...i,updated_at:new Date().toISOString()});return delete a.client_id,delete a.tenant_id,await e.update(y).set(a).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))),!0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(y,c,[`name`,`client_id`]):void 0,u=l?(0,n.and)((0,n.eq)(y.tenant_id,t),l):(0,n.eq)(y.tenant_id,t);if(xe(r)){let t={sortColumn:y.created_at,idColumn:y.client_id,sortOrder:`desc`},i=we(r,t),a=Se(r),{rows:o,next:s}=Te(await e.select().from(y).where(i?(0,n.and)(u,i):u).orderBy(...Ce(t)).limit(a+1),a,`created_at`,`client_id`),c=o.map(ke);return{clients:c,totals:{start:0,limit:a,length:c.length,next:s}}}let d=e.select().from(y).where(u).$dynamic();if(s?.sort_by){let e=y[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let f=(await d.offset(i*a).limit(a)).map(ke);if(!o)return{clients:f};let[p]=await e.select({count:(0,n.count)()}).from(y).where(u);return{clients:f,totals:{start:i*a,limit:a,length:f.length,total:Number(p?.count??0)}}},async remove(t,r){return(await e.delete(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).returning()).length>0}}}function Me(e){let{tenant_id:t,is_system:n,options:r,metadata:i,...o}=e;return(0,a.removeNullProperties)({...o,options:X(r,{}),metadata:X(i),is_system:n?!0:void 0})}function Ne(e){return{async listByClient(t,r){let i=await e.select({connections:y.connections}).from(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).get();if(!i)return[];let a=X(i.connections,[])||[];if(a.length===0)return[];let o=(await e.select().from(C).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.inArray)(C.id,a))).all()).map(Me);return a.map(e=>o.find(t=>t.id===e)).filter(Boolean)},async updateByClient(t,r,i){return(await e.update(y).set({connections:JSON.stringify([...new Set(i)])}).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).returning()).length>0},async listByConnection(t,r){return(await e.select({client_id:y.client_id,connections:y.connections}).from(y).where((0,n.eq)(y.tenant_id,t)).all()).filter(e=>(X(e.connections,[])||[]).includes(r)).map(e=>e.client_id)},async addClientToConnection(t,r,i){if(!await e.select({client_id:y.client_id}).from(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,i))).get())return!1;let a=await e.run(n.sql`UPDATE clients SET connections = CASE
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};let n=require("drizzle-orm"),r=require("nanoid"),i=require("drizzle-orm/sqlite-core"),a=require("@authhero/adapter-interfaces/sql"),o=require("@authhero/adapter-interfaces"),s=require("hono/http-exception");var c=(0,i.sqliteTable)(`tenants`,{id:(0,i.text)(`id`,{length:191}).primaryKey(),name:(0,i.text)(`name`,{length:255}),audience:(0,i.text)(`audience`,{length:255}),sender_email:(0,i.text)(`sender_email`,{length:255}),sender_name:(0,i.text)(`sender_name`,{length:255}),language:(0,i.text)(`language`,{length:255}),logo:(0,i.text)(`logo`,{length:255}),primary_color:(0,i.text)(`primary_color`,{length:255}),secondary_color:(0,i.text)(`secondary_color`,{length:255}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),support_url:(0,i.text)(`support_url`,{length:255}),idle_session_lifetime:(0,i.integer)(`idle_session_lifetime`),session_lifetime:(0,i.integer)(`session_lifetime`),session_cookie:(0,i.text)(`session_cookie`),allowed_logout_urls:(0,i.text)(`allowed_logout_urls`),ephemeral_session_lifetime:(0,i.integer)(`ephemeral_session_lifetime`),idle_ephemeral_session_lifetime:(0,i.integer)(`idle_ephemeral_session_lifetime`),default_redirection_uri:(0,i.text)(`default_redirection_uri`),default_client_id:(0,i.text)(`default_client_id`,{length:255}),enabled_locales:(0,i.text)(`enabled_locales`),default_directory:(0,i.text)(`default_directory`,{length:255}),error_page:(0,i.text)(`error_page`),flags:(0,i.text)(`flags`),friendly_name:(0,i.text)(`friendly_name`,{length:255}),picture_url:(0,i.text)(`picture_url`),support_email:(0,i.text)(`support_email`,{length:255}),sandbox_version:(0,i.text)(`sandbox_version`,{length:50}),sandbox_versions_available:(0,i.text)(`sandbox_versions_available`),legacy_sandbox_version:(0,i.text)(`legacy_sandbox_version`,{length:50}),change_password:(0,i.text)(`change_password`),guardian_mfa_page:(0,i.text)(`guardian_mfa_page`),device_flow:(0,i.text)(`device_flow`),default_token_quota:(0,i.text)(`default_token_quota`),default_audience:(0,i.text)(`default_audience`,{length:255}),default_organization:(0,i.text)(`default_organization`,{length:255}),sessions:(0,i.text)(`sessions`),oidc_logout:(0,i.text)(`oidc_logout`),allow_organization_name_in_authentication_api:(0,i.integer)(`allow_organization_name_in_authentication_api`),customize_mfa_in_postlogin_action:(0,i.integer)(`customize_mfa_in_postlogin_action`),acr_values_supported:(0,i.text)(`acr_values_supported`),mtls:(0,i.text)(`mtls`),pushed_authorization_requests_supported:(0,i.integer)(`pushed_authorization_requests_supported`),authorization_response_iss_parameter_supported:(0,i.integer)(`authorization_response_iss_parameter_supported`),deployment_type:(0,i.text)(`deployment_type`,{length:16}).notNull().default(`shared`),provisioning_state:(0,i.text)(`provisioning_state`,{length:16}).notNull().default(`ready`),provisioning_error:(0,i.text)(`provisioning_error`),provisioning_state_changed_at:(0,i.text)(`provisioning_state_changed_at`,{length:35}),bundle_configuration:(0,i.text)(`bundle_configuration`,{length:64}),worker_version:(0,i.text)(`worker_version`,{length:64}),database_version:(0,i.text)(`database_version`,{length:64}),worker_script_name:(0,i.text)(`worker_script_name`,{length:255}),storage_kind:(0,i.text)(`storage_kind`,{length:32}),d1_database_id:(0,i.text)(`d1_database_id`,{length:64})}),l=(0,i.sqliteTable)(`actions`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:255}).notNull(),code:(0,i.text)(`code`).notNull(),runtime:(0,i.text)(`runtime`,{length:50}),status:(0,i.text)(`status`,{length:16}),secrets:(0,i.text)(`secrets`),dependencies:(0,i.text)(`dependencies`),supported_triggers:(0,i.text)(`supported_triggers`),deployed_at_ts:(0,i.integer)(`deployed_at_ts`),is_system:(0,i.integer)(`is_system`),inherit:(0,i.integer)(`inherit`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`actions_pk`}),(0,i.index)(`idx_actions_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_actions_name`).on(e.tenant_id,e.name)]),u=(0,i.sqliteTable)(`action_versions`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),action_id:(0,i.text)(`action_id`,{length:255}).notNull(),number:(0,i.integer)(`number`).notNull(),code:(0,i.text)(`code`).notNull(),runtime:(0,i.text)(`runtime`,{length:50}),secrets:(0,i.text)(`secrets`),dependencies:(0,i.text)(`dependencies`),supported_triggers:(0,i.text)(`supported_triggers`),deployed:(0,i.integer)(`deployed`).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`action_versions_pk`}),(0,i.uniqueIndex)(`uq_action_versions_number`).on(e.tenant_id,e.action_id,e.number),(0,i.index)(`idx_action_versions_action_id`).on(e.tenant_id,e.action_id)]),d=(0,i.sqliteTable)(`action_executions`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),trigger_id:(0,i.text)(`trigger_id`,{length:255}).notNull(),status:(0,i.text)(`status`,{length:32}).notNull(),results:(0,i.text)(`results`).notNull(),logs:(0,i.text)(`logs`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`action_executions_pk`}),(0,i.index)(`action_executions_created_at_ts_index`).on(e.created_at_ts)]),f=(0,i.sqliteTable)(`users`,{user_id:(0,i.text)(`user_id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),email:(0,i.text)(`email`,{length:255}),given_name:(0,i.text)(`given_name`,{length:255}),family_name:(0,i.text)(`family_name`,{length:255}),nickname:(0,i.text)(`nickname`,{length:255}),name:(0,i.text)(`name`,{length:255}),picture:(0,i.text)(`picture`,{length:2083}),tags:(0,i.text)(`tags`,{length:255}),phone_number:(0,i.text)(`phone_number`,{length:17}),phone_verified:(0,i.integer)(`phone_verified`,{mode:`boolean`}),username:(0,i.text)(`username`,{length:128}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),linked_to:(0,i.text)(`linked_to`,{length:255}),registration_completed_at:(0,i.text)(`registration_completed_at`,{length:35}),provider:(0,i.text)(`provider`,{length:255}).notNull(),connection:(0,i.text)(`connection`,{length:255}),email_verified:(0,i.integer)(`email_verified`,{mode:`boolean`}).notNull(),is_social:(0,i.integer)(`is_social`,{mode:`boolean`}).notNull(),blocked:(0,i.integer)(`blocked`,{mode:`boolean`}),app_metadata:(0,i.text)(`app_metadata`,{length:4096}).notNull().default(`{}`),user_metadata:(0,i.text)(`user_metadata`).notNull().default(`{}`),profileData:(0,i.text)(`profileData`,{length:2048}),locale:(0,i.text)(`locale`,{length:255}),middle_name:(0,i.text)(`middle_name`,{length:100}),preferred_username:(0,i.text)(`preferred_username`,{length:255}),profile:(0,i.text)(`profile`),website:(0,i.text)(`website`),gender:(0,i.text)(`gender`,{length:50}),birthdate:(0,i.text)(`birthdate`,{length:10}),zoneinfo:(0,i.text)(`zoneinfo`,{length:100}),address:(0,i.text)(`address`)},e=>[(0,i.primaryKey)({columns:[e.user_id,e.tenant_id],name:`users_tenants`}),(0,i.uniqueIndex)(`unique_email_provider`).on(e.email,e.provider,e.tenant_id),(0,i.uniqueIndex)(`unique_username_provider`).on(e.username,e.provider,e.tenant_id),(0,i.index)(`users_email_index`).on(e.email),(0,i.index)(`users_linked_to_index`).on(e.linked_to),(0,i.index)(`users_name_index`).on(e.name),(0,i.index)(`users_phone_tenant_provider_index`).on(e.tenant_id,e.phone_number,e.provider)]),p=(0,i.sqliteTable)(`passwords`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),password:(0,i.text)(`password`,{length:255}).notNull(),algorithm:(0,i.text)(`algorithm`,{length:16}).notNull().default(`bcrypt`),is_current:(0,i.integer)(`is_current`).notNull().default(1)}),m=(0,i.sqliteTable)(`user_activity`,{tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),last_login:(0,i.text)(`last_login`,{length:35}),last_ip:(0,i.text)(`last_ip`,{length:45}),login_count:(0,i.integer)(`login_count`).notNull().default(0),failed_logins:(0,i.text)(`failed_logins`),last_password_reset:(0,i.text)(`last_password_reset`,{length:35})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.user_id],name:`user_activity_pkey`}),(0,i.foreignKey)({columns:[e.user_id,e.tenant_id],foreignColumns:[f.user_id,f.tenant_id],name:`user_activity_user_id_constraint`}).onDelete(`cascade`)]),h=(0,i.sqliteTable)(`sessions`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull(),expires_at_ts:(0,i.integer)(`expires_at_ts`),idle_expires_at_ts:(0,i.integer)(`idle_expires_at_ts`),authenticated_at_ts:(0,i.integer)(`authenticated_at_ts`),last_interaction_at_ts:(0,i.integer)(`last_interaction_at_ts`),used_at_ts:(0,i.integer)(`used_at_ts`),revoked_at_ts:(0,i.integer)(`revoked_at_ts`),device:(0,i.text)(`device`).notNull(),clients:(0,i.text)(`clients`).notNull(),login_session_id:(0,i.text)(`login_session_id`,{length:21})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`sessions_pk`}),(0,i.index)(`IDX_sessions_login_session_id`).on(e.login_session_id),(0,i.index)(`idx_sessions_user_id`).on(e.tenant_id,e.user_id),(0,i.index)(`idx_sessions_expires_at_ts`).on(e.expires_at_ts)]),g=(0,i.sqliteTable)(`refresh_tokens`,{id:(0,i.text)(`id`,{length:26}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),client_id:(0,i.text)(`client_id`,{length:191}).notNull(),login_id:(0,i.text)(`login_id`,{length:26}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}),resource_servers:(0,i.text)(`resource_servers`).notNull(),device:(0,i.text)(`device`).notNull(),rotating:(0,i.integer)(`rotating`,{mode:`boolean`}).notNull(),token_lookup:(0,i.text)(`token_lookup`,{length:16}),token_hash:(0,i.text)(`token_hash`,{length:64}),family_id:(0,i.text)(`family_id`,{length:26}),rotated_to:(0,i.text)(`rotated_to`,{length:26}),rotated_at_ts:(0,i.integer)(`rotated_at_ts`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),expires_at_ts:(0,i.integer)(`expires_at_ts`),idle_expires_at_ts:(0,i.integer)(`idle_expires_at_ts`),last_exchanged_at_ts:(0,i.integer)(`last_exchanged_at_ts`),revoked_at_ts:(0,i.integer)(`revoked_at_ts`)},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`refresh_tokens_pk`}),(0,i.index)(`idx_refresh_tokens_user_id`).on(e.tenant_id,e.user_id),(0,i.index)(`idx_refresh_tokens_login_id`).on(e.login_id),(0,i.index)(`idx_refresh_tokens_expires_at_ts`).on(e.expires_at_ts),(0,i.index)(`idx_refresh_tokens_token_lookup`).on(e.tenant_id,e.token_lookup),(0,i.index)(`idx_refresh_tokens_family_id`).on(e.tenant_id,e.family_id)]),_=(0,i.sqliteTable)(`login_sessions`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),session_id:(0,i.text)(`session_id`,{length:21}),csrf_token:(0,i.text)(`csrf_token`,{length:21}).notNull(),auth_params:(0,i.text)(`auth_params`),authorization_url:(0,i.text)(`authorization_url`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull(),expires_at_ts:(0,i.integer)(`expires_at_ts`).notNull(),ip:(0,i.text)(`ip`,{length:39}),useragent:(0,i.text)(`useragent`),auth0Client:(0,i.text)(`auth0Client`,{length:255}),state:(0,i.text)(`state`,{length:50}).notNull().default(`pending`),state_data:(0,i.text)(`state_data`),failure_reason:(0,i.text)(`failure_reason`),user_id:(0,i.text)(`user_id`,{length:255}),auth_connection:(0,i.text)(`auth_connection`,{length:255}),auth_strategy_strategy:(0,i.text)(`auth_strategy_strategy`,{length:64}),auth_strategy_strategy_type:(0,i.text)(`auth_strategy_strategy_type`,{length:64}),authenticated_at:(0,i.text)(`authenticated_at`,{length:35})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`login_sessions_pk`}),(0,i.index)(`login_sessions_id_index`).on(e.id),(0,i.index)(`login_sessions_state_idx`).on(e.state),(0,i.index)(`login_sessions_state_updated_idx`).on(e.state,e.updated_at_ts),(0,i.index)(`login_sessions_tenant_user_idx`).on(e.tenant_id,e.user_id),(0,i.index)(`idx_login_sessions_expires_at_ts`).on(e.expires_at_ts)]),v=(0,i.sqliteTable)(`codes`,{code_id:(0,i.text)(`code_id`,{length:191}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}),login_id:(0,i.text)(`login_id`,{length:255}),connection_id:(0,i.text)(`connection_id`,{length:255}),code_type:(0,i.text)(`code_type`,{length:255}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35}),code_verifier:(0,i.text)(`code_verifier`,{length:128}),code_challenge:(0,i.text)(`code_challenge`,{length:128}),code_challenge_method:(0,i.text)(`code_challenge_method`,{length:5}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),nonce:(0,i.text)(`nonce`,{length:1024}),state:(0,i.text)(`state`,{length:2048})},e=>[(0,i.primaryKey)({columns:[e.code_id,e.code_type],name:`PK_codes_code_id_code_type`}),(0,i.index)(`codes_expires_at_index`).on(e.expires_at)]),ee=(0,i.sqliteTable)(`authentication_codes`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),code:(0,i.text)(`code`,{length:255}).primaryKey(),client_id:(0,i.text)(`client_id`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),nonce:(0,i.text)(`nonce`,{length:255}),state:(0,i.text)(`state`,{length:8192}),scope:(0,i.text)(`scope`,{length:1024}),response_type:(0,i.text)(`response_type`,{length:256}),response_mode:(0,i.text)(`response_mode`,{length:256}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35})}),te=(0,i.sqliteTable)(`otps`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),id:(0,i.text)(`id`,{length:255}).primaryKey(),client_id:(0,i.text)(`client_id`,{length:255}).notNull(),code:(0,i.text)(`code`,{length:255}).notNull(),email:(0,i.text)(`email`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}),send:(0,i.text)(`send`,{length:255}),nonce:(0,i.text)(`nonce`,{length:255}),state:(0,i.text)(`state`,{length:1024}),scope:(0,i.text)(`scope`,{length:1024}),response_type:(0,i.text)(`response_type`,{length:256}),response_mode:(0,i.text)(`response_mode`,{length:256}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35}),audience:(0,i.text)(`audience`,{length:255}),ip:(0,i.text)(`ip`,{length:64})},e=>[(0,i.index)(`otps_email_index`).on(e.email),(0,i.index)(`otps_expires_at_index`).on(e.expires_at)]),ne=(0,i.sqliteTable)(`tickets`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),id:(0,i.text)(`id`,{length:255}).primaryKey(),client_id:(0,i.text)(`client_id`,{length:255}).notNull(),email:(0,i.text)(`email`,{length:255}).notNull(),nonce:(0,i.text)(`nonce`,{length:255}),state:(0,i.text)(`state`,{length:1024}),scope:(0,i.text)(`scope`,{length:1024}),response_type:(0,i.text)(`response_type`,{length:256}),response_mode:(0,i.text)(`response_mode`,{length:256}),redirect_uri:(0,i.text)(`redirect_uri`,{length:1024}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),used_at:(0,i.text)(`used_at`,{length:35})}),y=(0,i.sqliteTable)(`clients`,{client_id:(0,i.text)(`client_id`,{length:191}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:255}).notNull(),description:(0,i.text)(`description`,{length:140}),global:(0,i.integer)(`global`).notNull().default(0),client_secret:(0,i.text)(`client_secret`,{length:255}),app_type:(0,i.text)(`app_type`,{length:64}).default(`regular_web`),logo_uri:(0,i.text)(`logo_uri`,{length:2083}),is_first_party:(0,i.integer)(`is_first_party`).notNull().default(0),oidc_conformant:(0,i.integer)(`oidc_conformant`).notNull().default(1),auth0_conformant:(0,i.integer)(`auth0_conformant`).notNull().default(1),callbacks:(0,i.text)(`callbacks`).notNull(),allowed_origins:(0,i.text)(`allowed_origins`).notNull(),web_origins:(0,i.text)(`web_origins`).notNull(),client_aliases:(0,i.text)(`client_aliases`).notNull(),allowed_clients:(0,i.text)(`allowed_clients`).notNull(),allowed_logout_urls:(0,i.text)(`allowed_logout_urls`).notNull(),session_transfer:(0,i.text)(`session_transfer`).notNull(),oidc_logout:(0,i.text)(`oidc_logout`).notNull(),grant_types:(0,i.text)(`grant_types`).notNull(),jwt_configuration:(0,i.text)(`jwt_configuration`).notNull(),signing_keys:(0,i.text)(`signing_keys`).notNull(),encryption_key:(0,i.text)(`encryption_key`).notNull(),sso:(0,i.integer)(`sso`).notNull().default(0),sso_disabled:(0,i.integer)(`sso_disabled`).notNull().default(1),cross_origin_authentication:(0,i.integer)(`cross_origin_authentication`).notNull().default(0),cross_origin_loc:(0,i.text)(`cross_origin_loc`,{length:2083}),custom_login_page_on:(0,i.integer)(`custom_login_page_on`).notNull().default(0),custom_login_page:(0,i.text)(`custom_login_page`),custom_login_page_preview:(0,i.text)(`custom_login_page_preview`),form_template:(0,i.text)(`form_template`),addons:(0,i.text)(`addons`).notNull(),token_endpoint_auth_method:(0,i.text)(`token_endpoint_auth_method`,{length:64}).default(`client_secret_basic`),client_metadata:(0,i.text)(`client_metadata`).notNull(),mobile:(0,i.text)(`mobile`).notNull(),initiate_login_uri:(0,i.text)(`initiate_login_uri`,{length:2083}),native_social_login:(0,i.text)(`native_social_login`).notNull(),refresh_token:(0,i.text)(`refresh_token`).notNull(),default_organization:(0,i.text)(`default_organization`).notNull(),organization_usage:(0,i.text)(`organization_usage`,{length:32}).default(`deny`),organization_require_behavior:(0,i.text)(`organization_require_behavior`,{length:32}).default(`no_prompt`),client_authentication_methods:(0,i.text)(`client_authentication_methods`).notNull(),require_pushed_authorization_requests:(0,i.integer)(`require_pushed_authorization_requests`).notNull().default(0),require_proof_of_possession:(0,i.integer)(`require_proof_of_possession`).notNull().default(0),hide_sign_up_disabled_error:(0,i.integer)(`hide_sign_up_disabled_error`).notNull().default(0),signed_request_object:(0,i.text)(`signed_request_object`).notNull(),compliance_level:(0,i.text)(`compliance_level`,{length:64}),par_request_expiry:(0,i.integer)(`par_request_expiry`),token_quota:(0,i.text)(`token_quota`).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),connections:(0,i.text)(`connections`).notNull().default(`[]`),owner_user_id:(0,i.text)(`owner_user_id`,{length:255}),registration_type:(0,i.text)(`registration_type`,{length:32}),registration_metadata:(0,i.text)(`registration_metadata`),user_linking_mode:(0,i.text)(`user_linking_mode`,{length:16})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.client_id],name:`clients_tenant_id_client_id`}),(0,i.index)(`idx_clients_owner_user_id`).on(e.tenant_id,e.owner_user_id)]),b=(0,i.sqliteTable)(`client_registration_tokens`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),token_hash:(0,i.text)(`token_hash`,{length:64}).notNull(),type:(0,i.text)(`type`,{length:8}).notNull(),client_id:(0,i.text)(`client_id`,{length:191}),sub:(0,i.text)(`sub`,{length:255}),constraints:(0,i.text)(`constraints`),single_use:(0,i.integer)(`single_use`).notNull().default(0),used_at_ts:(0,i.integer)(`used_at_ts`),expires_at_ts:(0,i.integer)(`expires_at_ts`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),revoked_at_ts:(0,i.integer)(`revoked_at_ts`)},e=>[(0,i.uniqueIndex)(`idx_client_registration_tokens_hash`).on(e.tenant_id,e.token_hash),(0,i.index)(`idx_client_registration_tokens_client`).on(e.tenant_id,e.client_id)]),x=(0,i.sqliteTable)(`client_grants`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),client_id:(0,i.text)(`client_id`,{length:191}).notNull(),audience:(0,i.text)(`audience`,{length:191}).notNull(),scope:(0,i.text)(`scope`).default(`[]`),organization_usage:(0,i.text)(`organization_usage`,{length:32}),allow_any_organization:(0,i.integer)(`allow_any_organization`).default(0),is_system:(0,i.integer)(`is_system`).default(0),subject_type:(0,i.text)(`subject_type`,{length:32}),authorization_details_types:(0,i.text)(`authorization_details_types`).default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`pk_client_grants`}),(0,i.index)(`idx_client_grants_audience`).on(e.audience)]),S=(0,i.sqliteTable)(`grants`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),client_id:(0,i.text)(`client_id`,{length:100}).notNull(),audience:(0,i.text)(`audience`,{length:100}).notNull().default(``),scope:(0,i.text)(`scope`).notNull().default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.foreignKey)({columns:[e.user_id,e.tenant_id],foreignColumns:[f.user_id,f.tenant_id],name:`grants_user_id_constraint`}).onDelete(`cascade`),(0,i.uniqueIndex)(`grants_natural_key_idx`).on(e.tenant_id,e.user_id,e.client_id,e.audience),(0,i.index)(`grants_tenant_user_idx`).on(e.tenant_id,e.user_id)]),C=(0,i.sqliteTable)(`connections`,{id:(0,i.text)(`id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:255}).notNull(),response_type:(0,i.text)(`response_type`,{length:255}),response_mode:(0,i.text)(`response_mode`,{length:255}),strategy:(0,i.text)(`strategy`,{length:64}),options:(0,i.text)(`options`,{length:8192}).notNull().default(`{}`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),display_name:(0,i.text)(`display_name`,{length:255}),is_domain_connection:(0,i.integer)(`is_domain_connection`),show_as_button:(0,i.integer)(`show_as_button`),is_system:(0,i.integer)(`is_system`).notNull().default(0),metadata:(0,i.text)(`metadata`,{length:4096})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id]}),(0,i.index)(`connections_tenant_id_index`).on(e.tenant_id),(0,i.uniqueIndex)(`connections_id_unique`).on(e.id)]),w=(0,i.sqliteTable)(`custom_domains`,{custom_domain_id:(0,i.text)(`custom_domain_id`,{length:256}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),domain:(0,i.text)(`domain`,{length:255}).notNull(),primary:(0,i.integer)(`primary`,{mode:`boolean`}).notNull(),status:(0,i.text)(`status`,{length:50}).notNull(),type:(0,i.text)(`type`,{length:50}).notNull(),origin_domain_name:(0,i.text)(`origin_domain_name`,{length:255}),verification:(0,i.text)(`verification`,{length:2048}),custom_client_ip_header:(0,i.text)(`custom_client_ip_header`,{length:50}),tls_policy:(0,i.text)(`tls_policy`,{length:50}),domain_metadata:(0,i.text)(`domain_metadata`,{length:2048}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.uniqueIndex)(`custom_domains_domain_unique`).on(e.domain)]),re=(0,i.sqliteTable)(`domains`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),domain:(0,i.text)(`domain`,{length:255}).notNull(),email_service:(0,i.text)(`email_service`,{length:255}),email_api_key:(0,i.text)(`email_api_key`,{length:255}),dkim_private_key:(0,i.text)(`dkim_private_key`,{length:2048}),dkim_public_key:(0,i.text)(`dkim_public_key`,{length:2048}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()}),T=(0,i.sqliteTable)(`organizations`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),name:(0,i.text)(`name`,{length:256}).notNull(),display_name:(0,i.text)(`display_name`,{length:256}),branding:(0,i.text)(`branding`),metadata:(0,i.text)(`metadata`),enabled_connections:(0,i.text)(`enabled_connections`),token_quota:(0,i.text)(`token_quota`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`idx_organizations_tenant_id`).on(e.tenant_id)]),E=(0,i.sqliteTable)(`user_organizations`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),user_id:(0,i.text)(`user_id`,{length:191}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:21}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.uniqueIndex)(`user_organizations_unique`).on(e.tenant_id,e.user_id,e.organization_id),(0,i.index)(`idx_user_organizations_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_user_organizations_user_id`).on(e.user_id),(0,i.index)(`idx_user_organizations_organization_id`).on(e.organization_id)]),D=(0,i.sqliteTable)(`invites`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:21}).notNull(),inviter:(0,i.text)(`inviter`).notNull(),invitee:(0,i.text)(`invitee`).notNull(),client_id:(0,i.text)(`client_id`,{length:191}).notNull(),connection_id:(0,i.text)(`connection_id`,{length:21}),invitation_url:(0,i.text)(`invitation_url`).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),expires_at:(0,i.text)(`expires_at`,{length:35}).notNull(),app_metadata:(0,i.text)(`app_metadata`),user_metadata:(0,i.text)(`user_metadata`),roles:(0,i.text)(`roles`),ticket_id:(0,i.text)(`ticket_id`,{length:191}),ttl_sec:(0,i.integer)(`ttl_sec`),send_invitation_email:(0,i.integer)(`send_invitation_email`)},e=>[(0,i.index)(`idx_invites_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_invites_organization_id`).on(e.organization_id),(0,i.index)(`idx_invites_expires_at`).on(e.expires_at),(0,i.index)(`idx_invites_tenant_created`).on(e.tenant_id,e.created_at)]),O=(0,i.sqliteTable)(`roles`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),name:(0,i.text)(`name`,{length:50}).notNull(),description:(0,i.text)(`description`,{length:255}),is_system:(0,i.integer)(`is_system`).notNull().default(0),metadata:(0,i.text)(`metadata`,{length:4096}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`roles_pk`})]),k=(0,i.sqliteTable)(`role_permissions`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),role_id:(0,i.text)(`role_id`,{length:21}).notNull(),resource_server_identifier:(0,i.text)(`resource_server_identifier`,{length:191}).notNull(),permission_name:(0,i.text)(`permission_name`,{length:191}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.role_id,e.resource_server_identifier,e.permission_name],name:`role_permissions_pk`}),(0,i.index)(`role_permissions_role_fk`).on(e.tenant_id,e.role_id),(0,i.index)(`role_permissions_permission_fk`).on(e.tenant_id,e.resource_server_identifier,e.permission_name)]),A=(0,i.sqliteTable)(`user_permissions`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),user_id:(0,i.text)(`user_id`,{length:191}).notNull(),resource_server_identifier:(0,i.text)(`resource_server_identifier`,{length:191}).notNull(),permission_name:(0,i.text)(`permission_name`,{length:191}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:21}).notNull().default(``),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.user_id,e.resource_server_identifier,e.permission_name,e.organization_id],name:`user_permissions_pk`}),(0,i.index)(`user_permissions_user_fk`).on(e.tenant_id,e.user_id),(0,i.index)(`user_permissions_permission_fk`).on(e.tenant_id,e.resource_server_identifier,e.permission_name),(0,i.index)(`user_permissions_organization_fk`).on(e.organization_id)]),j=(0,i.sqliteTable)(`user_roles`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),user_id:(0,i.text)(`user_id`,{length:191}).notNull(),role_id:(0,i.text)(`role_id`,{length:21}).notNull(),organization_id:(0,i.text)(`organization_id`,{length:191}).notNull().default(``),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.user_id,e.role_id,e.organization_id],name:`user_roles_pk`}),(0,i.index)(`user_roles_user_fk`).on(e.tenant_id,e.user_id),(0,i.index)(`user_roles_role_fk`).on(e.tenant_id,e.role_id),(0,i.index)(`user_roles_organization_fk`).on(e.organization_id)]),M=(0,i.sqliteTable)(`resource_servers`,{id:(0,i.text)(`id`,{length:21}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull(),identifier:(0,i.text)(`identifier`,{length:191}).notNull(),name:(0,i.text)(`name`,{length:255}).notNull(),scopes:(0,i.text)(`scopes`,{length:4096}),signing_alg:(0,i.text)(`signing_alg`,{length:64}),signing_secret:(0,i.text)(`signing_secret`,{length:2048}),token_lifetime:(0,i.integer)(`token_lifetime`),token_lifetime_for_web:(0,i.integer)(`token_lifetime_for_web`),skip_consent_for_verifiable_first_party_clients:(0,i.integer)(`skip_consent_for_verifiable_first_party_clients`),allow_offline_access:(0,i.integer)(`allow_offline_access`),verification_key:(0,i.text)(`verification_key`,{length:4096}),options:(0,i.text)(`options`,{length:4096}),is_system:(0,i.integer)(`is_system`).notNull().default(0),metadata:(0,i.text)(`metadata`,{length:4096}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.id],name:`resource_servers_pk`})]),ie=(0,i.sqliteTable)(`branding`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey().references(()=>c.id,{onDelete:`cascade`}),logo_url:(0,i.text)(`logo_url`,{length:512}),favicon_url:(0,i.text)(`favicon_url`,{length:512}),font_url:(0,i.text)(`font_url`,{length:512}),colors_primary:(0,i.text)(`colors_primary`,{length:8}),colors_page_background_type:(0,i.text)(`colors_page_background_type`,{length:32}),colors_page_background_start:(0,i.text)(`colors_page_background_start`,{length:8}),colors_page_background_end:(0,i.text)(`colors_page_background_end`,{length:8}),colors_page_background_angle_dev:(0,i.integer)(`colors_page_background_angle_dev`),dark_mode:(0,i.text)(`dark_mode`,{length:8})}),N=(0,i.sqliteTable)(`universal_login_templates`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey().references(()=>c.id,{onDelete:`cascade`}),body:(0,i.text)(`body`).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()}),P=(0,i.sqliteTable)(`themes`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),themeId:(0,i.text)(`themeId`,{length:255}).notNull(),displayName:(0,i.text)(`displayName`,{length:255}).notNull(),colors_primary_button_label:(0,i.text)(`colors_primary_button_label`,{length:24}).notNull(),colors_primary_button:(0,i.text)(`colors_primary_button`,{length:24}).notNull(),colors_secondary_button_border:(0,i.text)(`colors_secondary_button_border`,{length:24}).notNull(),colors_secondary_button_label:(0,i.text)(`colors_secondary_button_label`,{length:24}).notNull(),colors_base_focus_color:(0,i.text)(`colors_base_focus_color`,{length:24}).notNull(),colors_base_hover_color:(0,i.text)(`colors_base_hover_color`,{length:24}).notNull(),colors_body_text:(0,i.text)(`colors_body_text`,{length:24}).notNull(),colors_captcha_widget_theme:(0,i.text)(`colors_captcha_widget_theme`,{length:24}).notNull(),colors_error:(0,i.text)(`colors_error`,{length:24}).notNull(),colors_header:(0,i.text)(`colors_header`,{length:24}).notNull(),colors_icons:(0,i.text)(`colors_icons`,{length:24}).notNull(),colors_input_background:(0,i.text)(`colors_input_background`,{length:24}).notNull(),colors_input_border:(0,i.text)(`colors_input_border`,{length:24}).notNull(),colors_input_filled_text:(0,i.text)(`colors_input_filled_text`,{length:24}).notNull(),colors_input_labels_placeholders:(0,i.text)(`colors_input_labels_placeholders`,{length:24}).notNull(),colors_links_focused_components:(0,i.text)(`colors_links_focused_components`,{length:24}).notNull(),colors_success:(0,i.text)(`colors_success`,{length:24}).notNull(),colors_widget_background:(0,i.text)(`colors_widget_background`,{length:24}).notNull(),colors_widget_border:(0,i.text)(`colors_widget_border`,{length:24}).notNull(),borders_button_border_radius:(0,i.integer)(`borders_button_border_radius`).notNull(),borders_button_border_weight:(0,i.integer)(`borders_button_border_weight`).notNull(),borders_buttons_style:(0,i.text)(`borders_buttons_style`,{length:24}).notNull(),borders_input_border_radius:(0,i.integer)(`borders_input_border_radius`).notNull(),borders_input_border_weight:(0,i.integer)(`borders_input_border_weight`).notNull(),borders_inputs_style:(0,i.text)(`borders_inputs_style`,{length:24}).notNull(),borders_show_widget_shadow:(0,i.integer)(`borders_show_widget_shadow`,{mode:`boolean`}).notNull(),borders_widget_border_weight:(0,i.integer)(`borders_widget_border_weight`).notNull(),borders_widget_corner_radius:(0,i.integer)(`borders_widget_corner_radius`).notNull(),fonts_body_text_bold:(0,i.integer)(`fonts_body_text_bold`).notNull(),fonts_body_text_size:(0,i.integer)(`fonts_body_text_size`).notNull(),fonts_buttons_text_bold:(0,i.integer)(`fonts_buttons_text_bold`).notNull(),fonts_buttons_text_size:(0,i.integer)(`fonts_buttons_text_size`).notNull(),fonts_font_url:(0,i.text)(`fonts_font_url`,{length:255}).notNull(),fonts_input_labels_bold:(0,i.integer)(`fonts_input_labels_bold`).notNull(),fonts_input_labels_size:(0,i.integer)(`fonts_input_labels_size`).notNull(),fonts_links_bold:(0,i.integer)(`fonts_links_bold`,{mode:`boolean`}).notNull(),fonts_links_size:(0,i.integer)(`fonts_links_size`).notNull(),fonts_links_style:(0,i.text)(`fonts_links_style`,{length:24}).notNull(),fonts_reference_text_size:(0,i.integer)(`fonts_reference_text_size`).notNull(),fonts_subtitle_bold:(0,i.integer)(`fonts_subtitle_bold`,{mode:`boolean`}).notNull(),fonts_subtitle_size:(0,i.integer)(`fonts_subtitle_size`).notNull(),fonts_title_bold:(0,i.integer)(`fonts_title_bold`,{mode:`boolean`}).notNull(),fonts_title_size:(0,i.integer)(`fonts_title_size`).notNull(),page_background_background_color:(0,i.text)(`page_background_background_color`,{length:24}).notNull(),page_background_background_image_url:(0,i.text)(`page_background_background_image_url`,{length:255}).notNull(),page_background_page_layout:(0,i.text)(`page_background_page_layout`,{length:24}).notNull(),widget_header_text_alignment:(0,i.text)(`widget_header_text_alignment`,{length:24}).notNull(),widget_logo_height:(0,i.integer)(`widget_logo_height`).notNull(),widget_logo_position:(0,i.text)(`widget_logo_position`,{length:24}).notNull(),widget_logo_url:(0,i.text)(`widget_logo_url`,{length:255}).notNull(),widget_social_buttons_layout:(0,i.text)(`widget_social_buttons_layout`,{length:24}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.themeId],name:`themes_pkey`}),(0,i.index)(`themes_tenant_id_idx`).on(e.tenant_id)]),F=(0,i.sqliteTable)(`forms`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),name:(0,i.text)(`name`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),messages:(0,i.text)(`messages`,{length:255}),languages:(0,i.text)(`languages`,{length:255}),translations:(0,i.text)(`translations`,{length:4096}),nodes:(0,i.text)(`nodes`,{length:4096}),start:(0,i.text)(`start`,{length:255}),ending:(0,i.text)(`ending`,{length:255}),style:(0,i.text)(`style`,{length:1042}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`forms_tenant_id_idx`).on(e.tenant_id)]),I=(0,i.sqliteTable)(`flows`,{id:(0,i.text)(`id`,{length:24}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),name:(0,i.text)(`name`,{length:150}).notNull(),actions:(0,i.text)(`actions`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`flows_tenant_id_idx`).on(e.tenant_id)]),ae=(0,i.sqliteTable)(`prompt_settings`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey(),universal_login_experience:(0,i.text)(`universal_login_experience`,{length:16}).notNull().default(`new`),identifier_first:(0,i.integer)(`identifier_first`,{mode:`boolean`}).notNull().default(!0),password_first:(0,i.integer)(`password_first`,{mode:`boolean`}).notNull().default(!1),webauthn_platform_first_factor:(0,i.integer)(`webauthn_platform_first_factor`,{mode:`boolean`}).notNull().default(!1),show_last_used_connection:(0,i.integer)(`show_last_used_connection`,{mode:`boolean`}).notNull().default(!1)}),L=(0,i.sqliteTable)(`email_providers`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).primaryKey(),name:(0,i.text)(`name`,{length:255}).notNull(),enabled:(0,i.integer)(`enabled`,{mode:`boolean`}).notNull(),default_from_address:(0,i.text)(`default_from_address`,{length:255}),credentials:(0,i.text)(`credentials`,{length:2048}).notNull().default(`{}`),settings:(0,i.text)(`settings`,{length:2048}).notNull().default(`{}`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()}),R=(0,i.sqliteTable)(`email_templates`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),template:(0,i.text)(`template`,{length:64}).notNull(),body:(0,i.text)(`body`).notNull(),from:(0,i.text)(`from`,{length:255}).notNull(),subject:(0,i.text)(`subject`,{length:255}).notNull(),syntax:(0,i.text)(`syntax`,{length:16}).notNull().default(`liquid`),result_url:(0,i.text)(`result_url`,{length:2048}),url_lifetime_in_seconds:(0,i.integer)(`url_lifetime_in_seconds`),include_email_in_redirect:(0,i.integer)(`include_email_in_redirect`,{mode:`boolean`}).notNull().default(!1),enabled:(0,i.integer)(`enabled`,{mode:`boolean`}).notNull().default(!0),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.template]})]),z=(0,i.sqliteTable)(`hooks`,{hook_id:(0,i.text)(`hook_id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),url:(0,i.text)(`url`,{length:512}),trigger_id:(0,i.text)(`trigger_id`,{length:255}).notNull(),enabled:(0,i.integer)(`enabled`,{mode:`boolean`}).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull(),synchronous:(0,i.integer)(`synchronous`,{mode:`boolean`}).notNull().default(!1),priority:(0,i.integer)(`priority`),form_id:(0,i.text)(`form_id`,{length:128}),template_id:(0,i.text)(`template_id`,{length:64}),code_id:(0,i.text)(`code_id`,{length:21}),metadata:(0,i.text)(`metadata`)},e=>[(0,i.index)(`hooks_tenant_id_idx`).on(e.tenant_id)]),B=(0,i.sqliteTable)(`hook_code`,{id:(0,i.text)(`id`,{length:21}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),code:(0,i.text)(`code`).notNull(),secrets:(0,i.text)(`secrets`),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.index)(`hook_code_tenant_id_idx`).on(e.tenant_id)]),V=(0,i.sqliteTable)(`keys`,{kid:(0,i.text)(`kid`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).references(()=>c.id,{onDelete:`cascade`}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),revoked_at:(0,i.text)(`revoked_at`,{length:35}),cert:(0,i.text)(`cert`,{length:4096}),pkcs7:(0,i.text)(`pkcs7`,{length:4096}),fingerprint:(0,i.text)(`fingerprint`,{length:256}),thumbprint:(0,i.text)(`thumbprint`,{length:256}),current_since:(0,i.text)(`current_since`,{length:35}),current_until:(0,i.text)(`current_until`,{length:35}),type:(0,i.text)(`type`,{length:50}).notNull().default(`jwt_signing`),connection:(0,i.text)(`connection`,{length:255}).references(()=>C.id,{onDelete:`cascade`})}),H=(0,i.sqliteTable)(`custom_text`,{tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),prompt:(0,i.text)(`prompt`,{length:64}).notNull(),language:(0,i.text)(`language`,{length:16}).notNull(),custom_text:(0,i.text)(`custom_text`).notNull(),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.prompt,e.language]})]),U=(0,i.sqliteTable)(`authentication_methods`,{id:(0,i.text)(`id`,{length:26}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),type:(0,i.text)(`type`,{length:32}).notNull(),phone_number:(0,i.text)(`phone_number`,{length:32}),totp_secret:(0,i.text)(`totp_secret`,{length:255}),credential_id:(0,i.text)(`credential_id`,{length:512}),public_key:(0,i.text)(`public_key`),sign_count:(0,i.integer)(`sign_count`),credential_backed_up:(0,i.integer)(`credential_backed_up`),transports:(0,i.text)(`transports`,{length:512}),friendly_name:(0,i.text)(`friendly_name`,{length:255}),confirmed:(0,i.integer)(`confirmed`).notNull().default(0),created_at_ts:(0,i.integer)(`created_at_ts`).notNull(),updated_at_ts:(0,i.integer)(`updated_at_ts`).notNull()},e=>[(0,i.index)(`authentication_methods_tenant_user_idx`).on(e.tenant_id,e.user_id),(0,i.index)(`authentication_methods_credential_id_idx`).on(e.credential_id)]),W=(0,i.sqliteTable)(`logs`,{log_id:(0,i.text)(`log_id`,{length:21}).primaryKey(),category:(0,i.text)(`category`,{length:255}),tenant_id:(0,i.text)(`tenant_id`,{length:64}),user_id:(0,i.text)(`user_id`,{length:64}),ip:(0,i.text)(`ip`,{length:255}),type:(0,i.text)(`type`,{length:8}).notNull(),date:(0,i.text)(`date`,{length:35}).notNull(),client_id:(0,i.text)(`client_id`,{length:255}),client_name:(0,i.text)(`client_name`,{length:255}),user_agent:(0,i.text)(`user_agent`,{length:255}),description:(0,i.text)(`description`,{length:255}),details:(0,i.text)(`details`,{length:2048}),isMobile:(0,i.integer)(`isMobile`),user_name:(0,i.text)(`user_name`,{length:255}),connection:(0,i.text)(`connection`,{length:255}),connection_id:(0,i.text)(`connection_id`,{length:255}),audience:(0,i.text)(`audience`,{length:255}),scope:(0,i.text)(`scope`,{length:255}),strategy:(0,i.text)(`strategy`,{length:255}),strategy_type:(0,i.text)(`strategy_type`,{length:255}),hostname:(0,i.text)(`hostname`,{length:255}),auth0_client:(0,i.text)(`auth0_client`,{length:8192}),session_connection:(0,i.text)(`session_connection`,{length:255}),country_code:(0,i.text)(`country_code`,{length:2}),city_name:(0,i.text)(`city_name`,{length:255}),latitude:(0,i.text)(`latitude`,{length:255}),longitude:(0,i.text)(`longitude`,{length:255}),time_zone:(0,i.text)(`time_zone`,{length:255}),continent_code:(0,i.text)(`continent_code`,{length:2})},e=>[(0,i.index)(`logs_user_id`).on(e.user_id),(0,i.index)(`logs_tenant_id`).on(e.tenant_id),(0,i.index)(`logs_date`).on(e.date),(0,i.index)(`IDX_logs_tenant_date_type_user`).on(e.tenant_id,e.date,e.type,e.user_id)]),G=(0,i.sqliteTable)(`outbox_events`,{id:(0,i.text)(`id`,{length:26}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:191}).notNull().references(()=>c.id,{onDelete:`cascade`}),event_type:(0,i.text)(`event_type`,{length:64}).notNull(),log_type:(0,i.text)(`log_type`,{length:64}).notNull(),aggregate_type:(0,i.text)(`aggregate_type`,{length:64}).notNull(),aggregate_id:(0,i.text)(`aggregate_id`,{length:255}).notNull(),payload:(0,i.text)(`payload`).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),processed_at:(0,i.text)(`processed_at`,{length:35}),retry_count:(0,i.integer)(`retry_count`).notNull().default(0),next_retry_at:(0,i.text)(`next_retry_at`,{length:35}),error:(0,i.text)(`error`),claimed_by:(0,i.text)(`claimed_by`,{length:255}),claim_expires_at:(0,i.text)(`claim_expires_at`,{length:35}),dead_lettered_at:(0,i.text)(`dead_lettered_at`,{length:35}),final_error:(0,i.text)(`final_error`)},e=>[(0,i.index)(`idx_outbox_events_tenant_id`).on(e.tenant_id),(0,i.index)(`idx_outbox_events_processed_at`).on(e.processed_at),(0,i.index)(`idx_outbox_events_claimed_by`).on(e.claimed_by),(0,i.index)(`idx_outbox_events_tenant_dead_lettered`).on(e.tenant_id,e.dead_lettered_at)]),K=(0,i.sqliteTable)(`proxy_routes`,{id:(0,i.text)(`id`,{length:64}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),custom_domain_id:(0,i.text)(`custom_domain_id`,{length:256}).notNull(),priority:(0,i.integer)(`priority`).notNull().default(100),match:(0,i.text)(`match`,{length:2048}).notNull().default(`{"path":"/*"}`),handlers:(0,i.text)(`handlers`,{length:16384}).notNull().default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.index)(`proxy_routes_tenant_id_idx`).on(e.tenant_id),(0,i.index)(`proxy_routes_custom_domain_id_idx`).on(e.custom_domain_id)]),q=(0,i.sqliteTable)(`scim_configurations`,{connection_id:(0,i.text)(`connection_id`,{length:255}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),user_id_attribute:(0,i.text)(`user_id_attribute`,{length:255}).notNull().default(`externalId`),mapping:(0,i.text)(`mapping`,{length:16384}).notNull().default(`[]`),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.connection_id]})]),J=(0,i.sqliteTable)(`scim_tokens`,{token_id:(0,i.text)(`token_id`,{length:64}).notNull(),tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),connection_id:(0,i.text)(`connection_id`,{length:255}).notNull(),token_hash:(0,i.text)(`token_hash`,{length:128}).notNull(),scopes:(0,i.text)(`scopes`,{length:4096}).notNull().default(`[]`),valid_until:(0,i.text)(`valid_until`,{length:35}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),last_used_at:(0,i.text)(`last_used_at`,{length:35})},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.token_id]}),(0,i.index)(`scim_tokens_tenant_connection_idx`).on(e.tenant_id,e.connection_id),(0,i.uniqueIndex)(`scim_tokens_tenant_hash_idx`).on(e.tenant_id,e.token_hash)]),Y=(0,i.sqliteTable)(`scim_external_ids`,{tenant_id:(0,i.text)(`tenant_id`,{length:255}).notNull(),connection_id:(0,i.text)(`connection_id`,{length:255}).notNull(),external_id:(0,i.text)(`external_id`,{length:255}).notNull(),user_id:(0,i.text)(`user_id`,{length:255}).notNull(),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.primaryKey)({columns:[e.tenant_id,e.connection_id,e.user_id]}),(0,i.uniqueIndex)(`scim_external_ids_connection_external_idx`).on(e.tenant_id,e.connection_id,e.external_id)]),oe=t({actionExecutions:()=>d,actionVersions:()=>u,actions:()=>l,authenticationCodes:()=>ee,authenticationMethods:()=>U,branding:()=>ie,clientGrants:()=>x,clientRegistrationTokens:()=>b,clients:()=>y,codes:()=>v,connections:()=>C,customDomains:()=>w,customText:()=>H,domains:()=>re,emailProviders:()=>L,emailTemplates:()=>R,flows:()=>I,forms:()=>F,grants:()=>S,hookCode:()=>B,hooks:()=>z,invites:()=>D,keys:()=>V,loginSessions:()=>_,logs:()=>W,organizations:()=>T,otps:()=>te,outboxEvents:()=>G,passwords:()=>p,promptSettings:()=>ae,proxyRoutes:()=>K,refreshTokens:()=>g,resourceServers:()=>M,rolePermissions:()=>k,roles:()=>O,scimConfigurations:()=>q,scimExternalIds:()=>Y,scimTokens:()=>J,sessions:()=>h,tenants:()=>c,themes:()=>P,tickets:()=>ne,universalLoginTemplates:()=>N,userActivity:()=>m,userOrganizations:()=>E,userPermissions:()=>A,userRoles:()=>j,users:()=>f});function X(e,t){if(e==null)return t;if(typeof e==`string`)try{return JSON.parse(e)}catch{return t}return e}function se(e,t=``,n={}){for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=t?`${t}_${r}`:r,a=e[r];typeof a==`object`&&a&&!Array.isArray(a)?se(a,i,n):typeof a==`boolean`?n[i]=+!!a:n[i]=a}return n}function ce(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=t.find(e=>r.startsWith(`${e}_`));if(!e)n[r]=i;else{let t=r.slice(e.length+1);n[e]={...n[e],[t]:i}}}return n}function le(e){return typeof e==`object`&&!!e&&`coalesce`in e&&`defaultValue`in e}function ue(e){return n.sql`coalesce(${e.coalesce}, ${e.defaultValue})`}function Z(e,t,r,a=[]){let o=(0,n.is)(e,i.SQLiteTable)?(0,n.getTableColumns)(e):e,s=new Set(a),c=e=>{let t=Number(e);return Number.isFinite(t)?t:e},l=t.split(/ OR /i);if(l.length>1){let e=l.map(e=>{let t=e.trim().match(/^([^:]+):(.+)$/);if(t){let[,e,r]=t;if(!e||!r)return null;let i=e.trim(),a=r.replace(/^"(.*)"$/,`$1`).trim(),l=o[i];return le(l)?(0,n.eq)(ue(l),c(a)):(0,n.is)(l,n.Column)?s.has(i)?(0,n.like)(l,`%${a}%`):(0,n.eq)(l,a):null}return null}).filter(e=>e!==null);return e.length===0?void 0:(0,n.or)(...e)}let u=[],d=``,f=!1;for(let e=0;e<t.length;e++){let n=t[e];n===`"`?(f=!f,d+=n):n===` `&&!f?d.trim()&&(u.push(d.trim()),d=``):d+=n}d.trim()&&u.push(d.trim());let p=u.filter(e=>e!==`AND`).map(e=>e.replace(/^([^:]+)=/g,`$1:`)).map(e=>{let t=e.startsWith(`-`),n=null,r=``,i=!1,a;if(e.startsWith(`-_exists_:`))n=e.substring(10),i=!0,t=!0;else if(e.startsWith(`_exists_:`))n=e.substring(9),i=!0,t=!1;else if(e.includes(`:`)){let o=t?e.substring(1):e,s=o.indexOf(`:`);n=o.substring(0,s),r=o.substring(s+1),i=!1,r.startsWith(`>=`)?(a=`>=`,r=r.substring(2)):r.startsWith(`>`)?(a=`>`,r=r.substring(1)):r.startsWith(`<=`)?(a=`<=`,r=r.substring(2)):r.startsWith(`<`)?(a=`<`,r=r.substring(1)):a=`=`,r.startsWith(`"`)&&r.endsWith(`"`)&&r.length>1&&(r=r.slice(1,-1))}else n=null,r=e,i=!1;return{key:n,value:r,isNegation:t,isExistsQuery:i,operator:a}}),m=[];for(let{key:e,value:t,isNegation:i,isExistsQuery:a,operator:l}of p)if(e){let r=o[e],u=le(r),d=u?r.coalesce:(0,n.is)(r,n.Column)?r:void 0,f=u?c(t):t;if(!d){a?m.push(i?n.sql`${n.sql.identifier(e)} IS NULL`:n.sql`${n.sql.identifier(e)} IS NOT NULL`):m.push(n.sql`${n.sql.identifier(e)} ${n.sql.raw(i?`!=`:l??`=`)} ${t}`);continue}let p=u?ue(r):n.sql`${d}`;if(a)m.push(i?(0,n.isNull)(d):(0,n.isNotNull)(d));else if(s.has(e)&&l===`=`)m.push(i?(0,n.notLike)(d,`%${t}%`):(0,n.like)(d,`%${t}%`));else if(i)switch(l){case`>`:m.push((0,n.lte)(p,f));break;case`>=`:m.push((0,n.lt)(p,f));break;case`<`:m.push((0,n.gte)(p,f));break;case`<=`:m.push((0,n.gt)(p,f));break;default:m.push((0,n.ne)(p,f))}else switch(l){case`>`:m.push((0,n.gt)(p,f));break;case`>=`:m.push((0,n.gte)(p,f));break;case`<`:m.push((0,n.lt)(p,f));break;case`<=`:m.push((0,n.lte)(p,f));break;default:m.push((0,n.eq)(p,f))}}else if(t){let e=(t.includes(`|`)?[...r,`user_id`]:r).map(e=>{let r=o[e];return(0,n.is)(r,n.Column)?e===`user_id`?(0,n.eq)(r,t):(0,n.like)(r,`%${t}%`):null}).filter(e=>e!==null);e.length>0&&m.push((0,n.or)(...e))}if(m.length!==0)return m.length===1?m[0]:(0,n.and)(...m)}function de(e){let t=X(e);return Array.isArray(t)?t:[]}function fe(e){let{created_at_ts:t,updated_at_ts:n,deployed_at_ts:r,secrets:i,dependencies:a,supported_triggers:o,is_system:s,inherit:c,tenant_id:l,runtime:u,status:d,...f}=e;return{...f,tenant_id:l,runtime:u??void 0,status:d||`built`,deployed_at:r?new Date(Number(r)).toISOString():void 0,secrets:X(i),dependencies:X(a),supported_triggers:X(o),is_system:!!s,inherit:!!c,created_at:new Date(Number(t)).toISOString(),updated_at:new Date(Number(n)).toISOString()}}function pe(e){return{async create(t,n){let i=Date.now(),a=`act_${(0,r.nanoid)()}`;return await e.insert(l).values({id:a,tenant_id:t,name:n.name,code:n.code,runtime:n.runtime??null,status:`built`,secrets:n.secrets?JSON.stringify(n.secrets):null,dependencies:n.dependencies?JSON.stringify(n.dependencies):null,supported_triggers:n.supported_triggers?JSON.stringify(n.supported_triggers):null,is_system:+!!n.is_system,inherit:+!!n.inherit,created_at_ts:i,updated_at_ts:i}),{id:a,tenant_id:t,name:n.name,code:n.code,runtime:n.runtime,status:`built`,secrets:n.secrets?.map(e=>({name:e.name})),dependencies:n.dependencies,supported_triggers:n.supported_triggers,is_system:n.is_system??!1,inherit:n.inherit??!1,created_at:new Date(i).toISOString(),updated_at:new Date(i).toISOString()}},async get(t,r){let i=await e.select().from(l).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).get();return i?fe(i):null},async list(t,r={}){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r,u=[(0,n.eq)(l.tenant_id,t)];if(c){let e=Z(l,c,[`name`]);e&&u.push(e)}let d=(0,n.and)(...u),f=e.select().from(l).where(d).$dynamic();if(s?.sort_by){let e=l[s.sort_by];e&&(f=f.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let p=(await f.offset(i*a).limit(a)).map(fe);if(!o)return{actions:p,start:0,limit:0,length:0};let[m]=await e.select({count:(0,n.count)()}).from(l).where(d);return{actions:p,start:i*a,limit:a,length:Number(m?.count??0)}},async update(t,r,i){let a={updated_at_ts:Date.now()};if(i.name!==void 0&&(a.name=i.name),i.code!==void 0&&(a.code=i.code),i.runtime!==void 0&&(a.runtime=i.runtime),i.secrets!==void 0){let o=await e.select({secrets:l.secrets}).from(l).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).get(),s=new Map(de(o?.secrets).map(e=>[e.name,e])),c=i.secrets.map(e=>e.value===void 0?{name:e.name,value:s.get(e.name)?.value}:e);a.secrets=JSON.stringify(c)}if(i.dependencies!==void 0&&(a.dependencies=JSON.stringify(i.dependencies)),i.supported_triggers!==void 0&&(a.supported_triggers=JSON.stringify(i.supported_triggers)),i.status!==void 0&&(a.status=i.status),i.deployed_at!==void 0){let e=new Date(i.deployed_at).getTime();Number.isFinite(e)&&(a.deployed_at_ts=e)}return i.is_system!==void 0&&(a.is_system=+!!i.is_system),i.inherit!==void 0&&(a.inherit=+!!i.inherit),(await e.update(l).set(a).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).returning()).length>0},async remove(t,r){return(await e.delete(l).where((0,n.and)((0,n.eq)(l.tenant_id,t),(0,n.eq)(l.id,r))).returning()).length>0}}}var me=500;function he(e){return{async create(t,n){let r=Date.now();return await e.insert(d).values({id:n.id,tenant_id:t,trigger_id:n.trigger_id,status:n.status,results:JSON.stringify(n.results),logs:n.logs?JSON.stringify(n.logs):null,created_at_ts:r,updated_at_ts:r}),{id:n.id,tenant_id:t,trigger_id:n.trigger_id,status:n.status,results:n.results,logs:n.logs,created_at:new Date(r).toISOString(),updated_at:new Date(r).toISOString()}},async get(t,r){let i=await e.select().from(d).where((0,n.and)((0,n.eq)(d.tenant_id,t),(0,n.eq)(d.id,r))).get();return i?{id:i.id,tenant_id:i.tenant_id,trigger_id:i.trigger_id,status:i.status,results:X(i.results)??[],logs:X(i.logs),created_at:new Date(Number(i.created_at_ts)).toISOString(),updated_at:new Date(Number(i.updated_at_ts)).toISOString()}:null},async cleanup(t){let r=Date.parse(t);if(Number.isNaN(r))throw Error(`Invalid olderThan date: ${t}`);let i=0;for(;;){let t=await e.delete(d).where(n.sql`rowid IN (SELECT rowid FROM ${d} WHERE ${d.created_at_ts} < ${r} LIMIT ${me})`).returning({id:d.id});if(i+=t.length,t.length<me)break}return i}}}function ge(e){let t=e;return typeof t==`object`&&!!t&&`batch`in t&&typeof t.batch==`function`}async function _e(e,t){if(ge(e))return e.batch(t);await e.run(n.sql`BEGIN`);try{let r=[];for(let e of t)r.push(await e);return await e.run(n.sql`COMMIT`),r}catch(t){try{await e.run(n.sql`ROLLBACK`)}catch(e){console.error(`runAtomic rollback failed`,e)}throw t}}function ve(e){let{created_at_ts:t,updated_at_ts:n,secrets:r,dependencies:i,supported_triggers:a,deployed:o,runtime:s,...c}=e;return{...c,runtime:s??void 0,deployed:!!o,secrets:X(r),dependencies:X(i),supported_triggers:X(a),created_at:new Date(Number(t)).toISOString(),updated_at:new Date(Number(n)).toISOString()}}function ye(e){return{async create(t,i){let a=Date.now(),o=`ver_${(0,r.nanoid)()}`,s=i.deployed!==!1,c=((await e.select({number:u.number}).from(u).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,i.action_id))).orderBy((0,n.desc)(u.number)).limit(1).get())?.number??0)+1,l=e.insert(u).values({id:o,tenant_id:t,action_id:i.action_id,number:c,code:i.code,runtime:i.runtime??null,secrets:i.secrets?JSON.stringify(i.secrets):null,dependencies:i.dependencies?JSON.stringify(i.dependencies):null,supported_triggers:i.supported_triggers?JSON.stringify(i.supported_triggers):null,deployed:+!!s,created_at_ts:a,updated_at_ts:a});return await _e(e,s?[e.update(u).set({deployed:0,updated_at_ts:a}).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,i.action_id),(0,n.eq)(u.deployed,1))),l]:[l]),{id:o,tenant_id:t,action_id:i.action_id,number:c,code:i.code,runtime:i.runtime,secrets:i.secrets,dependencies:i.dependencies,supported_triggers:i.supported_triggers,deployed:s,created_at:new Date(a).toISOString(),updated_at:new Date(a).toISOString()}},async get(t,r,i){let a=await e.select().from(u).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,r),(0,n.eq)(u.id,i))).get();return a?ve(a):null},async list(t,r,i={}){let{page:a=0,per_page:o=50,include_totals:s=!1}=i,c=(0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,r)),l=(await e.select().from(u).where(c).orderBy((0,n.desc)(u.number)).offset(a*o).limit(o)).map(ve);if(!s)return{versions:l,start:0,limit:0,length:0};let[d]=await e.select({count:(0,n.count)()}).from(u).where(c);return{versions:l,start:a*o,limit:o,length:Number(d?.count??0)}},async removeForAction(t,r){return(await e.delete(u).where((0,n.and)((0,n.eq)(u.tenant_id,t),(0,n.eq)(u.action_id,r))).returning()).length}}}function be(e){return e===`dark`||e===`light`||e===`auto`}function xe(e){return{async get(t){let r=await e.select().from(ie).where((0,n.eq)(ie.tenant_id,t)).get();if(!r)return null;let{tenant_id:i,colors_primary:o,colors_page_background_type:s,colors_page_background_start:c,colors_page_background_end:l,colors_page_background_angle_dev:u,font_url:d,dark_mode:f,...p}=r;return(0,a.removeNullProperties)({...p,colors:{primary:o,page_background:{type:s,start:c,end:l,angle_deg:u}},font:d?{url:d}:void 0,dark_mode:be(f)?f:void 0})},async set(t,n){let{colors:r,font:i,dark_mode:a,...o}=n,s=r?.page_background,c=s&&typeof s==`object`?s:void 0,l={...o,colors_primary:r?.primary,colors_page_background_type:c?.type,colors_page_background_start:c?.start,colors_page_background_end:c?.end,colors_page_background_angle_dev:c?.angle_deg,font_url:i?.url,dark_mode:a};await e.insert(ie).values({tenant_id:t,...l}).onConflictDoUpdate({target:ie.tenant_id,set:l})}}}function Se(e){return e?.from!==void 0||e?.take!==void 0}function Ce(e){let t=e?.take,n=typeof t==`number`&&Number.isFinite(t)?Math.floor(t):NaN;return n>=1?n:50}function we(e){let t=e.sortOrder===`asc`?n.asc:n.desc;return[t(e.sortColumn),t(e.idColumn)]}function Te(e,t){let r=e?.from?(0,o.decodeCursor)(e.from):null;if(!r)return;if(r.k!==t.sortKey)throw new s.HTTPException(400,{message:"The `from` cursor was issued under a different sort and cannot be used with this request"});if(r.s===void 0||r.s===null)return t.sortOrder===`asc`?(0,n.gt)(t.idColumn,r.i):(0,n.lt)(t.idColumn,r.i);let i=t.sortOrder===`asc`?n.sql.raw(`>`):n.sql.raw(`<`);return n.sql`(${t.sortColumn}, ${t.idColumn}) ${i} (${r.s}, ${r.i})`}function Ee(e,t,n,r=`id`,i){let a=e.length>t,s=a?e.slice(0,t):e,c,l=s[s.length-1];if(a&&l){let e=l[n];c=(0,o.encodeCursor)({s:typeof e==`string`||typeof e==`number`||e===null?e:String(e),i:String(l[r]),...i!==void 0&&{k:i}})}return{rows:s,next:c}}var De=[`global`,`is_first_party`,`oidc_conformant`,`auth0_conformant`,`sso`,`sso_disabled`,`cross_origin_authentication`,`custom_login_page_on`,`require_pushed_authorization_requests`,`require_proof_of_possession`,`hide_sign_up_disabled_error`],Oe=[`callbacks`,`allowed_origins`,`web_origins`,`client_aliases`,`allowed_clients`,`allowed_logout_urls`,`grant_types`,`signing_keys`],ke=[`session_transfer`,`oidc_logout`,`jwt_configuration`,`encryption_key`,`addons`,`client_metadata`,`mobile`,`native_social_login`,`refresh_token`,`default_organization`,`client_authentication_methods`,`signed_request_object`,`token_quota`,`registration_metadata`];function Ae(e){let{tenant_id:t,connections:n,...r}=e,i={...r};for(let e of De)i[e]=!!r[e];for(let e of Oe)i[e]=X(r[e],[]);for(let e of ke)i[e]=X(r[e],{});return i.connections=X(n,[]),(0,a.removeNullProperties)(i)}function je(e){let t={...e};(0,a.booleanToInt)(e,De,t);for(let n of Oe)e[n]!==void 0&&(t[n]=JSON.stringify(e[n]||[]));for(let n of ke)e[n]!==void 0&&(t[n]=JSON.stringify(e[n]||{}));return e.connections!==void 0&&(t.connections=JSON.stringify(e.connections||[])),(0,a.removeUndefinedAndNull)(t)}function Me(e){return{async create(t,n){let r=new Date().toISOString(),i={client_id:n.client_id,tenant_id:t,name:n.name,description:n.description,app_type:n.app_type??`regular_web`,logo_uri:n.logo_uri,client_secret:n.client_secret,token_endpoint_auth_method:n.token_endpoint_auth_method??`client_secret_basic`,cross_origin_loc:n.cross_origin_loc,custom_login_page:n.custom_login_page,custom_login_page_preview:n.custom_login_page_preview,form_template:n.form_template,initiate_login_uri:n.initiate_login_uri,organization_usage:n.organization_usage??`deny`,organization_require_behavior:n.organization_require_behavior??`no_prompt`,compliance_level:n.compliance_level,par_request_expiry:n.par_request_expiry,created_at:r,updated_at:r};for(let e of De)i[e]=n[e]??!1;i.oidc_conformant=n.oidc_conformant??!0,i.auth0_conformant=n.auth0_conformant??!0,i.sso_disabled=n.sso_disabled??!1;for(let e of Oe)i[e]=n[e]||[];for(let e of ke)i[e]=n[e]||{};i.connections=n.connections||[];let a=je(i);try{await e.insert(y).values({...a,tenant_id:t})}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`Client already exists`}):e}return Ae({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).get();return i?Ae(i):null},async getByClientId(t){let r=await e.select().from(y).where((0,n.eq)(y.client_id,t)).get();return r?{...Ae(r),tenant_id:r.tenant_id}:null},async update(t,r,i){let a=je({...i,updated_at:new Date().toISOString()});return delete a.client_id,delete a.tenant_id,await e.update(y).set(a).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))),!0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(y,c,[`name`,`client_id`]):void 0,u=l?(0,n.and)((0,n.eq)(y.tenant_id,t),l):(0,n.eq)(y.tenant_id,t);if(Se(r)){let t={sortColumn:y.created_at,idColumn:y.client_id,sortOrder:`desc`},i=Te(r,t),a=Ce(r),{rows:o,next:s}=Ee(await e.select().from(y).where(i?(0,n.and)(u,i):u).orderBy(...we(t)).limit(a+1),a,`created_at`,`client_id`),c=o.map(Ae);return{clients:c,totals:{start:0,limit:a,length:c.length,next:s}}}let d=e.select().from(y).where(u).$dynamic();if(s?.sort_by){let e=y[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let f=(await d.offset(i*a).limit(a)).map(Ae);if(!o)return{clients:f};let[p]=await e.select({count:(0,n.count)()}).from(y).where(u);return{clients:f,totals:{start:i*a,limit:a,length:f.length,total:Number(p?.count??0)}}},async remove(t,r){return(await e.delete(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).returning()).length>0}}}function Ne(e){let{tenant_id:t,is_system:n,options:r,metadata:i,...o}=e;return(0,a.removeNullProperties)({...o,options:X(r,{}),metadata:X(i),is_system:n?!0:void 0})}function Pe(e){return{async listByClient(t,r){let i=await e.select({connections:y.connections}).from(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).get();if(!i)return[];let a=X(i.connections,[])||[];if(a.length===0)return[];let o=(await e.select().from(C).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.inArray)(C.id,a))).all()).map(Ne);return a.map(e=>o.find(t=>t.id===e)).filter(Boolean)},async updateByClient(t,r,i){return(await e.update(y).set({connections:JSON.stringify([...new Set(i)])}).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,r))).returning()).length>0},async listByConnection(t,r){return(await e.select({client_id:y.client_id,connections:y.connections}).from(y).where((0,n.eq)(y.tenant_id,t)).all()).filter(e=>(X(e.connections,[])||[]).includes(r)).map(e=>e.client_id)},async addClientToConnection(t,r,i){if(!await e.select({client_id:y.client_id}).from(y).where((0,n.and)((0,n.eq)(y.tenant_id,t),(0,n.eq)(y.client_id,i))).get())return!1;let a=await e.run(n.sql`UPDATE clients SET connections = CASE
2
2
  WHEN connections IS NULL OR connections = '[]' OR connections = ''
3
3
  THEN json_array(${r})
4
4
  WHEN EXISTS (SELECT 1 FROM json_each(connections) WHERE value = ${r})
@@ -10,4 +10,4 @@ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{val
10
10
  FROM json_each(COALESCE(connections, '[]')) AS je
11
11
  WHERE je.value != ${r}
12
12
  )
13
- WHERE tenant_id = ${t} AND client_id = ${i}`);return(a.changes??a.meta?.changes??0)>0}}}function Pe(e){let{tenant_id:t,scope:n,authorization_details_types:r,allow_any_organization:i,is_system:o,...s}=e;return(0,a.removeNullProperties)({...s,scope:X(n,[]),authorization_details_types:X(r,[]),allow_any_organization:!!i,is_system:!!o})}function Fe(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,client_id:n.client_id,audience:n.audience,scope:JSON.stringify(n.scope||[]),organization_usage:n.organization_usage,allow_any_organization:+!!n.allow_any_organization,is_system:+!!n.is_system,subject_type:n.subject_type,authorization_details_types:JSON.stringify(n.authorization_details_types||[]),created_at:i,updated_at:i};return await e.insert(x).values(a),Pe({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(x).where((0,n.and)((0,n.eq)(x.tenant_id,t),(0,n.eq)(x.id,r))).get();return i?Pe(i):null},async update(t,r,i){let{scope:a,authorization_details_types:o,allow_any_organization:s,is_system:c,...l}=i,u={...l,updated_at:new Date().toISOString()};return a!==void 0&&(u.scope=JSON.stringify(a)),o!==void 0&&(u.authorization_details_types=JSON.stringify(o)),s!==void 0&&(u.allow_any_organization=+!!s),c!==void 0&&(u.is_system=+!!c),(await e.update(x).set(u).where((0,n.and)((0,n.eq)(x.tenant_id,t),(0,n.eq)(x.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(x,c,[`client_id`,`audience`]):void 0,u=l?(0,n.and)((0,n.eq)(x.tenant_id,t),l):(0,n.eq)(x.tenant_id,t);if(xe(r)){let t={sortColumn:x.created_at,idColumn:x.id,sortOrder:`desc`},i=we(r,t),a=Se(r),{rows:o,next:s}=Te(await e.select().from(x).where(i?(0,n.and)(u,i):u).orderBy(...Ce(t)).limit(a+1),a,`created_at`),c=o.map(Pe);return{client_grants:c,start:0,limit:a,length:c.length,next:s}}let d=e.select().from(x).where(u).$dynamic();if(s?.sort_by){let e=x[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}else d=d.orderBy((0,n.asc)(x.created_at));let f=(await d.offset(i*a).limit(a)).map(Pe);if(!o)return{client_grants:f};let[p]=await e.select({count:(0,n.count)()}).from(x).where(u);return{client_grants:f,start:i*a,limit:a,length:Number(p?.count??0)}},async remove(t,r){return(await e.delete(x).where((0,n.and)((0,n.eq)(x.tenant_id,t),(0,n.eq)(x.id,r))).returning()).length>0}}}function Ie(e){if(!e)return;let t=JSON.parse(e);return(0,o.isPlainObject)(t)?t:void 0}function Le(e){return e==null?void 0:new Date(e).toISOString()}function Re(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t.getTime()}function ze(e){let t=o.clientRegistrationTokenTypeSchema.parse(e.type);return{id:e.id,token_hash:e.token_hash,type:t,client_id:e.client_id??void 0,sub:e.sub??void 0,constraints:Ie(e.constraints),single_use:!!e.single_use,expires_at:Le(e.expires_at_ts),used_at:Le(e.used_at_ts),revoked_at:Le(e.revoked_at_ts),created_at:new Date(e.created_at_ts).toISOString()}}function Be(e){return{async create(t,n){let r=Date.now();return await e.insert(b).values({id:n.id,tenant_id:t,token_hash:n.token_hash,type:n.type,client_id:n.client_id??null,sub:n.sub??null,constraints:n.constraints?JSON.stringify(n.constraints):null,single_use:+!!n.single_use,expires_at_ts:Re(n.expires_at),created_at_ts:r}),{id:n.id,token_hash:n.token_hash,type:n.type,client_id:n.client_id,sub:n.sub,constraints:n.constraints,single_use:n.single_use,expires_at:n.expires_at,created_at:new Date(r).toISOString()}},async get(t,r){let i=await e.select().from(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r))).get();return i?ze(i):null},async getByHash(t,r){let i=await e.select().from(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.token_hash,r))).get();return i?ze(i):null},async listByClient(t,r){return(await e.select().from(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.client_id,r))).orderBy((0,n.desc)(b.created_at_ts))).map(ze)},async markUsed(t,r,i){return(await e.update(b).set({used_at_ts:Re(i)}).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r),(0,n.isNull)(b.used_at_ts))).returning()).length>0},async revoke(t,r,i){return(await e.update(b).set({revoked_at_ts:Re(i)}).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r),(0,n.isNull)(b.revoked_at_ts))).returning()).length>0},async revokeByClient(t,r,i){return(await e.update(b).set({revoked_at_ts:Re(i)}).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.client_id,r),(0,n.isNull)(b.revoked_at_ts))).returning()).length},async remove(t,r){return(await e.delete(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r))).returning()).length>0}}}var Ve=[`code_id`,`login_id`],He=500;function Ue(e){let{tenant_id:t,...n}=e;return(0,a.removeNullProperties)(n)}function We(e){return{async create(t,n){let r={...n,tenant_id:t,created_at:n.created_at||new Date().toISOString(),expires_at:n.expires_at};return await e.insert(v).values(r),Ue(r)},async get(t,r,i){let a=t?(0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r),(0,n.eq)(v.code_type,i)):(0,n.and)((0,n.eq)(v.code_id,r),(0,n.eq)(v.code_type,i)),o=await e.select().from(v).where(a).get();return o?Ue(o):null},async list(t,r){let{page:i=0,per_page:a=50,include_totals:s=!1,sort:c,q:l}=r||{},u=[(0,n.eq)(v.tenant_id,t)];if(l){let e=(0,o.sanitizeLuceneQuery)(l,Ve);if(e){let t=Z(v,e,Ve);t&&u.push(t)}}let d=(0,n.and)(...u),f=e.select().from(v).where(d).$dynamic();if(c?.sort_by){let e=v[c.sort_by];e&&(f=f.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let p=(await f.offset(i*a).limit(a)).map(Ue);if(!s)return{codes:p};let[m]=await e.select({count:(0,n.count)()}).from(v).where(d);return{codes:p,start:i*a,limit:a,length:Number(m?.count??0)}},async used(t,r){return(await e.update(v).set({used_at:new Date().toISOString()}).where((0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r))).returning()).length>0},async consume(t,r){return(await e.update(v).set({used_at:new Date().toISOString()}).where((0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r),(0,n.isNull)(v.used_at))).returning()).length>0},async remove(t,r){return(await e.delete(v).where((0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r))).returning()).length>0},async cleanup(t){let r=0;for(;;){let i=await e.delete(v).where(n.sql`rowid IN (SELECT rowid FROM ${v} WHERE ${v.expires_at} < ${t} LIMIT ${He})`).returning({code_id:v.code_id});if(r+=i.length,i.length<He)break}return r}}}function Ge(){return`con_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}function Ke(e){let{tenant_id:t,is_system:n,options:r,metadata:i,...o}=e;return(0,a.removeNullProperties)({...o,options:X(r,{}),metadata:X(i),is_system:n?!0:void 0})}function qe(e){return{async create(t,n){let r=new Date().toISOString(),i={id:n.id||Ge(),...n,tenant_id:t,options:JSON.stringify(n.options||{}),metadata:n.metadata?JSON.stringify(n.metadata):void 0,is_system:+!!n.is_system,created_at:r,updated_at:r};try{await e.insert(C).values(i)}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`Connection already exists`}):e}return Ke(i)},async get(t,r){let i=await e.select().from(C).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.eq)(C.id,r))).get();return i?Ke(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.strategy!==void 0&&(a.strategy=i.strategy),i.options!==void 0&&(a.options=JSON.stringify(i.options)),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),i.display_name!==void 0&&(a.display_name=i.display_name),i.response_type!==void 0&&(a.response_type=i.response_type),i.response_mode!==void 0&&(a.response_mode=i.response_mode),await e.update(C).set(a).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.eq)(C.id,r))),!0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=(0,n.eq)(C.tenant_id,t);if(c){let e=Z(C,c,[`name`]);e&&(l=(0,n.and)(l,e))}let u=e.select().from(C).where(l).$dynamic();if(s?.sort_by){let e=C[s.sort_by];e&&(u=u.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let d=(await u.offset(i*a).limit(a)).map(Ke);if(!o)return{connections:d};let[f]=await e.select({count:(0,n.count)()}).from(C).where(l);return{connections:d,start:i*a,limit:a,length:Number(f?.count??0)}},async remove(t,r){return(await e.delete(C).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.eq)(C.id,r))).returning()).length>0}}}function Je(e){let{tenant_id:t,domain_metadata:n,...r}=e;return(0,a.removeNullProperties)({...r,primary:!!r.primary,domain_metadata:X(n)})}function Ye(e){return{async create(t,n){let i=new Date().toISOString(),a={custom_domain_id:n.custom_domain_id||(0,r.nanoid)(),tenant_id:t,domain:n.domain,primary:n.primary??!1,status:n.status||`pending`,type:n.type,origin_domain_name:n.origin_domain_name,verification:n.verification,custom_client_ip_header:n.custom_client_ip_header,tls_policy:n.tls_policy,domain_metadata:n.domain_metadata?JSON.stringify(n.domain_metadata):void 0,created_at:i,updated_at:i};return await e.insert(w).values(a),Je({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(w).where((0,n.and)((0,n.eq)(w.tenant_id,t),(0,n.eq)(w.custom_domain_id,r))).get();return i?Je(i):null},async getByDomain(t){let r=await e.select().from(w).where((0,n.eq)(w.domain,t)).get();return r?{...Je(r),tenant_id:r.tenant_id}:null},async list(t){return(await e.select().from(w).where((0,n.eq)(w.tenant_id,t)).all()).map(Je)},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.domain!==void 0&&(a.domain=i.domain),i.primary!==void 0&&(a.primary=i.primary),i.status!==void 0&&(a.status=i.status),i.type!==void 0&&(a.type=i.type),i.origin_domain_name!==void 0&&(a.origin_domain_name=i.origin_domain_name),i.verification!==void 0&&(a.verification=i.verification),i.custom_client_ip_header!==void 0&&(a.custom_client_ip_header=i.custom_client_ip_header),i.tls_policy!==void 0&&(a.tls_policy=i.tls_policy),i.domain_metadata!==void 0&&(a.domain_metadata=JSON.stringify(i.domain_metadata)),(await e.update(w).set(a).where((0,n.and)((0,n.eq)(w.tenant_id,t),(0,n.eq)(w.custom_domain_id,r))).returning()).length>0},async remove(t,r){return(await e.delete(w).where((0,n.and)((0,n.eq)(w.tenant_id,t),(0,n.eq)(w.custom_domain_id,r))).returning()).length>0}}}function Xe(e){return{async get(t,r,i){let a=await e.select().from(H).where((0,n.and)((0,n.eq)(H.tenant_id,t),(0,n.eq)(H.prompt,r),(0,n.eq)(H.language,i))).get();if(!a)return null;try{return JSON.parse(a.custom_text)}catch{return null}},async set(t,n,r,i){let a=Date.now(),o=JSON.stringify(i);await e.insert(H).values({tenant_id:t,prompt:n,language:r,custom_text:o,created_at_ts:a,updated_at_ts:a}).onConflictDoUpdate({target:[H.tenant_id,H.prompt,H.language],set:{custom_text:o,updated_at_ts:a}})},async delete(t,r,i){await e.delete(H).where((0,n.and)((0,n.eq)(H.tenant_id,t),(0,n.eq)(H.prompt,r),(0,n.eq)(H.language,i)))},async list(t){return await e.select({prompt:H.prompt,language:H.language}).from(H).where((0,n.eq)(H.tenant_id,t)).all()}}}function Ze(e){return{async create(t,n){let r=new Date().toISOString();await e.insert(L).values({tenant_id:t,name:n.name,enabled:n.enabled,default_from_address:n.default_from_address,credentials:JSON.stringify(n.credentials||{}),settings:JSON.stringify(n.settings||{}),created_at:r,updated_at:r})},async get(t){let r=await e.select().from(L).where((0,n.eq)(L.tenant_id,t)).get();if(!r)return null;let{tenant_id:i,...o}=r;return(0,a.removeNullProperties)({...o,enabled:!!o.enabled,credentials:X(o.credentials,{}),settings:X(o.settings,{})})},async update(t,r){let i={updated_at:new Date().toISOString()};r.name!==void 0&&(i.name=r.name),r.enabled!==void 0&&(i.enabled=r.enabled),r.default_from_address!==void 0&&(i.default_from_address=r.default_from_address),r.credentials!==void 0&&(i.credentials=JSON.stringify(r.credentials)),r.settings!==void 0&&(i.settings=JSON.stringify(r.settings)),await e.update(L).set(i).where((0,n.eq)(L.tenant_id,t))},async remove(t){await e.delete(L).where((0,n.eq)(L.tenant_id,t))}}}function Qe(e){return(0,a.removeNullProperties)({template:e.template,body:e.body,from:e.from,subject:e.subject,syntax:`liquid`,includeEmailInRedirect:!!e.include_email_in_redirect,enabled:!!e.enabled,resultUrl:e.result_url??void 0,urlLifetimeInSeconds:e.url_lifetime_in_seconds??void 0})}function $e(e){return{async get(t,r){let i=await e.select().from(R).where((0,n.and)((0,n.eq)(R.tenant_id,t),(0,n.eq)(R.template,r))).get();return i?Qe(i):null},async list(t){return(await e.select().from(R).where((0,n.eq)(R.tenant_id,t)).all()).map(Qe)},async create(t,n){let r=new Date().toISOString();return await e.insert(R).values({tenant_id:t,template:n.template,body:n.body,from:n.from,subject:n.subject,syntax:n.syntax,result_url:n.resultUrl??null,url_lifetime_in_seconds:n.urlLifetimeInSeconds??null,include_email_in_redirect:n.includeEmailInRedirect,enabled:n.enabled,created_at:r,updated_at:r}),n},async update(t,r,i){let a={updated_at:new Date().toISOString()};i.body!==void 0&&(a.body=i.body),i.from!==void 0&&(a.from=i.from),i.subject!==void 0&&(a.subject=i.subject),i.syntax!==void 0&&(a.syntax=i.syntax),i.resultUrl!==void 0&&(a.result_url=i.resultUrl),i.urlLifetimeInSeconds!==void 0&&(a.url_lifetime_in_seconds=i.urlLifetimeInSeconds),i.includeEmailInRedirect!==void 0&&(a.include_email_in_redirect=i.includeEmailInRedirect),i.enabled!==void 0&&(a.enabled=i.enabled);let o=await e.update(R).set(a).where((0,n.and)((0,n.eq)(R.tenant_id,t),(0,n.eq)(R.template,r))).run();return Number(o.changes??0)>0},async remove(t,r){let i=await e.delete(R).where((0,n.and)((0,n.eq)(R.tenant_id,t),(0,n.eq)(R.template,r))).run();return Number(i.changes??0)>0}}}var et=[`id`,`name`];function tt(e){return{async create(t,n){let i=new Date().toISOString(),a=`af_${(0,r.nanoid)()}`;return await e.insert(I).values({id:a,tenant_id:t,name:n.name,actions:JSON.stringify(n.actions||[]),created_at:i,updated_at:i}),{id:a,name:n.name,actions:n.actions||[],created_at:i,updated_at:i}},async get(t,r){let i=await e.select().from(I).where((0,n.and)((0,n.eq)(I.tenant_id,t),(0,n.eq)(I.id,r))).get();if(!i)return null;let{tenant_id:o,actions:s,...c}=i;return(0,a.removeNullProperties)({...c,actions:X(s,[])})},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.actions!==void 0&&(a.actions=JSON.stringify(i.actions)),(await e.update(I).set(a).where((0,n.and)((0,n.eq)(I.tenant_id,t),(0,n.eq)(I.id,r))).returning()).length===0?null:this.get(t,r)},async list(t,r){let{page:i=0,per_page:s=50,include_totals:c=!1,sort:l,q:u}=r||{},d=[(0,n.eq)(I.tenant_id,t)];if(u){let e=(0,o.sanitizeLuceneQuery)(u,et);if(e){let t=Z(I,e,[]);t&&d.push(t)}}let f=(0,n.and)(...d),p=e.select().from(I).where(f).$dynamic();if(l?.sort_by){let e=I[l.sort_by];e&&(p=p.orderBy(l.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let m=(await p.offset(i*s).limit(s)).map(e=>{let{tenant_id:t,actions:n,...r}=e;return(0,a.removeNullProperties)({...r,actions:X(n,[])})});if(!c)return{flows:m};let[h]=await e.select({count:(0,n.count)()}).from(I).where(f);return{flows:m,start:i*s,limit:s,length:Number(h?.count??0)}},async remove(t,r){return(await e.delete(I).where((0,n.and)((0,n.eq)(I.tenant_id,t),(0,n.eq)(I.id,r))).returning()).length>0}}}var nt=[`nodes`,`start`,`ending`],rt=[`name`];function it(e){return{async create(t,n){let i=new Date().toISOString(),a=(0,r.nanoid)(),o={id:a,tenant_id:t,name:n.name,messages:n.messages,languages:n.languages,translations:n.translations,style:n.style,created_at:i,updated_at:i};for(let e of nt)o[e]=JSON.stringify(n[e]||(e===`nodes`?[]:{}));return await e.insert(F).values(o),{id:a,...n,created_at:i,updated_at:i}},async get(t,r){let i=await e.select().from(F).where((0,n.and)((0,n.eq)(F.tenant_id,t),(0,n.eq)(F.id,r))).get();if(!i)return null;let{tenant_id:o,...s}=i,c={...s};for(let e of nt)c[e]=X(s[e]);return(0,a.removeNullProperties)(c)},async update(t,r,i){let a={updated_at:new Date().toISOString()};for(let[e,t]of Object.entries(i))t!==void 0&&(nt.includes(e)?a[e]=JSON.stringify(t):a[e]=t);return(await e.update(F).set(a).where((0,n.and)((0,n.eq)(F.tenant_id,t),(0,n.eq)(F.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:s=50,include_totals:c=!1,sort:l,q:u}=r||{},d=[(0,n.eq)(F.tenant_id,t)];if(u){let e=(0,o.sanitizeLuceneQuery)(u,rt);if(e){let t=Z(F,e,rt);t&&d.push(t)}}let f=(0,n.and)(...d),p=e.select().from(F).where(f).$dynamic();if(l?.sort_by){let e=F[l.sort_by];e&&(p=p.orderBy(l.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let m=(await p.offset(i*s).limit(s)).map(e=>{let{tenant_id:t,...n}=e,r={...n};for(let e of nt)r[e]=X(n[e]);return(0,a.removeNullProperties)(r)});if(!c)return{forms:m};let[h]=await e.select({count:(0,n.count)()}).from(F).where(f);return{forms:m,start:i*s,limit:s,length:Number(h?.count??0)}},async remove(t,r){return(await e.delete(F).where((0,n.and)((0,n.eq)(F.tenant_id,t),(0,n.eq)(F.id,r))).returning()).length>0}}}function at(e){return{id:e.id,user_id:e.user_id,clientID:e.client_id,audience:e.audience||void 0,scope:X(e.scope,[])??[]}}var ot={user_id:S.user_id,client_id:S.client_id,audience:S.audience,created_at:S.created_at,updated_at:S.updated_at};function st(e){return Object.hasOwn(ot,e)?ot[e]:void 0}function ct(e){return{async create(t,i){let a=new Date().toISOString(),o=i.scope??[],s=i.audience??``,c=await e.select().from(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.user_id,i.user_id),(0,n.eq)(S.client_id,i.clientID),(0,n.eq)(S.audience,s))).get();if(c){let r=X(c.scope,[])??[],i=Array.from(new Set([...r,...o]));return await e.update(S).set({scope:JSON.stringify(i),updated_at:a}).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.id,c.id))),at({...c,scope:JSON.stringify(i)})}let l=(0,r.nanoid)();return await e.insert(S).values({id:l,tenant_id:t,user_id:i.user_id,client_id:i.clientID,audience:s,scope:JSON.stringify(o),created_at:a,updated_at:a}),{id:l,user_id:i.user_id,clientID:i.clientID,audience:s||void 0,scope:o}},async get(t,r,i,a){let o=await e.select().from(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.user_id,r),(0,n.eq)(S.client_id,i),(0,n.eq)(S.audience,a??``))).get();return o?at(o):null},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(S,c,[`user_id`,`client_id`,`audience`]):void 0,u=l?(0,n.and)((0,n.eq)(S.tenant_id,t),l):(0,n.eq)(S.tenant_id,t),d=e.select().from(S).where(u).$dynamic(),f=s?.sort_by?st(s.sort_by):void 0;d=f?d.orderBy(s?.sort_order===`desc`?(0,n.desc)(f):(0,n.asc)(f)):d.orderBy((0,n.asc)(S.created_at));let p=(await d.offset(i*a).limit(a)).map(at);if(!o)return{grants:p,start:0,limit:0,length:0};let[m]=await e.select({count:(0,n.count)()}).from(S).where(u);return{grants:p,start:i*a,limit:a,length:Number(m?.count??0)}},async remove(t,r){return(await e.delete(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.id,r))).returning()).length>0},async removeByUser(t,r){return(await e.delete(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.user_id,r))).returning()).length>0}}}var lt=(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17);function ut(){return`hc_${lt()}`}function dt(e){let{created_at_ts:t,updated_at_ts:n,secrets:r,...i}=e,o=(0,a.convertDatesToAdapter)({created_at_ts:t,updated_at_ts:n},[`created_at_ts`,`updated_at_ts`]);return{...i,...o,secrets:r?JSON.parse(r):void 0}}function ft(e){return{async create(t,n){let r=Date.now(),i={id:ut(),tenant_id:t,code:n.code,secrets:n.secrets?JSON.stringify(n.secrets):null,created_at_ts:r,updated_at_ts:r};return await e.insert(B).values(i),dt({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(B).where((0,n.and)((0,n.eq)(B.tenant_id,t),(0,n.eq)(B.id,r))).get();return i?dt(i):null},async update(t,r,i){let a={updated_at_ts:Date.now()};return i.code!==void 0&&(a.code=i.code),i.secrets!==void 0&&(a.secrets=JSON.stringify(i.secrets)),(await e.update(B).set(a).where((0,n.and)((0,n.eq)(B.tenant_id,t),(0,n.eq)(B.id,r))).returning()).length>0},async remove(t,r){return(await e.delete(B).where((0,n.and)((0,n.eq)(B.tenant_id,t),(0,n.eq)(B.id,r))).returning()).length>0}}}function pt(){return`h_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}function mt(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:void 0}catch{return}}function ht(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,metadata:i,...o}=e,s=(0,a.convertDatesToAdapter)({created_at_ts:n,updated_at_ts:r},[`created_at_ts`,`updated_at_ts`]);return(0,a.removeNullProperties)({...o,enabled:!!o.enabled,synchronous:!!o.synchronous,metadata:mt(i),...s})}function gt(e){return{async create(t,n){let r=Date.now(),i={hook_id:n.hook_id||pt(),tenant_id:t,trigger_id:n.trigger_id,url:n.url,enabled:n.enabled??!0,synchronous:n.synchronous??!1,priority:n.priority,form_id:n.form_id,template_id:n.template_id,code_id:n.code_id,metadata:n.metadata?JSON.stringify(n.metadata):null,created_at_ts:r,updated_at_ts:r};return await e.insert(z).values(i),ht({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(z).where((0,n.and)((0,n.eq)(z.tenant_id,t),(0,n.eq)(z.hook_id,r))).get();return i?ht(i):null},async update(t,r,i){let a={updated_at_ts:Date.now()};return i.trigger_id!==void 0&&(a.trigger_id=i.trigger_id),i.url!==void 0&&(a.url=i.url),i.enabled!==void 0&&(a.enabled=i.enabled),i.synchronous!==void 0&&(a.synchronous=i.synchronous),i.priority!==void 0&&(a.priority=i.priority),i.form_id!==void 0&&(a.form_id=i.form_id),i.template_id!==void 0&&(a.template_id=i.template_id),i.code_id!==void 0&&(a.code_id=i.code_id),i.metadata!==void 0&&(a.metadata=i.metadata===null?null:JSON.stringify(i.metadata)),(await e.update(z).set(a).where((0,n.and)((0,n.eq)(z.tenant_id,t),(0,n.eq)(z.hook_id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(z,c,[`url`,`form_id`,`template_id`,`code_id`]):void 0,u=l?(0,n.and)((0,n.eq)(z.tenant_id,t),l):(0,n.eq)(z.tenant_id,t),d=e.select().from(z).where(u).$dynamic(),f=s?.sort_by?z[s.sort_by]:void 0;d=f?d.orderBy(s?.sort_order===`desc`?(0,n.desc)(f):(0,n.asc)(f)):d.orderBy((0,n.desc)(z.priority),(0,n.asc)(z.created_at_ts));let p=(await d.offset(i*a).limit(a)).map(ht);if(!o)return{hooks:p};let[m]=await e.select({count:(0,n.count)()}).from(z).where(u);return{hooks:p,start:i*a,limit:a,length:Number(m?.count??0)}},async remove(t,r){return(await e.delete(z).where((0,n.and)((0,n.eq)(z.tenant_id,t),(0,n.eq)(z.hook_id,r))).returning()).length>0}}}function _t(){return`inv_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}var vt=[`inviter`,`invitee`,`app_metadata`,`user_metadata`,`roles`];function yt(e){let{tenant_id:t,send_invitation_email:n,...r}=e,i={...r};for(let e of vt)i[e]=X(r[e],e===`roles`?[]:{});return i.send_invitation_email=!!n,(0,a.removeNullProperties)(i)}function bt(e){return{async create(t,n){let r=n.id||_t(),i=n.ttl_sec||604800,a=new Date,o=new Date(a.getTime()+i*1e3).toISOString(),c={id:r,tenant_id:t,organization_id:n.organization_id,client_id:n.client_id,connection_id:n.connection_id,invitation_url:n.invitation_url,ticket_id:n.ticket_id,ttl_sec:i,send_invitation_email:n.send_invitation_email===!1?0:1,created_at:a.toISOString(),expires_at:o};for(let e of vt)n[e]!==void 0&&(c[e]=JSON.stringify(n[e]));try{await e.insert(D).values(c)}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`Invite already exists`}):e}return yt({...c,tenant_id:t})},async get(t,r){let i=await e.select().from(D).where((0,n.and)((0,n.eq)(D.tenant_id,t),(0,n.eq)(D.id,r))).get();return i?yt(i):null},async update(t,r,i){let a={};for(let e of vt)i[e]!==void 0&&(a[e]=JSON.stringify(i[e]));return i.connection_id!==void 0&&(a.connection_id=i.connection_id),i.ttl_sec!==void 0&&(a.ttl_sec=i.ttl_sec,a.expires_at=new Date(Date.now()+i.ttl_sec*1e3).toISOString()),(await e.update(D).set(a).where((0,n.and)((0,n.eq)(D.tenant_id,t),(0,n.eq)(D.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s}=r||{},c=e.select().from(D).where((0,n.eq)(D.tenant_id,t)).$dynamic();if(s?.sort_by){let e=D[s.sort_by];e&&(c=c.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let l=(await c.offset(i*a).limit(a)).map(yt);if(!o)return{invites:l};let[u]=await e.select({count:(0,n.count)()}).from(D).where((0,n.eq)(D.tenant_id,t));return{invites:l,start:i*a,limit:a,length:Number(u?.count??0)}},async remove(t,r){return(await e.delete(D).where((0,n.and)((0,n.eq)(D.tenant_id,t),(0,n.eq)(D.id,r))).returning()).length>0}}}var xt=[`kid`,`connection`,`fingerprint`,`thumbprint`,`type`];function St(e){return{async create(t){await e.insert(V).values({...t,created_at:new Date().toDateString()})},async list(t){let{page:r=0,per_page:i=50,include_totals:s=!1,sort:c,q:l}=t||{},u=new Date().toISOString(),d=[(0,n.or)((0,n.gt)(V.revoked_at,u),(0,n.isNull)(V.revoked_at))];if(l){let e=(0,o.sanitizeLuceneQuery)(l,xt);if(e){let t=Z(V,e,xt);t&&d.push(t)}}let f=(0,n.and)(...d),p=e.select().from(V).where(f).$dynamic();if(c?.sort_by){let e=V[c.sort_by];e&&(p=p.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let m=(await p.offset(r*i).limit(i)).map(e=>{let{created_at:t,...n}=e;return(0,a.removeNullProperties)(n)});if(!s)return{signingKeys:m};let[h]=await e.select({count:(0,n.count)()}).from(V).where(f);return{signingKeys:m,start:r*i,limit:i,length:(0,a.getCountAsInt)(h?.count??0)}},async update(t,r){return(await e.update(V).set(r).where((0,n.eq)(V.kid,t)).returning()).length>0}}}var Ct=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,wt=32;function Tt(){let e=Date.now(),t=``;for(let n=10;n>0;n--)t=Ct.charAt(e%wt)+t,e=Math.floor(e/wt);let n=new Uint8Array(16);crypto.getRandomValues(n);for(let e=0;e<16;e++)t+=Ct.charAt(n[e]%wt);return t}function Et(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,expires_at_ts:i,state_data:o,auth_params:s,...c}=e,l=(0,a.convertDatesToAdapter)({created_at_ts:n,updated_at_ts:r,expires_at_ts:i},[`created_at_ts`,`updated_at_ts`,`expires_at_ts`]),u={};for(let[e,t]of Object.entries(c))t!=null&&(u[e]=t);return(0,a.removeNullProperties)({...ce(u,[`auth_strategy`]),authParams:typeof s==`string`&&s.length>0?JSON.parse(s):{},...l,state_data:X(o)})}function Dt(e){return{async create(t,n){let r=Date.now(),i={id:Tt(),tenant_id:t,session_id:n.session_id,csrf_token:n.csrf_token,auth_params:JSON.stringify(n.authParams||{}),authorization_url:n.authorization_url?n.authorization_url.substring(0,1024):void 0,ip:n.ip,useragent:n.useragent,auth0Client:n.auth0Client,state:n.state||`pending`,state_data:n.state_data?JSON.stringify(n.state_data):void 0,failure_reason:n.failure_reason,user_id:n.user_id,auth_connection:n.auth_connection,auth_strategy_strategy:n.auth_strategy?.strategy,auth_strategy_strategy_type:n.auth_strategy?.strategy_type,authenticated_at:n.authenticated_at,created_at_ts:r,updated_at_ts:r,expires_at_ts:n.expires_at?(0,a.isoToDbDate)(n.expires_at):r+1e3*60*60*24};return await e.insert(_).values(i),Et({...i,tenant_id:t})},async get(t,r){let i=t?(0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r)):(0,n.eq)(_.id,r),a=await e.select().from(_).where(i).get();return a?Et(a):null},async update(t,r,i){let o={updated_at_ts:Date.now()};if(i.session_id!==void 0&&(o.session_id=i.session_id),i.state!==void 0&&(o.state=i.state),i.state_data!==void 0&&(o.state_data=JSON.stringify(i.state_data)),i.failure_reason!==void 0&&(o.failure_reason=i.failure_reason),i.user_id!==void 0&&(o.user_id=i.user_id),i.auth_connection!==void 0&&(o.auth_connection=i.auth_connection),i.auth_strategy!==void 0&&(o.auth_strategy_strategy=i.auth_strategy?.strategy,o.auth_strategy_strategy_type=i.auth_strategy?.strategy_type),i.authenticated_at!==void 0&&(o.authenticated_at=i.authenticated_at),i.authorization_url!==void 0&&(o.authorization_url=i.authorization_url?.substring(0,1024)),i.expires_at!==void 0&&(o.expires_at_ts=(0,a.isoToDbDate)(i.expires_at)),i.authParams!==void 0){let a=await e.select({auth_params:_.auth_params}).from(_).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r))).get(),s=a?.auth_params&&typeof a.auth_params==`string`&&a.auth_params.length>0?JSON.parse(a.auth_params):{};o.auth_params=JSON.stringify({...s,...i.authParams})}return await e.update(_).set(o).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r))),!0},async remove(t,r){return(await e.delete(_).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r))).returning()).length>0}}}function Ot(e){let{tenant_id:t,isMobile:n,auth0_client:r,details:i,country_code:o,city_name:s,latitude:c,longitude:l,time_zone:u,continent_code:d,scope:f,...p}=e,m={...p,isMobile:!!n,auth0_client:X(r),details:X(i),scope:f?f.split(`,`):void 0};return o&&(m.location_info=(0,a.removeNullProperties)({country_code:o,city_name:s,latitude:c,longitude:l,time_zone:u,continent_code:d})),(0,a.removeNullProperties)(m)}function kt(e){return{async create(t,n){let i={log_id:n.log_id||(0,r.nanoid)(),tenant_id:t,type:n.type,date:n.date||new Date().toISOString(),category:n.category,user_id:n.user_id,ip:n.ip,client_id:n.client_id,client_name:n.client_name,user_agent:n.user_agent?.substring(0,256),description:n.description?.substring(0,256),isMobile:+!!n.isMobile,user_name:n.user_name,connection:n.connection,connection_id:n.connection_id,audience:n.audience,scope:Array.isArray(n.scope)?n.scope.join(`,`):n.scope,strategy:n.strategy,strategy_type:n.strategy_type,hostname:n.hostname,session_connection:n.session_connection};return n.auth0_client&&(i.auth0_client=JSON.stringify(n.auth0_client)),n.details&&(i.details=JSON.stringify(n.details).substring(0,8192)),n.location_info&&(i.country_code=n.location_info.country_code,i.city_name=n.location_info.city_name,i.latitude=n.location_info.latitude,i.longitude=n.location_info.longitude,i.time_zone=n.location_info.time_zone,i.continent_code=n.location_info.continent_code),await e.insert(W).values(i),Ot({...i,tenant_id:t})},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:c,q:l,from_date:u,to_date:d}=r||{},f=[(0,n.eq)(W.tenant_id,t)];if(l){let e=Z(W,l,[`user_id`,`ip`,`type`,`client_id`],[`description`]);e&&f.push(e)}typeof u==`number`&&Number.isFinite(u)&&f.push((0,n.gte)(W.date,new Date(Math.floor(u)*1e3).toISOString())),typeof d==`number`&&Number.isFinite(d)&&f.push((0,n.lt)(W.date,new Date((Math.floor(d)+1)*1e3).toISOString()));let p=(0,n.and)(...f);if(xe(r)){if(c?.sort_by&&c.sort_by!==`date`)throw new s.HTTPException(400,{message:`Sorting by ${c.sort_by} is not supported with checkpoint pagination (from/take); only date is`});let t=c?.sort_order===`asc`?`asc`:`desc`,i={sortColumn:W.date,idColumn:W.log_id,sortOrder:t,sortKey:`date:${t}`},a=we(r,i),o=Se(r),{rows:l,next:u}=Te(await e.select().from(W).where(a?(0,n.and)(p,a):p).orderBy(...Ce(i)).limit(o+1),o,`date`,`log_id`,i.sortKey),d=l.map(Ot);return{logs:d,start:0,limit:o,length:d.length,next:u}}let m=e.select().from(W).where(p).$dynamic();if(c?.sort_by){let e=W[c.sort_by];e&&(m=m.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}else m=m.orderBy((0,n.desc)(W.date));let h=(await m.offset(i*a).limit(a)).map(Ot);if(!o)return{logs:h};let[g]=await e.select({count:(0,n.count)()}).from(W).where(p);return{logs:h,start:i*a,limit:a,length:Number(g?.count??0)}},async get(t,r){let i=await e.select().from(W).where((0,n.and)((0,n.eq)(W.tenant_id,t),(0,n.eq)(W.log_id,r))).get();return i?Ot(i):null}}}var At=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,jt=32;function Mt(){let e=Date.now(),t=``;for(let n=10;n>0;n--)t=At.charAt(e%jt)+t,e=Math.floor(e/jt);let n=new Uint8Array(16);crypto.getRandomValues(n);for(let e=0;e<16;e++)t+=At.charAt(n[e]%jt);return t}function Nt(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,credential_backed_up:i,confirmed:o,transports:s,...c}=e;return(0,a.removeNullProperties)({...c,confirmed:!!o,credential_backed_up:i==null?void 0:!!i,transports:X(s),created_at:(0,a.dbDateToIsoRequired)(n),updated_at:(0,a.dbDateToIsoRequired)(r)})}function Pt(e){return{async create(t,n){let r=Date.now(),i={id:n.id||Mt(),tenant_id:t,user_id:n.user_id,type:n.type,phone_number:n.phone_number,totp_secret:n.totp_secret,credential_id:n.credential_id,public_key:n.public_key,sign_count:n.sign_count,credential_backed_up:n.credential_backed_up==null?null:+!!n.credential_backed_up,transports:n.transports?JSON.stringify(n.transports):null,friendly_name:n.friendly_name,confirmed:+!!n.confirmed,created_at_ts:r,updated_at_ts:r};return await e.insert(U).values(i),Nt({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.id,r))).get();return i?Nt(i):null},async getByCredentialId(t,r){let i=await e.select().from(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.credential_id,r))).get();return i?Nt(i):null},async list(t,r){return(await e.select().from(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.user_id,r))).all()).map(Nt)},async update(t,r,i){let a={updated_at_ts:Date.now()};i.type!==void 0&&(a.type=i.type),i.phone_number!==void 0&&(a.phone_number=i.phone_number),i.totp_secret!==void 0&&(a.totp_secret=i.totp_secret),i.credential_id!==void 0&&(a.credential_id=i.credential_id),i.public_key!==void 0&&(a.public_key=i.public_key),i.sign_count!==void 0&&(a.sign_count=i.sign_count),i.credential_backed_up!==void 0&&(a.credential_backed_up=+!!i.credential_backed_up),i.transports!==void 0&&(a.transports=JSON.stringify(i.transports)),i.friendly_name!==void 0&&(a.friendly_name=i.friendly_name),i.confirmed!==void 0&&(a.confirmed=+!!i.confirmed),await e.update(U).set(a).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.id,r)));let o=await this.get(t,r);if(!o)throw Error(`Authentication method ${r} not found after update`);return o},async remove(t,r){return(await e.delete(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.id,r))).returning()).length>0}}}var Ft=[`name`,`display_name`];function It(){return`org_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}function Lt(e){let{tenant_id:t,branding:n,metadata:r,enabled_connections:i,token_quota:o,...s}=e;return(0,a.removeNullProperties)({...s,branding:X(n,{}),metadata:X(r,{}),enabled_connections:X(i,[]),token_quota:X(o,{})})}function Rt(e){return{async create(t,n){let r=new Date().toISOString(),i={id:n.id||It(),tenant_id:t,name:n.name,display_name:n.display_name,branding:JSON.stringify(n.branding||{}),metadata:JSON.stringify(n.metadata||{}),enabled_connections:JSON.stringify(n.enabled_connections||[]),token_quota:JSON.stringify(n.token_quota||{}),created_at:r,updated_at:r};try{await e.insert(T).values(i)}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`AlreadyExists`)?new s.HTTPException(409,{message:`Organization already exists`}):e}return Lt({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r))).get();return i||=await e.select().from(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.name,r))).get(),i?Lt(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.display_name!==void 0&&(a.display_name=i.display_name),i.branding!==void 0&&(a.branding=JSON.stringify(i.branding)),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),i.enabled_connections!==void 0&&(a.enabled_connections=JSON.stringify(i.enabled_connections)),i.token_quota!==void 0&&(a.token_quota=JSON.stringify(i.token_quota)),(await e.update(T).set(a).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:s=!1,sort:c,q:l}=r||{},u=[(0,n.eq)(T.tenant_id,t)];if(l){let e=(0,o.sanitizeLuceneQuery)(l,Ft);if(e){let t=Z(T,e,Ft);t&&u.push(t)}}let d=(0,n.and)(...u);if(xe(r)){let t={sortColumn:T.created_at,idColumn:T.id,sortOrder:`desc`},i=we(r,t),a=Se(r),{rows:o,next:s}=Te(await e.select().from(T).where(i?(0,n.and)(d,i):d).orderBy(...Ce(t)).limit(a+1),a,`created_at`),c=o.map(Lt);return{organizations:c,start:0,limit:a,length:c.length,total:c.length,next:s}}let f=e.select().from(T).where(d).$dynamic();if(c?.sort_by){let e=T[c.sort_by];e&&(f=f.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let p=(await f.offset(i*a).limit(a)).map(Lt);if(!s)return{organizations:p};let[m]=await e.select({count:(0,n.count)()}).from(T).where(d);return{organizations:p,start:i*a,limit:a,length:Number(m?.count??0)}},async remove(t,r){return(await e.delete(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r))).returning()).length>0}}}function zt(e){let{tenant_id:t,is_current:n,...r}=e;return{...r,is_current:!!n}}function Bt(e){return{async create(t,i){let a=new Date().toISOString(),o=i.id||(0,r.nanoid)();i.is_current!==!1&&await e.update(p).set({is_current:0}).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,i.user_id)));let s={id:o,tenant_id:t,user_id:i.user_id,password:i.password,algorithm:i.algorithm||`bcrypt`,is_current:i.is_current===!1?0:1,created_at:a,updated_at:a};return await e.insert(p).values(s),zt({...s,tenant_id:t})},async get(t,r){let i=await e.select().from(p).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,r),(0,n.eq)(p.is_current,1))).get();return i?zt(i):null},async list(t,r,i){let a=e.select().from(p).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,r))).orderBy((0,n.desc)(p.created_at)).$dynamic();return i&&(a=a.limit(i)),(await a).map(zt)},async update(t,r){let i={updated_at:new Date().toISOString()};return r.password!==void 0&&(i.password=r.password),r.algorithm!==void 0&&(i.algorithm=r.algorithm),r.is_current!==void 0&&(i.is_current=+!!r.is_current),r.id?await e.update(p).set(i).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.id,r.id))):await e.update(p).set(i).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,r.user_id),(0,n.eq)(p.is_current,1))),!0}}}function Vt(e){return{async get(t){let r=await e.select().from(ae).where((0,n.eq)(ae.tenant_id,t)).get();return r?{universal_login_experience:r.universal_login_experience,identifier_first:!!r.identifier_first,password_first:!!r.password_first,webauthn_platform_first_factor:!!r.webauthn_platform_first_factor,show_last_used_connection:!!r.show_last_used_connection}:{universal_login_experience:`new`,identifier_first:!0,password_first:!1,webauthn_platform_first_factor:!1,show_last_used_connection:!1}},async set(t,n){await e.insert(ae).values({tenant_id:t,universal_login_experience:n.universal_login_experience,identifier_first:n.identifier_first,password_first:n.password_first,webauthn_platform_first_factor:n.webauthn_platform_first_factor,show_last_used_connection:n.show_last_used_connection}).onConflictDoUpdate({target:ae.tenant_id,set:{universal_login_experience:n.universal_login_experience,identifier_first:n.identifier_first,password_first:n.password_first,webauthn_platform_first_factor:n.webauthn_platform_first_factor,show_last_used_connection:n.show_last_used_connection}})}}}function Ht(e){if(!e)return{path:`/*`};try{let t=JSON.parse(e),n=o.matchSchema.safeParse(t);if(n.success)return n.data}catch{}return{path:`/*`}}function Ut(e){if(!e)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=o.handlerConfigSchema.safeParse(e);t.success&&n.push(t.data)}return n}catch{return[]}}function Wt(e){return{id:e.id,tenant_id:e.tenant_id,custom_domain_id:e.custom_domain_id,priority:e.priority,match:Ht(e.match),handlers:Ut(e.handlers),created_at:e.created_at,updated_at:e.updated_at}}function Gt(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,custom_domain_id:n.custom_domain_id,priority:n.priority,match:n.match,handlers:n.handlers,created_at:i,updated_at:i};return await e.insert(K).values({id:a.id,tenant_id:a.tenant_id,custom_domain_id:a.custom_domain_id,priority:a.priority,match:JSON.stringify(a.match),handlers:JSON.stringify(a.handlers),created_at:a.created_at,updated_at:a.updated_at}),a},async get(t,r){let i=await e.select().from(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))).limit(1);return i[0]?Wt(i[0]):null},async list(t,r={}){let i=r.page??0,a=r.per_page??50,o=[(0,n.eq)(K.tenant_id,t)];r.custom_domain_id&&o.push((0,n.eq)(K.custom_domain_id,r.custom_domain_id));let s=await e.select().from(K).where((0,n.and)(...o)).orderBy((0,n.asc)(K.priority),(0,n.asc)(K.created_at)).offset(i*a).limit(a);return{proxy_routes:s.map(Wt),start:i*a,limit:a,length:s.length}},async update(t,r,i){let a={updated_at:new Date().toISOString()};i.priority!==void 0&&(a.priority=i.priority),i.match!==void 0&&(a.match=JSON.stringify(i.match)),i.handlers!==void 0&&(a.handlers=JSON.stringify(i.handlers));let o=(await e.update(K).set(a).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))))?.changes;return typeof o==`number`?o>0:(await e.select({id:K.id}).from(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))).limit(1)).length>0},async remove(t,r){return(await e.select({id:K.id}).from(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))).limit(1)).length===0?!1:(await e.delete(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))),!0)}}}function Kt(e){if(!e)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=o.scimMappingEntrySchema.safeParse(e);t.success&&n.push(t.data)}return n}catch{return[]}}function qt(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Jt(e){return{connection_id:e.connection_id,user_id_attribute:e.user_id_attribute,mapping:Kt(e.mapping),created_at:e.created_at,updated_at:e.updated_at}}function Yt(e){return{async create(t,n){let r=new Date().toISOString(),i={connection_id:n.connection_id,user_id_attribute:n.user_id_attribute,mapping:n.mapping,created_at:r,updated_at:r};return await e.insert(q).values({connection_id:i.connection_id,tenant_id:t,user_id_attribute:i.user_id_attribute,mapping:JSON.stringify(i.mapping),created_at:r,updated_at:r}),i},async get(t,r){let i=await e.select().from(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))).limit(1);return i[0]?Jt(i[0]):null},async update(t,r,i){if((await e.select({connection_id:q.connection_id}).from(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))).limit(1)).length===0)return!1;let a={updated_at:new Date().toISOString()};return i.user_id_attribute!==void 0&&(a.user_id_attribute=i.user_id_attribute),i.mapping!==void 0&&(a.mapping=JSON.stringify(i.mapping)),await e.update(q).set(a).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))),!0},async remove(t,r){return(await e.select({connection_id:q.connection_id}).from(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))).limit(1)).length===0?!1:(await e.delete(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))),!0)}}}function Xt(e){return{token_id:e.token_id,connection_id:e.connection_id,token_hash:e.token_hash,scopes:qt(e.scopes),valid_until:e.valid_until??void 0,created_at:e.created_at,last_used_at:e.last_used_at??void 0}}function Zt(e){return{async create(t,n){let r=new Date().toISOString(),i={token_id:n.token_id,connection_id:n.connection_id,token_hash:n.token_hash,scopes:n.scopes,valid_until:n.valid_until,created_at:r};return await e.insert(J).values({token_id:i.token_id,tenant_id:t,connection_id:i.connection_id,token_hash:i.token_hash,scopes:JSON.stringify(i.scopes),valid_until:i.valid_until,created_at:r}),i},async get(t,r){let i=await e.select().from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))).limit(1);return i[0]?Xt(i[0]):null},async getByHash(t,r){let i=await e.select().from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_hash,r))).limit(1);return i[0]?Xt(i[0]):null},async listByConnection(t,r){return(await e.select().from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.connection_id,r)))).map(Xt)},async markUsed(t,r,i){return(await e.select({token_id:J.token_id}).from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))).limit(1)).length===0?!1:(await e.update(J).set({last_used_at:i}).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))),!0)},async remove(t,r){return(await e.select({token_id:J.token_id}).from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))).limit(1)).length===0?!1:(await e.delete(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))),!0)}}}function Qt(e){return{connection_id:e.connection_id,external_id:e.external_id,user_id:e.user_id,created_at:e.created_at}}function $t(e){return{async create(t,n){let r=new Date().toISOString(),i={connection_id:n.connection_id,external_id:n.external_id,user_id:n.user_id,created_at:r};return await e.insert(Y).values({tenant_id:t,connection_id:i.connection_id,external_id:i.external_id,user_id:i.user_id,created_at:r}),i},async getByExternalId(t,r,i){let a=await e.select().from(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.external_id,i))).limit(1);return a[0]?Qt(a[0]):null},async getByUserId(t,r,i){let a=await e.select().from(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.user_id,i))).limit(1);return a[0]?Qt(a[0]):null},async remove(t,r,i){return(await e.select({user_id:Y.user_id}).from(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.user_id,i))).limit(1)).length===0?!1:(await e.delete(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.user_id,i))),!0)}}}function en(e){let{tenant_id:t,created_at_ts:n,expires_at_ts:r,idle_expires_at_ts:i,last_exchanged_at_ts:o,revoked_at_ts:s,rotated_at_ts:c,device:l,resource_servers:u,rotating:d,...f}=e,p=(0,a.convertDatesToAdapter)({created_at_ts:n,expires_at_ts:r,idle_expires_at_ts:i,last_exchanged_at_ts:o,revoked_at_ts:s,rotated_at_ts:c},[`created_at_ts`],[`expires_at_ts`,`idle_expires_at_ts`,`last_exchanged_at_ts`,`revoked_at_ts`,`rotated_at_ts`]);return(0,a.removeNullProperties)({...f,...p,rotating:!!d,device:X(l,{}),resource_servers:X(u,[])})}function tn(e,t){return Math.max(e??0,t??0)}function nn(e){return{async create(t,i){let o=Date.now(),s={id:i.id||(0,r.nanoid)(),tenant_id:t,client_id:i.client_id,login_id:i.login_id,user_id:i.user_id,device:JSON.stringify(i.device||{}),resource_servers:JSON.stringify(i.resource_servers||[]),rotating:i.rotating??!1,token_lookup:i.token_lookup??null,token_hash:i.token_hash??null,family_id:i.family_id??null,rotated_to:i.rotated_to??null,rotated_at_ts:(0,a.isoToDbDate)(i.rotated_at),created_at_ts:o,expires_at_ts:(0,a.isoToDbDate)(i.expires_at),idle_expires_at_ts:(0,a.isoToDbDate)(i.idle_expires_at),last_exchanged_at_ts:(0,a.isoToDbDate)(i.last_exchanged_at)},c=[e.insert(g).values(s)],l=tn(s.expires_at_ts,s.idle_expires_at_ts);return l>0&&s.login_id&&c.push(e.update(_).set({expires_at_ts:l,updated_at_ts:o}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,s.login_id),(0,n.lt)(_.expires_at_ts,l)))),await ge(e,c),en({...s,tenant_id:t})},async get(t,r){let i=await e.select().from(g).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.id,r))).get();return i?en(i):null},async getByLookup(t,r){let i=await e.select().from(g).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.token_lookup,r))).get();return i?en(i):null},async update(t,r,i,o){let s={};i.device!==void 0&&(s.device=JSON.stringify(i.device)),i.resource_servers!==void 0&&(s.resource_servers=JSON.stringify(i.resource_servers)),i.rotating!==void 0&&(s.rotating=i.rotating),i.token_lookup!==void 0&&(s.token_lookup=i.token_lookup),i.token_hash!==void 0&&(s.token_hash=i.token_hash),i.family_id!==void 0&&(s.family_id=i.family_id),i.rotated_to!==void 0&&(s.rotated_to=i.rotated_to),i.rotated_at!==void 0&&(s.rotated_at_ts=(0,a.isoToDbDate)(i.rotated_at)),i.expires_at!==void 0&&(s.expires_at_ts=(0,a.isoToDbDate)(i.expires_at)),i.idle_expires_at!==void 0&&(s.idle_expires_at_ts=(0,a.isoToDbDate)(i.idle_expires_at)),i.last_exchanged_at!==void 0&&(s.last_exchanged_at_ts=(0,a.isoToDbDate)(i.last_exchanged_at)),i.revoked_at!==void 0&&(s.revoked_at_ts=(0,a.isoToDbDate)(i.revoked_at));let c=o?.loginSessionBump,l=c?(0,a.isoToDbDate)(c.expires_at):null,u=await e.update(g).set(s).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.id,r))).returning();return c?.login_id&&l&&l>0&&await e.update(_).set({expires_at_ts:l,updated_at_ts:Date.now()}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,c.login_id),(0,n.lt)(_.expires_at_ts,l))).catch(()=>{}),u.length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=e.select().from(g).where((0,n.eq)(g.tenant_id,t)).$dynamic();if(c){let e=Z(g,c,[`user_id`,`login_id`]);e&&(l=l.where((0,n.and)((0,n.eq)(g.tenant_id,t),e)))}if(s?.sort_by){let e=g[s.sort_by];e&&(l=l.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let u=(await l.offset(i*a).limit(a)).map(en);if(!o)return{refresh_tokens:u};let[d]=await e.select({count:(0,n.count)()}).from(g).where((0,n.eq)(g.tenant_id,t));return{refresh_tokens:u,start:i*a,limit:a,length:Number(d?.count??0)}},async remove(t,r){return(await e.delete(g).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.id,r))).returning()).length>0},async revokeByLoginSession(t,r,i){return(await e.update(g).set({revoked_at_ts:(0,a.isoToDbDate)(i)}).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.login_id,r),(0,n.isNull)(g.revoked_at_ts))).returning()).length},async revokeFamily(t,r,i){return(await e.update(g).set({revoked_at_ts:(0,a.isoToDbDate)(i)}).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.family_id,r),(0,n.isNull)(g.revoked_at_ts))).returning()).length}}}var rn=[`name`,`identifier`];function an(){return`api_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}var on=[`skip_consent_for_verifiable_first_party_clients`,`allow_offline_access`,`is_system`],sn=new Set([`id`,`tenant_id`,`identifier`,`name`,`scopes`,`signing_alg`,`signing_secret`,`token_lifetime`,`token_lifetime_for_web`,`skip_consent_for_verifiable_first_party_clients`,`allow_offline_access`,`verification_key`,`options`,`is_system`,`metadata`,`created_at`,`updated_at`]);function cn(e){let{tenant_id:t,verification_key:n,scopes:r,options:i,metadata:o,...s}=e,c={...s};c.scopes=X(r,[]),c.options=X(i,{}),c.metadata=X(o),n!==void 0&&(c.verificationKey=n);for(let e of on)s[e]!==void 0&&s[e]!==null&&(c[e]=!!s[e]);return(0,a.removeNullProperties)(c)}function ln(e){return{async create(t,n){let r=new Date().toISOString(),i={id:n.id||an(),tenant_id:t,identifier:n.identifier,name:n.name,signing_alg:n.signing_alg,signing_secret:n.signing_secret,token_lifetime:n.token_lifetime,token_lifetime_for_web:n.token_lifetime_for_web,scopes:JSON.stringify(n.scopes||[]),options:JSON.stringify(n.options||{}),metadata:n.metadata?JSON.stringify(n.metadata):void 0,verification_key:n.verificationKey||n.verification_key,created_at:r,updated_at:r};for(let e of on)n[e]!==void 0&&(i[e]=+!!n[e]);return i.is_system===void 0&&(i.is_system=0),await e.insert(M).values(i),cn({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.id,r))).get();return i?cn(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};i.name!==void 0&&(a.name=i.name),i.identifier!==void 0&&(a.identifier=i.identifier),i.signing_alg!==void 0&&(a.signing_alg=i.signing_alg),i.signing_secret!==void 0&&(a.signing_secret=i.signing_secret),i.token_lifetime!==void 0&&(a.token_lifetime=i.token_lifetime),i.token_lifetime_for_web!==void 0&&(a.token_lifetime_for_web=i.token_lifetime_for_web),i.scopes!==void 0&&(a.scopes=JSON.stringify(i.scopes)),i.options!==void 0&&(a.options=n.sql`json_patch(COALESCE(${M.options}, '{}'), ${JSON.stringify(i.options)})`),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),i.verificationKey!==void 0&&(a.verification_key=i.verificationKey);for(let e of on)i[e]!==void 0&&(a[e]=+!!i[e]);return(await e.update(M).set(a).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:s=!1,sort:c,q:l}=r||{},u=Math.max(0,Math.floor(Number(i)||0)),d=Math.min(Math.max(1,Math.floor(Number(a)||50)),500),f=[(0,n.eq)(M.tenant_id,t)];if(l){let e=(0,o.sanitizeLuceneQuery)(l,rn);if(e){let t=Z(M,e,rn,[`name`,`identifier`]);t&&f.push(t)}}let p=e.select().from(M).where((0,n.and)(...f)).$dynamic();if(c?.sort_by&&sn.has(c.sort_by)){let e=M[c.sort_by];p=p.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e))}let m=(await p.offset(u*d).limit(d)).map(cn);if(!s)return{resource_servers:m};let[h]=await e.select({count:(0,n.count)()}).from(M).where((0,n.and)(...f));return{resource_servers:m,start:u*d,limit:d,length:Number(h?.count??0)}},async remove(t,r){return(await e.delete(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.id,r))).returning()).length>0}}}function un(e){return{async assign(t,n,r){let i=new Date().toISOString();return await e.insert(k).values(r.map(e=>({tenant_id:t,role_id:n,resource_server_identifier:e.resource_server_identifier,permission_name:e.permission_name,created_at:i}))).onConflictDoNothing(),!0},async list(t,r,i){let a=await e.select({resource_server_identifier:k.resource_server_identifier,permission_name:k.permission_name,created_at:k.created_at}).from(k).where((0,n.and)((0,n.eq)(k.tenant_id,t),(0,n.eq)(k.role_id,r))).all(),o=[...new Set(a.map(e=>e.resource_server_identifier))],s=new Map;if(o.length>0){let r=await e.select({identifier:M.identifier,name:M.name}).from(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.inArray)(M.identifier,o))).all();for(let e of r)s.set(e.identifier,e.name)}return a.map(e=>({...e,resource_server_name:s.get(e.resource_server_identifier)||e.resource_server_identifier}))},async remove(t,r,i){let a=i.map(e=>(0,n.and)((0,n.eq)(k.resource_server_identifier,e.resource_server_identifier),(0,n.eq)(k.permission_name,e.permission_name)));return(await e.delete(k).where((0,n.and)((0,n.eq)(k.tenant_id,t),(0,n.eq)(k.role_id,r),(0,n.or)(...a))).returning()).length>0}}}function dn(e){return{async create(t,n,r,i){try{await e.insert(A).values({tenant_id:t,user_id:n,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,organization_id:i||``,created_at:new Date().toISOString()})}catch(e){if(e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`SQLITE_CONSTRAINT_PRIMARYKEY`))return!0;throw e}return!0},async list(t,r,i,a){let o=[(0,n.eq)(A.tenant_id,t),(0,n.eq)(A.user_id,r)];a&&o.push((0,n.eq)(A.organization_id,a));let s=await e.select().from(A).where((0,n.and)(...o)).all();return await Promise.all(s.map(async r=>{let i=await e.select({name:M.name}).from(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.identifier,r.resource_server_identifier))).get();return{resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,resource_server_name:i?.name||r.resource_server_identifier,organization_id:r.organization_id===``?void 0:r.organization_id}}))},async remove(t,r,i,a){return(await e.delete(A).where((0,n.and)((0,n.eq)(A.tenant_id,t),(0,n.eq)(A.user_id,r),(0,n.eq)(A.resource_server_identifier,i.resource_server_identifier),(0,n.eq)(A.permission_name,i.permission_name),(0,n.eq)(A.organization_id,a||``))).returning()).length>0}}}function fn(e){let{tenant_id:t,is_system:n,metadata:r,...i}=e;return(0,a.removeNullProperties)({...i,is_system:n?!0:void 0,metadata:X(r)})}function pn(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,name:n.name,description:n.description,is_system:+!!n.is_system,metadata:n.metadata?JSON.stringify(n.metadata):void 0,created_at:i,updated_at:i};return await e.insert(O).values(a),fn({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(O).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r))).get();return i?fn(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.description!==void 0&&(a.description=i.description),i.is_system!==void 0&&(a.is_system=+!!i.is_system),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),(await e.update(O).set(a).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(O,c,[`name`]):void 0,u=l?(0,n.and)((0,n.eq)(O.tenant_id,t),l):(0,n.eq)(O.tenant_id,t),d=e.select().from(O).where(u).$dynamic();if(s?.sort_by){let e=O[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let f=(await d.offset(i*a).limit(a)).map(fn);if(!o)return{roles:f};let[p]=await e.select({count:(0,n.count)()}).from(O).where(u);return{roles:f,start:i*a,limit:a,length:Number(p?.count??0)}},async remove(t,r){return(await e.delete(O).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r))).returning()).length>0}}}var mn=[`created_at_ts`,`updated_at_ts`],hn=[`expires_at_ts`,`idle_expires_at_ts`,`authenticated_at_ts`,`last_interaction_at_ts`,`used_at_ts`,`revoked_at_ts`];function gn(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,expires_at_ts:i,idle_expires_at_ts:o,authenticated_at_ts:s,last_interaction_at_ts:c,used_at_ts:l,revoked_at_ts:u,device:d,clients:f,...p}=e,m=(0,a.convertDatesToAdapter)({created_at_ts:n,updated_at_ts:r,expires_at_ts:i,idle_expires_at_ts:o,authenticated_at_ts:s,last_interaction_at_ts:c,used_at_ts:l,revoked_at_ts:u},[...mn],[...hn]);return(0,a.removeNullProperties)({...p,...m,device:X(d,{}),clients:X(f,[])})}function _n(e,t){return Math.max(e??0,t??0)}function vn(e){return{async create(t,i){let o=Date.now(),s={id:i.id||(0,r.nanoid)(),tenant_id:t,user_id:i.user_id,login_session_id:i.login_session_id,device:JSON.stringify(i.device||{}),clients:JSON.stringify(i.clients||[]),created_at_ts:o,updated_at_ts:o,expires_at_ts:(0,a.isoToDbDate)(i.expires_at),idle_expires_at_ts:(0,a.isoToDbDate)(i.idle_expires_at),authenticated_at_ts:i.authenticated_at?(0,a.isoToDbDate)(i.authenticated_at):o,last_interaction_at_ts:i.last_interaction_at?(0,a.isoToDbDate)(i.last_interaction_at):o,used_at_ts:(0,a.isoToDbDate)(i.used_at),revoked_at_ts:(0,a.isoToDbDate)(i.revoked_at)},c=[e.insert(h).values(s)],l=_n(s.expires_at_ts,s.idle_expires_at_ts);return l>0&&s.login_session_id&&c.push(e.update(_).set({expires_at_ts:l,updated_at_ts:o}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,s.login_session_id),(0,n.lt)(_.expires_at_ts,l)))),await ge(e,c),gn({...s,tenant_id:t})},async get(t,r){let i=await e.select().from(h).where((0,n.and)((0,n.eq)(h.tenant_id,t),(0,n.eq)(h.id,r))).get();return i?gn(i):null},async update(t,r,i){let o={updated_at_ts:Date.now()};i.user_id!==void 0&&(o.user_id=i.user_id),i.login_session_id!==void 0&&(o.login_session_id=i.login_session_id),i.device!==void 0&&(o.device=JSON.stringify(i.device)),i.clients!==void 0&&(o.clients=JSON.stringify(i.clients)),i.expires_at!==void 0&&(o.expires_at_ts=(0,a.isoToDbDate)(i.expires_at)),i.idle_expires_at!==void 0&&(o.idle_expires_at_ts=(0,a.isoToDbDate)(i.idle_expires_at)),i.authenticated_at!==void 0&&(o.authenticated_at_ts=(0,a.isoToDbDate)(i.authenticated_at)),i.last_interaction_at!==void 0&&(o.last_interaction_at_ts=(0,a.isoToDbDate)(i.last_interaction_at)),i.used_at!==void 0&&(o.used_at_ts=(0,a.isoToDbDate)(i.used_at)),i.revoked_at!==void 0&&(o.revoked_at_ts=(0,a.isoToDbDate)(i.revoked_at));let s=await e.update(h).set(o).where((0,n.and)((0,n.eq)(h.tenant_id,t),(0,n.eq)(h.id,r))).returning(),c=_n(o.expires_at_ts,o.idle_expires_at_ts),l=s[0];if(c>0&&l){let r=i.login_session_id??l.login_session_id;r&&await e.update(_).set({expires_at_ts:c,updated_at_ts:Date.now()}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r),(0,n.lt)(_.expires_at_ts,c))).catch(()=>{})}return s.length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(h,c,[`user_id`,`id`]):void 0,u=l?(0,n.and)((0,n.eq)(h.tenant_id,t),l):(0,n.eq)(h.tenant_id,t),d=e.select().from(h).where(u).$dynamic();if(s?.sort_by){let e=h[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let f=(await d.offset(i*a).limit(a)).map(gn);if(!o)return{sessions:f};let[p]=await e.select({count:(0,n.count)()}).from(h).where(u);return{sessions:f,start:i*a,limit:a,length:Number(p?.count??0)}},async remove(t,r){return(await e.delete(h).where((0,n.and)((0,n.eq)(h.tenant_id,t),(0,n.eq)(h.id,r))).returning()).length>0}}}var yn=[`session_cookie`,`enabled_locales`,`error_page`,`flags`,`sandbox_versions_available`,`change_password`,`guardian_mfa_page`,`sessions`,`oidc_logout`,`device_flow`,`default_token_quota`,`allowed_logout_urls`,`acr_values_supported`,`mtls`,`mfa`],bn=[`allow_organization_name_in_authentication_api`,`customize_mfa_in_postlogin_action`,`pushed_authorization_requests_supported`,`authorization_response_iss_parameter_supported`];function xn(e){let t={...e};for(let e of yn)typeof t[e]==`string`&&(t[e]=X(t[e]));for(let e of bn)t[e]!==void 0&&t[e]!==null&&(t[e]=t[e]===1);return(0,a.removeNullProperties)(t)}function Sn(e){let t={...e};(0,a.stringifyProperties)(e,yn,t);for(let n of bn)e[n]!==void 0&&(t[n]=+!!e[n]);return(0,a.removeUndefinedAndNull)(t)}function Cn(e){return{async create(t){let n={id:t.id||(0,r.nanoid)(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...t},i=Sn(n);try{await e.insert(c).values(i)}catch(e){let t=e?.message??``;throw t.includes(`UNIQUE constraint failed`)||t.includes(`Duplicate entry`)||t.includes(`duplicate key`)||t.includes(`AlreadyExists`)||e?.code===`SQLITE_CONSTRAINT`||e?.code===`SQLITE_CONSTRAINT_UNIQUE`||e?.code===`SQLITE_CONSTRAINT_PRIMARYKEY`||e?.code===`ER_DUP_ENTRY`||e?.code===`23505`?new s.HTTPException(409,{message:`Tenant with ID '${n.id}' already exists`}):e}return n},async get(t){let r=await e.select().from(c).where((0,n.eq)(c.id,t)).get();return r?xn(r):null},async list(t){let{page:r=0,per_page:i=50,include_totals:a=!1,sort:o,q:s}=t||{},l=s?Z(c,s,[`friendly_name`]):void 0,u=e.select().from(c).$dynamic();if(l&&(u=u.where(l)),o?.sort_by){let e=c[o.sort_by];e&&(u=u.orderBy(o.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let d=(await u.offset(r*i).limit(i)).map(xn);if(!a)return{tenants:d};let f=e.select({count:(0,n.count)()}).from(c).$dynamic();l&&(f=f.where(l));let[p]=await f;return{tenants:d,start:r*i,limit:i,length:Number(p?.count??0)}},async update(t,r){let i=Sn({...r,id:t,updated_at:new Date().toISOString()});await e.update(c).set(i).where((0,n.eq)(c.id,t))},async remove(t){return(await e.delete(c).where((0,n.eq)(c.id,t)).returning()).length>0}}}var wn=[`colors`,`borders`,`fonts`,`page_background`,`widget`];function Tn(e){let{tenant_id:t,...n}=e,r=ce(n,wn);return r.borders&&(r.borders.show_widget_shadow=!!r.borders.show_widget_shadow),r.fonts&&(r.fonts.body_text_bold=!!r.fonts.body_text_bold,r.fonts.buttons_text_bold=!!r.fonts.buttons_text_bold,r.fonts.input_labels_bold=!!r.fonts.input_labels_bold,r.fonts.links_bold=!!r.fonts.links_bold,r.fonts.subtitle_bold=!!r.fonts.subtitle_bold,r.fonts.title_bold=!!r.fonts.title_bold),(0,a.removeNullProperties)(r)}function En(e){return{async create(t,n,i,a){let o=a?.importMetadata,s=new Date().toISOString(),c=o?.id||i||(0,r.nanoid)(),l={...se(n),tenant_id:t,themeId:c,created_at:o?.created_at??s,updated_at:o?.updated_at??s};return await e.insert(P).values(l),Tn({...l,tenant_id:t})},async get(t,r){let i=await e.select().from(P).where((0,n.and)((0,n.eq)(P.tenant_id,t),(0,n.eq)(P.themeId,r))).get();return i?Tn(i):null},async update(t,r,i){let a=se(i);return a.updated_at=new Date().toISOString(),await e.update(P).set(a).where((0,n.and)((0,n.eq)(P.tenant_id,t),(0,n.eq)(P.themeId,r))),!0},async remove(t,r){return(await e.delete(P).where((0,n.and)((0,n.eq)(P.tenant_id,t),(0,n.eq)(P.themeId,r))).returning()).length>0}}}function Dn(e){return{async get(t){let r=await e.select({body:N.body}).from(N).where((0,n.eq)(N.tenant_id,t)).get();return r?{body:r.body}:null},async set(t,n){let r=Date.now();await e.insert(N).values({tenant_id:t,body:n.body,created_at_ts:r,updated_at_ts:r}).onConflictDoUpdate({target:N.tenant_id,set:{body:n.body,updated_at_ts:r}})},async delete(t){await e.delete(N).where((0,n.eq)(N.tenant_id,t))}}}function On(e){let t={};return e.last_login!==void 0&&(t.last_login=e.last_login),e.last_ip!==void 0&&(t.last_ip=e.last_ip),e.login_count!==void 0&&(t.login_count=e.login_count),e.failed_logins!==void 0&&(t.failed_logins=JSON.stringify(e.failed_logins)),e.last_password_reset!==void 0&&(t.last_password_reset=e.last_password_reset),t}function kn(e){return{async get(t,r){let i=await e.select().from(m).where((0,n.and)((0,n.eq)(m.tenant_id,t),(0,n.eq)(m.user_id,r))).get();return i?{user_id:i.user_id,last_login:i.last_login??void 0,last_ip:i.last_ip??void 0,login_count:i.login_count,failed_logins:i.failed_logins?JSON.parse(i.failed_logins):void 0,last_password_reset:i.last_password_reset??void 0}:null},async upsert(t,n,r){let i=On(r),a=e.insert(m).values({tenant_id:t,user_id:n,login_count:0,...i});if(Object.keys(i).length===0){await a.onConflictDoNothing();return}await a.onConflictDoUpdate({target:[m.tenant_id,m.user_id],set:i})}}}function An(e){return{...e,payload:X(e.payload,{})}}function jn(e,t,n,r){return e.insert(G).values({id:t,tenant_id:n,event_type:r.event_type,log_type:r.log_type,aggregate_type:r.aggregate_type??r.target?.type,aggregate_id:r.aggregate_id??r.target?.id,payload:JSON.stringify({...r,id:t}),created_at:new Date().toISOString(),processed_at:null,retry_count:0,next_retry_at:null,error:null,claimed_by:null,claim_expires_at:null})}function Mn(e){return{async create(t,n){let i=(0,r.nanoid)();return await jn(e,i,t,n),i},async getByIds(t){return t.length===0?[]:(await e.select().from(G).where((0,n.inArray)(G.id,t)).all()).map(An)},async getUnprocessed(t){let r=new Date().toISOString();return(await e.select().from(G).where((0,n.and)((0,n.isNull)(G.processed_at),(0,n.or)((0,n.isNull)(G.next_retry_at),(0,n.lte)(G.next_retry_at,r)),(0,n.or)((0,n.isNull)(G.claimed_by),(0,n.lte)(G.claim_expires_at,r)))).orderBy(G.created_at,G.id).limit(t).all()).map(An)},async claimEvents(t,r,i){if(t.length===0)return[];let a=new Date().toISOString(),o=new Date(Date.now()+i).toISOString();return await e.update(G).set({claimed_by:r,claim_expires_at:o}).where((0,n.and)((0,n.inArray)(G.id,t),(0,n.isNull)(G.processed_at),(0,n.or)((0,n.isNull)(G.claimed_by),(0,n.lte)(G.claim_expires_at,a)))),(await e.select({id:G.id}).from(G).where((0,n.and)((0,n.inArray)(G.id,t),(0,n.eq)(G.claimed_by,r))).all()).map(e=>e.id)},async markProcessed(t){t.length!==0&&await e.update(G).set({processed_at:new Date().toISOString()}).where((0,n.inArray)(G.id,t))},async markRetry(t,r,i){await e.update(G).set({error:r,next_retry_at:i,retry_count:n.sql`${G.retry_count} + 1`,claimed_by:null,claim_expires_at:null}).where((0,n.eq)(G.id,t))},async cleanup(t){return(await e.delete(G).where((0,n.and)(n.sql`${G.processed_at} IS NOT NULL`,(0,n.lte)(G.processed_at,t))).returning()).length},async deadLetter(t,r){let i=new Date().toISOString();await e.update(G).set({processed_at:i,dead_lettered_at:i,final_error:r}).where((0,n.eq)(G.id,t))},async listFailed(t,r={}){let{page:i=0,per_page:a=50,include_totals:o=!1}=r,s=(await e.select().from(G).where((0,n.and)((0,n.eq)(G.tenant_id,t),(0,n.isNotNull)(G.dead_lettered_at))).orderBy((0,n.desc)(G.dead_lettered_at),(0,n.asc)(G.id)).offset(i*a).limit(a).all()).map(e=>({...X(e.payload,{}),id:e.id,created_at:e.created_at,processed_at:e.processed_at,retry_count:e.retry_count,next_retry_at:e.next_retry_at,error:e.error,dead_lettered_at:e.dead_lettered_at,final_error:e.final_error})),c=s.length;if(o){let[r]=await e.select({total:(0,n.count)()}).from(G).where((0,n.and)((0,n.eq)(G.tenant_id,t),(0,n.isNotNull)(G.dead_lettered_at)));c=Number(r?.total??s.length)}return{events:s,start:i*a,limit:a,length:c}},async replay(t,r){return(await e.update(G).set({processed_at:null,dead_lettered_at:null,final_error:null,retry_count:0,next_retry_at:null,error:null}).where((0,n.and)((0,n.eq)(G.id,t),(0,n.eq)(G.tenant_id,r),(0,n.isNotNull)(G.dead_lettered_at))).returning()).length>0}}}function Nn(e,t,n){return(n?.outboxEvents??[]).map(n=>jn(e,n.id,t,n))}var Pn=[`user_id`,`email`,`email_verified`,`username`,`phone_number`,`phone_verified`,`name`,`given_name`,`family_name`,`nickname`,`picture`,`locale`,`linked_to`,`provider`,`connection`,`is_social`,`last_ip`,`last_login`,`login_count`,`created_at`,`updated_at`],Fn=[`email`,`name`,`phone_number`,`user_id`],In=new Set([`last_login`,`last_ip`,`login_count`]),Ln=(0,n.getTableColumns)(f),Rn=(0,n.getTableColumns)(m),zn=Object.fromEntries(Pn.map(e=>[e,e===`login_count`?{coalesce:m.login_count,defaultValue:0}:In.has(e)?Rn[e]:Ln[e]]));function Bn(){return(0,n.and)((0,n.eq)(m.tenant_id,f.tenant_id),(0,n.eq)(m.user_id,f.user_id))}function Vn(e,t){return{...e,last_login:t?.last_login,last_ip:t?.last_ip,login_count:t?.login_count??0}}function Hn(e,t){let n={connection:e.connection,provider:e.provider,user_id:e.user_id,isSocial:!!e.is_social};return t?n.isPrimary=!0:n.profileData={email:e.email,email_verified:!!e.email_verified,...typeof e.profileData==`string`?X(e.profileData,{}):{}},n}function Un(e,t=[]){let{tenant_id:n,app_metadata:r,user_metadata:i,address:o,email_verified:s,phone_verified:c,is_social:l,blocked:u,linked_to:d,profileData:f,...p}=e,m=Hn(e,!0),h=t.map(e=>Hn(e,!1));return(0,a.removeNullProperties)({...p,email:e.email||``,email_verified:!!s,phone_verified:c==null?void 0:!!c,is_social:!!l,blocked:u==null?void 0:!!u,app_metadata:X(r,{}),user_metadata:X(i,{}),address:X(o),identities:[m,...h]})}function Wn(e){let t=async(t,n,i)=>{let a=new Date().toISOString(),o={user_id:n.user_id,tenant_id:t,email:n.email,given_name:n.given_name,family_name:n.family_name,nickname:n.nickname,name:n.name,picture:n.picture,tags:n.tags,phone_number:n.phone_number,phone_verified:n.phone_verified??!1,username:n.username,linked_to:n.linked_to,provider:n.provider,connection:n.connection,email_verified:n.email_verified??!1,is_social:n.is_social??!1,blocked:n.blocked??!1,app_metadata:JSON.stringify(n.app_metadata||{}),user_metadata:JSON.stringify(n.user_metadata||{}),address:n.address?JSON.stringify(n.address):void 0,profileData:n.profileData?JSON.stringify(n.profileData):void 0,locale:n.locale,middle_name:n.middle_name,preferred_username:n.preferred_username,profile:n.profile,website:n.website,gender:n.gender,birthdate:n.birthdate,zoneinfo:n.zoneinfo,created_at:n.created_at||a,updated_at:n.updated_at||a},c=n.password?(0,r.nanoid)():void 0,l=n.last_login!==void 0||n.last_ip!==void 0||n.login_count!==void 0;try{let r=[e.insert(f).values(o)];l&&r.push(e.insert(m).values({tenant_id:t,user_id:n.user_id,last_login:n.last_login,last_ip:n.last_ip,login_count:n.login_count??0})),n.password&&c&&r.push(e.insert(p).values({id:c,tenant_id:t,user_id:n.user_id,password:n.password.hash||n.password,algorithm:n.password.algorithm||`bcrypt`,is_current:1,created_at:a,updated_at:a}));for(let n of Nn(e,t,i))r.push(n);r.length>1?await ge(e,r):await e.insert(f).values(o)}catch(e){throw e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`AlreadyExists`)?new s.HTTPException(409,{message:`User already exists`}):(console.error(`User upsert failed:`,e?.code,e?.message),new s.HTTPException(500,{message:`Internal server error`}))}return Un({...o,last_login:n.last_login,last_ip:n.last_ip,login_count:n.login_count??0})};return{create:t,rawCreate:t,async get(t,r){let i=await e.select().from(f).leftJoin(m,Bn()).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,r))).get();if(!i)return null;let a=await e.select().from(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.linked_to,r))).all();return Un(Vn(i.users,i.user_activity),a)},async update(t,r,i,a){let o={updated_at:new Date().toISOString()};for(let e of[`email`,`given_name`,`family_name`,`nickname`,`name`,`picture`,`tags`,`phone_number`,`username`,`linked_to`,`provider`,`connection`,`locale`,`middle_name`,`preferred_username`,`profile`,`website`,`gender`,`birthdate`,`zoneinfo`])i[e]!==void 0&&(o[e]=i[e]);i.email_verified!==void 0&&(o.email_verified=i.email_verified),i.phone_verified!==void 0&&(o.phone_verified=i.phone_verified),i.is_social!==void 0&&(o.is_social=i.is_social),i.blocked!==void 0&&(o.blocked=i.blocked),i.app_metadata!==void 0&&(o.app_metadata=JSON.stringify(i.app_metadata)),i.user_metadata!==void 0&&(o.user_metadata=JSON.stringify(i.user_metadata)),i.address!==void 0&&(o.address=JSON.stringify(i.address)),i.profileData!==void 0&&(o.profileData=JSON.stringify(i.profileData));let s=e.update(f).set(o).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,r))).returning(),c=Nn(e,t,a),l;return l=c.length>0?(await ge(e,[s,...c]))[0]:await s,!Array.isArray(l)||l.length===0?!1:((i.last_login!==void 0||i.last_ip!==void 0||i.login_count!==void 0)&&await kn(e).upsert(t,r,{last_login:i.last_login,last_ip:i.last_ip,login_count:i.login_count}),!0)},async list(t,r){let{page:i=0,per_page:a=50,include_totals:c=!1,sort:l,q:u}=r||{},d=[(0,n.eq)(f.tenant_id,t),(0,n.isNull)(f.linked_to)];if(u){let e=(0,o.sanitizeLuceneQuery)(u,Pn);if(e){let t=Z(zn,e,Fn);t&&d.push(t)}}let p=(0,n.and)(...d),h=async r=>{let i=r.map(e=>e.user_id),a=i.length>0?await e.select().from(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.inArray)(f.linked_to,i))):[];return r.map(e=>Un(e,a.filter(t=>t.linked_to===e.user_id)))};if(xe(r)){if(l?.sort_by&&l.sort_by!==`created_at`)throw new s.HTTPException(400,{message:`Sorting by ${l.sort_by} is not supported with checkpoint pagination (from/take); only created_at is`});let t=l?.sort_order===`asc`?`asc`:`desc`,i={sortColumn:f.created_at,idColumn:f.user_id,sortOrder:t,sortKey:`created_at:${t}`},a=Se(r),o=we(r,i),{rows:c,next:u}=Te((await e.select().from(f).leftJoin(m,Bn()).where(o?(0,n.and)(p,o):p).orderBy(...Ce(i)).limit(a+1)).map(e=>Vn(e.users,e.user_activity)),a,`created_at`,`user_id`,i.sortKey),d=await h(c);return{users:d,start:0,limit:a,length:d.length,next:u}}let g=e.select().from(f).leftJoin(m,Bn()).where(p).$dynamic();if(l?.sort_by){let e=zn[l.sort_by];if(e){let t=le(e)?ue(e):e;g=g.orderBy(l.sort_order===`desc`?(0,n.desc)(t):(0,n.asc)(t))}}let _=await h((await g.offset(i*a).limit(a)).map(e=>Vn(e.users,e.user_activity)));if(!c)return{users:_};let[v]=await e.select({count:(0,n.count)()}).from(f).leftJoin(m,Bn()).where(p);return{users:_,start:i*a,limit:a,length:Number(v?.count??0)}},async remove(t,r,i){let a=await e.select({user_id:f.user_id}).from(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.or)((0,n.eq)(f.user_id,r),(0,n.eq)(f.linked_to,r)))),o=a.some(e=>e.user_id===r),s=a.map(e=>e.user_id).filter(e=>e!==r),c=[r,...s],l=[e.delete(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.inArray)(U.user_id,c))),e.delete(p).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.inArray)(p.user_id,c))),e.delete(m).where((0,n.and)((0,n.eq)(m.tenant_id,t),(0,n.inArray)(m.user_id,c))),e.delete(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.inArray)(f.user_id,s))),e.delete(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,r))).returning()],u=l.length-1;if(o)for(let n of Nn(e,t,i))l.push(n);let d=(await ge(e,l))[u];return Array.isArray(d)&&d.length>0},async unlink(t,r,i,a){let o=`${i}|${a}`;return(await e.update(f).set({linked_to:null}).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,o),(0,n.eq)(f.linked_to,r))).returning()).length>0}}}function Gn(e){return{async create(t,n,r,i){try{await e.insert(j).values({tenant_id:t,user_id:n,role_id:r,organization_id:i||``,created_at:new Date().toISOString()})}catch(e){if(e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`SQLITE_CONSTRAINT_PRIMARYKEY`))return!0;throw e}return!0},async list(t,r,i,o){let s=[(0,n.eq)(j.tenant_id,t),(0,n.eq)(j.user_id,r)];o!==void 0&&s.push((0,n.eq)(j.organization_id,o));let c=await e.select({role_id:j.role_id}).from(j).where((0,n.and)(...s)).all();return c.length===0?[]:(await Promise.all(c.map(async r=>{let i=await e.select().from(O).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r.role_id))).get();if(!i)return null;let{tenant_id:o,is_system:s,metadata:c,...l}=i;return(0,a.removeNullProperties)({...l,is_system:s?!0:void 0,metadata:X(c)})}))).filter(Boolean)},async listUsers(t,r,i){let a=(0,n.and)((0,n.eq)(j.tenant_id,t),(0,n.eq)(j.role_id,r));if(xe(i)){let t={sortColumn:j.user_id,idColumn:j.user_id,sortOrder:`asc`},r=we(i,t),o=Se(i),{rows:s,next:c}=Te(await e.selectDistinct({user_id:j.user_id}).from(j).where(r?(0,n.and)(a,r):a).orderBy(...Ce(t)).limit(o+1).all(),o,`user_id`,`user_id`);return{userIds:s.map(e=>e.user_id),start:0,limit:o,length:s.length,next:c}}let o=i?.page||0,s=i?.per_page||50,c=o*s,l=await e.selectDistinct({user_id:j.user_id}).from(j).where(a).orderBy((0,n.asc)(j.user_id)).limit(s).offset(c).all(),u=await e.select({count:n.sql`count(distinct ${j.user_id})`}).from(j).where(a).get();return{userIds:l.map(e=>e.user_id),start:c,limit:s,length:Number(u?.count??0)}},async remove(t,r,i,a){return(await e.delete(j).where((0,n.and)((0,n.eq)(j.tenant_id,t),(0,n.eq)(j.user_id,r),(0,n.eq)(j.role_id,i),(0,n.eq)(j.organization_id,a||``))).returning()).length>0}}}function Kn(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,user_id:n.user_id,organization_id:n.organization_id,created_at:i,updated_at:i};try{await e.insert(E).values(a)}catch(e){throw e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`User organization already exists`}):e}let{tenant_id:o,...c}=a;return c},async get(t,r){let i=await e.select().from(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.id,r))).get();if(!i)return null;let{tenant_id:a,...o}=i;return o},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.user_id!==void 0&&(a.user_id=i.user_id),i.organization_id!==void 0&&(a.organization_id=i.organization_id),(await e.update(E).set(a).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.id,r))).returning()).length>0},async list(t,r){let{include_totals:i=!1,q:a}=r||{},o=(0,n.eq)(E.tenant_id,t),s=o;if(a){let e=Z(E,a,[`user_id`,`organization_id`]);e&&(s=(0,n.and)(o,e))}let c=e=>{let{tenant_id:t,...n}=e;return n};if(xe(r)){let t={sortColumn:E.created_at,idColumn:E.id,sortOrder:`desc`},i=we(r,t),a=Se(r),{rows:o,next:l}=Te((await e.select().from(E).where(i?(0,n.and)(s,i):s).orderBy(...Ce(t)).limit(a+1)).map(c),a,`created_at`);return{userOrganizations:o,start:0,limit:a,length:o.length,next:l}}let l=r?.page??0,u=r?.per_page??50,d=l*u,f=(await e.select().from(E).where(s).orderBy((0,n.desc)(E.created_at),(0,n.desc)(E.id)).offset(d).limit(u)).map(c);if(!i)return{userOrganizations:f};let[p]=await e.select({count:(0,n.count)()}).from(E).where(s);return{userOrganizations:f,start:d,limit:u,length:Number(p?.count??0)}},async listUserOrganizations(t,r,i){let{page:o=0,per_page:s=50,include_totals:c=!1}=i||{},l=await e.select().from(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.user_id,r))).offset(o*s).limit(s).all(),u=(await Promise.all(l.map(async r=>{let i=await e.select().from(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r.organization_id))).get();if(!i)return null;let{tenant_id:o,branding:s,metadata:c,enabled_connections:l,token_quota:u,...d}=i;return(0,a.removeNullProperties)({...d,branding:X(s,{}),metadata:X(c,{}),enabled_connections:X(l,[]),token_quota:X(u,{})})}))).filter(Boolean);if(!c)return{organizations:u};let[d]=await e.select({count:(0,n.count)()}).from(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.user_id,r)));return{organizations:u,start:o*s,limit:s,length:Number(d?.count??0)}},async remove(t,r){return(await e.delete(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.id,r))).returning()).length>0}}}var qn=[`s`],Jn=[`pwd_leak`];function Yn(e){return/^\d{8}$/.test(e)?`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}`:e}function Xn(e){return{async getDaily(t,r){let i=new Date,a=r?.from?Yn(r.from):new Date(i.getTime()-720*60*60*1e3).toISOString().split(`T`)[0],o=r?.to?Yn(r.to):i.toISOString().split(`T`)[0];return(await e.select({date:n.sql`substr(${W.date}, 1, 10)`.as(`date`),logins:n.sql`SUM(CASE WHEN ${W.type} IN (${n.sql.join(qn.map(e=>n.sql`${e}`),n.sql`, `)}) THEN 1 ELSE 0 END)`.as(`logins`),signups:n.sql`SUM(CASE WHEN ${W.type} = 'ss' THEN 1 ELSE 0 END)`.as(`signups`),leaked_passwords:n.sql`SUM(CASE WHEN ${W.type} IN (${n.sql.join(Jn.map(e=>n.sql`${e}`),n.sql`, `)}) THEN 1 ELSE 0 END)`.as(`leaked_passwords`)}).from(W).where((0,n.and)((0,n.eq)(W.tenant_id,t),(0,n.gte)(W.date,a),(0,n.lte)(W.date,`${o}T23:59:59.999Z`))).groupBy(n.sql`substr(${W.date}, 1, 10)`).orderBy(n.sql`substr(${W.date}, 1, 10)`).all()).map(e=>({date:e.date,logins:Number(e.logins)||0,signups:Number(e.signups)||0,leaked_passwords:Number(e.leaked_passwords)||0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}))},async getActiveUsers(t){let r=new Date(Date.now()-720*60*60*1e3).toISOString(),[i]=await e.select({count:n.sql`COUNT(DISTINCT ${W.user_id})`.as(`count`)}).from(W).where((0,n.and)((0,n.eq)(W.tenant_id,t),(0,n.gte)(W.date,r),n.sql`${W.type} IN (${n.sql.join(qn.map(e=>n.sql`${e}`),n.sql`, `)})`));return Number(i?.count)||0}}}var Zn={"active-users":[`s`,`seacft`],logins:[`s`,`f`,`fp`],signups:[`ss`,`fs`],"refresh-tokens":[`seacft`,`fertft`],sessions:[`slo`],logouts:[`slo`,`flo`],"password-changes":[`scp`,`fcp`,`scpr`,`fcpr`],"password-migrations":[`spm`],mfa:[`gd_auth_succeed`,`gd_auth_failed`,`gd_auth_rejected`],"email-verifications":[`sv`,`fv`,`svr`,`fvr`],"codes-sent":[`cls`,`cs`]},Qn={"active-users":{alias:`active_users`,type:`UInt64`,agg:`uniq`},logins:{alias:`logins`,type:`UInt64`,agg:`count`},signups:{alias:`signups`,type:`UInt64`,agg:`count`},"refresh-tokens":{alias:`refresh_tokens`,type:`UInt64`,agg:`count`},sessions:{alias:`sessions`,type:`UInt64`,agg:`count`},logouts:{alias:`logouts`,type:`UInt64`,agg:`count`},"password-changes":{alias:`password_changes`,type:`UInt64`,agg:`count`},"password-migrations":{alias:`password_migrations`,type:`UInt64`,agg:`count`},mfa:{alias:`mfa`,type:`UInt64`,agg:`count`},"email-verifications":{alias:`email_verifications`,type:`UInt64`,agg:`count`},"codes-sent":{alias:`codes_sent`,type:`UInt64`,agg:`count`}};function $n(e){switch(e){case`hour`:return n.sql`substr(${W.date}, 1, 13)`;case`month`:return n.sql`substr(${W.date}, 1, 7)`;case`day`:return n.sql`substr(${W.date}, 1, 10)`;case`week`:return n.sql`date(substr(${W.date}, 1, 10), '-' || ((cast(strftime('%w', substr(${W.date}, 1, 10)) as integer) + 6) % 7) || ' days')`;default:throw Error(`Unsupported interval '${e}' for SQL analytics adapter`)}}function er(e){return`"${e.replace(/"/g,`""`)}"`}function tr(e){switch(e){case`connection`:return W.connection;case`client_id`:return W.client_id;case`user_type`:return W.strategy_type;case`event`:return W.type;case`time`:throw Error(`time dimension handled separately`)}}function nr(e){return{async query(t,r,i){let a=Date.now(),o=Zn[r],s=Qn[r],c=[(0,n.eq)(W.tenant_id,t),(0,n.gte)(W.date,i.from),(0,n.lt)(W.date,i.to),(0,n.inArray)(W.type,o)];i.filters.connection?.length&&c.push((0,n.inArray)(W.connection,i.filters.connection)),i.filters.client_id?.length&&c.push((0,n.inArray)(W.client_id,i.filters.client_id)),i.filters.user_type?.length&&c.push((0,n.inArray)(W.strategy_type,i.filters.user_type)),i.filters.user_id?.length&&c.push((0,n.inArray)(W.user_id,i.filters.user_id));let l={},u=[],d=[];for(let e of i.group_by)if(e===`time`){let e=$n(i.interval);l.time=e,u.push(e),d.push({name:`time`,type:i.interval===`hour`?`DateTime`:`Date`})}else{let t=tr(e);l[e]=t,u.push(t),d.push({name:e,type:`String`})}l[s.alias]=s.agg===`uniq`?n.sql`COUNT(DISTINCT ${W.user_id})`:n.sql`COUNT(*)`,d.push({name:s.alias,type:s.type});let f=e.select(l).from(W).where((0,n.and)(...c));u.length>0&&(f=f.groupBy(...u));let p=new Set([...Object.keys(l)]);if(i.order_by){let e=i.order_by.startsWith(`-`),t=e?i.order_by.slice(1):i.order_by;if(!p.has(t))throw Error(`Invalid order_by column '${t}' for analytics query`);let r=er(t);f=f.orderBy(n.sql.raw(`${r} ${e?`DESC`:`ASC`}`))}else f=i.group_by[0]===`time`?f.orderBy(n.sql.raw(`${er(`time`)} ASC`)):f.orderBy(n.sql.raw(`${er(s.alias)} DESC`));f=f.limit(i.limit).offset(i.offset);let m=(await f.all()).map(e=>{let t={};for(let n of d){let r=e[n.name];t[n.name]=n.type===`UInt64`?Number(r)||0:r??``}return t});return{meta:d,data:m,rows:m.length,rows_before_limit_at_least:m.length,statistics:{elapsed:(Date.now()-a)/1e3}}}}}var rr=10080*60*1e3;function ir(e){return async t=>{let r=Date.now()-rr;try{let i=[(0,n.or)((0,n.lt)(g.expires_at_ts,r),(0,n.lt)(g.idle_expires_at_ts,r))];t?.tenant_id&&i.push((0,n.eq)(g.tenant_id,t.tenant_id)),await e.delete(g).where((0,n.and)(...i)),i=[(0,n.or)((0,n.lt)(h.expires_at_ts,r),(0,n.lt)(h.idle_expires_at_ts,r))],t?.tenant_id&&i.push((0,n.eq)(h.tenant_id,t.tenant_id)),t?.user_id&&i.push((0,n.eq)(h.user_id,t.user_id)),await e.delete(h).where((0,n.and)(...i)),i=[(0,n.lt)(_.expires_at_ts,r)],t?.tenant_id&&i.push((0,n.eq)(_.tenant_id,t.tenant_id)),await e.delete(_).where((0,n.and)(...i))}catch(e){console.error(`Session cleanup error:`,e)}}}var Q=(0,i.sqliteTable)(`tenant_operations`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:255}),rollout_id:(0,i.text)(`rollout_id`,{length:255}),kind:(0,i.text)(`kind`,{length:32}).notNull(),status:(0,i.text)(`status`,{length:32}).notNull(),current_step:(0,i.text)(`current_step`,{length:255}),engine:(0,i.text)(`engine`,{length:64}).notNull(),engine_instance_id:(0,i.text)(`engine_instance_id`,{length:100}),target_worker_version:(0,i.text)(`target_worker_version`,{length:255}),target_database_version:(0,i.text)(`target_database_version`,{length:255}),error:(0,i.text)(`error`),initiated_by:(0,i.text)(`initiated_by`,{length:255}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),finished_at:(0,i.text)(`finished_at`,{length:35})},e=>[(0,i.index)(`tenant_operations_tenant_id_created_at_idx`).on(e.tenant_id,e.created_at),(0,i.index)(`tenant_operations_rollout_id_idx`).on(e.rollout_id),(0,i.index)(`tenant_operations_status_idx`).on(e.status)]),ar=(0,i.sqliteTable)(`tenant_operation_events`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),operation_id:(0,i.text)(`operation_id`,{length:255}).notNull(),step:(0,i.text)(`step`,{length:255}).notNull(),outcome:(0,i.text)(`outcome`,{length:32}).notNull(),detail:(0,i.text)(`detail`),attempt:(0,i.integer)(`attempt`).notNull().default(1),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.foreignKey)({columns:[e.operation_id],foreignColumns:[Q.id],name:`tenant_operation_events_operation_id_constraint`}).onDelete(`cascade`),(0,i.index)(`tenant_operation_events_operation_id_created_at_idx`).on(e.operation_id,e.created_at)]),$=(0,i.sqliteTable)(`rollouts`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),kind:(0,i.text)(`kind`,{length:32}).notNull(),status:(0,i.text)(`status`,{length:32}).notNull(),target_worker_version:(0,i.text)(`target_worker_version`,{length:255}),target_database_version:(0,i.text)(`target_database_version`,{length:255}),wave_size:(0,i.integer)(`wave_size`).notNull().default(10),canary_tenant_ids:(0,i.text)(`canary_tenant_ids`),filter:(0,i.text)(`filter`),initiated_by:(0,i.text)(`initiated_by`,{length:255}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),finished_at:(0,i.text)(`finished_at`,{length:35})});function or(e){return o.tenantOperationSchema.parse({id:e.id,tenant_id:e.tenant_id,rollout_id:e.rollout_id,kind:e.kind,status:e.status,current_step:e.current_step,engine:e.engine,engine_instance_id:e.engine_instance_id,target_worker_version:e.target_worker_version,target_database_version:e.target_database_version,error:e.error,initiated_by:e.initiated_by,created_at:e.created_at,updated_at:e.updated_at,finished_at:e.finished_at})}function sr(e){return{async create(t){let n=o.tenantOperationInsertSchema.parse(t),i=new Date().toISOString(),a={id:`op_${(0,r.nanoid)()}`,tenant_id:n.tenant_id,rollout_id:n.rollout_id??null,kind:n.kind,status:`pending`,current_step:null,engine:n.engine,engine_instance_id:n.engine_instance_id??null,target_worker_version:n.target_worker_version??null,target_database_version:n.target_database_version??null,error:null,initiated_by:n.initiated_by??null,created_at:i,updated_at:i,finished_at:null};await e.insert(Q).values(a);let s=await this.get(a.id);if(!s)throw Error(`Failed to create tenant operation ${a.id}`);return s},async get(t){let r=await e.select().from(Q).where((0,n.eq)(Q.id,t)).limit(1);return r[0]?or(r[0]):null},async list(t={}){let r=t.page??0,i=t.per_page??50,a=[];if(t.tenant_id!==void 0&&a.push((0,n.eq)(Q.tenant_id,t.tenant_id)),t.rollout_id!==void 0&&a.push((0,n.eq)(Q.rollout_id,t.rollout_id)),t.kind!==void 0&&a.push((0,n.eq)(Q.kind,t.kind)),t.status!==void 0){let e=Array.isArray(t.status)?t.status:[t.status];a.push((0,n.inArray)(Q.status,e))}t.engine!==void 0&&a.push((0,n.eq)(Q.engine,t.engine)),t.updated_before!==void 0&&a.push((0,n.lt)(Q.updated_at,t.updated_before));let o=await e.select().from(Q).where(a.length?(0,n.and)(...a):void 0).orderBy((0,n.desc)(Q.created_at),(0,n.desc)(Q.id)).offset(r*i).limit(i);return{operations:o.map(or),start:r*i,limit:i,length:o.length}},async update(t,r){if((await e.select({id:Q.id}).from(Q).where((0,n.eq)(Q.id,t)).limit(1)).length===0)return!1;let i={updated_at:new Date().toISOString()};return r.status!==void 0&&(i.status=r.status),r.current_step!==void 0&&(i.current_step=r.current_step),r.engine_instance_id!==void 0&&(i.engine_instance_id=r.engine_instance_id),r.target_worker_version!==void 0&&(i.target_worker_version=r.target_worker_version),r.target_database_version!==void 0&&(i.target_database_version=r.target_database_version),r.error!==void 0&&(i.error=r.error),r.finished_at!==void 0&&(i.finished_at=r.finished_at),await e.update(Q).set(i).where((0,n.eq)(Q.id,t)),!0},async remove(t){return(await e.select({id:Q.id}).from(Q).where((0,n.eq)(Q.id,t)).limit(1)).length===0?!1:(await e.delete(Q).where((0,n.eq)(Q.id,t)),!0)}}}var cr=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,lr=32,ur=10,dr=4,fr=10;function pr(e,t){let n=``;for(let r=t;r>0;r--)n=cr.charAt(e%lr)+n,e=Math.floor(e/lr);return n}function mr(){let e=new Uint8Array(fr);crypto.getRandomValues(e);let t=``;for(let n=0;n<fr;n++)t+=cr.charAt(e[n]%lr);return t}var hr=0,gr=0;function _r(){let e=Date.now();return e===hr?gr++:(hr=e,gr=0),pr(e,ur)+pr(gr,dr)+mr()}function vr(e){if(!e)return null;try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return Object.fromEntries(Object.entries(t))}catch{}return null}function yr(e){return o.tenantOperationEventSchema.parse({id:e.id,operation_id:e.operation_id,step:e.step,outcome:e.outcome,detail:vr(e.detail),attempt:e.attempt,created_at:e.created_at})}function br(e){return{async create(t){let n=o.tenantOperationEventInsertSchema.parse(t),r={id:`evt_${_r()}`,operation_id:n.operation_id,step:n.step,outcome:n.outcome,detail:n.detail?JSON.stringify(n.detail):null,attempt:n.attempt,created_at:new Date().toISOString()};return await e.insert(ar).values(r),o.tenantOperationEventSchema.parse({id:r.id,operation_id:r.operation_id,step:r.step,outcome:r.outcome,detail:n.detail??null,attempt:r.attempt,created_at:r.created_at})},async listByOperation(t,r={}){let i=r.page??0,a=r.per_page??100,o=await e.select().from(ar).where((0,n.eq)(ar.operation_id,t)).orderBy((0,n.asc)(ar.created_at),(0,n.asc)(ar.id)).offset(i*a).limit(a);return{events:o.map(yr),start:i*a,limit:a,length:o.length}}}}function xr(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Sr(e){return o.rolloutSchema.parse({id:e.id,kind:e.kind,status:e.status,target_worker_version:e.target_worker_version,target_database_version:e.target_database_version,wave_size:e.wave_size,canary_tenant_ids:xr(e.canary_tenant_ids),filter:xr(e.filter),initiated_by:e.initiated_by,created_at:e.created_at,updated_at:e.updated_at,finished_at:e.finished_at})}function Cr(e){return{async create(t){let n=o.rolloutInsertSchema.parse(t),i=new Date().toISOString(),a={id:`rol_${(0,r.nanoid)()}`,kind:n.kind,status:`pending`,target_worker_version:n.target_worker_version??null,target_database_version:n.target_database_version??null,wave_size:n.wave_size,canary_tenant_ids:n.canary_tenant_ids?JSON.stringify(n.canary_tenant_ids):null,filter:n.filter?JSON.stringify(n.filter):null,initiated_by:n.initiated_by??null,created_at:i,updated_at:i,finished_at:null};await e.insert($).values(a);let s=await this.get(a.id);if(!s)throw Error(`Failed to create rollout ${a.id}`);return s},async get(t){let r=await e.select().from($).where((0,n.eq)($.id,t)).limit(1);return r[0]?Sr(r[0]):null},async list(t={}){let r=t.page??0,i=t.per_page??50,a=await e.select().from($).orderBy((0,n.desc)($.created_at),(0,n.desc)($.id)).offset(r*i).limit(i);return{rollouts:a.map(Sr),start:r*i,limit:i,length:a.length}},async update(t,r){if((await e.select({id:$.id}).from($).where((0,n.eq)($.id,t)).limit(1)).length===0)return!1;let i={updated_at:new Date().toISOString()};return r.status!==void 0&&(i.status=r.status),r.wave_size!==void 0&&(i.wave_size=r.wave_size),r.canary_tenant_ids!==void 0&&(i.canary_tenant_ids=r.canary_tenant_ids?JSON.stringify(r.canary_tenant_ids):null),r.filter!==void 0&&(i.filter=r.filter?JSON.stringify(r.filter):null),r.finished_at!==void 0&&(i.finished_at=r.finished_at),await e.update($).set(i).where((0,n.eq)($.id,t)),!0},async remove(t){return(await e.select({id:$.id}).from($).where((0,n.eq)($.id,t)).limit(1)).length===0?!1:(await e.delete($).where((0,n.eq)($.id,t)),!0)}}}function wr(e,t={useTransactions:!0}){let r={actions:pe(e),actionExecutions:me(e),actionVersions:ve(e),branding:be(e),clients:je(e),clientConnections:Ne(e),clientGrants:Fe(e),clientRegistrationTokens:Be(e),codes:We(e),connections:qe(e),customDomains:Ye(e),customText:Xe(e),emailProviders:Ze(e),emailTemplates:$e(e),flows:tt(e),forms:it(e),grants:ct(e),hookCode:ft(e),hooks:gt(e),invites:bt(e),keys:St(e),loginSessions:Dt(e),logs:kt(e),authenticationMethods:Pt(e),organizations:Rt(e),passwords:Bt(e),promptSettings:Vt(e),proxyRoutes:Gt(e),scimConfigurations:Yt(e),scimTokens:Zt(e),scimExternalIds:$t(e),refreshTokens:nn(e),resourceServers:ln(e),rolePermissions:un(e),userPermissions:dn(e),roles:pn(e),sessions:vn(e),sessionCleanup:ir(e),tenants:Cn(e),...t.controlPlane?{tenantOperations:sr(e),tenantOperationEvents:br(e),rollouts:Cr(e)}:{},themes:En(e),universalLoginTemplates:Dn(e),users:Wn(e),userActivity:kn(e),userRoles:Gn(e),userOrganizations:Kn(e),stats:Xn(e),analytics:nr(e),outbox:Mn(e),async transaction(i){if(t.useTransactions===!1||he(e))return i(r);await e.run(n.sql`BEGIN`);try{let t=await i(r);return await e.run(n.sql`COMMIT`),t}catch(t){throw await e.run(n.sql`ROLLBACK`),t}}};return r}function Tr(e){if(!e)return{path:`/*`};try{let t=JSON.parse(e),n=o.matchSchema.safeParse(t);if(n.success)return n.data}catch{}return{path:`/*`}}function Er(e){if(!e)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=o.handlerConfigSchema.safeParse(e);t.success&&n.push(t.data)}return n}catch{return[]}}async function Dr(e,t){let r=t.toLowerCase(),i=(await e.select({custom_domain_id:w.custom_domain_id,tenant_id:w.tenant_id,domain:w.domain}).from(w).where((0,n.eq)(w.domain,r)).limit(1))[0];if(!i)return null;let a=(await e.select().from(K).where((0,n.and)((0,n.eq)(K.tenant_id,i.tenant_id),(0,n.eq)(K.custom_domain_id,i.custom_domain_id))).orderBy((0,n.asc)(K.priority),(0,n.asc)(K.created_at))).map(e=>({id:e.id,tenant_id:e.tenant_id,custom_domain_id:e.custom_domain_id,priority:e.priority,match:Tr(e.match),handlers:Er(e.handlers),created_at:e.created_at,updated_at:e.updated_at}));return{tenant_id:i.tenant_id,custom_domain_id:i.custom_domain_id,domain:i.domain,routes:a}}function Or(e){return{proxyRoutes:Gt(e),resolveHost:t=>Dr(e,t)}}exports.createProxyDataAdapter=Or,exports.createProxyRoutesAdapter=Gt,exports.default=wr,Object.defineProperty(exports,"sqlite",{enumerable:!0,get:function(){return oe}});
13
+ WHERE tenant_id = ${t} AND client_id = ${i}`);return(a.changes??a.meta?.changes??0)>0}}}function Fe(e){let{tenant_id:t,scope:n,authorization_details_types:r,allow_any_organization:i,is_system:o,...s}=e;return(0,a.removeNullProperties)({...s,scope:X(n,[]),authorization_details_types:X(r,[]),allow_any_organization:!!i,is_system:!!o})}function Ie(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,client_id:n.client_id,audience:n.audience,scope:JSON.stringify(n.scope||[]),organization_usage:n.organization_usage,allow_any_organization:+!!n.allow_any_organization,is_system:+!!n.is_system,subject_type:n.subject_type,authorization_details_types:JSON.stringify(n.authorization_details_types||[]),created_at:i,updated_at:i};return await e.insert(x).values(a),Fe({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(x).where((0,n.and)((0,n.eq)(x.tenant_id,t),(0,n.eq)(x.id,r))).get();return i?Fe(i):null},async update(t,r,i){let{scope:a,authorization_details_types:o,allow_any_organization:s,is_system:c,...l}=i,u={...l,updated_at:new Date().toISOString()};return a!==void 0&&(u.scope=JSON.stringify(a)),o!==void 0&&(u.authorization_details_types=JSON.stringify(o)),s!==void 0&&(u.allow_any_organization=+!!s),c!==void 0&&(u.is_system=+!!c),(await e.update(x).set(u).where((0,n.and)((0,n.eq)(x.tenant_id,t),(0,n.eq)(x.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(x,c,[`client_id`,`audience`]):void 0,u=l?(0,n.and)((0,n.eq)(x.tenant_id,t),l):(0,n.eq)(x.tenant_id,t);if(Se(r)){let t={sortColumn:x.created_at,idColumn:x.id,sortOrder:`desc`},i=Te(r,t),a=Ce(r),{rows:o,next:s}=Ee(await e.select().from(x).where(i?(0,n.and)(u,i):u).orderBy(...we(t)).limit(a+1),a,`created_at`),c=o.map(Fe);return{client_grants:c,start:0,limit:a,length:c.length,next:s}}let d=e.select().from(x).where(u).$dynamic();if(s?.sort_by){let e=x[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}else d=d.orderBy((0,n.asc)(x.created_at));let f=(await d.offset(i*a).limit(a)).map(Fe);if(!o)return{client_grants:f};let[p]=await e.select({count:(0,n.count)()}).from(x).where(u);return{client_grants:f,start:i*a,limit:a,length:Number(p?.count??0)}},async remove(t,r){return(await e.delete(x).where((0,n.and)((0,n.eq)(x.tenant_id,t),(0,n.eq)(x.id,r))).returning()).length>0}}}function Le(e){if(!e)return;let t=JSON.parse(e);return(0,o.isPlainObject)(t)?t:void 0}function Re(e){return e==null?void 0:new Date(e).toISOString()}function ze(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t.getTime()}function Be(e){let t=o.clientRegistrationTokenTypeSchema.parse(e.type);return{id:e.id,token_hash:e.token_hash,type:t,client_id:e.client_id??void 0,sub:e.sub??void 0,constraints:Le(e.constraints),single_use:!!e.single_use,expires_at:Re(e.expires_at_ts),used_at:Re(e.used_at_ts),revoked_at:Re(e.revoked_at_ts),created_at:new Date(e.created_at_ts).toISOString()}}function Ve(e){return{async create(t,n){let r=Date.now();return await e.insert(b).values({id:n.id,tenant_id:t,token_hash:n.token_hash,type:n.type,client_id:n.client_id??null,sub:n.sub??null,constraints:n.constraints?JSON.stringify(n.constraints):null,single_use:+!!n.single_use,expires_at_ts:ze(n.expires_at),created_at_ts:r}),{id:n.id,token_hash:n.token_hash,type:n.type,client_id:n.client_id,sub:n.sub,constraints:n.constraints,single_use:n.single_use,expires_at:n.expires_at,created_at:new Date(r).toISOString()}},async get(t,r){let i=await e.select().from(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r))).get();return i?Be(i):null},async getByHash(t,r){let i=await e.select().from(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.token_hash,r))).get();return i?Be(i):null},async listByClient(t,r){return(await e.select().from(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.client_id,r))).orderBy((0,n.desc)(b.created_at_ts))).map(Be)},async markUsed(t,r,i){return(await e.update(b).set({used_at_ts:ze(i)}).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r),(0,n.isNull)(b.used_at_ts))).returning()).length>0},async revoke(t,r,i){return(await e.update(b).set({revoked_at_ts:ze(i)}).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r),(0,n.isNull)(b.revoked_at_ts))).returning()).length>0},async revokeByClient(t,r,i){return(await e.update(b).set({revoked_at_ts:ze(i)}).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.client_id,r),(0,n.isNull)(b.revoked_at_ts))).returning()).length},async remove(t,r){return(await e.delete(b).where((0,n.and)((0,n.eq)(b.tenant_id,t),(0,n.eq)(b.id,r))).returning()).length>0}}}var He=[`code_id`,`login_id`],Ue=500;function We(e){let{tenant_id:t,...n}=e;return(0,a.removeNullProperties)(n)}function Ge(e){return{async create(t,n){let r={...n,tenant_id:t,created_at:n.created_at||new Date().toISOString(),expires_at:n.expires_at};return await e.insert(v).values(r),We(r)},async get(t,r,i){let a=t?(0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r),(0,n.eq)(v.code_type,i)):(0,n.and)((0,n.eq)(v.code_id,r),(0,n.eq)(v.code_type,i)),o=await e.select().from(v).where(a).get();return o?We(o):null},async list(t,r){let{page:i=0,per_page:a=50,include_totals:s=!1,sort:c,q:l}=r||{},u=[(0,n.eq)(v.tenant_id,t)];if(l){let e=(0,o.sanitizeLuceneQuery)(l,He);if(e){let t=Z(v,e,He);t&&u.push(t)}}let d=(0,n.and)(...u),f=e.select().from(v).where(d).$dynamic();if(c?.sort_by){let e=v[c.sort_by];e&&(f=f.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let p=(await f.offset(i*a).limit(a)).map(We);if(!s)return{codes:p};let[m]=await e.select({count:(0,n.count)()}).from(v).where(d);return{codes:p,start:i*a,limit:a,length:Number(m?.count??0)}},async used(t,r){return(await e.update(v).set({used_at:new Date().toISOString()}).where((0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r))).returning()).length>0},async consume(t,r){return(await e.update(v).set({used_at:new Date().toISOString()}).where((0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r),(0,n.isNull)(v.used_at))).returning()).length>0},async remove(t,r){return(await e.delete(v).where((0,n.and)((0,n.eq)(v.tenant_id,t),(0,n.eq)(v.code_id,r))).returning()).length>0},async cleanup(t){let r=0;for(;;){let i=await e.delete(v).where(n.sql`rowid IN (SELECT rowid FROM ${v} WHERE ${v.expires_at} < ${t} LIMIT ${Ue})`).returning({code_id:v.code_id});if(r+=i.length,i.length<Ue)break}return r}}}function Ke(){return`con_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}function qe(e){let{tenant_id:t,is_system:n,options:r,metadata:i,...o}=e;return(0,a.removeNullProperties)({...o,options:X(r,{}),metadata:X(i),is_system:n?!0:void 0})}function Je(e){return{async create(t,n){let r=new Date().toISOString(),i={id:n.id||Ke(),...n,tenant_id:t,options:JSON.stringify(n.options||{}),metadata:n.metadata?JSON.stringify(n.metadata):void 0,is_system:+!!n.is_system,created_at:r,updated_at:r};try{await e.insert(C).values(i)}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`Connection already exists`}):e}return qe(i)},async get(t,r){let i=await e.select().from(C).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.eq)(C.id,r))).get();return i?qe(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.strategy!==void 0&&(a.strategy=i.strategy),i.options!==void 0&&(a.options=JSON.stringify(i.options)),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),i.display_name!==void 0&&(a.display_name=i.display_name),i.response_type!==void 0&&(a.response_type=i.response_type),i.response_mode!==void 0&&(a.response_mode=i.response_mode),await e.update(C).set(a).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.eq)(C.id,r))),!0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=(0,n.eq)(C.tenant_id,t);if(c){let e=Z(C,c,[`name`]);e&&(l=(0,n.and)(l,e))}let u=e.select().from(C).where(l).$dynamic();if(s?.sort_by){let e=C[s.sort_by];e&&(u=u.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let d=(await u.offset(i*a).limit(a)).map(qe);if(!o)return{connections:d};let[f]=await e.select({count:(0,n.count)()}).from(C).where(l);return{connections:d,start:i*a,limit:a,length:Number(f?.count??0)}},async remove(t,r){return(await e.delete(C).where((0,n.and)((0,n.eq)(C.tenant_id,t),(0,n.eq)(C.id,r))).returning()).length>0}}}function Ye(e){let{tenant_id:t,domain_metadata:n,...r}=e;return(0,a.removeNullProperties)({...r,primary:!!r.primary,domain_metadata:X(n)})}function Xe(e){return{async create(t,n){let i=new Date().toISOString(),a={custom_domain_id:n.custom_domain_id||(0,r.nanoid)(),tenant_id:t,domain:n.domain,primary:n.primary??!1,status:n.status||`pending`,type:n.type,origin_domain_name:n.origin_domain_name,verification:n.verification,custom_client_ip_header:n.custom_client_ip_header,tls_policy:n.tls_policy,domain_metadata:n.domain_metadata?JSON.stringify(n.domain_metadata):void 0,created_at:i,updated_at:i};return await e.insert(w).values(a),Ye({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(w).where((0,n.and)((0,n.eq)(w.tenant_id,t),(0,n.eq)(w.custom_domain_id,r))).get();return i?Ye(i):null},async getByDomain(t){let r=await e.select().from(w).where((0,n.eq)(w.domain,t)).get();return r?{...Ye(r),tenant_id:r.tenant_id}:null},async list(t){return(await e.select().from(w).where((0,n.eq)(w.tenant_id,t)).all()).map(Ye)},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.domain!==void 0&&(a.domain=i.domain),i.primary!==void 0&&(a.primary=i.primary),i.status!==void 0&&(a.status=i.status),i.type!==void 0&&(a.type=i.type),i.origin_domain_name!==void 0&&(a.origin_domain_name=i.origin_domain_name),i.verification!==void 0&&(a.verification=i.verification),i.custom_client_ip_header!==void 0&&(a.custom_client_ip_header=i.custom_client_ip_header),i.tls_policy!==void 0&&(a.tls_policy=i.tls_policy),i.domain_metadata!==void 0&&(a.domain_metadata=JSON.stringify(i.domain_metadata)),(await e.update(w).set(a).where((0,n.and)((0,n.eq)(w.tenant_id,t),(0,n.eq)(w.custom_domain_id,r))).returning()).length>0},async remove(t,r){return(await e.delete(w).where((0,n.and)((0,n.eq)(w.tenant_id,t),(0,n.eq)(w.custom_domain_id,r))).returning()).length>0}}}function Ze(e){return{async get(t,r,i){let a=await e.select().from(H).where((0,n.and)((0,n.eq)(H.tenant_id,t),(0,n.eq)(H.prompt,r),(0,n.eq)(H.language,i))).get();if(!a)return null;try{return JSON.parse(a.custom_text)}catch{return null}},async set(t,n,r,i){let a=Date.now(),o=JSON.stringify(i);await e.insert(H).values({tenant_id:t,prompt:n,language:r,custom_text:o,created_at_ts:a,updated_at_ts:a}).onConflictDoUpdate({target:[H.tenant_id,H.prompt,H.language],set:{custom_text:o,updated_at_ts:a}})},async delete(t,r,i){await e.delete(H).where((0,n.and)((0,n.eq)(H.tenant_id,t),(0,n.eq)(H.prompt,r),(0,n.eq)(H.language,i)))},async list(t){return await e.select({prompt:H.prompt,language:H.language}).from(H).where((0,n.eq)(H.tenant_id,t)).all()}}}function Qe(e){return{async create(t,n){let r=new Date().toISOString();await e.insert(L).values({tenant_id:t,name:n.name,enabled:n.enabled,default_from_address:n.default_from_address,credentials:JSON.stringify(n.credentials||{}),settings:JSON.stringify(n.settings||{}),created_at:r,updated_at:r})},async get(t){let r=await e.select().from(L).where((0,n.eq)(L.tenant_id,t)).get();if(!r)return null;let{tenant_id:i,...o}=r;return(0,a.removeNullProperties)({...o,enabled:!!o.enabled,credentials:X(o.credentials,{}),settings:X(o.settings,{})})},async update(t,r){let i={updated_at:new Date().toISOString()};r.name!==void 0&&(i.name=r.name),r.enabled!==void 0&&(i.enabled=r.enabled),r.default_from_address!==void 0&&(i.default_from_address=r.default_from_address),r.credentials!==void 0&&(i.credentials=JSON.stringify(r.credentials)),r.settings!==void 0&&(i.settings=JSON.stringify(r.settings)),await e.update(L).set(i).where((0,n.eq)(L.tenant_id,t))},async remove(t){await e.delete(L).where((0,n.eq)(L.tenant_id,t))}}}function $e(e){return(0,a.removeNullProperties)({template:e.template,body:e.body,from:e.from,subject:e.subject,syntax:`liquid`,includeEmailInRedirect:!!e.include_email_in_redirect,enabled:!!e.enabled,resultUrl:e.result_url??void 0,urlLifetimeInSeconds:e.url_lifetime_in_seconds??void 0})}function et(e){return{async get(t,r){let i=await e.select().from(R).where((0,n.and)((0,n.eq)(R.tenant_id,t),(0,n.eq)(R.template,r))).get();return i?$e(i):null},async list(t){return(await e.select().from(R).where((0,n.eq)(R.tenant_id,t)).all()).map($e)},async create(t,n){let r=new Date().toISOString();return await e.insert(R).values({tenant_id:t,template:n.template,body:n.body,from:n.from,subject:n.subject,syntax:n.syntax,result_url:n.resultUrl??null,url_lifetime_in_seconds:n.urlLifetimeInSeconds??null,include_email_in_redirect:n.includeEmailInRedirect,enabled:n.enabled,created_at:r,updated_at:r}),n},async update(t,r,i){let a={updated_at:new Date().toISOString()};i.body!==void 0&&(a.body=i.body),i.from!==void 0&&(a.from=i.from),i.subject!==void 0&&(a.subject=i.subject),i.syntax!==void 0&&(a.syntax=i.syntax),i.resultUrl!==void 0&&(a.result_url=i.resultUrl),i.urlLifetimeInSeconds!==void 0&&(a.url_lifetime_in_seconds=i.urlLifetimeInSeconds),i.includeEmailInRedirect!==void 0&&(a.include_email_in_redirect=i.includeEmailInRedirect),i.enabled!==void 0&&(a.enabled=i.enabled);let o=await e.update(R).set(a).where((0,n.and)((0,n.eq)(R.tenant_id,t),(0,n.eq)(R.template,r))).run();return Number(o.changes??0)>0},async remove(t,r){let i=await e.delete(R).where((0,n.and)((0,n.eq)(R.tenant_id,t),(0,n.eq)(R.template,r))).run();return Number(i.changes??0)>0}}}var tt=[`id`,`name`];function nt(e){return{async create(t,n){let i=new Date().toISOString(),a=`af_${(0,r.nanoid)()}`;return await e.insert(I).values({id:a,tenant_id:t,name:n.name,actions:JSON.stringify(n.actions||[]),created_at:i,updated_at:i}),{id:a,name:n.name,actions:n.actions||[],created_at:i,updated_at:i}},async get(t,r){let i=await e.select().from(I).where((0,n.and)((0,n.eq)(I.tenant_id,t),(0,n.eq)(I.id,r))).get();if(!i)return null;let{tenant_id:o,actions:s,...c}=i;return(0,a.removeNullProperties)({...c,actions:X(s,[])})},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.actions!==void 0&&(a.actions=JSON.stringify(i.actions)),(await e.update(I).set(a).where((0,n.and)((0,n.eq)(I.tenant_id,t),(0,n.eq)(I.id,r))).returning()).length===0?null:this.get(t,r)},async list(t,r){let{page:i=0,per_page:s=50,include_totals:c=!1,sort:l,q:u}=r||{},d=[(0,n.eq)(I.tenant_id,t)];if(u){let e=(0,o.sanitizeLuceneQuery)(u,tt);if(e){let t=Z(I,e,[]);t&&d.push(t)}}let f=(0,n.and)(...d),p=e.select().from(I).where(f).$dynamic();if(l?.sort_by){let e=I[l.sort_by];e&&(p=p.orderBy(l.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let m=(await p.offset(i*s).limit(s)).map(e=>{let{tenant_id:t,actions:n,...r}=e;return(0,a.removeNullProperties)({...r,actions:X(n,[])})});if(!c)return{flows:m};let[h]=await e.select({count:(0,n.count)()}).from(I).where(f);return{flows:m,start:i*s,limit:s,length:Number(h?.count??0)}},async remove(t,r){return(await e.delete(I).where((0,n.and)((0,n.eq)(I.tenant_id,t),(0,n.eq)(I.id,r))).returning()).length>0}}}var rt=[`nodes`,`start`,`ending`],it=[`name`];function at(e){return{async create(t,n){let i=new Date().toISOString(),a=(0,r.nanoid)(),o={id:a,tenant_id:t,name:n.name,messages:n.messages,languages:n.languages,translations:n.translations,style:n.style,created_at:i,updated_at:i};for(let e of rt)o[e]=JSON.stringify(n[e]||(e===`nodes`?[]:{}));return await e.insert(F).values(o),{id:a,...n,created_at:i,updated_at:i}},async get(t,r){let i=await e.select().from(F).where((0,n.and)((0,n.eq)(F.tenant_id,t),(0,n.eq)(F.id,r))).get();if(!i)return null;let{tenant_id:o,...s}=i,c={...s};for(let e of rt)c[e]=X(s[e]);return(0,a.removeNullProperties)(c)},async update(t,r,i){let a={updated_at:new Date().toISOString()};for(let[e,t]of Object.entries(i))t!==void 0&&(rt.includes(e)?a[e]=JSON.stringify(t):a[e]=t);return(await e.update(F).set(a).where((0,n.and)((0,n.eq)(F.tenant_id,t),(0,n.eq)(F.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:s=50,include_totals:c=!1,sort:l,q:u}=r||{},d=[(0,n.eq)(F.tenant_id,t)];if(u){let e=(0,o.sanitizeLuceneQuery)(u,it);if(e){let t=Z(F,e,it);t&&d.push(t)}}let f=(0,n.and)(...d),p=e.select().from(F).where(f).$dynamic();if(l?.sort_by){let e=F[l.sort_by];e&&(p=p.orderBy(l.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let m=(await p.offset(i*s).limit(s)).map(e=>{let{tenant_id:t,...n}=e,r={...n};for(let e of rt)r[e]=X(n[e]);return(0,a.removeNullProperties)(r)});if(!c)return{forms:m};let[h]=await e.select({count:(0,n.count)()}).from(F).where(f);return{forms:m,start:i*s,limit:s,length:Number(h?.count??0)}},async remove(t,r){return(await e.delete(F).where((0,n.and)((0,n.eq)(F.tenant_id,t),(0,n.eq)(F.id,r))).returning()).length>0}}}function ot(e){return{id:e.id,user_id:e.user_id,clientID:e.client_id,audience:e.audience||void 0,scope:X(e.scope,[])??[]}}var st={user_id:S.user_id,client_id:S.client_id,audience:S.audience,created_at:S.created_at,updated_at:S.updated_at};function ct(e){return Object.hasOwn(st,e)?st[e]:void 0}function lt(e){return{async create(t,i){let a=new Date().toISOString(),o=i.scope??[],s=i.audience??``,c=await e.select().from(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.user_id,i.user_id),(0,n.eq)(S.client_id,i.clientID),(0,n.eq)(S.audience,s))).get();if(c){let r=X(c.scope,[])??[],i=Array.from(new Set([...r,...o]));return await e.update(S).set({scope:JSON.stringify(i),updated_at:a}).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.id,c.id))),ot({...c,scope:JSON.stringify(i)})}let l=(0,r.nanoid)();return await e.insert(S).values({id:l,tenant_id:t,user_id:i.user_id,client_id:i.clientID,audience:s,scope:JSON.stringify(o),created_at:a,updated_at:a}),{id:l,user_id:i.user_id,clientID:i.clientID,audience:s||void 0,scope:o}},async get(t,r,i,a){let o=await e.select().from(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.user_id,r),(0,n.eq)(S.client_id,i),(0,n.eq)(S.audience,a??``))).get();return o?ot(o):null},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(S,c,[`user_id`,`client_id`,`audience`]):void 0,u=l?(0,n.and)((0,n.eq)(S.tenant_id,t),l):(0,n.eq)(S.tenant_id,t),d=e.select().from(S).where(u).$dynamic(),f=s?.sort_by?ct(s.sort_by):void 0;d=f?d.orderBy(s?.sort_order===`desc`?(0,n.desc)(f):(0,n.asc)(f)):d.orderBy((0,n.asc)(S.created_at));let p=(await d.offset(i*a).limit(a)).map(ot);if(!o)return{grants:p,start:0,limit:0,length:0};let[m]=await e.select({count:(0,n.count)()}).from(S).where(u);return{grants:p,start:i*a,limit:a,length:Number(m?.count??0)}},async remove(t,r){return(await e.delete(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.id,r))).returning()).length>0},async removeByUser(t,r){return(await e.delete(S).where((0,n.and)((0,n.eq)(S.tenant_id,t),(0,n.eq)(S.user_id,r))).returning()).length>0}}}var ut=(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17);function dt(){return`hc_${ut()}`}function ft(e){let{created_at_ts:t,updated_at_ts:n,secrets:r,...i}=e,o=(0,a.convertDatesToAdapter)({created_at_ts:t,updated_at_ts:n},[`created_at_ts`,`updated_at_ts`]);return{...i,...o,secrets:r?JSON.parse(r):void 0}}function pt(e){return{async create(t,n){let r=Date.now(),i={id:dt(),tenant_id:t,code:n.code,secrets:n.secrets?JSON.stringify(n.secrets):null,created_at_ts:r,updated_at_ts:r};return await e.insert(B).values(i),ft({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(B).where((0,n.and)((0,n.eq)(B.tenant_id,t),(0,n.eq)(B.id,r))).get();return i?ft(i):null},async update(t,r,i){let a={updated_at_ts:Date.now()};return i.code!==void 0&&(a.code=i.code),i.secrets!==void 0&&(a.secrets=JSON.stringify(i.secrets)),(await e.update(B).set(a).where((0,n.and)((0,n.eq)(B.tenant_id,t),(0,n.eq)(B.id,r))).returning()).length>0},async remove(t,r){return(await e.delete(B).where((0,n.and)((0,n.eq)(B.tenant_id,t),(0,n.eq)(B.id,r))).returning()).length>0}}}function mt(){return`h_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}function ht(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:void 0}catch{return}}function gt(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,metadata:i,...o}=e,s=(0,a.convertDatesToAdapter)({created_at_ts:n,updated_at_ts:r},[`created_at_ts`,`updated_at_ts`]);return(0,a.removeNullProperties)({...o,enabled:!!o.enabled,synchronous:!!o.synchronous,metadata:ht(i),...s})}function _t(e){return{async create(t,n){let r=Date.now(),i={hook_id:n.hook_id||mt(),tenant_id:t,trigger_id:n.trigger_id,url:n.url,enabled:n.enabled??!0,synchronous:n.synchronous??!1,priority:n.priority,form_id:n.form_id,template_id:n.template_id,code_id:n.code_id,metadata:n.metadata?JSON.stringify(n.metadata):null,created_at_ts:r,updated_at_ts:r};return await e.insert(z).values(i),gt({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(z).where((0,n.and)((0,n.eq)(z.tenant_id,t),(0,n.eq)(z.hook_id,r))).get();return i?gt(i):null},async update(t,r,i){let a={updated_at_ts:Date.now()};return i.trigger_id!==void 0&&(a.trigger_id=i.trigger_id),i.url!==void 0&&(a.url=i.url),i.enabled!==void 0&&(a.enabled=i.enabled),i.synchronous!==void 0&&(a.synchronous=i.synchronous),i.priority!==void 0&&(a.priority=i.priority),i.form_id!==void 0&&(a.form_id=i.form_id),i.template_id!==void 0&&(a.template_id=i.template_id),i.code_id!==void 0&&(a.code_id=i.code_id),i.metadata!==void 0&&(a.metadata=i.metadata===null?null:JSON.stringify(i.metadata)),(await e.update(z).set(a).where((0,n.and)((0,n.eq)(z.tenant_id,t),(0,n.eq)(z.hook_id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(z,c,[`url`,`form_id`,`template_id`,`code_id`]):void 0,u=l?(0,n.and)((0,n.eq)(z.tenant_id,t),l):(0,n.eq)(z.tenant_id,t),d=e.select().from(z).where(u).$dynamic(),f=s?.sort_by?z[s.sort_by]:void 0;d=f?d.orderBy(s?.sort_order===`desc`?(0,n.desc)(f):(0,n.asc)(f)):d.orderBy((0,n.desc)(z.priority),(0,n.asc)(z.created_at_ts));let p=(await d.offset(i*a).limit(a)).map(gt);if(!o)return{hooks:p};let[m]=await e.select({count:(0,n.count)()}).from(z).where(u);return{hooks:p,start:i*a,limit:a,length:Number(m?.count??0)}},async remove(t,r){return(await e.delete(z).where((0,n.and)((0,n.eq)(z.tenant_id,t),(0,n.eq)(z.hook_id,r))).returning()).length>0}}}function vt(){return`inv_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}var yt=[`inviter`,`invitee`,`app_metadata`,`user_metadata`,`roles`];function bt(e){let{tenant_id:t,send_invitation_email:n,...r}=e,i={...r};for(let e of yt)i[e]=X(r[e],e===`roles`?[]:{});return i.send_invitation_email=!!n,(0,a.removeNullProperties)(i)}function xt(e){return{async create(t,n){let r=n.id||vt(),i=n.ttl_sec||604800,a=new Date,o=new Date(a.getTime()+i*1e3).toISOString(),c={id:r,tenant_id:t,organization_id:n.organization_id,client_id:n.client_id,connection_id:n.connection_id,invitation_url:n.invitation_url,ticket_id:n.ticket_id,ttl_sec:i,send_invitation_email:n.send_invitation_email===!1?0:1,created_at:a.toISOString(),expires_at:o};for(let e of yt)n[e]!==void 0&&(c[e]=JSON.stringify(n[e]));try{await e.insert(D).values(c)}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`Invite already exists`}):e}return bt({...c,tenant_id:t})},async get(t,r){let i=await e.select().from(D).where((0,n.and)((0,n.eq)(D.tenant_id,t),(0,n.eq)(D.id,r))).get();return i?bt(i):null},async update(t,r,i){let a={};for(let e of yt)i[e]!==void 0&&(a[e]=JSON.stringify(i[e]));return i.connection_id!==void 0&&(a.connection_id=i.connection_id),i.ttl_sec!==void 0&&(a.ttl_sec=i.ttl_sec,a.expires_at=new Date(Date.now()+i.ttl_sec*1e3).toISOString()),(await e.update(D).set(a).where((0,n.and)((0,n.eq)(D.tenant_id,t),(0,n.eq)(D.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s}=r||{},c=e.select().from(D).where((0,n.eq)(D.tenant_id,t)).$dynamic();if(s?.sort_by){let e=D[s.sort_by];e&&(c=c.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let l=(await c.offset(i*a).limit(a)).map(bt);if(!o)return{invites:l};let[u]=await e.select({count:(0,n.count)()}).from(D).where((0,n.eq)(D.tenant_id,t));return{invites:l,start:i*a,limit:a,length:Number(u?.count??0)}},async remove(t,r){return(await e.delete(D).where((0,n.and)((0,n.eq)(D.tenant_id,t),(0,n.eq)(D.id,r))).returning()).length>0}}}var St=[`kid`,`connection`,`fingerprint`,`thumbprint`,`type`];function Ct(e){return{async create(t){await e.insert(V).values({...t,created_at:new Date().toDateString()})},async list(t){let{page:r=0,per_page:i=50,include_totals:s=!1,sort:c,q:l}=t||{},u=new Date().toISOString(),d=[(0,n.or)((0,n.gt)(V.revoked_at,u),(0,n.isNull)(V.revoked_at))];if(l){let e=(0,o.sanitizeLuceneQuery)(l,St);if(e){let t=Z(V,e,St);t&&d.push(t)}}let f=(0,n.and)(...d),p=e.select().from(V).where(f).$dynamic();if(c?.sort_by){let e=V[c.sort_by];e&&(p=p.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let m=(await p.offset(r*i).limit(i)).map(e=>{let{created_at:t,...n}=e;return(0,a.removeNullProperties)(n)});if(!s)return{signingKeys:m};let[h]=await e.select({count:(0,n.count)()}).from(V).where(f);return{signingKeys:m,start:r*i,limit:i,length:(0,a.getCountAsInt)(h?.count??0)}},async update(t,r){return(await e.update(V).set(r).where((0,n.eq)(V.kid,t)).returning()).length>0}}}var wt=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,Tt=32;function Et(){let e=Date.now(),t=``;for(let n=10;n>0;n--)t=wt.charAt(e%Tt)+t,e=Math.floor(e/Tt);let n=new Uint8Array(16);crypto.getRandomValues(n);for(let e=0;e<16;e++)t+=wt.charAt(n[e]%Tt);return t}function Dt(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,expires_at_ts:i,state_data:o,auth_params:s,...c}=e,l=(0,a.convertDatesToAdapter)({created_at_ts:n,updated_at_ts:r,expires_at_ts:i},[`created_at_ts`,`updated_at_ts`,`expires_at_ts`]),u={};for(let[e,t]of Object.entries(c))t!=null&&(u[e]=t);return(0,a.removeNullProperties)({...ce(u,[`auth_strategy`]),authParams:typeof s==`string`&&s.length>0?JSON.parse(s):{},...l,state_data:X(o)})}function Ot(e){return{async create(t,n){let r=Date.now(),i={id:Et(),tenant_id:t,session_id:n.session_id,csrf_token:n.csrf_token,auth_params:JSON.stringify(n.authParams||{}),authorization_url:n.authorization_url?n.authorization_url.substring(0,1024):void 0,ip:n.ip,useragent:n.useragent,auth0Client:n.auth0Client,state:n.state||`pending`,state_data:n.state_data?JSON.stringify(n.state_data):void 0,failure_reason:n.failure_reason,user_id:n.user_id,auth_connection:n.auth_connection,auth_strategy_strategy:n.auth_strategy?.strategy,auth_strategy_strategy_type:n.auth_strategy?.strategy_type,authenticated_at:n.authenticated_at,created_at_ts:r,updated_at_ts:r,expires_at_ts:n.expires_at?(0,a.isoToDbDate)(n.expires_at):r+1e3*60*60*24};return await e.insert(_).values(i),Dt({...i,tenant_id:t})},async get(t,r){let i=t?(0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r)):(0,n.eq)(_.id,r),a=await e.select().from(_).where(i).get();return a?Dt(a):null},async update(t,r,i){let o={updated_at_ts:Date.now()};if(i.session_id!==void 0&&(o.session_id=i.session_id),i.state!==void 0&&(o.state=i.state),i.state_data!==void 0&&(o.state_data=JSON.stringify(i.state_data)),i.failure_reason!==void 0&&(o.failure_reason=i.failure_reason),i.user_id!==void 0&&(o.user_id=i.user_id),i.auth_connection!==void 0&&(o.auth_connection=i.auth_connection),i.auth_strategy!==void 0&&(o.auth_strategy_strategy=i.auth_strategy?.strategy,o.auth_strategy_strategy_type=i.auth_strategy?.strategy_type),i.authenticated_at!==void 0&&(o.authenticated_at=i.authenticated_at),i.authorization_url!==void 0&&(o.authorization_url=i.authorization_url?.substring(0,1024)),i.expires_at!==void 0&&(o.expires_at_ts=(0,a.isoToDbDate)(i.expires_at)),i.authParams!==void 0){let a=await e.select({auth_params:_.auth_params}).from(_).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r))).get(),s=a?.auth_params&&typeof a.auth_params==`string`&&a.auth_params.length>0?JSON.parse(a.auth_params):{};o.auth_params=JSON.stringify({...s,...i.authParams})}return await e.update(_).set(o).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r))),!0},async remove(t,r){return(await e.delete(_).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r))).returning()).length>0}}}function kt(e){let{tenant_id:t,isMobile:n,auth0_client:r,details:i,country_code:o,city_name:s,latitude:c,longitude:l,time_zone:u,continent_code:d,scope:f,...p}=e,m={...p,isMobile:!!n,auth0_client:X(r),details:X(i),scope:f?f.split(`,`):void 0};return o&&(m.location_info=(0,a.removeNullProperties)({country_code:o,city_name:s,latitude:c,longitude:l,time_zone:u,continent_code:d})),(0,a.removeNullProperties)(m)}function At(e){return{async create(t,n){let i={log_id:n.log_id||(0,r.nanoid)(),tenant_id:t,type:n.type,date:n.date||new Date().toISOString(),category:n.category,user_id:n.user_id,ip:n.ip,client_id:n.client_id,client_name:n.client_name,user_agent:n.user_agent?.substring(0,256),description:n.description?.substring(0,256),isMobile:+!!n.isMobile,user_name:n.user_name,connection:n.connection,connection_id:n.connection_id,audience:n.audience,scope:Array.isArray(n.scope)?n.scope.join(`,`):n.scope,strategy:n.strategy,strategy_type:n.strategy_type,hostname:n.hostname,session_connection:n.session_connection};return n.auth0_client&&(i.auth0_client=JSON.stringify(n.auth0_client)),n.details&&(i.details=JSON.stringify(n.details).substring(0,8192)),n.location_info&&(i.country_code=n.location_info.country_code,i.city_name=n.location_info.city_name,i.latitude=n.location_info.latitude,i.longitude=n.location_info.longitude,i.time_zone=n.location_info.time_zone,i.continent_code=n.location_info.continent_code),await e.insert(W).values(i),kt({...i,tenant_id:t})},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:c,q:l,from_date:u,to_date:d}=r||{},f=[(0,n.eq)(W.tenant_id,t)];if(l){let e=Z(W,l,[`user_id`,`ip`,`type`,`client_id`],[`description`]);e&&f.push(e)}typeof u==`number`&&Number.isFinite(u)&&f.push((0,n.gte)(W.date,new Date(Math.floor(u)*1e3).toISOString())),typeof d==`number`&&Number.isFinite(d)&&f.push((0,n.lt)(W.date,new Date((Math.floor(d)+1)*1e3).toISOString()));let p=(0,n.and)(...f);if(Se(r)){if(c?.sort_by&&c.sort_by!==`date`)throw new s.HTTPException(400,{message:`Sorting by ${c.sort_by} is not supported with checkpoint pagination (from/take); only date is`});let t=c?.sort_order===`asc`?`asc`:`desc`,i={sortColumn:W.date,idColumn:W.log_id,sortOrder:t,sortKey:`date:${t}`},a=Te(r,i),o=Ce(r),{rows:l,next:u}=Ee(await e.select().from(W).where(a?(0,n.and)(p,a):p).orderBy(...we(i)).limit(o+1),o,`date`,`log_id`,i.sortKey),d=l.map(kt);return{logs:d,start:0,limit:o,length:d.length,next:u}}let m=e.select().from(W).where(p).$dynamic();if(c?.sort_by){let e=W[c.sort_by];e&&(m=m.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}else m=m.orderBy((0,n.desc)(W.date));let h=(await m.offset(i*a).limit(a)).map(kt);if(!o)return{logs:h};let[g]=await e.select({count:(0,n.count)()}).from(W).where(p);return{logs:h,start:i*a,limit:a,length:Number(g?.count??0)}},async get(t,r){let i=await e.select().from(W).where((0,n.and)((0,n.eq)(W.tenant_id,t),(0,n.eq)(W.log_id,r))).get();return i?kt(i):null}}}var jt=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,Mt=32;function Nt(){let e=Date.now(),t=``;for(let n=10;n>0;n--)t=jt.charAt(e%Mt)+t,e=Math.floor(e/Mt);let n=new Uint8Array(16);crypto.getRandomValues(n);for(let e=0;e<16;e++)t+=jt.charAt(n[e]%Mt);return t}function Pt(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,credential_backed_up:i,confirmed:o,transports:s,...c}=e;return(0,a.removeNullProperties)({...c,confirmed:!!o,credential_backed_up:i==null?void 0:!!i,transports:X(s),created_at:(0,a.dbDateToIsoRequired)(n),updated_at:(0,a.dbDateToIsoRequired)(r)})}function Ft(e){return{async create(t,n){let r=Date.now(),i={id:n.id||Nt(),tenant_id:t,user_id:n.user_id,type:n.type,phone_number:n.phone_number,totp_secret:n.totp_secret,credential_id:n.credential_id,public_key:n.public_key,sign_count:n.sign_count,credential_backed_up:n.credential_backed_up==null?null:+!!n.credential_backed_up,transports:n.transports?JSON.stringify(n.transports):null,friendly_name:n.friendly_name,confirmed:+!!n.confirmed,created_at_ts:r,updated_at_ts:r};return await e.insert(U).values(i),Pt({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.id,r))).get();return i?Pt(i):null},async getByCredentialId(t,r){let i=await e.select().from(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.credential_id,r))).get();return i?Pt(i):null},async list(t,r){return(await e.select().from(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.user_id,r))).all()).map(Pt)},async update(t,r,i){let a={updated_at_ts:Date.now()};i.type!==void 0&&(a.type=i.type),i.phone_number!==void 0&&(a.phone_number=i.phone_number),i.totp_secret!==void 0&&(a.totp_secret=i.totp_secret),i.credential_id!==void 0&&(a.credential_id=i.credential_id),i.public_key!==void 0&&(a.public_key=i.public_key),i.sign_count!==void 0&&(a.sign_count=i.sign_count),i.credential_backed_up!==void 0&&(a.credential_backed_up=+!!i.credential_backed_up),i.transports!==void 0&&(a.transports=JSON.stringify(i.transports)),i.friendly_name!==void 0&&(a.friendly_name=i.friendly_name),i.confirmed!==void 0&&(a.confirmed=+!!i.confirmed),await e.update(U).set(a).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.id,r)));let o=await this.get(t,r);if(!o)throw Error(`Authentication method ${r} not found after update`);return o},async remove(t,r){return(await e.delete(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.eq)(U.id,r))).returning()).length>0}}}var It=[`name`,`display_name`];function Lt(){return`org_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}function Rt(e){let{tenant_id:t,branding:n,metadata:r,enabled_connections:i,token_quota:o,...s}=e;return(0,a.removeNullProperties)({...s,branding:X(n,{}),metadata:X(r,{}),enabled_connections:X(i,[]),token_quota:X(o,{})})}function zt(e){return{async create(t,n){let r=new Date().toISOString(),i={id:n.id||Lt(),tenant_id:t,name:n.name,display_name:n.display_name,branding:JSON.stringify(n.branding||{}),metadata:JSON.stringify(n.metadata||{}),enabled_connections:JSON.stringify(n.enabled_connections||[]),token_quota:JSON.stringify(n.token_quota||{}),created_at:r,updated_at:r};try{await e.insert(T).values(i)}catch(e){throw e?.message?.includes(`UNIQUE constraint failed`)||e?.message?.includes(`AlreadyExists`)?new s.HTTPException(409,{message:`Organization already exists`}):e}return Rt({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r))).get();return i||=await e.select().from(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.name,r))).get(),i?Rt(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.display_name!==void 0&&(a.display_name=i.display_name),i.branding!==void 0&&(a.branding=JSON.stringify(i.branding)),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),i.enabled_connections!==void 0&&(a.enabled_connections=JSON.stringify(i.enabled_connections)),i.token_quota!==void 0&&(a.token_quota=JSON.stringify(i.token_quota)),(await e.update(T).set(a).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:s=!1,sort:c,q:l}=r||{},u=[(0,n.eq)(T.tenant_id,t)];if(l){let e=(0,o.sanitizeLuceneQuery)(l,It);if(e){let t=Z(T,e,It);t&&u.push(t)}}let d=(0,n.and)(...u);if(Se(r)){let t={sortColumn:T.created_at,idColumn:T.id,sortOrder:`desc`},i=Te(r,t),a=Ce(r),{rows:o,next:s}=Ee(await e.select().from(T).where(i?(0,n.and)(d,i):d).orderBy(...we(t)).limit(a+1),a,`created_at`),c=o.map(Rt);return{organizations:c,start:0,limit:a,length:c.length,total:c.length,next:s}}let f=e.select().from(T).where(d).$dynamic();if(c?.sort_by){let e=T[c.sort_by];e&&(f=f.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let p=(await f.offset(i*a).limit(a)).map(Rt);if(!s)return{organizations:p};let[m]=await e.select({count:(0,n.count)()}).from(T).where(d);return{organizations:p,start:i*a,limit:a,length:Number(m?.count??0)}},async remove(t,r){return(await e.delete(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r))).returning()).length>0}}}function Bt(e){let{tenant_id:t,is_current:n,...r}=e;return{...r,is_current:!!n}}function Vt(e){return{async create(t,i){let a=new Date().toISOString(),o=i.id||(0,r.nanoid)();i.is_current!==!1&&await e.update(p).set({is_current:0}).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,i.user_id)));let s={id:o,tenant_id:t,user_id:i.user_id,password:i.password,algorithm:i.algorithm||`bcrypt`,is_current:i.is_current===!1?0:1,created_at:a,updated_at:a};return await e.insert(p).values(s),Bt({...s,tenant_id:t})},async get(t,r){let i=await e.select().from(p).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,r),(0,n.eq)(p.is_current,1))).get();return i?Bt(i):null},async list(t,r,i){let a=e.select().from(p).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,r))).orderBy((0,n.desc)(p.created_at)).$dynamic();return i&&(a=a.limit(i)),(await a).map(Bt)},async update(t,r){let i={updated_at:new Date().toISOString()};return r.password!==void 0&&(i.password=r.password),r.algorithm!==void 0&&(i.algorithm=r.algorithm),r.is_current!==void 0&&(i.is_current=+!!r.is_current),r.id?await e.update(p).set(i).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.id,r.id))):await e.update(p).set(i).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.eq)(p.user_id,r.user_id),(0,n.eq)(p.is_current,1))),!0}}}function Ht(e){return{async get(t){let r=await e.select().from(ae).where((0,n.eq)(ae.tenant_id,t)).get();return r?{universal_login_experience:r.universal_login_experience,identifier_first:!!r.identifier_first,password_first:!!r.password_first,webauthn_platform_first_factor:!!r.webauthn_platform_first_factor,show_last_used_connection:!!r.show_last_used_connection}:{universal_login_experience:`new`,identifier_first:!0,password_first:!1,webauthn_platform_first_factor:!1,show_last_used_connection:!1}},async set(t,n){await e.insert(ae).values({tenant_id:t,universal_login_experience:n.universal_login_experience,identifier_first:n.identifier_first,password_first:n.password_first,webauthn_platform_first_factor:n.webauthn_platform_first_factor,show_last_used_connection:n.show_last_used_connection}).onConflictDoUpdate({target:ae.tenant_id,set:{universal_login_experience:n.universal_login_experience,identifier_first:n.identifier_first,password_first:n.password_first,webauthn_platform_first_factor:n.webauthn_platform_first_factor,show_last_used_connection:n.show_last_used_connection}})}}}function Ut(e){if(!e)return{path:`/*`};try{let t=JSON.parse(e),n=o.matchSchema.safeParse(t);if(n.success)return n.data}catch{}return{path:`/*`}}function Wt(e){if(!e)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=o.handlerConfigSchema.safeParse(e);t.success&&n.push(t.data)}return n}catch{return[]}}function Gt(e){return{id:e.id,tenant_id:e.tenant_id,custom_domain_id:e.custom_domain_id,priority:e.priority,match:Ut(e.match),handlers:Wt(e.handlers),created_at:e.created_at,updated_at:e.updated_at}}function Kt(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,custom_domain_id:n.custom_domain_id,priority:n.priority,match:n.match,handlers:n.handlers,created_at:i,updated_at:i};return await e.insert(K).values({id:a.id,tenant_id:a.tenant_id,custom_domain_id:a.custom_domain_id,priority:a.priority,match:JSON.stringify(a.match),handlers:JSON.stringify(a.handlers),created_at:a.created_at,updated_at:a.updated_at}),a},async get(t,r){let i=await e.select().from(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))).limit(1);return i[0]?Gt(i[0]):null},async list(t,r={}){let i=r.page??0,a=r.per_page??50,o=[(0,n.eq)(K.tenant_id,t)];r.custom_domain_id&&o.push((0,n.eq)(K.custom_domain_id,r.custom_domain_id));let s=await e.select().from(K).where((0,n.and)(...o)).orderBy((0,n.asc)(K.priority),(0,n.asc)(K.created_at)).offset(i*a).limit(a);return{proxy_routes:s.map(Gt),start:i*a,limit:a,length:s.length}},async update(t,r,i){let a={updated_at:new Date().toISOString()};i.priority!==void 0&&(a.priority=i.priority),i.match!==void 0&&(a.match=JSON.stringify(i.match)),i.handlers!==void 0&&(a.handlers=JSON.stringify(i.handlers));let o=(await e.update(K).set(a).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))))?.changes;return typeof o==`number`?o>0:(await e.select({id:K.id}).from(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))).limit(1)).length>0},async remove(t,r){return(await e.select({id:K.id}).from(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))).limit(1)).length===0?!1:(await e.delete(K).where((0,n.and)((0,n.eq)(K.tenant_id,t),(0,n.eq)(K.id,r))),!0)}}}function qt(e){if(!e)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=o.scimMappingEntrySchema.safeParse(e);t.success&&n.push(t.data)}return n}catch{return[]}}function Jt(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Yt(e){return{connection_id:e.connection_id,user_id_attribute:e.user_id_attribute,mapping:qt(e.mapping),created_at:e.created_at,updated_at:e.updated_at}}function Xt(e){return{async create(t,n){let r=new Date().toISOString(),i={connection_id:n.connection_id,user_id_attribute:n.user_id_attribute,mapping:n.mapping,created_at:r,updated_at:r};return await e.insert(q).values({connection_id:i.connection_id,tenant_id:t,user_id_attribute:i.user_id_attribute,mapping:JSON.stringify(i.mapping),created_at:r,updated_at:r}),i},async get(t,r){let i=await e.select().from(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))).limit(1);return i[0]?Yt(i[0]):null},async update(t,r,i){if((await e.select({connection_id:q.connection_id}).from(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))).limit(1)).length===0)return!1;let a={updated_at:new Date().toISOString()};return i.user_id_attribute!==void 0&&(a.user_id_attribute=i.user_id_attribute),i.mapping!==void 0&&(a.mapping=JSON.stringify(i.mapping)),await e.update(q).set(a).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))),!0},async remove(t,r){return(await e.select({connection_id:q.connection_id}).from(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))).limit(1)).length===0?!1:(await e.delete(q).where((0,n.and)((0,n.eq)(q.tenant_id,t),(0,n.eq)(q.connection_id,r))),!0)}}}function Zt(e){return{token_id:e.token_id,connection_id:e.connection_id,token_hash:e.token_hash,scopes:Jt(e.scopes),valid_until:e.valid_until??void 0,created_at:e.created_at,last_used_at:e.last_used_at??void 0}}function Qt(e){return{async create(t,n){let r=new Date().toISOString(),i={token_id:n.token_id,connection_id:n.connection_id,token_hash:n.token_hash,scopes:n.scopes,valid_until:n.valid_until,created_at:r};return await e.insert(J).values({token_id:i.token_id,tenant_id:t,connection_id:i.connection_id,token_hash:i.token_hash,scopes:JSON.stringify(i.scopes),valid_until:i.valid_until,created_at:r}),i},async get(t,r){let i=await e.select().from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))).limit(1);return i[0]?Zt(i[0]):null},async getByHash(t,r){let i=await e.select().from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_hash,r))).limit(1);return i[0]?Zt(i[0]):null},async listByConnection(t,r){return(await e.select().from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.connection_id,r)))).map(Zt)},async markUsed(t,r,i){return(await e.select({token_id:J.token_id}).from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))).limit(1)).length===0?!1:(await e.update(J).set({last_used_at:i}).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))),!0)},async remove(t,r){return(await e.select({token_id:J.token_id}).from(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))).limit(1)).length===0?!1:(await e.delete(J).where((0,n.and)((0,n.eq)(J.tenant_id,t),(0,n.eq)(J.token_id,r))),!0)}}}function $t(e){return{connection_id:e.connection_id,external_id:e.external_id,user_id:e.user_id,created_at:e.created_at}}function en(e){return{async create(t,n){let r=new Date().toISOString(),i={connection_id:n.connection_id,external_id:n.external_id,user_id:n.user_id,created_at:r};return await e.insert(Y).values({tenant_id:t,connection_id:i.connection_id,external_id:i.external_id,user_id:i.user_id,created_at:r}),i},async getByExternalId(t,r,i){let a=await e.select().from(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.external_id,i))).limit(1);return a[0]?$t(a[0]):null},async getByUserId(t,r,i){let a=await e.select().from(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.user_id,i))).limit(1);return a[0]?$t(a[0]):null},async remove(t,r,i){return(await e.select({user_id:Y.user_id}).from(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.user_id,i))).limit(1)).length===0?!1:(await e.delete(Y).where((0,n.and)((0,n.eq)(Y.tenant_id,t),(0,n.eq)(Y.connection_id,r),(0,n.eq)(Y.user_id,i))),!0)}}}function tn(e){let{tenant_id:t,created_at_ts:n,expires_at_ts:r,idle_expires_at_ts:i,last_exchanged_at_ts:o,revoked_at_ts:s,rotated_at_ts:c,device:l,resource_servers:u,rotating:d,...f}=e,p=(0,a.convertDatesToAdapter)({created_at_ts:n,expires_at_ts:r,idle_expires_at_ts:i,last_exchanged_at_ts:o,revoked_at_ts:s,rotated_at_ts:c},[`created_at_ts`],[`expires_at_ts`,`idle_expires_at_ts`,`last_exchanged_at_ts`,`revoked_at_ts`,`rotated_at_ts`]);return(0,a.removeNullProperties)({...f,...p,rotating:!!d,device:X(l,{}),resource_servers:X(u,[])})}function nn(e,t){return Math.max(e??0,t??0)}function rn(e){return{async create(t,i){let o=Date.now(),s={id:i.id||(0,r.nanoid)(),tenant_id:t,client_id:i.client_id,login_id:i.login_id,user_id:i.user_id,device:JSON.stringify(i.device||{}),resource_servers:JSON.stringify(i.resource_servers||[]),rotating:i.rotating??!1,token_lookup:i.token_lookup??null,token_hash:i.token_hash??null,family_id:i.family_id??null,rotated_to:i.rotated_to??null,rotated_at_ts:(0,a.isoToDbDate)(i.rotated_at),created_at_ts:o,expires_at_ts:(0,a.isoToDbDate)(i.expires_at),idle_expires_at_ts:(0,a.isoToDbDate)(i.idle_expires_at),last_exchanged_at_ts:(0,a.isoToDbDate)(i.last_exchanged_at)},c=[e.insert(g).values(s)],l=nn(s.expires_at_ts,s.idle_expires_at_ts);return l>0&&s.login_id&&c.push(e.update(_).set({expires_at_ts:l,updated_at_ts:o}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,s.login_id),(0,n.lt)(_.expires_at_ts,l)))),await _e(e,c),tn({...s,tenant_id:t})},async get(t,r){let i=await e.select().from(g).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.id,r))).get();return i?tn(i):null},async getByLookup(t,r){let i=await e.select().from(g).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.token_lookup,r))).get();return i?tn(i):null},async update(t,r,i,o){let s={};i.device!==void 0&&(s.device=JSON.stringify(i.device)),i.resource_servers!==void 0&&(s.resource_servers=JSON.stringify(i.resource_servers)),i.rotating!==void 0&&(s.rotating=i.rotating),i.token_lookup!==void 0&&(s.token_lookup=i.token_lookup),i.token_hash!==void 0&&(s.token_hash=i.token_hash),i.family_id!==void 0&&(s.family_id=i.family_id),i.rotated_to!==void 0&&(s.rotated_to=i.rotated_to),i.rotated_at!==void 0&&(s.rotated_at_ts=(0,a.isoToDbDate)(i.rotated_at)),i.expires_at!==void 0&&(s.expires_at_ts=(0,a.isoToDbDate)(i.expires_at)),i.idle_expires_at!==void 0&&(s.idle_expires_at_ts=(0,a.isoToDbDate)(i.idle_expires_at)),i.last_exchanged_at!==void 0&&(s.last_exchanged_at_ts=(0,a.isoToDbDate)(i.last_exchanged_at)),i.revoked_at!==void 0&&(s.revoked_at_ts=(0,a.isoToDbDate)(i.revoked_at));let c=o?.loginSessionBump,l=c?(0,a.isoToDbDate)(c.expires_at):null,u=await e.update(g).set(s).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.id,r))).returning();return c?.login_id&&l&&l>0&&await e.update(_).set({expires_at_ts:l,updated_at_ts:Date.now()}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,c.login_id),(0,n.lt)(_.expires_at_ts,l))).catch(()=>{}),u.length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=e.select().from(g).where((0,n.eq)(g.tenant_id,t)).$dynamic();if(c){let e=Z(g,c,[`user_id`,`login_id`]);e&&(l=l.where((0,n.and)((0,n.eq)(g.tenant_id,t),e)))}if(s?.sort_by){let e=g[s.sort_by];e&&(l=l.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let u=(await l.offset(i*a).limit(a)).map(tn);if(!o)return{refresh_tokens:u};let[d]=await e.select({count:(0,n.count)()}).from(g).where((0,n.eq)(g.tenant_id,t));return{refresh_tokens:u,start:i*a,limit:a,length:Number(d?.count??0)}},async remove(t,r){return(await e.delete(g).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.id,r))).returning()).length>0},async revokeByLoginSession(t,r,i){return(await e.update(g).set({revoked_at_ts:(0,a.isoToDbDate)(i)}).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.login_id,r),(0,n.isNull)(g.revoked_at_ts))).returning()).length},async revokeFamily(t,r,i){return(await e.update(g).set({revoked_at_ts:(0,a.isoToDbDate)(i)}).where((0,n.and)((0,n.eq)(g.tenant_id,t),(0,n.eq)(g.family_id,r),(0,n.isNull)(g.revoked_at_ts))).returning()).length}}}var an=[`name`,`identifier`];function on(){return`api_${(0,r.customAlphabet)(`0123456789abcdefghijklmnopqrstuvwxyz`,17)()}`}var sn=[`skip_consent_for_verifiable_first_party_clients`,`allow_offline_access`,`is_system`],cn=new Set([`id`,`tenant_id`,`identifier`,`name`,`scopes`,`signing_alg`,`signing_secret`,`token_lifetime`,`token_lifetime_for_web`,`skip_consent_for_verifiable_first_party_clients`,`allow_offline_access`,`verification_key`,`options`,`is_system`,`metadata`,`created_at`,`updated_at`]);function ln(e){let{tenant_id:t,verification_key:n,scopes:r,options:i,metadata:o,...s}=e,c={...s};c.scopes=X(r,[]),c.options=X(i,{}),c.metadata=X(o),n!==void 0&&(c.verificationKey=n);for(let e of sn)s[e]!==void 0&&s[e]!==null&&(c[e]=!!s[e]);return(0,a.removeNullProperties)(c)}function un(e){return{async create(t,n){let r=new Date().toISOString(),i={id:n.id||on(),tenant_id:t,identifier:n.identifier,name:n.name,signing_alg:n.signing_alg,signing_secret:n.signing_secret,token_lifetime:n.token_lifetime,token_lifetime_for_web:n.token_lifetime_for_web,scopes:JSON.stringify(n.scopes||[]),options:JSON.stringify(n.options||{}),metadata:n.metadata?JSON.stringify(n.metadata):void 0,verification_key:n.verificationKey||n.verification_key,created_at:r,updated_at:r};for(let e of sn)n[e]!==void 0&&(i[e]=+!!n[e]);return i.is_system===void 0&&(i.is_system=0),await e.insert(M).values(i),ln({...i,tenant_id:t})},async get(t,r){let i=await e.select().from(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.id,r))).get();return i?ln(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};i.name!==void 0&&(a.name=i.name),i.identifier!==void 0&&(a.identifier=i.identifier),i.signing_alg!==void 0&&(a.signing_alg=i.signing_alg),i.signing_secret!==void 0&&(a.signing_secret=i.signing_secret),i.token_lifetime!==void 0&&(a.token_lifetime=i.token_lifetime),i.token_lifetime_for_web!==void 0&&(a.token_lifetime_for_web=i.token_lifetime_for_web),i.scopes!==void 0&&(a.scopes=JSON.stringify(i.scopes)),i.options!==void 0&&(a.options=n.sql`json_patch(COALESCE(${M.options}, '{}'), ${JSON.stringify(i.options)})`),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),i.verificationKey!==void 0&&(a.verification_key=i.verificationKey);for(let e of sn)i[e]!==void 0&&(a[e]=+!!i[e]);return(await e.update(M).set(a).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:s=!1,sort:c,q:l}=r||{},u=Math.max(0,Math.floor(Number(i)||0)),d=Math.min(Math.max(1,Math.floor(Number(a)||50)),500),f=[(0,n.eq)(M.tenant_id,t)];if(l){let e=(0,o.sanitizeLuceneQuery)(l,an);if(e){let t=Z(M,e,an,[`name`,`identifier`]);t&&f.push(t)}}let p=e.select().from(M).where((0,n.and)(...f)).$dynamic();if(c?.sort_by&&cn.has(c.sort_by)){let e=M[c.sort_by];p=p.orderBy(c.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e))}let m=(await p.offset(u*d).limit(d)).map(ln);if(!s)return{resource_servers:m};let[h]=await e.select({count:(0,n.count)()}).from(M).where((0,n.and)(...f));return{resource_servers:m,start:u*d,limit:d,length:Number(h?.count??0)}},async remove(t,r){return(await e.delete(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.id,r))).returning()).length>0}}}function dn(e){return{async assign(t,n,r){let i=new Date().toISOString();return await e.insert(k).values(r.map(e=>({tenant_id:t,role_id:n,resource_server_identifier:e.resource_server_identifier,permission_name:e.permission_name,created_at:i}))).onConflictDoNothing(),!0},async list(t,r,i){let a=await e.select({resource_server_identifier:k.resource_server_identifier,permission_name:k.permission_name,created_at:k.created_at}).from(k).where((0,n.and)((0,n.eq)(k.tenant_id,t),(0,n.eq)(k.role_id,r))).all(),o=[...new Set(a.map(e=>e.resource_server_identifier))],s=new Map;if(o.length>0){let r=await e.select({identifier:M.identifier,name:M.name}).from(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.inArray)(M.identifier,o))).all();for(let e of r)s.set(e.identifier,e.name)}return a.map(e=>({...e,resource_server_name:s.get(e.resource_server_identifier)||e.resource_server_identifier}))},async remove(t,r,i){let a=i.map(e=>(0,n.and)((0,n.eq)(k.resource_server_identifier,e.resource_server_identifier),(0,n.eq)(k.permission_name,e.permission_name)));return(await e.delete(k).where((0,n.and)((0,n.eq)(k.tenant_id,t),(0,n.eq)(k.role_id,r),(0,n.or)(...a))).returning()).length>0}}}function fn(e){return{async create(t,n,r,i){try{await e.insert(A).values({tenant_id:t,user_id:n,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,organization_id:i||``,created_at:new Date().toISOString()})}catch(e){if(e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`SQLITE_CONSTRAINT_PRIMARYKEY`))return!0;throw e}return!0},async list(t,r,i,a){let o=[(0,n.eq)(A.tenant_id,t),(0,n.eq)(A.user_id,r)];a&&o.push((0,n.eq)(A.organization_id,a));let s=await e.select().from(A).where((0,n.and)(...o)).all();return await Promise.all(s.map(async r=>{let i=await e.select({name:M.name}).from(M).where((0,n.and)((0,n.eq)(M.tenant_id,t),(0,n.eq)(M.identifier,r.resource_server_identifier))).get();return{resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,resource_server_name:i?.name||r.resource_server_identifier,organization_id:r.organization_id===``?void 0:r.organization_id}}))},async remove(t,r,i,a){return(await e.delete(A).where((0,n.and)((0,n.eq)(A.tenant_id,t),(0,n.eq)(A.user_id,r),(0,n.eq)(A.resource_server_identifier,i.resource_server_identifier),(0,n.eq)(A.permission_name,i.permission_name),(0,n.eq)(A.organization_id,a||``))).returning()).length>0}}}function pn(e){let{tenant_id:t,is_system:n,metadata:r,...i}=e;return(0,a.removeNullProperties)({...i,is_system:n?!0:void 0,metadata:X(r)})}function mn(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,name:n.name,description:n.description,is_system:+!!n.is_system,metadata:n.metadata?JSON.stringify(n.metadata):void 0,created_at:i,updated_at:i};return await e.insert(O).values(a),pn({...a,tenant_id:t})},async get(t,r){let i=await e.select().from(O).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r))).get();return i?pn(i):null},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.name!==void 0&&(a.name=i.name),i.description!==void 0&&(a.description=i.description),i.is_system!==void 0&&(a.is_system=+!!i.is_system),i.metadata!==void 0&&(a.metadata=JSON.stringify(i.metadata)),(await e.update(O).set(a).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r))).returning()).length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(O,c,[`name`]):void 0,u=l?(0,n.and)((0,n.eq)(O.tenant_id,t),l):(0,n.eq)(O.tenant_id,t),d=e.select().from(O).where(u).$dynamic();if(s?.sort_by){let e=O[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let f=(await d.offset(i*a).limit(a)).map(pn);if(!o)return{roles:f};let[p]=await e.select({count:(0,n.count)()}).from(O).where(u);return{roles:f,start:i*a,limit:a,length:Number(p?.count??0)}},async remove(t,r){return(await e.delete(O).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r))).returning()).length>0}}}var hn=[`created_at_ts`,`updated_at_ts`],gn=[`expires_at_ts`,`idle_expires_at_ts`,`authenticated_at_ts`,`last_interaction_at_ts`,`used_at_ts`,`revoked_at_ts`];function _n(e){let{tenant_id:t,created_at_ts:n,updated_at_ts:r,expires_at_ts:i,idle_expires_at_ts:o,authenticated_at_ts:s,last_interaction_at_ts:c,used_at_ts:l,revoked_at_ts:u,device:d,clients:f,...p}=e,m=(0,a.convertDatesToAdapter)({created_at_ts:n,updated_at_ts:r,expires_at_ts:i,idle_expires_at_ts:o,authenticated_at_ts:s,last_interaction_at_ts:c,used_at_ts:l,revoked_at_ts:u},[...hn],[...gn]);return(0,a.removeNullProperties)({...p,...m,device:X(d,{}),clients:X(f,[])})}function vn(e,t){return Math.max(e??0,t??0)}function yn(e){return{async create(t,i){let o=Date.now(),s={id:i.id||(0,r.nanoid)(),tenant_id:t,user_id:i.user_id,login_session_id:i.login_session_id,device:JSON.stringify(i.device||{}),clients:JSON.stringify(i.clients||[]),created_at_ts:o,updated_at_ts:o,expires_at_ts:(0,a.isoToDbDate)(i.expires_at),idle_expires_at_ts:(0,a.isoToDbDate)(i.idle_expires_at),authenticated_at_ts:i.authenticated_at?(0,a.isoToDbDate)(i.authenticated_at):o,last_interaction_at_ts:i.last_interaction_at?(0,a.isoToDbDate)(i.last_interaction_at):o,used_at_ts:(0,a.isoToDbDate)(i.used_at),revoked_at_ts:(0,a.isoToDbDate)(i.revoked_at)},c=[e.insert(h).values(s)],l=vn(s.expires_at_ts,s.idle_expires_at_ts);return l>0&&s.login_session_id&&c.push(e.update(_).set({expires_at_ts:l,updated_at_ts:o}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,s.login_session_id),(0,n.lt)(_.expires_at_ts,l)))),await _e(e,c),_n({...s,tenant_id:t})},async get(t,r){let i=await e.select().from(h).where((0,n.and)((0,n.eq)(h.tenant_id,t),(0,n.eq)(h.id,r))).get();return i?_n(i):null},async update(t,r,i){let o={updated_at_ts:Date.now()};i.user_id!==void 0&&(o.user_id=i.user_id),i.login_session_id!==void 0&&(o.login_session_id=i.login_session_id),i.device!==void 0&&(o.device=JSON.stringify(i.device)),i.clients!==void 0&&(o.clients=JSON.stringify(i.clients)),i.expires_at!==void 0&&(o.expires_at_ts=(0,a.isoToDbDate)(i.expires_at)),i.idle_expires_at!==void 0&&(o.idle_expires_at_ts=(0,a.isoToDbDate)(i.idle_expires_at)),i.authenticated_at!==void 0&&(o.authenticated_at_ts=(0,a.isoToDbDate)(i.authenticated_at)),i.last_interaction_at!==void 0&&(o.last_interaction_at_ts=(0,a.isoToDbDate)(i.last_interaction_at)),i.used_at!==void 0&&(o.used_at_ts=(0,a.isoToDbDate)(i.used_at)),i.revoked_at!==void 0&&(o.revoked_at_ts=(0,a.isoToDbDate)(i.revoked_at));let s=await e.update(h).set(o).where((0,n.and)((0,n.eq)(h.tenant_id,t),(0,n.eq)(h.id,r))).returning(),c=vn(o.expires_at_ts,o.idle_expires_at_ts),l=s[0];if(c>0&&l){let r=i.login_session_id??l.login_session_id;r&&await e.update(_).set({expires_at_ts:c,updated_at_ts:Date.now()}).where((0,n.and)((0,n.eq)(_.tenant_id,t),(0,n.eq)(_.id,r),(0,n.lt)(_.expires_at_ts,c))).catch(()=>{})}return s.length>0},async list(t,r){let{page:i=0,per_page:a=50,include_totals:o=!1,sort:s,q:c}=r||{},l=c?Z(h,c,[`user_id`,`id`]):void 0,u=l?(0,n.and)((0,n.eq)(h.tenant_id,t),l):(0,n.eq)(h.tenant_id,t),d=e.select().from(h).where(u).$dynamic();if(s?.sort_by){let e=h[s.sort_by];e&&(d=d.orderBy(s.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let f=(await d.offset(i*a).limit(a)).map(_n);if(!o)return{sessions:f};let[p]=await e.select({count:(0,n.count)()}).from(h).where(u);return{sessions:f,start:i*a,limit:a,length:Number(p?.count??0)}},async remove(t,r){return(await e.delete(h).where((0,n.and)((0,n.eq)(h.tenant_id,t),(0,n.eq)(h.id,r))).returning()).length>0}}}var bn=[`session_cookie`,`enabled_locales`,`error_page`,`flags`,`sandbox_versions_available`,`change_password`,`guardian_mfa_page`,`sessions`,`oidc_logout`,`device_flow`,`default_token_quota`,`allowed_logout_urls`,`acr_values_supported`,`mtls`,`mfa`],xn=[`allow_organization_name_in_authentication_api`,`customize_mfa_in_postlogin_action`,`pushed_authorization_requests_supported`,`authorization_response_iss_parameter_supported`];function Sn(e){let t={...e};for(let e of bn)typeof t[e]==`string`&&(t[e]=X(t[e]));for(let e of xn)t[e]!==void 0&&t[e]!==null&&(t[e]=t[e]===1);return(0,a.removeNullProperties)(t)}function Cn(e){let t={...e};(0,a.stringifyProperties)(e,bn,t);for(let n of xn)e[n]!==void 0&&(t[n]=+!!e[n]);return(0,a.removeUndefinedAndNull)(t)}function wn(e){return{async create(t){let n={id:t.id||(0,r.nanoid)(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...t},i=Cn(n);try{await e.insert(c).values(i)}catch(e){let t=e?.message??``;throw t.includes(`UNIQUE constraint failed`)||t.includes(`Duplicate entry`)||t.includes(`duplicate key`)||t.includes(`AlreadyExists`)||e?.code===`SQLITE_CONSTRAINT`||e?.code===`SQLITE_CONSTRAINT_UNIQUE`||e?.code===`SQLITE_CONSTRAINT_PRIMARYKEY`||e?.code===`ER_DUP_ENTRY`||e?.code===`23505`?new s.HTTPException(409,{message:`Tenant with ID '${n.id}' already exists`}):e}return n},async get(t){let r=await e.select().from(c).where((0,n.eq)(c.id,t)).get();return r?Sn(r):null},async list(t){let{page:r=0,per_page:i=50,include_totals:a=!1,sort:o,q:s}=t||{},l=s?Z(c,s,[`friendly_name`]):void 0,u=e.select().from(c).$dynamic();if(l&&(u=u.where(l)),o?.sort_by){let e=c[o.sort_by];e&&(u=u.orderBy(o.sort_order===`desc`?(0,n.desc)(e):(0,n.asc)(e)))}let d=(await u.offset(r*i).limit(i)).map(Sn);if(!a)return{tenants:d};let f=e.select({count:(0,n.count)()}).from(c).$dynamic();l&&(f=f.where(l));let[p]=await f;return{tenants:d,start:r*i,limit:i,length:Number(p?.count??0)}},async update(t,r){let i=Cn({...r,id:t,updated_at:new Date().toISOString()});await e.update(c).set(i).where((0,n.eq)(c.id,t))},async remove(t){return(await e.delete(c).where((0,n.eq)(c.id,t)).returning()).length>0}}}var Tn=[`colors`,`borders`,`fonts`,`page_background`,`widget`];function En(e){let{tenant_id:t,...n}=e,r=ce(n,Tn);return r.borders&&(r.borders.show_widget_shadow=!!r.borders.show_widget_shadow),r.fonts&&(r.fonts.body_text_bold=!!r.fonts.body_text_bold,r.fonts.buttons_text_bold=!!r.fonts.buttons_text_bold,r.fonts.input_labels_bold=!!r.fonts.input_labels_bold,r.fonts.links_bold=!!r.fonts.links_bold,r.fonts.subtitle_bold=!!r.fonts.subtitle_bold,r.fonts.title_bold=!!r.fonts.title_bold),(0,a.removeNullProperties)(r)}function Dn(e){return{async create(t,n,i,a){let o=a?.importMetadata,s=new Date().toISOString(),c=o?.id||i||(0,r.nanoid)(),l={...se(n),tenant_id:t,themeId:c,created_at:o?.created_at??s,updated_at:o?.updated_at??s};return await e.insert(P).values(l),En({...l,tenant_id:t})},async get(t,r){let i=await e.select().from(P).where((0,n.and)((0,n.eq)(P.tenant_id,t),(0,n.eq)(P.themeId,r))).get();return i?En(i):null},async update(t,r,i){let a=se(i);return a.updated_at=new Date().toISOString(),await e.update(P).set(a).where((0,n.and)((0,n.eq)(P.tenant_id,t),(0,n.eq)(P.themeId,r))),!0},async remove(t,r){return(await e.delete(P).where((0,n.and)((0,n.eq)(P.tenant_id,t),(0,n.eq)(P.themeId,r))).returning()).length>0}}}function On(e){return{async get(t){let r=await e.select({body:N.body}).from(N).where((0,n.eq)(N.tenant_id,t)).get();return r?{body:r.body}:null},async set(t,n){let r=Date.now();await e.insert(N).values({tenant_id:t,body:n.body,created_at_ts:r,updated_at_ts:r}).onConflictDoUpdate({target:N.tenant_id,set:{body:n.body,updated_at_ts:r}})},async delete(t){await e.delete(N).where((0,n.eq)(N.tenant_id,t))}}}function kn(e){let t={};return e.last_login!==void 0&&(t.last_login=e.last_login),e.last_ip!==void 0&&(t.last_ip=e.last_ip),e.login_count!==void 0&&(t.login_count=e.login_count),e.failed_logins!==void 0&&(t.failed_logins=JSON.stringify(e.failed_logins)),e.last_password_reset!==void 0&&(t.last_password_reset=e.last_password_reset),t}function An(e){return{async get(t,r){let i=await e.select().from(m).where((0,n.and)((0,n.eq)(m.tenant_id,t),(0,n.eq)(m.user_id,r))).get();return i?{user_id:i.user_id,last_login:i.last_login??void 0,last_ip:i.last_ip??void 0,login_count:i.login_count,failed_logins:i.failed_logins?JSON.parse(i.failed_logins):void 0,last_password_reset:i.last_password_reset??void 0}:null},async upsert(t,n,r){let i=kn(r),a=e.insert(m).values({tenant_id:t,user_id:n,login_count:0,...i});if(Object.keys(i).length===0){await a.onConflictDoNothing();return}await a.onConflictDoUpdate({target:[m.tenant_id,m.user_id],set:i})}}}function jn(e){return{...e,payload:X(e.payload,{})}}function Mn(e,t,n,r){return e.insert(G).values({id:t,tenant_id:n,event_type:r.event_type,log_type:r.log_type,aggregate_type:r.aggregate_type??r.target?.type,aggregate_id:r.aggregate_id??r.target?.id,payload:JSON.stringify({...r,id:t}),created_at:new Date().toISOString(),processed_at:null,retry_count:0,next_retry_at:null,error:null,claimed_by:null,claim_expires_at:null})}function Nn(e){return{async create(t,n){let i=(0,r.nanoid)();return await Mn(e,i,t,n),i},async getByIds(t){return t.length===0?[]:(await e.select().from(G).where((0,n.inArray)(G.id,t)).all()).map(jn)},async getUnprocessed(t){let r=new Date().toISOString();return(await e.select().from(G).where((0,n.and)((0,n.isNull)(G.processed_at),(0,n.or)((0,n.isNull)(G.next_retry_at),(0,n.lte)(G.next_retry_at,r)),(0,n.or)((0,n.isNull)(G.claimed_by),(0,n.lte)(G.claim_expires_at,r)))).orderBy(G.created_at,G.id).limit(t).all()).map(jn)},async claimEvents(t,r,i){if(t.length===0)return[];let a=new Date().toISOString(),o=new Date(Date.now()+i).toISOString();return await e.update(G).set({claimed_by:r,claim_expires_at:o}).where((0,n.and)((0,n.inArray)(G.id,t),(0,n.isNull)(G.processed_at),(0,n.or)((0,n.isNull)(G.claimed_by),(0,n.lte)(G.claim_expires_at,a)))),(await e.select({id:G.id}).from(G).where((0,n.and)((0,n.inArray)(G.id,t),(0,n.eq)(G.claimed_by,r))).all()).map(e=>e.id)},async markProcessed(t){t.length!==0&&await e.update(G).set({processed_at:new Date().toISOString()}).where((0,n.inArray)(G.id,t))},async markRetry(t,r,i){await e.update(G).set({error:r,next_retry_at:i,retry_count:n.sql`${G.retry_count} + 1`,claimed_by:null,claim_expires_at:null}).where((0,n.eq)(G.id,t))},async cleanup(t){return(await e.delete(G).where((0,n.and)(n.sql`${G.processed_at} IS NOT NULL`,(0,n.lte)(G.processed_at,t))).returning()).length},async deadLetter(t,r){let i=new Date().toISOString();await e.update(G).set({processed_at:i,dead_lettered_at:i,final_error:r}).where((0,n.eq)(G.id,t))},async listFailed(t,r={}){let{page:i=0,per_page:a=50,include_totals:o=!1}=r,s=(await e.select().from(G).where((0,n.and)((0,n.eq)(G.tenant_id,t),(0,n.isNotNull)(G.dead_lettered_at))).orderBy((0,n.desc)(G.dead_lettered_at),(0,n.asc)(G.id)).offset(i*a).limit(a).all()).map(e=>({...X(e.payload,{}),id:e.id,created_at:e.created_at,processed_at:e.processed_at,retry_count:e.retry_count,next_retry_at:e.next_retry_at,error:e.error,dead_lettered_at:e.dead_lettered_at,final_error:e.final_error})),c=s.length;if(o){let[r]=await e.select({total:(0,n.count)()}).from(G).where((0,n.and)((0,n.eq)(G.tenant_id,t),(0,n.isNotNull)(G.dead_lettered_at)));c=Number(r?.total??s.length)}return{events:s,start:i*a,limit:a,length:c}},async replay(t,r){return(await e.update(G).set({processed_at:null,dead_lettered_at:null,final_error:null,retry_count:0,next_retry_at:null,error:null}).where((0,n.and)((0,n.eq)(G.id,t),(0,n.eq)(G.tenant_id,r),(0,n.isNotNull)(G.dead_lettered_at))).returning()).length>0}}}function Pn(e,t,n){return(n?.outboxEvents??[]).map(n=>Mn(e,n.id,t,n))}var Fn=[`user_id`,`email`,`email_verified`,`username`,`phone_number`,`phone_verified`,`name`,`given_name`,`family_name`,`nickname`,`picture`,`locale`,`linked_to`,`provider`,`connection`,`is_social`,`last_ip`,`last_login`,`login_count`,`created_at`,`updated_at`],In=[`email`,`name`,`phone_number`,`user_id`],Ln=new Set([`last_login`,`last_ip`,`login_count`]),Rn=(0,n.getTableColumns)(f),zn=(0,n.getTableColumns)(m),Bn=Object.fromEntries(Fn.map(e=>[e,e===`login_count`?{coalesce:m.login_count,defaultValue:0}:Ln.has(e)?zn[e]:Rn[e]]));function Vn(){return(0,n.and)((0,n.eq)(m.tenant_id,f.tenant_id),(0,n.eq)(m.user_id,f.user_id))}function Hn(e,t){return{...e,last_login:t?.last_login,last_ip:t?.last_ip,login_count:t?.login_count??0}}function Un(e,t){let n={connection:e.connection,provider:e.provider,user_id:e.user_id,isSocial:!!e.is_social};return t?n.isPrimary=!0:n.profileData={email:e.email,email_verified:!!e.email_verified,...typeof e.profileData==`string`?X(e.profileData,{}):{}},n}function Wn(e,t=[]){let{tenant_id:n,app_metadata:r,user_metadata:i,address:o,email_verified:s,phone_verified:c,is_social:l,blocked:u,linked_to:d,profileData:f,...p}=e,m=Un(e,!0),h=t.map(e=>Un(e,!1));return(0,a.removeNullProperties)({...p,email:e.email||``,email_verified:!!s,phone_verified:c==null?void 0:!!c,is_social:!!l,blocked:u==null?void 0:!!u,app_metadata:X(r,{}),user_metadata:X(i,{}),address:X(o),identities:[m,...h]})}function Gn(e){let t=async(t,n,i)=>{let a=new Date().toISOString(),o={user_id:n.user_id,tenant_id:t,email:n.email,given_name:n.given_name,family_name:n.family_name,nickname:n.nickname,name:n.name,picture:n.picture,tags:n.tags,phone_number:n.phone_number,phone_verified:n.phone_verified??!1,username:n.username,linked_to:n.linked_to,provider:n.provider,connection:n.connection,email_verified:n.email_verified??!1,is_social:n.is_social??!1,blocked:n.blocked??!1,app_metadata:JSON.stringify(n.app_metadata||{}),user_metadata:JSON.stringify(n.user_metadata||{}),address:n.address?JSON.stringify(n.address):void 0,profileData:n.profileData?JSON.stringify(n.profileData):void 0,locale:n.locale,middle_name:n.middle_name,preferred_username:n.preferred_username,profile:n.profile,website:n.website,gender:n.gender,birthdate:n.birthdate,zoneinfo:n.zoneinfo,created_at:n.created_at||a,updated_at:n.updated_at||a},c=n.password?(0,r.nanoid)():void 0,l=n.last_login!==void 0||n.last_ip!==void 0||n.login_count!==void 0;try{let r=[e.insert(f).values(o)];l&&r.push(e.insert(m).values({tenant_id:t,user_id:n.user_id,last_login:n.last_login,last_ip:n.last_ip,login_count:n.login_count??0})),n.password&&c&&r.push(e.insert(p).values({id:c,tenant_id:t,user_id:n.user_id,password:n.password.hash||n.password,algorithm:n.password.algorithm||`bcrypt`,is_current:1,created_at:a,updated_at:a}));for(let n of Pn(e,t,i))r.push(n);r.length>1?await _e(e,r):await e.insert(f).values(o)}catch(e){throw e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`AlreadyExists`)?new s.HTTPException(409,{message:`User already exists`}):(console.error(`User upsert failed:`,e?.code,e?.message),new s.HTTPException(500,{message:`Internal server error`}))}return Wn({...o,last_login:n.last_login,last_ip:n.last_ip,login_count:n.login_count??0})};return{create:t,rawCreate:t,async get(t,r){let i=await e.select().from(f).leftJoin(m,Vn()).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,r))).get();if(!i)return null;let a=await e.select().from(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.linked_to,r))).all();return Wn(Hn(i.users,i.user_activity),a)},async update(t,r,i,a){let o={updated_at:new Date().toISOString()};for(let e of[`email`,`given_name`,`family_name`,`nickname`,`name`,`picture`,`tags`,`phone_number`,`username`,`linked_to`,`provider`,`connection`,`locale`,`middle_name`,`preferred_username`,`profile`,`website`,`gender`,`birthdate`,`zoneinfo`])i[e]!==void 0&&(o[e]=i[e]);i.email_verified!==void 0&&(o.email_verified=i.email_verified),i.phone_verified!==void 0&&(o.phone_verified=i.phone_verified),i.is_social!==void 0&&(o.is_social=i.is_social),i.blocked!==void 0&&(o.blocked=i.blocked),i.app_metadata!==void 0&&(o.app_metadata=JSON.stringify(i.app_metadata)),i.user_metadata!==void 0&&(o.user_metadata=JSON.stringify(i.user_metadata)),i.address!==void 0&&(o.address=JSON.stringify(i.address)),i.profileData!==void 0&&(o.profileData=JSON.stringify(i.profileData));let s=e.update(f).set(o).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,r))).returning(),c=Pn(e,t,a),l;return l=c.length>0?(await _e(e,[s,...c]))[0]:await s,!Array.isArray(l)||l.length===0?!1:((i.last_login!==void 0||i.last_ip!==void 0||i.login_count!==void 0)&&await An(e).upsert(t,r,{last_login:i.last_login,last_ip:i.last_ip,login_count:i.login_count}),!0)},async list(t,r){let{page:i=0,per_page:a=50,include_totals:c=!1,sort:l,q:u}=r||{},d=[(0,n.eq)(f.tenant_id,t),(0,n.isNull)(f.linked_to)];if(u){let e=(0,o.sanitizeLuceneQuery)(u,Fn);if(e){let t=Z(Bn,e,In);t&&d.push(t)}}let p=(0,n.and)(...d),h=async r=>{let i=r.map(e=>e.user_id),a=i.length>0?await e.select().from(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.inArray)(f.linked_to,i))):[];return r.map(e=>Wn(e,a.filter(t=>t.linked_to===e.user_id)))};if(Se(r)){if(l?.sort_by&&l.sort_by!==`created_at`)throw new s.HTTPException(400,{message:`Sorting by ${l.sort_by} is not supported with checkpoint pagination (from/take); only created_at is`});let t=l?.sort_order===`asc`?`asc`:`desc`,i={sortColumn:f.created_at,idColumn:f.user_id,sortOrder:t,sortKey:`created_at:${t}`},a=Ce(r),o=Te(r,i),{rows:c,next:u}=Ee((await e.select().from(f).leftJoin(m,Vn()).where(o?(0,n.and)(p,o):p).orderBy(...we(i)).limit(a+1)).map(e=>Hn(e.users,e.user_activity)),a,`created_at`,`user_id`,i.sortKey),d=await h(c);return{users:d,start:0,limit:a,length:d.length,next:u}}let g=e.select().from(f).leftJoin(m,Vn()).where(p).$dynamic();if(l?.sort_by){let e=Bn[l.sort_by];if(e){let t=le(e)?ue(e):e;g=g.orderBy(l.sort_order===`desc`?(0,n.desc)(t):(0,n.asc)(t))}}let _=await h((await g.offset(i*a).limit(a)).map(e=>Hn(e.users,e.user_activity)));if(!c)return{users:_};let[v]=await e.select({count:(0,n.count)()}).from(f).leftJoin(m,Vn()).where(p);return{users:_,start:i*a,limit:a,length:Number(v?.count??0)}},async remove(t,r,i){let a=await e.select({user_id:f.user_id}).from(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.or)((0,n.eq)(f.user_id,r),(0,n.eq)(f.linked_to,r)))),o=a.some(e=>e.user_id===r),s=a.map(e=>e.user_id).filter(e=>e!==r),c=[r,...s],l=[e.delete(U).where((0,n.and)((0,n.eq)(U.tenant_id,t),(0,n.inArray)(U.user_id,c))),e.delete(p).where((0,n.and)((0,n.eq)(p.tenant_id,t),(0,n.inArray)(p.user_id,c))),e.delete(m).where((0,n.and)((0,n.eq)(m.tenant_id,t),(0,n.inArray)(m.user_id,c))),e.delete(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.inArray)(f.user_id,s))),e.delete(f).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,r))).returning()],u=l.length-1;if(o)for(let n of Pn(e,t,i))l.push(n);let d=(await _e(e,l))[u];return Array.isArray(d)&&d.length>0},async unlink(t,r,i,a){let o=`${i}|${a}`;return(await e.update(f).set({linked_to:null}).where((0,n.and)((0,n.eq)(f.tenant_id,t),(0,n.eq)(f.user_id,o),(0,n.eq)(f.linked_to,r))).returning()).length>0}}}function Kn(e){return{async create(t,n,r,i){try{await e.insert(j).values({tenant_id:t,user_id:n,role_id:r,organization_id:i||``,created_at:new Date().toISOString()})}catch(e){if(e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`SQLITE_CONSTRAINT_PRIMARYKEY`))return!0;throw e}return!0},async list(t,r,i,o){let s=[(0,n.eq)(j.tenant_id,t),(0,n.eq)(j.user_id,r)];o!==void 0&&s.push((0,n.eq)(j.organization_id,o));let c=await e.select({role_id:j.role_id}).from(j).where((0,n.and)(...s)).all();return c.length===0?[]:(await Promise.all(c.map(async r=>{let i=await e.select().from(O).where((0,n.and)((0,n.eq)(O.tenant_id,t),(0,n.eq)(O.id,r.role_id))).get();if(!i)return null;let{tenant_id:o,is_system:s,metadata:c,...l}=i;return(0,a.removeNullProperties)({...l,is_system:s?!0:void 0,metadata:X(c)})}))).filter(Boolean)},async listUsers(t,r,i){let a=(0,n.and)((0,n.eq)(j.tenant_id,t),(0,n.eq)(j.role_id,r));if(Se(i)){let t={sortColumn:j.user_id,idColumn:j.user_id,sortOrder:`asc`},r=Te(i,t),o=Ce(i),{rows:s,next:c}=Ee(await e.selectDistinct({user_id:j.user_id}).from(j).where(r?(0,n.and)(a,r):a).orderBy(...we(t)).limit(o+1).all(),o,`user_id`,`user_id`);return{userIds:s.map(e=>e.user_id),start:0,limit:o,length:s.length,next:c}}let o=i?.page||0,s=i?.per_page||50,c=o*s,l=await e.selectDistinct({user_id:j.user_id}).from(j).where(a).orderBy((0,n.asc)(j.user_id)).limit(s).offset(c).all(),u=await e.select({count:n.sql`count(distinct ${j.user_id})`}).from(j).where(a).get();return{userIds:l.map(e=>e.user_id),start:c,limit:s,length:Number(u?.count??0)}},async remove(t,r,i,a){return(await e.delete(j).where((0,n.and)((0,n.eq)(j.tenant_id,t),(0,n.eq)(j.user_id,r),(0,n.eq)(j.role_id,i),(0,n.eq)(j.organization_id,a||``))).returning()).length>0}}}function qn(e){return{async create(t,n){let i=new Date().toISOString(),a={id:n.id||(0,r.nanoid)(),tenant_id:t,user_id:n.user_id,organization_id:n.organization_id,created_at:i,updated_at:i};try{await e.insert(E).values(a)}catch(e){throw e?.message?.includes(`UNIQUE constraint`)||e?.message?.includes(`duplicate key`)?new s.HTTPException(409,{message:`User organization already exists`}):e}let{tenant_id:o,...c}=a;return c},async get(t,r){let i=await e.select().from(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.id,r))).get();if(!i)return null;let{tenant_id:a,...o}=i;return o},async update(t,r,i){let a={updated_at:new Date().toISOString()};return i.user_id!==void 0&&(a.user_id=i.user_id),i.organization_id!==void 0&&(a.organization_id=i.organization_id),(await e.update(E).set(a).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.id,r))).returning()).length>0},async list(t,r){let{include_totals:i=!1,q:a}=r||{},o=(0,n.eq)(E.tenant_id,t),s=o;if(a){let e=Z(E,a,[`user_id`,`organization_id`]);e&&(s=(0,n.and)(o,e))}let c=e=>{let{tenant_id:t,...n}=e;return n};if(Se(r)){let t={sortColumn:E.created_at,idColumn:E.id,sortOrder:`desc`},i=Te(r,t),a=Ce(r),{rows:o,next:l}=Ee((await e.select().from(E).where(i?(0,n.and)(s,i):s).orderBy(...we(t)).limit(a+1)).map(c),a,`created_at`);return{userOrganizations:o,start:0,limit:a,length:o.length,next:l}}let l=r?.page??0,u=r?.per_page??50,d=l*u,f=(await e.select().from(E).where(s).orderBy((0,n.desc)(E.created_at),(0,n.desc)(E.id)).offset(d).limit(u)).map(c);if(!i)return{userOrganizations:f};let[p]=await e.select({count:(0,n.count)()}).from(E).where(s);return{userOrganizations:f,start:d,limit:u,length:Number(p?.count??0)}},async listUserOrganizations(t,r,i){let{page:o=0,per_page:s=50,include_totals:c=!1}=i||{},l=await e.select().from(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.user_id,r))).offset(o*s).limit(s).all(),u=(await Promise.all(l.map(async r=>{let i=await e.select().from(T).where((0,n.and)((0,n.eq)(T.tenant_id,t),(0,n.eq)(T.id,r.organization_id))).get();if(!i)return null;let{tenant_id:o,branding:s,metadata:c,enabled_connections:l,token_quota:u,...d}=i;return(0,a.removeNullProperties)({...d,branding:X(s,{}),metadata:X(c,{}),enabled_connections:X(l,[]),token_quota:X(u,{})})}))).filter(Boolean);if(!c)return{organizations:u};let[d]=await e.select({count:(0,n.count)()}).from(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.user_id,r)));return{organizations:u,start:o*s,limit:s,length:Number(d?.count??0)}},async remove(t,r){return(await e.delete(E).where((0,n.and)((0,n.eq)(E.tenant_id,t),(0,n.eq)(E.id,r))).returning()).length>0}}}var Jn=[`s`],Yn=[`pwd_leak`];function Xn(e){return/^\d{8}$/.test(e)?`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}`:e}function Zn(e){return{async getDaily(t,r){let i=new Date,a=r?.from?Xn(r.from):new Date(i.getTime()-720*60*60*1e3).toISOString().split(`T`)[0],o=r?.to?Xn(r.to):i.toISOString().split(`T`)[0];return(await e.select({date:n.sql`substr(${W.date}, 1, 10)`.as(`date`),logins:n.sql`SUM(CASE WHEN ${W.type} IN (${n.sql.join(Jn.map(e=>n.sql`${e}`),n.sql`, `)}) THEN 1 ELSE 0 END)`.as(`logins`),signups:n.sql`SUM(CASE WHEN ${W.type} = 'ss' THEN 1 ELSE 0 END)`.as(`signups`),leaked_passwords:n.sql`SUM(CASE WHEN ${W.type} IN (${n.sql.join(Yn.map(e=>n.sql`${e}`),n.sql`, `)}) THEN 1 ELSE 0 END)`.as(`leaked_passwords`)}).from(W).where((0,n.and)((0,n.eq)(W.tenant_id,t),(0,n.gte)(W.date,a),(0,n.lte)(W.date,`${o}T23:59:59.999Z`))).groupBy(n.sql`substr(${W.date}, 1, 10)`).orderBy(n.sql`substr(${W.date}, 1, 10)`).all()).map(e=>({date:e.date,logins:Number(e.logins)||0,signups:Number(e.signups)||0,leaked_passwords:Number(e.leaked_passwords)||0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}))},async getActiveUsers(t){let r=new Date(Date.now()-720*60*60*1e3).toISOString(),[i]=await e.select({count:n.sql`COUNT(DISTINCT ${W.user_id})`.as(`count`)}).from(W).where((0,n.and)((0,n.eq)(W.tenant_id,t),(0,n.gte)(W.date,r),n.sql`${W.type} IN (${n.sql.join(Jn.map(e=>n.sql`${e}`),n.sql`, `)})`));return Number(i?.count)||0}}}var Qn={"active-users":[`s`,`seacft`],logins:[`s`,`f`,`fp`],signups:[`ss`,`fs`],"refresh-tokens":[`seacft`,`fertft`],sessions:[`slo`],logouts:[`slo`,`flo`],"password-changes":[`scp`,`fcp`,`scpr`,`fcpr`],"password-migrations":[`spm`],mfa:[`gd_auth_succeed`,`gd_auth_failed`,`gd_auth_rejected`],"email-verifications":[`sv`,`fv`,`svr`,`fvr`],"codes-sent":[`cls`,`cs`]},$n={"active-users":{alias:`active_users`,type:`UInt64`,agg:`uniq`},logins:{alias:`logins`,type:`UInt64`,agg:`count`},signups:{alias:`signups`,type:`UInt64`,agg:`count`},"refresh-tokens":{alias:`refresh_tokens`,type:`UInt64`,agg:`count`},sessions:{alias:`sessions`,type:`UInt64`,agg:`count`},logouts:{alias:`logouts`,type:`UInt64`,agg:`count`},"password-changes":{alias:`password_changes`,type:`UInt64`,agg:`count`},"password-migrations":{alias:`password_migrations`,type:`UInt64`,agg:`count`},mfa:{alias:`mfa`,type:`UInt64`,agg:`count`},"email-verifications":{alias:`email_verifications`,type:`UInt64`,agg:`count`},"codes-sent":{alias:`codes_sent`,type:`UInt64`,agg:`count`}};function er(e){switch(e){case`hour`:return n.sql`substr(${W.date}, 1, 13)`;case`month`:return n.sql`substr(${W.date}, 1, 7)`;case`day`:return n.sql`substr(${W.date}, 1, 10)`;case`week`:return n.sql`date(substr(${W.date}, 1, 10), '-' || ((cast(strftime('%w', substr(${W.date}, 1, 10)) as integer) + 6) % 7) || ' days')`;default:throw Error(`Unsupported interval '${e}' for SQL analytics adapter`)}}function tr(e){return`"${e.replace(/"/g,`""`)}"`}function nr(e){switch(e){case`connection`:return W.connection;case`client_id`:return W.client_id;case`user_type`:return W.strategy_type;case`event`:return W.type;case`time`:throw Error(`time dimension handled separately`)}}function rr(e){return{async query(t,r,i){let a=Date.now(),o=Qn[r],s=$n[r],c=[(0,n.eq)(W.tenant_id,t),(0,n.gte)(W.date,i.from),(0,n.lt)(W.date,i.to),(0,n.inArray)(W.type,o)];i.filters.connection?.length&&c.push((0,n.inArray)(W.connection,i.filters.connection)),i.filters.client_id?.length&&c.push((0,n.inArray)(W.client_id,i.filters.client_id)),i.filters.user_type?.length&&c.push((0,n.inArray)(W.strategy_type,i.filters.user_type)),i.filters.user_id?.length&&c.push((0,n.inArray)(W.user_id,i.filters.user_id));let l={},u=[],d=[];for(let e of i.group_by)if(e===`time`){let e=er(i.interval);l.time=e,u.push(e),d.push({name:`time`,type:i.interval===`hour`?`DateTime`:`Date`})}else{let t=nr(e);l[e]=t,u.push(t),d.push({name:e,type:`String`})}l[s.alias]=s.agg===`uniq`?n.sql`COUNT(DISTINCT ${W.user_id})`:n.sql`COUNT(*)`,d.push({name:s.alias,type:s.type});let f=e.select(l).from(W).where((0,n.and)(...c));u.length>0&&(f=f.groupBy(...u));let p=new Set([...Object.keys(l)]);if(i.order_by){let e=i.order_by.startsWith(`-`),t=e?i.order_by.slice(1):i.order_by;if(!p.has(t))throw Error(`Invalid order_by column '${t}' for analytics query`);let r=tr(t);f=f.orderBy(n.sql.raw(`${r} ${e?`DESC`:`ASC`}`))}else f=i.group_by[0]===`time`?f.orderBy(n.sql.raw(`${tr(`time`)} ASC`)):f.orderBy(n.sql.raw(`${tr(s.alias)} DESC`));f=f.limit(i.limit).offset(i.offset);let m=(await f.all()).map(e=>{let t={};for(let n of d){let r=e[n.name];t[n.name]=n.type===`UInt64`?Number(r)||0:r??``}return t});return{meta:d,data:m,rows:m.length,rows_before_limit_at_least:m.length,statistics:{elapsed:(Date.now()-a)/1e3}}}}}var ir=10080*60*1e3;function ar(e){return async t=>{let r=Date.now()-ir;try{let i=[(0,n.or)((0,n.lt)(g.expires_at_ts,r),(0,n.lt)(g.idle_expires_at_ts,r))];t?.tenant_id&&i.push((0,n.eq)(g.tenant_id,t.tenant_id)),await e.delete(g).where((0,n.and)(...i)),i=[(0,n.or)((0,n.lt)(h.expires_at_ts,r),(0,n.lt)(h.idle_expires_at_ts,r))],t?.tenant_id&&i.push((0,n.eq)(h.tenant_id,t.tenant_id)),t?.user_id&&i.push((0,n.eq)(h.user_id,t.user_id)),await e.delete(h).where((0,n.and)(...i)),i=[(0,n.lt)(_.expires_at_ts,r)],t?.tenant_id&&i.push((0,n.eq)(_.tenant_id,t.tenant_id)),await e.delete(_).where((0,n.and)(...i))}catch(e){console.error(`Session cleanup error:`,e)}}}var Q=(0,i.sqliteTable)(`tenant_operations`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),tenant_id:(0,i.text)(`tenant_id`,{length:255}),rollout_id:(0,i.text)(`rollout_id`,{length:255}),kind:(0,i.text)(`kind`,{length:32}).notNull(),status:(0,i.text)(`status`,{length:32}).notNull(),current_step:(0,i.text)(`current_step`,{length:255}),engine:(0,i.text)(`engine`,{length:64}).notNull(),engine_instance_id:(0,i.text)(`engine_instance_id`,{length:100}),target_worker_version:(0,i.text)(`target_worker_version`,{length:255}),target_database_version:(0,i.text)(`target_database_version`,{length:255}),error:(0,i.text)(`error`),initiated_by:(0,i.text)(`initiated_by`,{length:255}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),finished_at:(0,i.text)(`finished_at`,{length:35})},e=>[(0,i.index)(`tenant_operations_tenant_id_created_at_idx`).on(e.tenant_id,e.created_at),(0,i.index)(`tenant_operations_rollout_id_idx`).on(e.rollout_id),(0,i.index)(`tenant_operations_status_idx`).on(e.status)]),or=(0,i.sqliteTable)(`tenant_operation_events`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),operation_id:(0,i.text)(`operation_id`,{length:255}).notNull(),step:(0,i.text)(`step`,{length:255}).notNull(),outcome:(0,i.text)(`outcome`,{length:32}).notNull(),detail:(0,i.text)(`detail`),attempt:(0,i.integer)(`attempt`).notNull().default(1),created_at:(0,i.text)(`created_at`,{length:35}).notNull()},e=>[(0,i.foreignKey)({columns:[e.operation_id],foreignColumns:[Q.id],name:`tenant_operation_events_operation_id_constraint`}).onDelete(`cascade`),(0,i.index)(`tenant_operation_events_operation_id_created_at_idx`).on(e.operation_id,e.created_at)]),$=(0,i.sqliteTable)(`rollouts`,{id:(0,i.text)(`id`,{length:255}).primaryKey(),kind:(0,i.text)(`kind`,{length:32}).notNull(),status:(0,i.text)(`status`,{length:32}).notNull(),target_worker_version:(0,i.text)(`target_worker_version`,{length:255}),target_database_version:(0,i.text)(`target_database_version`,{length:255}),wave_size:(0,i.integer)(`wave_size`).notNull().default(10),canary_tenant_ids:(0,i.text)(`canary_tenant_ids`),filter:(0,i.text)(`filter`),initiated_by:(0,i.text)(`initiated_by`,{length:255}),created_at:(0,i.text)(`created_at`,{length:35}).notNull(),updated_at:(0,i.text)(`updated_at`,{length:35}).notNull(),finished_at:(0,i.text)(`finished_at`,{length:35})});function sr(e){return o.tenantOperationSchema.parse({id:e.id,tenant_id:e.tenant_id,rollout_id:e.rollout_id,kind:e.kind,status:e.status,current_step:e.current_step,engine:e.engine,engine_instance_id:e.engine_instance_id,target_worker_version:e.target_worker_version,target_database_version:e.target_database_version,error:e.error,initiated_by:e.initiated_by,created_at:e.created_at,updated_at:e.updated_at,finished_at:e.finished_at})}function cr(e){return{async create(t){let n=o.tenantOperationInsertSchema.parse(t),i=new Date().toISOString(),a={id:`op_${(0,r.nanoid)()}`,tenant_id:n.tenant_id,rollout_id:n.rollout_id??null,kind:n.kind,status:`pending`,current_step:null,engine:n.engine,engine_instance_id:n.engine_instance_id??null,target_worker_version:n.target_worker_version??null,target_database_version:n.target_database_version??null,error:null,initiated_by:n.initiated_by??null,created_at:i,updated_at:i,finished_at:null};await e.insert(Q).values(a);let s=await this.get(a.id);if(!s)throw Error(`Failed to create tenant operation ${a.id}`);return s},async get(t){let r=await e.select().from(Q).where((0,n.eq)(Q.id,t)).limit(1);return r[0]?sr(r[0]):null},async list(t={}){let r=t.page??0,i=t.per_page??50,a=[];if(t.tenant_id!==void 0&&a.push((0,n.eq)(Q.tenant_id,t.tenant_id)),t.rollout_id!==void 0&&a.push((0,n.eq)(Q.rollout_id,t.rollout_id)),t.kind!==void 0&&a.push((0,n.eq)(Q.kind,t.kind)),t.status!==void 0){let e=Array.isArray(t.status)?t.status:[t.status];a.push((0,n.inArray)(Q.status,e))}t.engine!==void 0&&a.push((0,n.eq)(Q.engine,t.engine)),t.updated_before!==void 0&&a.push((0,n.lt)(Q.updated_at,t.updated_before));let o=await e.select().from(Q).where(a.length?(0,n.and)(...a):void 0).orderBy((0,n.desc)(Q.created_at),(0,n.desc)(Q.id)).offset(r*i).limit(i);return{operations:o.map(sr),start:r*i,limit:i,length:o.length}},async update(t,r){if((await e.select({id:Q.id}).from(Q).where((0,n.eq)(Q.id,t)).limit(1)).length===0)return!1;let i={updated_at:new Date().toISOString()};return r.status!==void 0&&(i.status=r.status),r.current_step!==void 0&&(i.current_step=r.current_step),r.engine_instance_id!==void 0&&(i.engine_instance_id=r.engine_instance_id),r.target_worker_version!==void 0&&(i.target_worker_version=r.target_worker_version),r.target_database_version!==void 0&&(i.target_database_version=r.target_database_version),r.error!==void 0&&(i.error=r.error),r.finished_at!==void 0&&(i.finished_at=r.finished_at),await e.update(Q).set(i).where((0,n.eq)(Q.id,t)),!0},async remove(t){return(await e.select({id:Q.id}).from(Q).where((0,n.eq)(Q.id,t)).limit(1)).length===0?!1:(await e.delete(Q).where((0,n.eq)(Q.id,t)),!0)}}}var lr=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,ur=32,dr=10,fr=4,pr=10;function mr(e,t){let n=``;for(let r=t;r>0;r--)n=lr.charAt(e%ur)+n,e=Math.floor(e/ur);return n}function hr(){let e=new Uint8Array(pr);crypto.getRandomValues(e);let t=``;for(let n=0;n<pr;n++)t+=lr.charAt(e[n]%ur);return t}var gr=0,_r=0;function vr(){let e=Date.now();return e===gr?_r++:(gr=e,_r=0),mr(e,dr)+mr(_r,fr)+hr()}function yr(e){if(!e)return null;try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return Object.fromEntries(Object.entries(t))}catch{}return null}function br(e){return o.tenantOperationEventSchema.parse({id:e.id,operation_id:e.operation_id,step:e.step,outcome:e.outcome,detail:yr(e.detail),attempt:e.attempt,created_at:e.created_at})}function xr(e){return{async create(t){let n=o.tenantOperationEventInsertSchema.parse(t),r={id:`evt_${vr()}`,operation_id:n.operation_id,step:n.step,outcome:n.outcome,detail:n.detail?JSON.stringify(n.detail):null,attempt:n.attempt,created_at:new Date().toISOString()};return await e.insert(or).values(r),o.tenantOperationEventSchema.parse({id:r.id,operation_id:r.operation_id,step:r.step,outcome:r.outcome,detail:n.detail??null,attempt:r.attempt,created_at:r.created_at})},async listByOperation(t,r={}){let i=r.page??0,a=r.per_page??100,o=await e.select().from(or).where((0,n.eq)(or.operation_id,t)).orderBy((0,n.asc)(or.created_at),(0,n.asc)(or.id)).offset(i*a).limit(a);return{events:o.map(br),start:i*a,limit:a,length:o.length}}}}function Sr(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Cr(e){return o.rolloutSchema.parse({id:e.id,kind:e.kind,status:e.status,target_worker_version:e.target_worker_version,target_database_version:e.target_database_version,wave_size:e.wave_size,canary_tenant_ids:Sr(e.canary_tenant_ids),filter:Sr(e.filter),initiated_by:e.initiated_by,created_at:e.created_at,updated_at:e.updated_at,finished_at:e.finished_at})}function wr(e){return{async create(t){let n=o.rolloutInsertSchema.parse(t),i=new Date().toISOString(),a={id:`rol_${(0,r.nanoid)()}`,kind:n.kind,status:`pending`,target_worker_version:n.target_worker_version??null,target_database_version:n.target_database_version??null,wave_size:n.wave_size,canary_tenant_ids:n.canary_tenant_ids?JSON.stringify(n.canary_tenant_ids):null,filter:n.filter?JSON.stringify(n.filter):null,initiated_by:n.initiated_by??null,created_at:i,updated_at:i,finished_at:null};await e.insert($).values(a);let s=await this.get(a.id);if(!s)throw Error(`Failed to create rollout ${a.id}`);return s},async get(t){let r=await e.select().from($).where((0,n.eq)($.id,t)).limit(1);return r[0]?Cr(r[0]):null},async list(t={}){let r=t.page??0,i=t.per_page??50,a=await e.select().from($).orderBy((0,n.desc)($.created_at),(0,n.desc)($.id)).offset(r*i).limit(i);return{rollouts:a.map(Cr),start:r*i,limit:i,length:a.length}},async update(t,r){if((await e.select({id:$.id}).from($).where((0,n.eq)($.id,t)).limit(1)).length===0)return!1;let i={updated_at:new Date().toISOString()};return r.status!==void 0&&(i.status=r.status),r.wave_size!==void 0&&(i.wave_size=r.wave_size),r.canary_tenant_ids!==void 0&&(i.canary_tenant_ids=r.canary_tenant_ids?JSON.stringify(r.canary_tenant_ids):null),r.filter!==void 0&&(i.filter=r.filter?JSON.stringify(r.filter):null),r.finished_at!==void 0&&(i.finished_at=r.finished_at),await e.update($).set(i).where((0,n.eq)($.id,t)),!0},async remove(t){return(await e.select({id:$.id}).from($).where((0,n.eq)($.id,t)).limit(1)).length===0?!1:(await e.delete($).where((0,n.eq)($.id,t)),!0)}}}function Tr(e,t={useTransactions:!0}){let r={actions:pe(e),actionExecutions:he(e),actionVersions:ye(e),branding:xe(e),clients:Me(e),clientConnections:Pe(e),clientGrants:Ie(e),clientRegistrationTokens:Ve(e),codes:Ge(e),connections:Je(e),customDomains:Xe(e),customText:Ze(e),emailProviders:Qe(e),emailTemplates:et(e),flows:nt(e),forms:at(e),grants:lt(e),hookCode:pt(e),hooks:_t(e),invites:xt(e),keys:Ct(e),loginSessions:Ot(e),logs:At(e),authenticationMethods:Ft(e),organizations:zt(e),passwords:Vt(e),promptSettings:Ht(e),proxyRoutes:Kt(e),scimConfigurations:Xt(e),scimTokens:Qt(e),scimExternalIds:en(e),refreshTokens:rn(e),resourceServers:un(e),rolePermissions:dn(e),userPermissions:fn(e),roles:mn(e),sessions:yn(e),sessionCleanup:ar(e),tenants:wn(e),...t.controlPlane?{tenantOperations:cr(e),tenantOperationEvents:xr(e),rollouts:wr(e)}:{},themes:Dn(e),universalLoginTemplates:On(e),users:Gn(e),userActivity:An(e),userRoles:Kn(e),userOrganizations:qn(e),stats:Zn(e),analytics:rr(e),outbox:Nn(e),async transaction(i){if(t.useTransactions===!1||ge(e))return i(r);await e.run(n.sql`BEGIN`);try{let t=await i(r);return await e.run(n.sql`COMMIT`),t}catch(t){throw await e.run(n.sql`ROLLBACK`),t}}};return r}function Er(e){if(!e)return{path:`/*`};try{let t=JSON.parse(e),n=o.matchSchema.safeParse(t);if(n.success)return n.data}catch{}return{path:`/*`}}function Dr(e){if(!e)return[];try{let t=JSON.parse(e);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=o.handlerConfigSchema.safeParse(e);t.success&&n.push(t.data)}return n}catch{return[]}}async function Or(e,t){let r=t.toLowerCase(),i=(await e.select({custom_domain_id:w.custom_domain_id,tenant_id:w.tenant_id,domain:w.domain}).from(w).where((0,n.eq)(w.domain,r)).limit(1))[0];if(!i)return null;let a=(await e.select().from(K).where((0,n.and)((0,n.eq)(K.tenant_id,i.tenant_id),(0,n.eq)(K.custom_domain_id,i.custom_domain_id))).orderBy((0,n.asc)(K.priority),(0,n.asc)(K.created_at))).map(e=>({id:e.id,tenant_id:e.tenant_id,custom_domain_id:e.custom_domain_id,priority:e.priority,match:Er(e.match),handlers:Dr(e.handlers),created_at:e.created_at,updated_at:e.updated_at}));return{tenant_id:i.tenant_id,custom_domain_id:i.custom_domain_id,domain:i.domain,routes:a}}function kr(e){return{proxyRoutes:Kt(e),resolveHost:t=>Or(e,t)}}exports.createProxyDataAdapter=kr,exports.createProxyRoutesAdapter=Kt,exports.default=Tr,Object.defineProperty(exports,"sqlite",{enumerable:!0,get:function(){return oe}});