nucleus-core-ts 0.8.104 → 0.8.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/client.js +3 -3
  2. package/dist/dist/index.d.ts +137 -23
  3. package/dist/fe/components/NotificationCenter/components/NotificationBell.d.ts +4 -0
  4. package/dist/fe/components/NotificationCenter/components/NotificationBell.js +60 -0
  5. package/dist/fe/components/NotificationCenter/components/NotificationCenter.d.ts +4 -0
  6. package/dist/fe/components/NotificationCenter/components/NotificationCenter.js +336 -0
  7. package/dist/fe/components/NotificationCenter/index.d.ts +7 -0
  8. package/dist/fe/components/NotificationCenter/index.js +4 -0
  9. package/dist/fe/components/NotificationCenter/store/index.d.ts +23 -0
  10. package/dist/fe/components/NotificationCenter/store/index.js +75 -0
  11. package/dist/fe/components/NotificationCenter/theme/index.d.ts +64 -0
  12. package/dist/fe/components/NotificationCenter/theme/index.js +103 -0
  13. package/dist/fe/components/NotificationCenter/types/index.d.ts +69 -0
  14. package/dist/fe/components/NotificationCenter/types/index.js +1 -0
  15. package/dist/fe/components/VerificationPanel/components/PendingVerifications.d.ts +4 -0
  16. package/dist/fe/components/VerificationPanel/components/PendingVerifications.js +233 -0
  17. package/dist/fe/components/VerificationPanel/components/VerificationPanel.d.ts +4 -0
  18. package/dist/fe/components/VerificationPanel/components/VerificationPanel.js +373 -0
  19. package/dist/fe/components/VerificationPanel/index.d.ts +7 -0
  20. package/dist/fe/components/VerificationPanel/index.js +4 -0
  21. package/dist/fe/components/VerificationPanel/store/index.d.ts +36 -0
  22. package/dist/fe/components/VerificationPanel/store/index.js +104 -0
  23. package/dist/fe/components/VerificationPanel/theme/index.d.ts +98 -0
  24. package/dist/fe/components/VerificationPanel/theme/index.js +141 -0
  25. package/dist/fe/components/VerificationPanel/types/index.d.ts +125 -0
  26. package/dist/fe/components/VerificationPanel/types/index.js +1 -0
  27. package/dist/fe/index.d.ts +4 -0
  28. package/dist/fe/index.js +2 -0
  29. package/dist/index.js +147 -64
  30. package/dist/src/Client/ApiCaller/generator.d.ts +3 -2
  31. package/dist/src/Client/ApiCaller/index.d.ts +2 -2
  32. package/dist/src/Client/ApiCaller/types.d.ts +223 -1
  33. package/dist/src/Client/Proxy/httpProxy.js +20 -0
  34. package/dist/src/Client/Proxy/types.d.ts +4 -0
  35. package/dist/src/ElysiaPlugin/routes/auth/admin/impersonate.d.ts +1 -0
  36. package/dist/src/ElysiaPlugin/routes/auth/login/index.d.ts +1 -0
  37. package/dist/src/ElysiaPlugin/routes/auth/logout/index.d.ts +9 -1
  38. package/dist/src/ElysiaPlugin/routes/auth/logout/utils.d.ts +9 -1
  39. package/dist/src/ElysiaPlugin/routes/auth/oauth/index.d.ts +1 -0
  40. package/dist/src/ElysiaPlugin/routes/verification/index.d.ts +37 -29
  41. package/dist/src/Services/Notification/index.d.ts +8 -1
  42. package/dist/src/Services/Notification/types.d.ts +36 -11
  43. package/dist/src/Services/Verification/index.d.ts +26 -1
  44. package/dist/src/Services/Verification/types.d.ts +96 -18
  45. package/dist/src/types.d.ts +25 -3
  46. package/package.json +2 -2
  47. package/src/system.tables.json +359 -55
package/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{batch as N,createStore as oe}from"h-state";import{useEffectEvent as ie}from"react";function ue(e){let t={};for(let n of Object.keys(e))t[n]={isPending:!1,data:null,error:null,code:null};return t}function le(e,t){let{useStore:n}=oe(ue(e),{_callEndpoint:(a)=>async(s,r)=>{if(!a[s])return;N(()=>{a[s].isPending=!0,a[s].error=null});try{let i=await t(s,r.payload);if(N(()=>{if(a[s].isPending=!1,a[s].code=i.code??null,i.isSuccess&&i.data!==void 0)a[s].data=i.data,a[s].error=null;else a[s].error=i.errors??null}),i.isSuccess)r.onAfterHandle?.(i.data??i);else r.onErrorHandle?.(i.errors??{message:"Request failed"},i.code)}catch(i){N(()=>{a[s].isPending=!1,a[s].error={message:i instanceof Error?i.message:"Unknown error"}}),r.onErrorHandle?.({message:i instanceof Error?i.message:"Unknown error"},null)}}});return function(){let s=n(),r=ie((i,u)=>{s._callEndpoint(i,u)}),o={};for(let i of Object.keys(e)){let u=(c)=>{r(i,c)};o[i]={state:s[i],start:u}}return o}}var H={$schema:"../schemas/nucleus.tables.schema.json",tables:[{table_name:"users",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"email",type:"varchar",length:255},{name:"password",type:"varchar",length:255},{name:"verified_at",type:"timestamp"},{name:"email_verification_token",type:"varchar",length:255},{name:"email_verification_token_expires_at",type:"timestamp"},{name:"email_verification_sent_at",type:"timestamp"},{name:"email_verification_attempts",type:"integer",default:0},{name:"last_login_at",type:"timestamp"},{name:"login_count",type:"integer",default:0},{name:"is_locked",type:"boolean",default:!1},{name:"locked_until",type:"timestamp"},{name:"failed_login_attempts",type:"integer",default:0},{name:"is_god",type:"boolean",default:!1}],indexes:[{columns:["email"],unique:!0},{columns:["email","is_active"]},{columns:["last_login_at"]},{columns:["is_locked","locked_until"]}]},{table_name:"profiles",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id"}},{name:"first_name",type:"varchar",length:100,notNull:!0},{name:"last_name",type:"varchar",length:100,notNull:!0}],indexes:[{columns:["user_id"],unique:!0},{columns:["first_name","last_name"]}]},{table_name:"roles",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"name",type:"varchar",length:100,notNull:!0},{name:"description",type:"varchar",length:500}],indexes:[{columns:["name"],unique:!0}]},{table_name:"claims",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"action",type:"varchar",length:100,notNull:!0},{name:"description",type:"varchar",length:500},{name:"path",type:"varchar",length:200,notNull:!0},{name:"method",type:"varchar",length:10,notNull:!0}],indexes:[{columns:["action"],unique:!0},{columns:["path","method"]}]},{table_name:"user_roles",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"role_id",type:"uuid",notNull:!0,references:{table:"roles",column:"id",onDelete:"cascade"}}],indexes:[{columns:["user_id"]},{columns:["role_id"]}],constraints:{unique:[{name:"unique_user_role",columns:["user_id","role_id"]}]}},{table_name:"role_claims",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"role_id",type:"uuid",notNull:!0,references:{table:"roles",column:"id",onDelete:"cascade"}},{name:"claim_id",type:"uuid",notNull:!0,references:{table:"claims",column:"id",onDelete:"cascade"}},{name:"scope",type:"text"}],indexes:[{columns:["role_id"]},{columns:["claim_id"]},{columns:["role_id","claim_id","scope"]}]},{table_name:"files",feature_set:["storage"],add_base_columns:!0,is_form_data:!0,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"name",type:"varchar",length:255,notNull:!0},{name:"original_name",type:"varchar",length:255,notNull:!0},{name:"type",type:"varchar",length:50,enumValues:["image","document","video","audio","profile_picture"]},{name:"path",type:"varchar",length:500,notNull:!0},{name:"size",type:"bigint",mode:"number",notNull:!0},{name:"mime_type",type:"varchar",length:100,notNull:!0},{name:"extension",type:"varchar",length:10,notNull:!0},{name:"uploaded_by",type:"uuid",references:{table:"users",column:"id"}}],indexes:[{columns:["type"]},{columns:["uploaded_by"]},{columns:["size"]}]},{table_name:"addresses",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"owner_type",type:"varchar",length:50,notNull:!0,enumValues:["user","company","contact"]},{name:"owner_id",type:"uuid",notNull:!0},{name:"name",type:"varchar",length:100,notNull:!0},{name:"street",type:"varchar",length:255},{name:"city",type:"varchar",length:100},{name:"state",type:"varchar",length:50},{name:"zip",type:"varchar",length:20},{name:"country",type:"varchar",length:50,default:"US"},{name:"latitude",type:"decimal",precision:10,scale:8},{name:"longitude",type:"decimal",precision:11,scale:8},{name:"neighborhood",type:"varchar",length:100},{name:"apartment",type:"varchar",length:50},{name:"province",type:"varchar",length:100},{name:"district",type:"varchar",length:100},{name:"type",type:"varchar",length:50}],indexes:[{columns:["city","state"]},{columns:["latitude","longitude"]},{columns:["type"]},{columns:["owner_type","owner_id"]}]},{table_name:"phones",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"owner_type",type:"varchar",length:50,notNull:!0,enumValues:["user","company","contact"]},{name:"owner_id",type:"uuid",notNull:!0},{name:"name",type:"varchar",length:100,notNull:!0},{name:"type",type:"varchar",length:50,enumValues:["mobile","office","fax"]},{name:"number",type:"varchar",length:20,notNull:!0},{name:"country_code",type:"varchar",length:10,notNull:!0,default:"+1"},{name:"extension",type:"varchar",length:10}],indexes:[{columns:["number"]},{columns:["type"]},{columns:["owner_type","owner_id"]}]},{table_name:"notifications",feature_set:["authentication","notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"user_id",type:"uuid",notNull:!0},{name:"title",type:"varchar",length:255,notNull:!0},{name:"body",type:"varchar",length:1000},{name:"entity_name",type:"varchar",length:100},{name:"entity_id",type:"uuid"},{name:"is_seen",type:"boolean",notNull:!0,default:!1},{name:"seen_at",type:"timestamptz"}],indexes:[{columns:["user_id","created_at"]},{columns:["is_seen"]}]},{table_name:"tenants",feature_set:["multi-tenant"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["main"],excluded_schemas:[],excluded_methods:[],columns:[{name:"subdomain",type:"varchar",length:100,notNull:!0,unique:!0},{name:"company_id",type:"uuid",notNull:!0},{name:"schema_name",type:"varchar",length:100,notNull:!0,unique:!0},{name:"company_name",type:"varchar",length:255},{name:"god_admin_email",type:"varchar",length:255}],indexes:[]},{table_name:"verifications",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"requirement_id",type:"uuid",notNull:!0,references:{table:"verificationRequirements",column:"id"}},{name:"verifier_id",type:"uuid",notNull:!0,references:{table:"users",column:"id"}},{name:"signature_id",type:"uuid",references:{table:"files",column:"id"}},{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"entity_id",type:"uuid",notNull:!0},{name:"step_order",type:"integer",notNull:!0,default:1},{name:"decision",type:"varchar",length:50,notNull:!0,default:"pending",enumValues:["approved","rejected","pending"]},{name:"reason",type:"text"},{name:"diff",type:"jsonb"}],indexes:[{columns:["requirement_id"]},{columns:["verifier_id"]},{columns:["entity_name","entity_id"]},{columns:["entity_name","entity_id","step_order"]},{columns:["decision"]}]},{table_name:"verificationRequirements",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"entity_id",type:"uuid"},{name:"entity_name",type:"varchar",length:100},{name:"verifier_type",type:"varchar",length:30,enumValues:["user","role","entity_creator"]},{name:"verifier_id",type:"uuid"},{name:"verifier_role",type:"varchar",length:50},{name:"is_signature_mandatory",type:"boolean",notNull:!0},{name:"step_order",type:"integer",notNull:!0,default:1},{name:"is_all_required",type:"boolean",notNull:!0,default:!1},{name:"connected_from_step_order",type:"integer"},{name:"position_x",type:"numeric"},{name:"position_y",type:"numeric"}],indexes:[{columns:["entity_id"]}]},{table_name:"verificationFlows",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"name",type:"varchar",length:255,notNull:!0},{name:"description",type:"text"},{name:"trigger_on",type:"varchar",length:50,notNull:!0,default:"update",enumValues:["create","update","delete","manual"]},{name:"trigger_fields",type:"jsonb"},{name:"is_draft",type:"boolean",notNull:!0,default:!0},{name:"published_at",type:"timestamptz"},{name:"viewport",type:"jsonb"}],indexes:[{columns:["entity_name"]},{columns:["entity_name","trigger_on"]},{columns:["is_draft"]}]},{table_name:"verificationSteps",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"node_id",type:"varchar",length:100,notNull:!0},{name:"node_type",type:"varchar",length:50,notNull:!0,default:"step",enumValues:["start","step","condition","notification","end"]},{name:"step_order",type:"integer",notNull:!0,default:1},{name:"name",type:"varchar",length:255},{name:"description",type:"text"},{name:"position_x",type:"numeric",notNull:!0,default:0},{name:"position_y",type:"numeric",notNull:!0,default:0},{name:"width",type:"numeric"},{name:"height",type:"numeric"},{name:"style",type:"jsonb"},{name:"data",type:"jsonb"}],indexes:[{columns:["flow_id"]},{columns:["entity_name"]},{columns:["flow_id","node_id"],unique:!0},{columns:["entity_name","step_order"]}]},{table_name:"verificationEdges",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"edge_id",type:"varchar",length:100,notNull:!0},{name:"source_node_id",type:"varchar",length:100,notNull:!0},{name:"target_node_id",type:"varchar",length:100,notNull:!0},{name:"source_handle",type:"varchar",length:50},{name:"target_handle",type:"varchar",length:50},{name:"edge_type",type:"varchar",length:50,default:"default",enumValues:["default","conditional","success","failure"]},{name:"label",type:"varchar",length:255},{name:"condition",type:"jsonb"},{name:"style",type:"jsonb"},{name:"animated",type:"boolean",default:!1}],indexes:[{columns:["flow_id"]},{columns:["flow_id","edge_id"],unique:!0},{columns:["source_node_id"]},{columns:["target_node_id"]}]},{table_name:"verificationNotificationRules",feature_set:["authentication","verification","notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"step_node_id",type:"varchar",length:100},{name:"trigger",type:"varchar",length:50,notNull:!0,enumValues:["on_flow_started","on_step_reached","on_approved","on_rejected","on_flow_completed"]},{name:"channel",type:"varchar",length:20,notNull:!0,default:"portal",enumValues:["portal","email","both"]},{name:"title_template",type:"varchar",length:255},{name:"body_template",type:"text"},{name:"starts_at",type:"timestamptz"},{name:"expires_at",type:"timestamptz"}],indexes:[{columns:["flow_id"]},{columns:["flow_id","step_node_id"]},{columns:["trigger"]}]},{table_name:"verificationNotificationRecipients",feature_set:["authentication","verification","notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"rule_id",type:"uuid",notNull:!0},{name:"recipient_type",type:"varchar",length:20,notNull:!0,enumValues:["user","role","all_verifiers","step_verifier"]},{name:"recipient_user_id",type:"uuid"},{name:"recipient_role_id",type:"uuid"},{name:"channel",type:"varchar",length:20,notNull:!0,enumValues:["portal"]}],indexes:[{columns:["rule_id"]},{columns:["recipient_type"]},{columns:["channel"]}]},{table_name:"user_sessions",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","PATCH"],columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"token_hash",type:"varchar",length:255,notNull:!0},{name:"refresh_token_hash",type:"varchar",length:255},{name:"device_fingerprint",type:"varchar",length:255},{name:"device_name",type:"varchar",length:100},{name:"device_type",type:"varchar",length:50,enumValues:["desktop","mobile","tablet","unknown"]},{name:"browser_name",type:"varchar",length:50},{name:"browser_version",type:"varchar",length:20},{name:"os_name",type:"varchar",length:50},{name:"os_version",type:"varchar",length:20},{name:"ip_address",type:"varchar",length:45,notNull:!0},{name:"location_country",type:"varchar",length:100},{name:"location_city",type:"varchar",length:100},{name:"location_coordinates",type:"varchar",length:50},{name:"last_activity_at",type:"timestamptz",notNull:!0,defaultRaw:"now()"},{name:"expires_at",type:"timestamptz",notNull:!0},{name:"revoked_at",type:"timestamptz"},{name:"revoked_reason",type:"varchar",length:100,enumValues:["user_logout","user_revoked","admin_revoked","security_concern","password_changed","expired","replaced"]},{name:"is_current",type:"boolean",notNull:!0,default:!1},{name:"login_method",type:"varchar",length:50,enumValues:["password","oauth_google","oauth_github","oauth_microsoft","magic_link","sso","api_key"]},{name:"remember_me",type:"boolean",notNull:!0,default:!1},{name:"trust_score",type:"integer",default:100},{name:"approval_status",type:"varchar",length:20,default:"approved",enumValues:["approved","pending","rejected"]},{name:"approval_token",type:"varchar",length:64},{name:"approval_requested_at",type:"timestamptz"},{name:"approval_responded_at",type:"timestamptz"}],indexes:[{columns:["user_id"]},{columns:["token_hash"],unique:!0},{columns:["refresh_token_hash"]},{columns:["user_id","is_active"]},{columns:["expires_at"]},{columns:["device_fingerprint"]},{columns:["ip_address"]},{columns:["last_activity_at"]},{columns:["approval_status"]},{columns:["approval_token"]}]},{table_name:"password_reset_tokens",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","PATCH","DELETE"],columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"token_hash",type:"varchar",length:255,notNull:!0},{name:"expires_at",type:"timestamptz",notNull:!0},{name:"used_at",type:"timestamptz"}],indexes:[{columns:["token_hash"],unique:!0},{columns:["user_id"]},{columns:["expires_at"]}]},{table_name:"magic_link_tokens",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","PATCH","DELETE"],columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"email",type:"varchar",length:255,notNull:!0},{name:"token_hash",type:"varchar",length:255,notNull:!0},{name:"expires_at",type:"timestamptz",notNull:!0},{name:"used_at",type:"timestamptz"}],indexes:[{columns:["token_hash"],unique:!0},{columns:["user_id"]},{columns:["email"]},{columns:["expires_at"]}]},{table_name:"audit_logs",feature_set:["audit"],add_base_columns:!1,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","DELETE","PATCH","TOGGLE","VERIFICATION"],columns:[{name:"id",type:"uuid",primaryKey:!0,defaultRaw:"gen_random_uuid()"},{name:"entity_id",type:"uuid"},{name:"entity_name",type:"text",notNull:!0},{name:"operation_type",type:"text",notNull:!0},{name:"user_id",type:"uuid"},{name:"ip_address",type:"text"},{name:"user_agent",type:"text"},{name:"summary",type:"text"},{name:"old_values",type:"jsonb"},{name:"new_values",type:"jsonb"},{name:"created_at",type:"timestamp",notNull:!0,defaultRaw:"now()"},{name:"path",type:"text"},{name:"query",type:"text"}],indexes:[{columns:["entity_id"]},{columns:["entity_name"]},{columns:["user_id"]},{columns:["created_at"]}]},{table_name:"oauth_accounts",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!1,columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"provider",type:"varchar",length:50,notNull:!0,enumValues:["google","github","microsoft","discord","facebook","twitter","apple","custom"]},{name:"provider_account_id",type:"varchar",length:255,notNull:!0},{name:"provider_email",type:"varchar",length:255},{name:"provider_name",type:"varchar",length:255},{name:"provider_avatar_url",type:"text"},{name:"access_token",type:"text"},{name:"refresh_token",type:"text"},{name:"token_expires_at",type:"timestamp"},{name:"scope",type:"text"},{name:"raw_profile",type:"jsonb"},{name:"is_primary",type:"boolean",notNull:!0,default:!1},{name:"last_used_at",type:"timestamp"}],indexes:[{columns:["user_id"]},{columns:["provider","provider_account_id"],unique:!0},{columns:["provider_email"]},{columns:["user_id","provider"]}],constraints:{unique:[{name:"unique_provider_account",columns:["provider","provider_account_id"]}]}}]};var I={login:{key:"LOGIN",method:"POST",defaultRoute:"/auth/login",defaultIsPublic:!0,_payload:void 0,_success:void 0,_error:void 0},register:{key:"REGISTER",method:"POST",defaultRoute:"/auth/register",defaultIsPublic:!0,_payload:void 0,_success:void 0,_error:void 0},logout:{key:"LOGOUT",method:"POST",defaultRoute:"/auth/logout",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},refresh:{key:"REFRESH",method:"POST",defaultRoute:"/auth/refresh",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},me:{key:"ME",method:"GET",defaultRoute:"/auth/me",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},passwordChange:{key:"PASSWORD_CHANGE",method:"POST",defaultRoute:"/auth/password-change",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},passwordSet:{key:"PASSWORD_SET",method:"POST",defaultRoute:"/auth/password-set",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},passwordReset:{key:"PASSWORD_RESET_REQUEST",method:"POST",defaultRoute:"/auth/password-reset",defaultIsPublic:!0,subEndpoints:[{key:"PASSWORD_RESET_REQUEST",method:"POST",suffix:"/request",_payload:void 0,_success:void 0,_error:void 0},{key:"PASSWORD_RESET_CONFIRM",method:"POST",suffix:"/confirm",_payload:void 0,_success:void 0,_error:void 0}]},sessions:{key:"SESSIONS",method:"GET",defaultRoute:"/auth/sessions",defaultIsPublic:!1,subEndpoints:[{key:"SESSIONS",method:"GET",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_CURRENT",method:"GET",suffix:"/current",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_STATS",method:"GET",suffix:"/stats",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_PENDING",method:"GET",suffix:"/pending",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_REVOKE",method:"DELETE",suffix:"/:sessionId",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_REVOKE_ALL",method:"DELETE",suffix:"/all",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_APPROVE",method:"POST",suffix:"/approve",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_REJECT",method:"POST",suffix:"/reject",_payload:void 0,_success:void 0,_error:void 0}]},magicLink:{key:"MAGIC_LINK",method:"POST",defaultRoute:"/auth/magic-link",defaultIsPublic:!0,subEndpoints:[{key:"MAGIC_LINK",method:"POST",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"MAGIC_LINK_VERIFY",method:"GET",suffix:"/verify",routeKey:"verifyRoute",_payload:void 0,_success:void 0,_error:void 0}]},invite:{key:"INVITE",method:"POST",defaultRoute:"/auth/invite",defaultIsPublic:!1,subEndpoints:[{key:"INVITE",method:"POST",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"INVITE_VERIFY",method:"POST",suffix:"/verify",_payload:void 0,_success:void 0,_error:void 0}]},emailVerification:{key:"VERIFY_EMAIL",method:"GET",defaultRoute:"/verify-email",defaultIsPublic:!0,subEndpoints:[{key:"VERIFY_EMAIL",method:"GET",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"RESEND_VERIFICATION",method:"POST",suffix:"",routeKey:"resendRoute",defaultRoute:"/resend-verification",_payload:void 0,_success:void 0,_error:void 0}]},captcha:{key:"CAPTCHA",method:"GET",defaultRoute:"/auth/captcha",defaultIsPublic:!0,subEndpoints:[{key:"CAPTCHA_GENERATE",method:"GET",suffix:"/generate",_payload:void 0,_success:void 0,_error:void 0},{key:"CAPTCHA_VALIDATE",method:"POST",suffix:"/validate",_payload:void 0,_success:void 0,_error:void 0}]},oauth:{key:"OAUTH_PROVIDERS",method:"GET",defaultRoute:"/auth/oauth/providers",defaultIsPublic:!0,subEndpoints:[{key:"OAUTH_PROVIDERS",method:"GET",suffix:"/providers",_payload:void 0,_success:void 0,_error:void 0},{key:"OAUTH_REDIRECT",method:"GET",suffix:"/:provider",_payload:void 0,_success:void 0,_error:void 0},{key:"OAUTH_ACCOUNTS",method:"GET",suffix:"/accounts",_payload:void 0,_success:void 0,_error:void 0},{key:"OAUTH_UNLINK",method:"DELETE",suffix:"/unlink/:provider",_payload:void 0,_success:void 0,_error:void 0}]}},j={healthCheck:{key:"MONITORING_HEALTH_CHECK",method:"GET",suffix:"/health",_payload:void 0,_success:void 0,_error:void 0},getSettings:{key:"MONITORING_GET_SETTINGS",method:"GET",suffix:"/settings",_payload:void 0,_success:void 0,_error:void 0},changeSettings:{key:"MONITORING_CHANGE_SETTINGS",method:"PATCH",suffix:"/settings",_payload:void 0,_success:void 0,_error:void 0},getLogs:{key:"MONITORING_GET_LOGS",method:"GET",suffix:"/logs",_payload:void 0,_success:void 0,_error:void 0}};var ce=["profiles","addresses","phones","files","users","roles","claims","user_roles","role_claims","audit_logs"],pe=H.tables.filter((e)=>ce.includes(e.table_name));function S(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toUpperCase()}function me(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function $(e){if(e.endsWith("ies"))return`${e.slice(0,-3)}y`;if(e.endsWith("ses"))return`${e.slice(0,-2)}`;if(e.endsWith("s"))return e.slice(0,-1);return e}function y(e,t){let n=S(e),a=S($(e));switch(t){case"GET":return`GET_${n}`;case"POST":return`ADD_${a}`;case"PUT":return`UPDATE_${a}`;case"PATCH":return`PATCH_${a}`;case"DELETE":return`DELETE_${a}`}}function P(e,t){let n=S(e);switch(t){case"POST":return`BULK_ADD_${n}`;case"PUT":return`BULK_UPDATE_${n}`;case"DELETE":return`BULK_DELETE_${n}`}}function T(e,t){if(!e.excluded_methods)return!1;let n={GET:"GET",POST:"POST",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE"};return e.excluded_methods.includes(n[t])}function W(e){let t={};for(let n of e.entities){let a=n.table_name,s=`/${a}`;if(!T(n,"GET")){t[y(a,"GET")]={method:"GET",path:s,isPublic:n.is_public?.GET??!1,_payload:void 0,_success:void 0,_error:void 0};let r=S($(a));t[`GET_${r}_BY_ID`]={method:"GET",path:`${s}/:id`,isPublic:n.is_public?.GET??!1,_payload:void 0,_success:void 0,_error:void 0},t[`GET_${S(a)}_DISTINCT`]={method:"GET",path:`${s}/distinct/:field`,isPublic:n.is_public?.GET??!1,_payload:void 0,_success:void 0,_error:void 0}}if(!T(n,"POST"))t[y(a,"POST")]={method:"POST",path:s,isPublic:n.is_public?.POST??!1,isFormData:n.is_form_data,_payload:void 0,_success:void 0,_error:void 0};if(!T(n,"PUT"))t[y(a,"PUT")]={method:"PUT",path:`${s}/:id`,isPublic:n.is_public?.PUT??!1,isFormData:n.is_form_data,_payload:void 0,_success:void 0,_error:void 0};if(!T(n,"PATCH"))t[y(a,"PATCH")]={method:"PATCH",path:`${s}/:id`,isPublic:n.is_public?.PATCH??!1,_payload:void 0,_success:void 0,_error:void 0};if(!T(n,"DELETE"))t[y(a,"DELETE")]={method:"DELETE",path:`${s}/:id`,isPublic:n.is_public?.DELETE??!1,_payload:void 0,_success:void 0,_error:void 0};if(n.bulk_endpoints_enabled){if(!T(n,"POST"))t[P(a,"POST")]={method:"POST",path:`${s}/bulk`,isPublic:n.is_public?.POST??!1,_payload:void 0,_success:void 0,_error:void 0};if(!T(n,"PUT"))t[P(a,"PUT")]={method:"PUT",path:`${s}/bulk`,isPublic:n.is_public?.PUT??!1,_payload:void 0,_success:void 0,_error:void 0};if(!T(n,"DELETE"))t[P(a,"DELETE")]={method:"DELETE",path:`${s}/bulk`,isPublic:n.is_public?.DELETE??!1,_payload:void 0,_success:void 0,_error:void 0}}}return t}function Y(e){let t={},n=e.authentication;if(!n?.enabled)return t;for(let[a,s]of Object.entries(I)){let r=n[a];if(!r?.enabled)continue;let o=r.route||s.defaultRoute,i=r.isPublic??s.defaultIsPublic;if("subEndpoints"in s&&s.subEndpoints)for(let u of s.subEndpoints){let c="routeKey"in u&&u.routeKey&&r[u.routeKey]?String(r[u.routeKey]):("defaultRoute"in u)&&u.defaultRoute?String(u.defaultRoute):`${o}${u.suffix}`;t[u.key]={method:u.method,path:c,isPublic:u.key==="MAGIC_LINK_VERIFY"?!0:i,_payload:u._payload,_success:u._success,_error:u._error}}else if("_payload"in s)t[s.key]={method:s.method,path:o,isPublic:i,_payload:s._payload,_success:s._success,_error:s._error}}return t}function J(){let e={};for(let t of pe){let n=t.table_name,s=`/${me(n)}`,r=n==="files";e[y(n,"GET")]={method:"GET",path:s,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0};let o=S($(n));if(e[`GET_${o}_BY_ID`]={method:"GET",path:`${s}/:id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[y(n,"POST")]={method:"POST",path:s,isPublic:!1,isFormData:r,_payload:void 0,_success:void 0,_error:void 0},e[y(n,"PUT")]={method:"PUT",path:`${s}/:id`,isPublic:!1,isFormData:r,_payload:void 0,_success:void 0,_error:void 0},e[y(n,"PATCH")]={method:"PATCH",path:`${s}/:id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[y(n,"DELETE")]={method:"DELETE",path:`${s}/:id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},t.bulk_endpoints_enabled)e[P(n,"POST")]={method:"POST",path:`${s}/bulk`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[P(n,"PUT")]={method:"PUT",path:`${s}/bulk`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[P(n,"DELETE")]={method:"DELETE",path:`${s}/bulk`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0}}return e}function Z(e){let t={},n=e.liveMonitoring;if(!n?.enabled)return t;let a=n.basePath||"/monitoring";for(let s of Object.values(j))t[s.key]={method:s.method,path:`${a}${s.suffix}`,isPublic:!1,_payload:s._payload,_success:s._success,_error:s._error};return t}function X(e){let t={};if(!e.authentication?.enabled)return t;return t.ADMIN_IMPERSONATE={method:"POST",path:"/auth/admin/impersonate",isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},t.ADMIN_IMPERSONATE_STOP={method:"POST",path:"/auth/admin/impersonate/stop",isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},t.ADMIN_CHANGE_USER_ID={method:"POST",path:"/auth/admin/change-user-id",isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},t}function fe(e,t){let n=W(e),a=Y(e),s=X(e),r=J(),o=Z(e);return{...n,...a,...s,...r,...o,...t??{}}}import{randomUUID as ye}from"crypto";import{randomUUID as he}from"crypto";var O={debug:0,info:1,warn:2,error:3,fatal:4},Q={debug:"\x1B[36m",info:"\x1B[32m",warn:"\x1B[33m",error:"\x1B[31m",fatal:"\x1B[35m"},M="\x1B[0m",U="\x1B[2m",ee="\x1B[1m";var _e=["password","secret","token","apiKey","api_key","authorization","cookie","credit_card","creditCard","ssn","privateKey","private_key"];function C(e,t=_e,n=new WeakSet){if(e===null||e===void 0)return e;if(typeof e!=="object")return e;if(n.has(e))return"[Circular]";if(n.add(e),Array.isArray(e))return e.map((s)=>C(s,t,n));let a={};for(let[s,r]of Object.entries(e))if(t.some((i)=>s.toLowerCase().includes(i.toLowerCase()))&&typeof r==="string")a[s]="[REDACTED]";else if(typeof r==="object"&&r!==null)a[s]=C(r,t,n);else a[s]=r;return a}function te(e=4){let t=Error().stack;if(!t)return{file:"unknown",line:0,function:"unknown"};let a=t.split(`
3
- `)[e];if(!a)return{file:"unknown",line:0,function:"unknown"};let s=a.match(/at\s+(?:(.+?)\s+)?\(?(.+?):(\d+):(\d+)\)?/);if(!s)return{file:"unknown",line:0,function:"unknown"};let[,r,o,i]=s;return{file:o?o.split("/").pop()||o:"unknown",line:parseInt(i||"0",10),function:r?.replace(/^Object\./,"")||"anonymous"}}function ne(e){if(e instanceof Error)return{name:e.name,message:e.message,stack:e.stack,code:e.code};if(typeof e==="string")return{name:"Error",message:e};return{name:"UnknownError",message:String(e)}}function F(e,t){if(!e&&!t)return;if(!e)return t;if(!t)return e;return{...e,...t}}function se(e){if(e<1)return`${(e*1000).toFixed(2)}\xB5s`;if(e<1000)return`${e.toFixed(2)}ms`;return`${(e/1000).toFixed(2)}s`}function ae(e,t){let n=new WeakSet;return JSON.stringify(e,(a,s)=>{if(typeof s==="object"&&s!==null){if(n.has(s))return"[Circular]";n.add(s)}if(typeof s==="bigint")return s.toString();if(s instanceof Error)return{name:s.name,message:s.message,stack:s.stack};return s},t)}class B{name="console";colorize;prettyPrint;constructor(e={}){this.colorize=e.colorize??!0,this.prettyPrint=e.prettyPrint??!0}log(e){if(this.prettyPrint)this.logPretty(e);else this.logJson(e)}logJson(e){let t=ae(e);this.getConsoleMethod(e.level)(t)}logPretty(e){let t=this.getConsoleMethod(e.level),n=this.colorize?Q[e.level]:"",a=this.colorize?M:"",s=this.colorize?U:"",r=this.colorize?ee:"",o=new Date(e.timestamp).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),i=e.level.toUpperCase().padEnd(5),u=e.service?`[${e.service}]`:"",c=e.correlationId?`${s}(${e.correlationId.slice(0,8)})${a}`:"",_=e.duration!==void 0?`${s}${se(e.duration)}${a}`:"",w=`${s}${o}${a} ${n}${r}${i}${a} ${u}${c} ${e.message} ${_}`;if(t(w.trim()),e.caller)t(` ${s}at ${e.caller.function} (${e.caller.file}:${e.caller.line})${a}`);if(e.context&&Object.keys(e.context).length>0)t(` ${s}context:${a}`,e.context);if(e.error){if(t(` ${n}${e.error.name}: ${e.error.message}${a}`),e.error.stack){let l=e.error.stack.split(`
4
- `).slice(1,4);for(let m of l)t(` ${s}${m.trim()}${a}`)}}}getConsoleMethod(e){switch(e){case"debug":return console.debug.bind(console);case"info":return console.info.bind(console);case"warn":return console.warn.bind(console);case"error":case"fatal":return console.error.bind(console);default:return console.log.bind(console)}}}class G{name="console-audit";enabled;constructor(e={}){this.enabled=e.enabled??!0}write(e){if(!this.enabled)return;let t="\x1B[35m",n=M,a=U;console.log(`${a}${e.timestamp}${n} ${t}AUDIT${n} [${e.operation}] ${e.entityName}${e.entityId?`:${e.entityId}`:""} ${a}by ${e.userId||"anonymous"}${n}`)}}var ge={level:"info",service:"nucleus",environment:"development",redactKeys:[],colorize:!0,prettyPrint:!0,includeCallerInfo:!0,asyncBufferSize:100,flushIntervalMs:1000,auditEnabled:!1};class E{config;transports;auditTransports;context;correlationId;static instance=null;constructor(e={},t={},n){this.config={...ge,...e},this.context=t,this.correlationId=n,this.transports=[new B({colorize:this.config.colorize,prettyPrint:this.config.prettyPrint})],this.auditTransports=[new G({enabled:this.config.prettyPrint})]}static getInstance(e){if(!E.instance)E.instance=new E(e);return E.instance}static resetInstance(){E.instance=null}child(e,t){let n=new E(this.config,F(this.context,e)||{},t||this.correlationId);return n.transports=this.transports,n.auditTransports=this.auditTransports,n}withCorrelationId(e){return this.child({},e)}addTransport(e){this.transports.push(e)}addAuditTransport(e){this.auditTransports.push(e)}setLevel(e){this.config.level=e}setAuditEnabled(e){this.config.auditEnabled=e}isAuditEnabled(){return this.config.auditEnabled}shouldLog(e){return O[e]>=O[this.config.level]}createEntry(e,t,n,a,s){let r={timestamp:new Date().toISOString(),level:e,message:t,service:this.config.service,correlationId:this.correlationId},o=F(this.context,n);if(o&&Object.keys(o).length>0)r.context=C(o,this.config.redactKeys);if(this.config.includeCallerInfo)r.caller=te();if(a)r.error=ne(a);if(s!==void 0)r.duration=performance.now()-s;return r}log(e,t,n,a,s){if(!this.shouldLog(e))return;let r=this.createEntry(e,t,n,a,s);for(let o of this.transports)try{o.log(r)}catch(i){console.error(`Logger transport "${o.name}" failed:`,i)}}debug(e,t){this.log("debug",e,t)}info(e,t){this.log("info",e,t)}warn(e,t){this.log("warn",e,t)}error(e,t,n){this.log("error",e,n,t)}fatal(e,t,n){this.log("fatal",e,n,t)}time(e){let t=performance.now();return()=>{this.log("debug",`${e} completed`,void 0,void 0,t)}}async timeAsync(e,t,n){let a=performance.now();try{let s=await t();return this.log("debug",`${e} completed`,n,void 0,a),s}catch(s){throw this.log("error",`${e} failed`,n,s,a),s}}request(e){let t=e.statusCode>=500?"error":e.statusCode>=400?"warn":"info";this.log(t,`${e.method} ${e.path} ${e.statusCode}`,{method:e.method,path:e.path,statusCode:e.statusCode,durationMs:e.duration,correlationId:e.correlationId,userId:e.userId,ip:e.ip,userAgent:e.userAgent})}db(e){let t=e.error?"error":"debug";this.log(t,`DB ${e.operation} on ${e.table}`,{operation:e.operation,table:e.table,durationMs:e.duration,rowCount:e.rowCount},e.error)}async flush(){for(let e of this.transports)if(e.flush)await e.flush()}async audit(e){let t={id:he(),timestamp:new Date().toISOString(),entityName:e.entityName,entityId:e.entityId??null,operation:e.operation,userId:e.userId??null,summary:e.summary||`${e.operation} on ${e.entityName}`,oldValues:e.oldValues||{},newValues:e.newValues||{},ipAddress:e.ipAddress||"unknown",userAgent:e.userAgent||"unknown",path:e.path||"",query:e.query||"",correlationId:this.correlationId};for(let n of this.auditTransports)try{await n.write(t)}catch(a){console.error(`Audit transport "${n.name}" failed:`,a)}}auditOnly(e){this.audit(e)}async trace(e){let t=e.log!==!1,n=e.writeAudit===!0||e.writeAudit!==!1&&this.config.auditEnabled&&e.audit;if(t)this.log(e.level||"info",e.message,e.context,e.error);if(n&&e.audit)await this.audit(e.audit)}traceSync(e){let t=e.log!==!1,n=e.writeAudit===!0||e.writeAudit!==!1&&this.config.auditEnabled&&e.audit;if(t)this.log(e.level||"info",e.message,e.context,e.error);if(n&&e.audit)this.audit(e.audit)}}var Ve=E.getInstance();var Ee={timeout:30000,retries:0,retryDelay:1000,debug:!1};class D{config;logger;constructor(e={}){this.config={...Ee,...e},this.logger=new E({service:"ServerFetch",prettyPrint:this.config.debug,colorize:this.config.debug,auditEnabled:!1})}buildUrl(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;return this.config.baseUrl?`${this.config.baseUrl}${e}`:e}buildHeaders(e){let t=new Headers;if(this.config.defaultHeaders)for(let[n,a]of Object.entries(this.config.defaultHeaders))t.set(n,a);if(e)if(e instanceof Headers)e.forEach((n,a)=>{t.set(a,n)});else if(Array.isArray(e))for(let[n,a]of e)t.set(n,a);else for(let[n,a]of Object.entries(e))t.set(n,a);return t}parseResponseHeaders(e){let t={};if(e.forEach((n,a)=>{if(a.toLowerCase()==="set-cookie"){let s=t[a];t[a]=s?`${s}, ${n}`:n}else t[a]=n}),typeof e.getSetCookie==="function"){let n=e.getSetCookie();if(n.length>0)t["set-cookie"]=n.join(", ")}return t}async executeWithTimeout(e,t,n){let a=new AbortController,s=setTimeout(()=>a.abort(),t);try{return await Promise.race([e,new Promise((o,i)=>{a.signal.addEventListener("abort",()=>{i(Error(`Request timeout after ${t}ms`))})})])}finally{clearTimeout(s)}}async fetch(e){let t=ye(),n=performance.now(),a=this.buildUrl(e.url),s=this.buildHeaders(e.headers),r=e.timeout??this.config.timeout??30000,o=e.retries??this.config.retries??0,i=e.retryDelay??this.config.retryDelay??1000,u;if(e.body)if(typeof e.body==="object"&&!(e.body instanceof FormData)&&!(e.body instanceof URLSearchParams)&&!(e.body instanceof Blob)&&!(e.body instanceof ArrayBuffer)){if(u=JSON.stringify(e.body),!s.has("content-type"))s.set("content-type","application/json")}else u=e.body;this.logger.debug(`[${t}] ${e.method} ${a}`,{method:e.method,url:a,hasBody:!!u});let c=null,_=0;while(_<=o)try{let l=await this.executeWithTimeout(fetch(a,{method:e.method,headers:s,body:u}),r,t),m=performance.now()-n,h=this.parseResponseHeaders(l.headers),x,p,g=await l.text();if(g)try{let f=JSON.parse(g);if(l.ok)x=f;else p=f}catch{if(!l.ok)p={message:g||l.statusText}}else if(!l.ok)p={message:l.statusText};let d={isSuccess:l.ok,response:x,errors:p,code:l.status,headers:h,durationMs:m,requestId:t,createdAt:new Date};if(l.ok)this.logger.info(`[${t}] ${e.method} ${a} ${l.status}`,{method:e.method,url:a,statusCode:l.status,durationMs:Math.round(m)});else this.logger.warn(`[${t}] ${e.method} ${a} ${l.status}`,{method:e.method,url:a,statusCode:l.status,durationMs:Math.round(m),error:p});return d}catch(l){if(c=l instanceof Error?l:Error(String(l)),_++,_<=o)this.logger.warn(`[${t}] Retry ${_}/${o} after error`,{method:e.method,url:a,error:c.message,attempt:_,retries:o}),await new Promise((m)=>setTimeout(m,i))}let w=performance.now()-n;return this.logger.error(`[${t}] ${e.method} ${a} failed`,c,{method:e.method,url:a,durationMs:Math.round(w),attempts:_}),{isSuccess:!1,response:void 0,errors:{message:c?.message||"Unknown error"},code:null,headers:{},durationMs:w,requestId:t,createdAt:new Date}}async get(e,t){return this.fetch({...t,url:e,method:"GET"})}async post(e,t,n){return this.fetch({...n,url:e,method:"POST",body:t})}async put(e,t,n){return this.fetch({...n,url:e,method:"PUT",body:t})}async patch(e,t,n){return this.fetch({...n,url:e,method:"PATCH",body:t})}async delete(e,t){return this.fetch({...t,url:e,method:"DELETE"})}}var je=new D;var be={accessToken:"access_token",refreshToken:"refresh_token",sessionToken:"session_token"};function ve(e){let t=[],n="";for(let a=0;a<e.length;a++){let s=e[a];if(s===","){let r=e.slice(a+1).trimStart();if(/^[a-zA-Z0-9_-]+=/.test(r)){t.push(n.trim()),n="";continue}}n+=s}if(n.trim())t.push(n.trim());return t}function Te(e,t){let n={},a=["x-forwarded-for","x-real-ip","user-agent","accept-language","x-request-id","x-client-ip","cf-connecting-ip","true-client-ip"];for(let u of a){let c=e.get(u);if(c)n[u]=c}if(!n["user-agent"])n["user-agent"]="Nucleus-ServerAction/1.0";let s=e.get(`x-${t.accessToken}`),r=e.get(`x-${t.refreshToken}`),o=e.get(`x-${t.sessionToken}`);if(s)n[`x-${t.accessToken}`]=s;if(r)n[`x-${t.refreshToken}`]=r;if(o)n[`x-${t.sessionToken}`]=o;let i=e.get("cookie");if(i)n.cookie=i;return n}function we(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function z(e){let t={};for(let[n,a]of Object.entries(e)){let s=n.startsWith("_")?n:we(n);if(a instanceof Date)t[s]=a.toISOString();else if(a&&typeof a==="object"&&!Array.isArray(a))t[s]=z(a);else t[s]=a}return t}function xe(e,t){let n=new URLSearchParams,a=(r,o)=>{if(o===void 0||o===null)return;if(Array.isArray(o))for(let i of o)a(`${r}[]`,i);else if(o instanceof Date)n.append(r,o.toISOString());else if(typeof o==="object")for(let[i,u]of Object.entries(o))a(`${r}[${i}]`,u);else n.append(r,String(o))};for(let[r,o]of Object.entries(t))a(r,o);let s=n.toString();if(!s)return e;return e.includes("?")?`${e}&${s}`:`${e}?${s}`}function Re(e,t,n,a){let s={...be,...t.tokenNames},r=new D({baseUrl:t.baseUrl,debug:t.debug,timeout:30000,retries:0});return async function(i,u){let c=e[i];if(!c)return{isSuccess:!1,errors:{message:`Endpoint "${i}" not found`},code:404};let _=await n(),w=await a(),l={};w.forEach((d,f)=>{l[f]=d});let m=Te(w,s),h=c.path,x;if(u&&typeof u==="object"&&!(u instanceof FormData)){let d=u;for(let[f,b]of Object.entries(d))if(b!=null){if(f.startsWith("_"))h=h.replace(`:${f.substring(1)}`,String(b));else if(f==="id"&&h.includes(":id"))h=h.replace(":id",String(b))}}if(c.method==="GET"&&u&&typeof u==="object")h=xe(h,u);else if(u!==void 0){if(c.isFormData&&u instanceof FormData)x=u;else if(Array.isArray(u)){if(x=u.map((d)=>d&&typeof d==="object"?z(d):d),!m["content-type"])m["content-type"]="application/json"}else if(x=z(u),!m["content-type"])m["content-type"]="application/json"}let p=await r.fetch({url:h,method:c.method,headers:m,body:x});if(p.headers["set-cookie"])try{let d=p.headers["set-cookie"],f=ve(d);for(let b of f){let[L,...A]=b.split(";");if(!L)continue;let[V,q]=L.split("=");if(V&&q){let v={};for(let re of A){let[K,k]=re.trim().split("=");if(!K)continue;let R=K.toLowerCase();if(R==="path")v.path=k;else if(R==="domain")v.domain=k;else if(R==="max-age")v.maxAge=Number(k);else if(R==="expires"&&k)v.expires=new Date(k);else if(R==="httponly")v.httpOnly=!0;else if(R==="secure")v.secure=!0;else if(R==="samesite")v.sameSite=k}_.set(V.trim(),q.trim(),v)}}}catch(d){console.warn("[ServerFactory] Failed to process Set-Cookie headers:",d instanceof Error?d.message:String(d))}let g=p.response;if(p.isSuccess&&g&&typeof g==="object"&&!Array.isArray(g)){let d=g;if("success"in d&&!("data"in d)){let{success:f,message:b,error:L,...A}=d;g={success:f,...b!==void 0?{message:b}:{},...L!==void 0?{error:L}:{},...Object.keys(A).length>0?{data:A}:{}}}}return{isSuccess:p.isSuccess,data:g,errors:p.errors,code:p.code,message:p.isSuccess?void 0:p.errors?.message}}}export{J as generateSystemTableEndpoints,Z as generateMonitoringEndpoints,W as generateEndpointsFromConfig,Y as generateAuthEndpoints,fe as generateAllEndpoints,X as generateAdminEndpoints,Re as createServerFactory,le as createApiHook,I as AUTH_ENDPOINT_CONFIGS};
2
+ import{batch as A,createStore as ue}from"h-state";import{useEffectEvent as le}from"react";function de(e){let n={};for(let t of Object.keys(e))n[t]={isPending:!1,data:null,error:null,code:null};return n}function ce(e,n){let{useStore:t}=ue(de(e),{_callEndpoint:(a)=>async(s,i)=>{if(!a[s])return;A(()=>{a[s].isPending=!0,a[s].error=null});try{let r=await n(s,i.payload);if(A(()=>{if(a[s].isPending=!1,a[s].code=r.code??null,r.isSuccess&&r.data!==void 0)a[s].data=r.data,a[s].error=null;else a[s].error=r.errors??null}),r.isSuccess)i.onAfterHandle?.(r.data??r);else i.onErrorHandle?.(r.errors??{message:"Request failed"},r.code)}catch(r){A(()=>{a[s].isPending=!1,a[s].error={message:r instanceof Error?r.message:"Unknown error"}}),i.onErrorHandle?.({message:r instanceof Error?r.message:"Unknown error"},null)}}});return function(){let s=t(),i=le((r,u)=>{s._callEndpoint(r,u)}),o={};for(let r of Object.keys(e)){let u=(l)=>{i(r,l)};o[r]={state:s[r],start:u}}return o}}var j={$schema:"../schemas/nucleus.tables.schema.json",tables:[{table_name:"users",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"email",type:"varchar",length:255},{name:"password",type:"varchar",length:255},{name:"verified_at",type:"timestamp"},{name:"email_verification_token",type:"varchar",length:255},{name:"email_verification_token_expires_at",type:"timestamp"},{name:"email_verification_sent_at",type:"timestamp"},{name:"email_verification_attempts",type:"integer",default:0},{name:"last_login_at",type:"timestamp"},{name:"login_count",type:"integer",default:0},{name:"is_locked",type:"boolean",default:!1},{name:"locked_until",type:"timestamp"},{name:"failed_login_attempts",type:"integer",default:0},{name:"is_god",type:"boolean",default:!1}],indexes:[{columns:["email"],unique:!0},{columns:["email","is_active"]},{columns:["last_login_at"]},{columns:["is_locked","locked_until"]}]},{table_name:"profiles",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id"}},{name:"first_name",type:"varchar",length:100,notNull:!0},{name:"last_name",type:"varchar",length:100,notNull:!0}],indexes:[{columns:["user_id"],unique:!0},{columns:["first_name","last_name"]}]},{table_name:"roles",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"name",type:"varchar",length:100,notNull:!0},{name:"description",type:"varchar",length:500}],indexes:[{columns:["name"],unique:!0}]},{table_name:"claims",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"action",type:"varchar",length:100,notNull:!0},{name:"description",type:"varchar",length:500},{name:"path",type:"varchar",length:200,notNull:!0},{name:"method",type:"varchar",length:10,notNull:!0}],indexes:[{columns:["action"],unique:!0},{columns:["path","method"]}]},{table_name:"user_roles",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"role_id",type:"uuid",notNull:!0,references:{table:"roles",column:"id",onDelete:"cascade"}}],indexes:[{columns:["user_id"]},{columns:["role_id"]}],constraints:{unique:[{name:"unique_user_role",columns:["user_id","role_id"]}]}},{table_name:"role_claims",feature_set:["authentication","authorization"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"role_id",type:"uuid",notNull:!0,references:{table:"roles",column:"id",onDelete:"cascade"}},{name:"claim_id",type:"uuid",notNull:!0,references:{table:"claims",column:"id",onDelete:"cascade"}},{name:"scope",type:"text"}],indexes:[{columns:["role_id"]},{columns:["claim_id"]},{columns:["role_id","claim_id","scope"]}]},{table_name:"files",feature_set:["storage"],add_base_columns:!0,is_form_data:!0,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"name",type:"varchar",length:255,notNull:!0},{name:"original_name",type:"varchar",length:255,notNull:!0},{name:"type",type:"varchar",length:50,enumValues:["image","document","video","audio","profile_picture"]},{name:"path",type:"varchar",length:500,notNull:!0},{name:"size",type:"bigint",mode:"number",notNull:!0},{name:"mime_type",type:"varchar",length:100,notNull:!0},{name:"extension",type:"varchar",length:10,notNull:!0},{name:"uploaded_by",type:"uuid",references:{table:"users",column:"id"}}],indexes:[{columns:["type"]},{columns:["uploaded_by"]},{columns:["size"]}]},{table_name:"addresses",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"owner_type",type:"varchar",length:50,notNull:!0,enumValues:["user","company","contact"]},{name:"owner_id",type:"uuid",notNull:!0},{name:"name",type:"varchar",length:100,notNull:!0},{name:"street",type:"varchar",length:255},{name:"city",type:"varchar",length:100},{name:"state",type:"varchar",length:50},{name:"zip",type:"varchar",length:20},{name:"country",type:"varchar",length:50,default:"US"},{name:"latitude",type:"decimal",precision:10,scale:8},{name:"longitude",type:"decimal",precision:11,scale:8},{name:"neighborhood",type:"varchar",length:100},{name:"apartment",type:"varchar",length:50},{name:"province",type:"varchar",length:100},{name:"district",type:"varchar",length:100},{name:"type",type:"varchar",length:50}],indexes:[{columns:["city","state"]},{columns:["latitude","longitude"]},{columns:["type"]},{columns:["owner_type","owner_id"]}]},{table_name:"phones",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!0,columns:[{name:"owner_type",type:"varchar",length:50,notNull:!0,enumValues:["user","company","contact"]},{name:"owner_id",type:"uuid",notNull:!0},{name:"name",type:"varchar",length:100,notNull:!0},{name:"type",type:"varchar",length:50,enumValues:["mobile","office","fax"]},{name:"number",type:"varchar",length:20,notNull:!0},{name:"country_code",type:"varchar",length:10,notNull:!0,default:"+1"},{name:"extension",type:"varchar",length:10}],indexes:[{columns:["number"]},{columns:["type"]},{columns:["owner_type","owner_id"]}]},{table_name:"notifications",feature_set:["notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"user_id",type:"uuid",notNull:!0},{name:"title",type:"varchar",length:255,notNull:!0},{name:"body",type:"varchar",length:1000},{name:"entity_name",type:"varchar",length:100},{name:"entity_id",type:"uuid"},{name:"type",type:"varchar",length:50,notNull:!0,default:"system",enumValues:["verification","system","custom"]},{name:"source",type:"varchar",length:100},{name:"is_seen",type:"boolean",notNull:!0,default:!1},{name:"seen_at",type:"timestamptz"}],indexes:[{columns:["user_id","created_at"]},{columns:["is_seen"]},{columns:["type"]},{columns:["user_id","type","is_seen"]}]},{table_name:"tenants",feature_set:["multi-tenant"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["main"],excluded_schemas:[],excluded_methods:[],columns:[{name:"subdomain",type:"varchar",length:100,notNull:!0,unique:!0},{name:"company_id",type:"uuid",notNull:!0},{name:"schema_name",type:"varchar",length:100,notNull:!0,unique:!0},{name:"company_name",type:"varchar",length:255},{name:"god_admin_email",type:"varchar",length:255}],indexes:[]},{table_name:"verifications",feature_set:["verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"instance_id",type:"uuid",notNull:!0,references:{table:"verificationInstances",column:"id",onDelete:"cascade"}},{name:"requirement_id",type:"uuid",notNull:!0,references:{table:"verificationRequirements",column:"id"}},{name:"verifier_id",type:"uuid",notNull:!0,references:{table:"users",column:"id"}},{name:"signature_id",type:"uuid",references:{table:"files",column:"id"}},{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"entity_id",type:"uuid",notNull:!0},{name:"step_order",type:"integer",notNull:!0,default:1},{name:"decision",type:"varchar",length:50,notNull:!0,default:"pending",enumValues:["approved","rejected","pending"]},{name:"reason",type:"text"},{name:"diff",type:"jsonb"}],indexes:[{columns:["instance_id"]},{columns:["requirement_id"]},{columns:["verifier_id"]},{columns:["entity_name","entity_id"]},{columns:["entity_name","entity_id","step_order"]},{columns:["decision"]}]},{table_name:"verificationRequirements",feature_set:["verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"instance_id",type:"uuid",notNull:!0,references:{table:"verificationInstances",column:"id",onDelete:"cascade"}},{name:"step_node_id",type:"varchar",length:100,notNull:!0},{name:"verifier_node_id",type:"varchar",length:100,notNull:!0},{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"entity_id",type:"uuid",notNull:!0},{name:"verifier_type",type:"varchar",length:30,notNull:!0,enumValues:["user","role"]},{name:"verifier_user_id",type:"uuid"},{name:"verifier_role",type:"varchar",length:100},{name:"require_signature",type:"boolean",notNull:!0,default:!1},{name:"all_must_approve",type:"boolean",notNull:!0,default:!1},{name:"step_order",type:"integer",notNull:!0,default:1},{name:"status",type:"varchar",length:30,notNull:!0,default:"pending",enumValues:["pending","approved","rejected"]}],indexes:[{columns:["instance_id"]},{columns:["instance_id","step_order"]},{columns:["entity_name","entity_id"]},{columns:["verifier_user_id"]},{columns:["status"]}]},{table_name:"verificationFlows",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"name",type:"varchar",length:255,notNull:!0},{name:"description",type:"text"},{name:"trigger_on",type:"varchar",length:50,notNull:!0,default:"update",enumValues:["create","update","delete","manual"]},{name:"trigger_fields",type:"jsonb"},{name:"is_draft",type:"boolean",notNull:!0,default:!0},{name:"published_at",type:"timestamptz"},{name:"viewport",type:"jsonb"}],indexes:[{columns:["entity_name"]},{columns:["entity_name","trigger_on"]},{columns:["is_draft"]}]},{table_name:"verificationSteps",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"node_id",type:"varchar",length:100,notNull:!0},{name:"node_type",type:"varchar",length:50,notNull:!0,default:"step",enumValues:["step","verifier","notification"]},{name:"step_order",type:"integer",notNull:!0,default:1},{name:"name",type:"varchar",length:255},{name:"description",type:"text"},{name:"position_x",type:"numeric",notNull:!0,default:0},{name:"position_y",type:"numeric",notNull:!0,default:0},{name:"width",type:"numeric"},{name:"height",type:"numeric"},{name:"style",type:"jsonb"},{name:"data",type:"jsonb"}],indexes:[{columns:["flow_id"]},{columns:["entity_name"]},{columns:["flow_id","node_id"],unique:!0},{columns:["entity_name","step_order"]}]},{table_name:"verificationEdges",feature_set:["authentication","verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"edge_id",type:"varchar",length:100,notNull:!0},{name:"source_node_id",type:"varchar",length:100,notNull:!0},{name:"target_node_id",type:"varchar",length:100,notNull:!0},{name:"source_handle",type:"varchar",length:50},{name:"target_handle",type:"varchar",length:50},{name:"edge_type",type:"varchar",length:50,default:"default",enumValues:["default","conditional","success","failure"]},{name:"label",type:"varchar",length:255},{name:"condition",type:"jsonb"},{name:"style",type:"jsonb"},{name:"animated",type:"boolean",default:!1}],indexes:[{columns:["flow_id"]},{columns:["flow_id","edge_id"],unique:!0},{columns:["source_node_id"]},{columns:["target_node_id"]}]},{table_name:"verificationNotificationRules",feature_set:["verification","notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"node_id",type:"varchar",length:100,notNull:!0},{name:"trigger",type:"varchar",length:50,notNull:!0,enumValues:["on_flow_started","on_step_reached","on_approved","on_rejected","on_flow_completed"]},{name:"title_template",type:"varchar",length:255},{name:"body_template",type:"text"},{name:"starts_at",type:"timestamptz"},{name:"expires_at",type:"timestamptz"}],indexes:[{columns:["flow_id"]},{columns:["flow_id","node_id"],unique:!0},{columns:["trigger"]}]},{table_name:"verificationNotificationRecipients",feature_set:["verification","notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"rule_id",type:"uuid",notNull:!0,references:{table:"verificationNotificationRules",column:"id",onDelete:"cascade"}},{name:"recipient_type",type:"varchar",length:30,notNull:!0,enumValues:["user","role","all_verifiers","step_verifier","entity_creator"]},{name:"recipient_user_id",type:"uuid"},{name:"recipient_role",type:"varchar",length:100}],indexes:[{columns:["rule_id"]},{columns:["recipient_type"]}]},{table_name:"verificationVerifierConfigs",feature_set:["verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id",onDelete:"cascade"}},{name:"node_id",type:"varchar",length:100,notNull:!0},{name:"verifier_type",type:"varchar",length:30,notNull:!0,enumValues:["user","role"]},{name:"verifier_user_id",type:"uuid"},{name:"verifier_role",type:"varchar",length:100},{name:"require_signature",type:"boolean",notNull:!0,default:!1},{name:"all_must_approve",type:"boolean",notNull:!0,default:!1}],indexes:[{columns:["flow_id"]},{columns:["flow_id","node_id"],unique:!0},{columns:["verifier_type"]}]},{table_name:"verificationInstances",feature_set:["verification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"flow_id",type:"uuid",notNull:!0,references:{table:"verificationFlows",column:"id"}},{name:"entity_name",type:"varchar",length:100,notNull:!0},{name:"entity_id",type:"uuid",notNull:!0},{name:"status",type:"varchar",length:30,notNull:!0,default:"active",enumValues:["active","completed","rejected","cancelled"]},{name:"current_step_order",type:"integer",notNull:!0,default:1},{name:"started_at",type:"timestamptz",notNull:!0,defaultRaw:"now()"},{name:"completed_at",type:"timestamptz"}],indexes:[{columns:["flow_id"]},{columns:["entity_name","entity_id"]},{columns:["entity_name","entity_id","status"]},{columns:["status"]}]},{table_name:"verificationNotificationChannels",feature_set:["verification","notification"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],columns:[{name:"rule_id",type:"uuid",notNull:!0,references:{table:"verificationNotificationRules",column:"id",onDelete:"cascade"}},{name:"channel",type:"varchar",length:30,notNull:!0,enumValues:["portal","email","sms","telegram","webhook"]}],indexes:[{columns:["rule_id"]},{columns:["rule_id","channel"],unique:!0},{columns:["channel"]}]},{table_name:"user_sessions",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","PATCH"],columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"token_hash",type:"varchar",length:255,notNull:!0},{name:"refresh_token_hash",type:"varchar",length:255},{name:"device_fingerprint",type:"varchar",length:255},{name:"device_name",type:"varchar",length:100},{name:"device_type",type:"varchar",length:50,enumValues:["desktop","mobile","tablet","unknown"]},{name:"browser_name",type:"varchar",length:50},{name:"browser_version",type:"varchar",length:20},{name:"os_name",type:"varchar",length:50},{name:"os_version",type:"varchar",length:20},{name:"ip_address",type:"varchar",length:45,notNull:!0},{name:"location_country",type:"varchar",length:100},{name:"location_city",type:"varchar",length:100},{name:"location_coordinates",type:"varchar",length:50},{name:"last_activity_at",type:"timestamptz",notNull:!0,defaultRaw:"now()"},{name:"expires_at",type:"timestamptz",notNull:!0},{name:"revoked_at",type:"timestamptz"},{name:"revoked_reason",type:"varchar",length:100,enumValues:["user_logout","user_revoked","admin_revoked","security_concern","password_changed","expired","replaced"]},{name:"is_current",type:"boolean",notNull:!0,default:!1},{name:"login_method",type:"varchar",length:50,enumValues:["password","oauth_google","oauth_github","oauth_microsoft","magic_link","sso","api_key"]},{name:"remember_me",type:"boolean",notNull:!0,default:!1},{name:"trust_score",type:"integer",default:100},{name:"approval_status",type:"varchar",length:20,default:"approved",enumValues:["approved","pending","rejected"]},{name:"approval_token",type:"varchar",length:64},{name:"approval_requested_at",type:"timestamptz"},{name:"approval_responded_at",type:"timestamptz"}],indexes:[{columns:["user_id"]},{columns:["token_hash"],unique:!0},{columns:["refresh_token_hash"]},{columns:["user_id","is_active"]},{columns:["expires_at"]},{columns:["device_fingerprint"]},{columns:["ip_address"]},{columns:["last_activity_at"]},{columns:["approval_status"]},{columns:["approval_token"]}]},{table_name:"password_reset_tokens",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","PATCH","DELETE"],columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"token_hash",type:"varchar",length:255,notNull:!0},{name:"expires_at",type:"timestamptz",notNull:!0},{name:"used_at",type:"timestamptz"}],indexes:[{columns:["token_hash"],unique:!0},{columns:["user_id"]},{columns:["expires_at"]}]},{table_name:"magic_link_tokens",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","PATCH","DELETE"],columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"email",type:"varchar",length:255,notNull:!0},{name:"token_hash",type:"varchar",length:255,notNull:!0},{name:"expires_at",type:"timestamptz",notNull:!0},{name:"used_at",type:"timestamptz"}],indexes:[{columns:["token_hash"],unique:!0},{columns:["user_id"]},{columns:["email"]},{columns:["expires_at"]}]},{table_name:"audit_logs",feature_set:["audit"],add_base_columns:!1,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:["POST","PUT","DELETE","PATCH","TOGGLE","VERIFICATION"],columns:[{name:"id",type:"uuid",primaryKey:!0,defaultRaw:"gen_random_uuid()"},{name:"entity_id",type:"uuid"},{name:"entity_name",type:"text",notNull:!0},{name:"operation_type",type:"text",notNull:!0},{name:"user_id",type:"uuid"},{name:"ip_address",type:"text"},{name:"user_agent",type:"text"},{name:"summary",type:"text"},{name:"old_values",type:"jsonb"},{name:"new_values",type:"jsonb"},{name:"created_at",type:"timestamp",notNull:!0,defaultRaw:"now()"},{name:"path",type:"text"},{name:"query",type:"text"}],indexes:[{columns:["entity_id"]},{columns:["entity_name"]},{columns:["user_id"]},{columns:["created_at"]}]},{table_name:"oauth_accounts",feature_set:["authentication"],add_base_columns:!0,is_form_data:!1,available_app_ids:["default_be"],available_schemas:["*"],excluded_schemas:[],excluded_methods:[],bulk_endpoints_enabled:!1,columns:[{name:"user_id",type:"uuid",notNull:!0,references:{table:"users",column:"id",onDelete:"cascade"}},{name:"provider",type:"varchar",length:50,notNull:!0,enumValues:["google","github","microsoft","discord","facebook","twitter","apple","custom"]},{name:"provider_account_id",type:"varchar",length:255,notNull:!0},{name:"provider_email",type:"varchar",length:255},{name:"provider_name",type:"varchar",length:255},{name:"provider_avatar_url",type:"text"},{name:"access_token",type:"text"},{name:"refresh_token",type:"text"},{name:"token_expires_at",type:"timestamp"},{name:"scope",type:"text"},{name:"raw_profile",type:"jsonb"},{name:"is_primary",type:"boolean",notNull:!0,default:!1},{name:"last_used_at",type:"timestamp"}],indexes:[{columns:["user_id"]},{columns:["provider","provider_account_id"],unique:!0},{columns:["provider_email"]},{columns:["user_id","provider"]}],constraints:{unique:[{name:"unique_provider_account",columns:["provider","provider_account_id"]}]}}]};var O={login:{key:"LOGIN",method:"POST",defaultRoute:"/auth/login",defaultIsPublic:!0,_payload:void 0,_success:void 0,_error:void 0},register:{key:"REGISTER",method:"POST",defaultRoute:"/auth/register",defaultIsPublic:!0,_payload:void 0,_success:void 0,_error:void 0},logout:{key:"LOGOUT",method:"POST",defaultRoute:"/auth/logout",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},refresh:{key:"REFRESH",method:"POST",defaultRoute:"/auth/refresh",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},me:{key:"ME",method:"GET",defaultRoute:"/auth/me",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},passwordChange:{key:"PASSWORD_CHANGE",method:"POST",defaultRoute:"/auth/password-change",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},passwordSet:{key:"PASSWORD_SET",method:"POST",defaultRoute:"/auth/password-set",defaultIsPublic:!1,_payload:void 0,_success:void 0,_error:void 0},passwordReset:{key:"PASSWORD_RESET_REQUEST",method:"POST",defaultRoute:"/auth/password-reset",defaultIsPublic:!0,subEndpoints:[{key:"PASSWORD_RESET_REQUEST",method:"POST",suffix:"/request",_payload:void 0,_success:void 0,_error:void 0},{key:"PASSWORD_RESET_CONFIRM",method:"POST",suffix:"/confirm",_payload:void 0,_success:void 0,_error:void 0}]},sessions:{key:"SESSIONS",method:"GET",defaultRoute:"/auth/sessions",defaultIsPublic:!1,subEndpoints:[{key:"SESSIONS",method:"GET",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_CURRENT",method:"GET",suffix:"/current",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_STATS",method:"GET",suffix:"/stats",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_PENDING",method:"GET",suffix:"/pending",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_REVOKE",method:"DELETE",suffix:"/:sessionId",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_REVOKE_ALL",method:"DELETE",suffix:"/all",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_APPROVE",method:"POST",suffix:"/approve",_payload:void 0,_success:void 0,_error:void 0},{key:"SESSIONS_REJECT",method:"POST",suffix:"/reject",_payload:void 0,_success:void 0,_error:void 0}]},magicLink:{key:"MAGIC_LINK",method:"POST",defaultRoute:"/auth/magic-link",defaultIsPublic:!0,subEndpoints:[{key:"MAGIC_LINK",method:"POST",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"MAGIC_LINK_VERIFY",method:"GET",suffix:"/verify",routeKey:"verifyRoute",_payload:void 0,_success:void 0,_error:void 0}]},invite:{key:"INVITE",method:"POST",defaultRoute:"/auth/invite",defaultIsPublic:!1,subEndpoints:[{key:"INVITE",method:"POST",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"INVITE_VERIFY",method:"POST",suffix:"/verify",_payload:void 0,_success:void 0,_error:void 0}]},emailVerification:{key:"VERIFY_EMAIL",method:"GET",defaultRoute:"/verify-email",defaultIsPublic:!0,subEndpoints:[{key:"VERIFY_EMAIL",method:"GET",suffix:"",_payload:void 0,_success:void 0,_error:void 0},{key:"RESEND_VERIFICATION",method:"POST",suffix:"",routeKey:"resendRoute",defaultRoute:"/resend-verification",_payload:void 0,_success:void 0,_error:void 0}]},captcha:{key:"CAPTCHA",method:"GET",defaultRoute:"/auth/captcha",defaultIsPublic:!0,subEndpoints:[{key:"CAPTCHA_GENERATE",method:"GET",suffix:"/generate",_payload:void 0,_success:void 0,_error:void 0},{key:"CAPTCHA_VALIDATE",method:"POST",suffix:"/validate",_payload:void 0,_success:void 0,_error:void 0}]},oauth:{key:"OAUTH_PROVIDERS",method:"GET",defaultRoute:"/auth/oauth/providers",defaultIsPublic:!0,subEndpoints:[{key:"OAUTH_PROVIDERS",method:"GET",suffix:"/providers",_payload:void 0,_success:void 0,_error:void 0},{key:"OAUTH_REDIRECT",method:"GET",suffix:"/:provider",_payload:void 0,_success:void 0,_error:void 0},{key:"OAUTH_ACCOUNTS",method:"GET",suffix:"/accounts",_payload:void 0,_success:void 0,_error:void 0},{key:"OAUTH_UNLINK",method:"DELETE",suffix:"/unlink/:provider",_payload:void 0,_success:void 0,_error:void 0}]}},W={healthCheck:{key:"MONITORING_HEALTH_CHECK",method:"GET",suffix:"/health",_payload:void 0,_success:void 0,_error:void 0},getSettings:{key:"MONITORING_GET_SETTINGS",method:"GET",suffix:"/settings",_payload:void 0,_success:void 0,_error:void 0},changeSettings:{key:"MONITORING_CHANGE_SETTINGS",method:"PATCH",suffix:"/settings",_payload:void 0,_success:void 0,_error:void 0},getLogs:{key:"MONITORING_GET_LOGS",method:"GET",suffix:"/logs",_payload:void 0,_success:void 0,_error:void 0}};var me=["profiles","addresses","phones","files","users","roles","claims","user_roles","role_claims","audit_logs"],fe=j.tables.filter((e)=>me.includes(e.table_name));function N(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toUpperCase()}function _e(e){return e.replace(/_([a-z])/g,(n,t)=>t.toUpperCase())}function $(e){if(e.endsWith("ies"))return`${e.slice(0,-3)}y`;if(e.endsWith("ses"))return`${e.slice(0,-2)}`;if(e.endsWith("s"))return e.slice(0,-1);return e}function h(e,n){let t=N(e),a=N($(e));switch(n){case"GET":return`GET_${t}`;case"POST":return`ADD_${a}`;case"PUT":return`UPDATE_${a}`;case"PATCH":return`PATCH_${a}`;case"DELETE":return`DELETE_${a}`}}function S(e,n){let t=N(e);switch(n){case"POST":return`BULK_ADD_${t}`;case"PUT":return`BULK_UPDATE_${t}`;case"DELETE":return`BULK_DELETE_${t}`}}function T(e,n){if(!e.excluded_methods)return!1;let t={GET:"GET",POST:"POST",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE"};return e.excluded_methods.includes(t[n])}function Y(e){let n={};for(let t of e.entities){let a=t.table_name,s=`/${a}`;if(!T(t,"GET")){n[h(a,"GET")]={method:"GET",path:s,isPublic:t.is_public?.GET??!1,_payload:void 0,_success:void 0,_error:void 0};let i=N($(a));n[`GET_${i}_BY_ID`]={method:"GET",path:`${s}/:id`,isPublic:t.is_public?.GET??!1,_payload:void 0,_success:void 0,_error:void 0},n[`GET_${N(a)}_DISTINCT`]={method:"GET",path:`${s}/distinct/:field`,isPublic:t.is_public?.GET??!1,_payload:void 0,_success:void 0,_error:void 0}}if(!T(t,"POST"))n[h(a,"POST")]={method:"POST",path:s,isPublic:t.is_public?.POST??!1,isFormData:t.is_form_data,_payload:void 0,_success:void 0,_error:void 0};if(!T(t,"PUT"))n[h(a,"PUT")]={method:"PUT",path:`${s}/:id`,isPublic:t.is_public?.PUT??!1,isFormData:t.is_form_data,_payload:void 0,_success:void 0,_error:void 0};if(!T(t,"PATCH"))n[h(a,"PATCH")]={method:"PATCH",path:`${s}/:id`,isPublic:t.is_public?.PATCH??!1,_payload:void 0,_success:void 0,_error:void 0};if(!T(t,"DELETE"))n[h(a,"DELETE")]={method:"DELETE",path:`${s}/:id`,isPublic:t.is_public?.DELETE??!1,_payload:void 0,_success:void 0,_error:void 0};if(t.bulk_endpoints_enabled){if(!T(t,"POST"))n[S(a,"POST")]={method:"POST",path:`${s}/bulk`,isPublic:t.is_public?.POST??!1,_payload:void 0,_success:void 0,_error:void 0};if(!T(t,"PUT"))n[S(a,"PUT")]={method:"PUT",path:`${s}/bulk`,isPublic:t.is_public?.PUT??!1,_payload:void 0,_success:void 0,_error:void 0};if(!T(t,"DELETE"))n[S(a,"DELETE")]={method:"DELETE",path:`${s}/bulk`,isPublic:t.is_public?.DELETE??!1,_payload:void 0,_success:void 0,_error:void 0}}}return n}function J(e){let n={},t=e.authentication;if(!t?.enabled)return n;for(let[a,s]of Object.entries(O)){let i=t[a];if(!i?.enabled)continue;let o=i.route||s.defaultRoute,r=i.isPublic??s.defaultIsPublic;if("subEndpoints"in s&&s.subEndpoints)for(let u of s.subEndpoints){let l="routeKey"in u&&u.routeKey&&i[u.routeKey]?String(i[u.routeKey]):("defaultRoute"in u)&&u.defaultRoute?String(u.defaultRoute):`${o}${u.suffix}`;n[u.key]={method:u.method,path:l,isPublic:u.key==="MAGIC_LINK_VERIFY"?!0:r,_payload:u._payload,_success:u._success,_error:u._error}}else if("_payload"in s)n[s.key]={method:s.method,path:o,isPublic:r,_payload:s._payload,_success:s._success,_error:s._error}}return n}function Z(){let e={};for(let n of fe){let t=n.table_name,s=`/${_e(t)}`,i=t==="files";e[h(t,"GET")]={method:"GET",path:s,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0};let o=N($(t));if(e[`GET_${o}_BY_ID`]={method:"GET",path:`${s}/:id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[h(t,"POST")]={method:"POST",path:s,isPublic:!1,isFormData:i,_payload:void 0,_success:void 0,_error:void 0},e[h(t,"PUT")]={method:"PUT",path:`${s}/:id`,isPublic:!1,isFormData:i,_payload:void 0,_success:void 0,_error:void 0},e[h(t,"PATCH")]={method:"PATCH",path:`${s}/:id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[h(t,"DELETE")]={method:"DELETE",path:`${s}/:id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.bulk_endpoints_enabled)e[S(t,"POST")]={method:"POST",path:`${s}/bulk`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[S(t,"PUT")]={method:"PUT",path:`${s}/bulk`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},e[S(t,"DELETE")]={method:"DELETE",path:`${s}/bulk`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0}}return e}function X(e){let n={},t=e.liveMonitoring;if(!t?.enabled)return n;let a=t.basePath||"/monitoring";for(let s of Object.values(W))n[s.key]={method:s.method,path:`${a}${s.suffix}`,isPublic:!1,_payload:s._payload,_success:s._success,_error:s._error};return n}function Q(e){let n={};if(!e.authentication?.enabled)return n;return n.ADMIN_IMPERSONATE={method:"POST",path:"/auth/admin/impersonate",isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.ADMIN_IMPERSONATE_STOP={method:"POST",path:"/auth/admin/impersonate/stop",isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.ADMIN_CHANGE_USER_ID={method:"POST",path:"/auth/admin/change-user-id",isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n}function ee(e){let n={},t=e.verification,a=e.notification;if(!t?.enabled)return n;let s=t.endpoints?.basePath||"/verifications",i=t.flowEndpoints?.basePath||"/verification-flows",o=a?.endpoints?.basePath||"/notifications";if(n.VERIFICATION_STATUS={method:"GET",path:`${s}/status/:entity_name/:entity_id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.VERIFICATION_DECIDE={method:"POST",path:`${s}/decide/:entity_name/:entity_id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.VERIFICATION_PENDING={method:"GET",path:`${s}/pending`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.VERIFICATION_HISTORY={method:"GET",path:`${s}/history/:entity_name/:entity_id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.VERIFICATION_START={method:"POST",path:`${s}/start`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},t.flowEndpoints?.enabled)n.FLOW_LIST={method:"GET",path:i,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.FLOW_GET={method:"GET",path:`${i}/:flow_id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.FLOW_SAVE={method:"POST",path:i,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.FLOW_PUBLISH={method:"POST",path:`${i}/:flow_id/publish`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.FLOW_DELETE={method:"DELETE",path:`${i}/:flow_id`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0};if(a?.enabled&&a.endpoints?.enabled)n.NOTIFICATION_LIST={method:"GET",path:o,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.NOTIFICATION_UNSEEN_COUNT={method:"GET",path:`${o}/unseen-count`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.NOTIFICATION_MARK_SEEN={method:"POST",path:`${o}/:notification_id/seen`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0},n.NOTIFICATION_MARK_ALL_SEEN={method:"POST",path:`${o}/seen-all`,isPublic:!1,_payload:void 0,_success:void 0,_error:void 0};return n}function he(e,n){let t=Y(e),a=J(e),s=Q(e),i=Z(),o=X(e),r=ee(e);return{...t,...a,...s,...i,...o,...r,...n??{}}}import{randomUUID as be}from"crypto";import{randomUUID as ye}from"crypto";var F={debug:0,info:1,warn:2,error:3,fatal:4},ne={debug:"\x1B[36m",info:"\x1B[32m",warn:"\x1B[33m",error:"\x1B[31m",fatal:"\x1B[35m"},M="\x1B[0m",B="\x1B[2m",te="\x1B[1m";var ge=["password","secret","token","apiKey","api_key","authorization","cookie","credit_card","creditCard","ssn","privateKey","private_key"];function I(e,n=ge,t=new WeakSet){if(e===null||e===void 0)return e;if(typeof e!=="object")return e;if(t.has(e))return"[Circular]";if(t.add(e),Array.isArray(e))return e.map((s)=>I(s,n,t));let a={};for(let[s,i]of Object.entries(e))if(n.some((r)=>s.toLowerCase().includes(r.toLowerCase()))&&typeof i==="string")a[s]="[REDACTED]";else if(typeof i==="object"&&i!==null)a[s]=I(i,n,t);else a[s]=i;return a}function se(e=4){let n=Error().stack;if(!n)return{file:"unknown",line:0,function:"unknown"};let a=n.split(`
3
+ `)[e];if(!a)return{file:"unknown",line:0,function:"unknown"};let s=a.match(/at\s+(?:(.+?)\s+)?\(?(.+?):(\d+):(\d+)\)?/);if(!s)return{file:"unknown",line:0,function:"unknown"};let[,i,o,r]=s;return{file:o?o.split("/").pop()||o:"unknown",line:parseInt(r||"0",10),function:i?.replace(/^Object\./,"")||"anonymous"}}function ae(e){if(e instanceof Error)return{name:e.name,message:e.message,stack:e.stack,code:e.code};if(typeof e==="string")return{name:"Error",message:e};return{name:"UnknownError",message:String(e)}}function V(e,n){if(!e&&!n)return;if(!e)return n;if(!n)return e;return{...e,...n}}function ie(e){if(e<1)return`${(e*1000).toFixed(2)}\xB5s`;if(e<1000)return`${e.toFixed(2)}ms`;return`${(e/1000).toFixed(2)}s`}function oe(e,n){let t=new WeakSet;return JSON.stringify(e,(a,s)=>{if(typeof s==="object"&&s!==null){if(t.has(s))return"[Circular]";t.add(s)}if(typeof s==="bigint")return s.toString();if(s instanceof Error)return{name:s.name,message:s.message,stack:s.stack};return s},n)}class U{name="console";colorize;prettyPrint;constructor(e={}){this.colorize=e.colorize??!0,this.prettyPrint=e.prettyPrint??!0}log(e){if(this.prettyPrint)this.logPretty(e);else this.logJson(e)}logJson(e){let n=oe(e);this.getConsoleMethod(e.level)(n)}logPretty(e){let n=this.getConsoleMethod(e.level),t=this.colorize?ne[e.level]:"",a=this.colorize?M:"",s=this.colorize?B:"",i=this.colorize?te:"",o=new Date(e.timestamp).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),r=e.level.toUpperCase().padEnd(5),u=e.service?`[${e.service}]`:"",l=e.correlationId?`${s}(${e.correlationId.slice(0,8)})${a}`:"",p=e.duration!==void 0?`${s}${ie(e.duration)}${a}`:"",R=`${s}${o}${a} ${t}${i}${r}${a} ${u}${l} ${e.message} ${p}`;if(n(R.trim()),e.caller)n(` ${s}at ${e.caller.function} (${e.caller.file}:${e.caller.line})${a}`);if(e.context&&Object.keys(e.context).length>0)n(` ${s}context:${a}`,e.context);if(e.error){if(n(` ${t}${e.error.name}: ${e.error.message}${a}`),e.error.stack){let d=e.error.stack.split(`
4
+ `).slice(1,4);for(let E of d)n(` ${s}${E.trim()}${a}`)}}}getConsoleMethod(e){switch(e){case"debug":return console.debug.bind(console);case"info":return console.info.bind(console);case"warn":return console.warn.bind(console);case"error":case"fatal":return console.error.bind(console);default:return console.log.bind(console)}}}class G{name="console-audit";enabled;constructor(e={}){this.enabled=e.enabled??!0}write(e){if(!this.enabled)return;let n="\x1B[35m",t=M,a=B;console.log(`${a}${e.timestamp}${t} ${n}AUDIT${t} [${e.operation}] ${e.entityName}${e.entityId?`:${e.entityId}`:""} ${a}by ${e.userId||"anonymous"}${t}`)}}var Ee={level:"info",service:"nucleus",environment:"development",redactKeys:[],colorize:!0,prettyPrint:!0,includeCallerInfo:!0,asyncBufferSize:100,flushIntervalMs:1000,auditEnabled:!1};class g{config;transports;auditTransports;context;correlationId;static instance=null;constructor(e={},n={},t){this.config={...Ee,...e},this.context=n,this.correlationId=t,this.transports=[new U({colorize:this.config.colorize,prettyPrint:this.config.prettyPrint})],this.auditTransports=[new G({enabled:this.config.prettyPrint})]}static getInstance(e){if(!g.instance)g.instance=new g(e);return g.instance}static resetInstance(){g.instance=null}child(e,n){let t=new g(this.config,V(this.context,e)||{},n||this.correlationId);return t.transports=this.transports,t.auditTransports=this.auditTransports,t}withCorrelationId(e){return this.child({},e)}addTransport(e){this.transports.push(e)}addAuditTransport(e){this.auditTransports.push(e)}setLevel(e){this.config.level=e}setAuditEnabled(e){this.config.auditEnabled=e}isAuditEnabled(){return this.config.auditEnabled}shouldLog(e){return F[e]>=F[this.config.level]}createEntry(e,n,t,a,s){let i={timestamp:new Date().toISOString(),level:e,message:n,service:this.config.service,correlationId:this.correlationId},o=V(this.context,t);if(o&&Object.keys(o).length>0)i.context=I(o,this.config.redactKeys);if(this.config.includeCallerInfo)i.caller=se();if(a)i.error=ae(a);if(s!==void 0)i.duration=performance.now()-s;return i}log(e,n,t,a,s){if(!this.shouldLog(e))return;let i=this.createEntry(e,n,t,a,s);for(let o of this.transports)try{o.log(i)}catch(r){console.error(`Logger transport "${o.name}" failed:`,r)}}debug(e,n){this.log("debug",e,n)}info(e,n){this.log("info",e,n)}warn(e,n){this.log("warn",e,n)}error(e,n,t){this.log("error",e,t,n)}fatal(e,n,t){this.log("fatal",e,t,n)}time(e){let n=performance.now();return()=>{this.log("debug",`${e} completed`,void 0,void 0,n)}}async timeAsync(e,n,t){let a=performance.now();try{let s=await n();return this.log("debug",`${e} completed`,t,void 0,a),s}catch(s){throw this.log("error",`${e} failed`,t,s,a),s}}request(e){let n=e.statusCode>=500?"error":e.statusCode>=400?"warn":"info";this.log(n,`${e.method} ${e.path} ${e.statusCode}`,{method:e.method,path:e.path,statusCode:e.statusCode,durationMs:e.duration,correlationId:e.correlationId,userId:e.userId,ip:e.ip,userAgent:e.userAgent})}db(e){let n=e.error?"error":"debug";this.log(n,`DB ${e.operation} on ${e.table}`,{operation:e.operation,table:e.table,durationMs:e.duration,rowCount:e.rowCount},e.error)}async flush(){for(let e of this.transports)if(e.flush)await e.flush()}async audit(e){let n={id:ye(),timestamp:new Date().toISOString(),entityName:e.entityName,entityId:e.entityId??null,operation:e.operation,userId:e.userId??null,summary:e.summary||`${e.operation} on ${e.entityName}`,oldValues:e.oldValues||{},newValues:e.newValues||{},ipAddress:e.ipAddress||"unknown",userAgent:e.userAgent||"unknown",path:e.path||"",query:e.query||"",correlationId:this.correlationId};for(let t of this.auditTransports)try{await t.write(n)}catch(a){console.error(`Audit transport "${t.name}" failed:`,a)}}auditOnly(e){this.audit(e)}async trace(e){let n=e.log!==!1,t=e.writeAudit===!0||e.writeAudit!==!1&&this.config.auditEnabled&&e.audit;if(n)this.log(e.level||"info",e.message,e.context,e.error);if(t&&e.audit)await this.audit(e.audit)}traceSync(e){let n=e.log!==!1,t=e.writeAudit===!0||e.writeAudit!==!1&&this.config.auditEnabled&&e.audit;if(n)this.log(e.level||"info",e.message,e.context,e.error);if(t&&e.audit)this.audit(e.audit)}}var Ke=g.getInstance();var ve={timeout:30000,retries:0,retryDelay:1000,debug:!1};class C{config;logger;constructor(e={}){this.config={...ve,...e},this.logger=new g({service:"ServerFetch",prettyPrint:this.config.debug,colorize:this.config.debug,auditEnabled:!1})}buildUrl(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;return this.config.baseUrl?`${this.config.baseUrl}${e}`:e}buildHeaders(e){let n=new Headers;if(this.config.defaultHeaders)for(let[t,a]of Object.entries(this.config.defaultHeaders))n.set(t,a);if(e)if(e instanceof Headers)e.forEach((t,a)=>{n.set(a,t)});else if(Array.isArray(e))for(let[t,a]of e)n.set(t,a);else for(let[t,a]of Object.entries(e))n.set(t,a);return n}parseResponseHeaders(e){let n={};if(e.forEach((t,a)=>{if(a.toLowerCase()==="set-cookie"){let s=n[a];n[a]=s?`${s}, ${t}`:t}else n[a]=t}),typeof e.getSetCookie==="function"){let t=e.getSetCookie();if(t.length>0)n["set-cookie"]=t.join(", ")}return n}async executeWithTimeout(e,n,t){let a=new AbortController,s=setTimeout(()=>a.abort(),n);try{return await Promise.race([e,new Promise((o,r)=>{a.signal.addEventListener("abort",()=>{r(Error(`Request timeout after ${n}ms`))})})])}finally{clearTimeout(s)}}async fetch(e){let n=be(),t=performance.now(),a=this.buildUrl(e.url),s=this.buildHeaders(e.headers),i=e.timeout??this.config.timeout??30000,o=e.retries??this.config.retries??0,r=e.retryDelay??this.config.retryDelay??1000,u;if(e.body)if(typeof e.body==="object"&&!(e.body instanceof FormData)&&!(e.body instanceof URLSearchParams)&&!(e.body instanceof Blob)&&!(e.body instanceof ArrayBuffer)){if(u=JSON.stringify(e.body),!s.has("content-type"))s.set("content-type","application/json")}else u=e.body;this.logger.debug(`[${n}] ${e.method} ${a}`,{method:e.method,url:a,hasBody:!!u});let l=null,p=0;while(p<=o)try{let d=await this.executeWithTimeout(fetch(a,{method:e.method,headers:s,body:u}),i,n),E=performance.now()-t,x=this.parseResponseHeaders(d.headers),f,_,m=await d.text();if(m)try{let c=JSON.parse(m);if(d.ok)f=c;else _=c}catch{if(!d.ok)_={message:m||d.statusText}}else if(!d.ok)_={message:d.statusText};let b={isSuccess:d.ok,response:f,errors:_,code:d.status,headers:x,durationMs:E,requestId:n,createdAt:new Date};if(d.ok)this.logger.info(`[${n}] ${e.method} ${a} ${d.status}`,{method:e.method,url:a,statusCode:d.status,durationMs:Math.round(E)});else this.logger.warn(`[${n}] ${e.method} ${a} ${d.status}`,{method:e.method,url:a,statusCode:d.status,durationMs:Math.round(E),error:_});return b}catch(d){if(l=d instanceof Error?d:Error(String(d)),p++,p<=o)this.logger.warn(`[${n}] Retry ${p}/${o} after error`,{method:e.method,url:a,error:l.message,attempt:p,retries:o}),await new Promise((E)=>setTimeout(E,r))}let R=performance.now()-t;return this.logger.error(`[${n}] ${e.method} ${a} failed`,l,{method:e.method,url:a,durationMs:Math.round(R),attempts:p}),{isSuccess:!1,response:void 0,errors:{message:l?.message||"Unknown error"},code:null,headers:{},durationMs:R,requestId:n,createdAt:new Date}}async get(e,n){return this.fetch({...n,url:e,method:"GET"})}async post(e,n,t){return this.fetch({...t,url:e,method:"POST",body:n})}async put(e,n,t){return this.fetch({...t,url:e,method:"PUT",body:n})}async patch(e,n,t){return this.fetch({...t,url:e,method:"PATCH",body:n})}async delete(e,n){return this.fetch({...n,url:e,method:"DELETE"})}}var Ye=new C;var we={accessToken:"access_token",refreshToken:"refresh_token",sessionToken:"session_token"};function Te(e){let n=[],t="";for(let a=0;a<e.length;a++){let s=e[a];if(s===","){let i=e.slice(a+1).trimStart();if(/^[a-zA-Z0-9_-]+=/.test(i)){n.push(t.trim()),t="";continue}}t+=s}if(t.trim())n.push(t.trim());return n}function Re(e,n){let t={},a=["x-forwarded-for","x-real-ip","user-agent","accept-language","x-request-id","x-client-ip","cf-connecting-ip","true-client-ip"];for(let u of a){let l=e.get(u);if(l)t[u]=l}if(!t["user-agent"])t["user-agent"]="Nucleus-ServerAction/1.0";let s=e.get(`x-${n.accessToken}`),i=e.get(`x-${n.refreshToken}`),o=e.get(`x-${n.sessionToken}`);if(s)t[`x-${n.accessToken}`]=s;if(i)t[`x-${n.refreshToken}`]=i;if(o)t[`x-${n.sessionToken}`]=o;let r=e.get("cookie");if(r)t.cookie=r;return t}function xe(e){return e.replace(/_([a-z])/g,(n,t)=>t.toUpperCase())}function z(e){let n={};for(let[t,a]of Object.entries(e)){let s=t.startsWith("_")?t:xe(t);if(a instanceof Date)n[s]=a.toISOString();else if(a&&typeof a==="object"&&!Array.isArray(a))n[s]=z(a);else n[s]=a}return n}function Pe(e,n){let t=new URLSearchParams,a=(i,o)=>{if(o===void 0||o===null)return;if(Array.isArray(o))for(let r of o)a(`${i}[]`,r);else if(o instanceof Date)t.append(i,o.toISOString());else if(typeof o==="object")for(let[r,u]of Object.entries(o))a(`${i}[${r}]`,u);else t.append(i,String(o))};for(let[i,o]of Object.entries(n))a(i,o);let s=t.toString();if(!s)return e;return e.includes("?")?`${e}&${s}`:`${e}?${s}`}function ke(e,n,t,a){let s={...we,...n.tokenNames},i=new C({baseUrl:n.baseUrl,debug:n.debug,timeout:30000,retries:0});return async function(r,u){let l=e[r];if(!l)return{isSuccess:!1,errors:{message:`Endpoint "${r}" not found`},code:404};let p=await t(),R=await a(),d={};if(R.forEach((c,y)=>{d[y]=c}),(l.path.includes("/auth/login")||l.path.includes("/auth/oauth"))&&l.method==="POST")try{p.delete(s.accessToken),p.delete(s.refreshToken),p.delete(s.sessionToken)}catch(c){}let x=Re(R,s),f=l.path,_;if(u&&typeof u==="object"&&!(u instanceof FormData)){let c=u;for(let[y,v]of Object.entries(c))if(v!=null){if(y.startsWith("_"))f=f.replace(`:${y.substring(1)}`,String(v));else if(y==="id"&&f.includes(":id"))f=f.replace(":id",String(v))}}if(l.method==="GET"&&u&&typeof u==="object")f=Pe(f,u);else if(u!==void 0){if(l.isFormData&&u instanceof FormData)_=u;else if(Array.isArray(u)){if(_=u.map((c)=>c&&typeof c==="object"?z(c):c),!x["content-type"])x["content-type"]="application/json"}else if(_=z(u),!x["content-type"])x["content-type"]="application/json"}let m=await i.fetch({url:f,method:l.method,headers:x,body:_});if(m.headers["set-cookie"])try{let c=m.headers["set-cookie"],y=Te(c);for(let v of y){let[L,...D]=v.split(";");if(!L)continue;let[q,K]=L.split("=");if(q&&K){let w={};for(let re of D){let[H,k]=re.trim().split("=");if(!H)continue;let P=H.toLowerCase();if(P==="path")w.path=k;else if(P==="domain")w.domain=k;else if(P==="max-age")w.maxAge=Number(k);else if(P==="expires"&&k)w.expires=new Date(k);else if(P==="httponly")w.httpOnly=!0;else if(P==="secure")w.secure=!0;else if(P==="samesite")w.sameSite=k}p.set(q.trim(),K.trim(),w)}}}catch(c){console.warn("[ServerFactory] Failed to process Set-Cookie headers:",c instanceof Error?c.message:String(c))}let b=m.response;if(m.isSuccess&&b&&typeof b==="object"&&!Array.isArray(b)){let c=b;if("success"in c&&!("data"in c)){let{success:y,message:v,error:L,...D}=c;b={success:y,...v!==void 0?{message:v}:{},...L!==void 0?{error:L}:{},...Object.keys(D).length>0?{data:D}:{}}}}return{isSuccess:m.isSuccess,data:b,errors:m.errors,code:m.code,message:m.isSuccess?void 0:m.errors?.message}}}export{ee as generateVerificationEndpoints,Z as generateSystemTableEndpoints,X as generateMonitoringEndpoints,Y as generateEndpointsFromConfig,J as generateAuthEndpoints,he as generateAllEndpoints,Q as generateAdminEndpoints,ke as createServerFactory,ce as createApiHook,O as AUTH_ENDPOINT_CONFIGS};
@@ -1,4 +1,4 @@
1
- declare var Ne: () => import("h-state").StoreType<{
1
+ declare var vs: () => import("h-state").StoreType<{
2
2
  connection: {
3
3
  status: string;
4
4
  clientId: null;
@@ -9,7 +9,7 @@ declare var Ne: () => import("h-state").StoreType<{
9
9
  events: never[];
10
10
  maxEvents: number;
11
11
  }, Record<string, unknown>>;
12
- declare function c5(n: any): {
12
+ declare function E5(n: any): {
13
13
  isConnected: boolean;
14
14
  isConnecting: boolean;
15
15
  clientId: null;
@@ -19,18 +19,132 @@ declare function c5(n: any): {
19
19
  reconnectAttempt: number;
20
20
  connect: () => void;
21
21
  disconnect: () => void;
22
- subscribe: (M: any) => void;
23
- unsubscribe: (M: any) => void;
22
+ subscribe: (D: any) => void;
23
+ unsubscribe: (D: any) => void;
24
24
  clearEvents: unknown;
25
- getEventsByTopic: (M: any) => never[];
25
+ getEventsByTopic: (D: any) => never[];
26
26
  };
27
- declare var j2: la;
28
- declare function Kd(): {};
29
- declare function vd(n: any): {};
30
- declare function Fd(n: any): {};
31
- declare function jd(n: any): {};
32
- declare function O2(n: any, r: any): any;
33
- declare function Zd(n: any): {
27
+ declare var f5: ga;
28
+ declare function s_(n: any): {
29
+ VERIFICATION_STATUS: {
30
+ method: string;
31
+ path: string;
32
+ isPublic: boolean;
33
+ _payload: undefined;
34
+ _success: undefined;
35
+ _error: undefined;
36
+ };
37
+ VERIFICATION_DECIDE: {
38
+ method: string;
39
+ path: string;
40
+ isPublic: boolean;
41
+ _payload: undefined;
42
+ _success: undefined;
43
+ _error: undefined;
44
+ };
45
+ VERIFICATION_PENDING: {
46
+ method: string;
47
+ path: string;
48
+ isPublic: boolean;
49
+ _payload: undefined;
50
+ _success: undefined;
51
+ _error: undefined;
52
+ };
53
+ VERIFICATION_HISTORY: {
54
+ method: string;
55
+ path: string;
56
+ isPublic: boolean;
57
+ _payload: undefined;
58
+ _success: undefined;
59
+ _error: undefined;
60
+ };
61
+ VERIFICATION_START: {
62
+ method: string;
63
+ path: string;
64
+ isPublic: boolean;
65
+ _payload: undefined;
66
+ _success: undefined;
67
+ _error: undefined;
68
+ };
69
+ FLOW_LIST: {
70
+ method: string;
71
+ path: any;
72
+ isPublic: boolean;
73
+ _payload: undefined;
74
+ _success: undefined;
75
+ _error: undefined;
76
+ };
77
+ FLOW_GET: {
78
+ method: string;
79
+ path: string;
80
+ isPublic: boolean;
81
+ _payload: undefined;
82
+ _success: undefined;
83
+ _error: undefined;
84
+ };
85
+ FLOW_SAVE: {
86
+ method: string;
87
+ path: any;
88
+ isPublic: boolean;
89
+ _payload: undefined;
90
+ _success: undefined;
91
+ _error: undefined;
92
+ };
93
+ FLOW_PUBLISH: {
94
+ method: string;
95
+ path: string;
96
+ isPublic: boolean;
97
+ _payload: undefined;
98
+ _success: undefined;
99
+ _error: undefined;
100
+ };
101
+ FLOW_DELETE: {
102
+ method: string;
103
+ path: string;
104
+ isPublic: boolean;
105
+ _payload: undefined;
106
+ _success: undefined;
107
+ _error: undefined;
108
+ };
109
+ NOTIFICATION_LIST: {
110
+ method: string;
111
+ path: any;
112
+ isPublic: boolean;
113
+ _payload: undefined;
114
+ _success: undefined;
115
+ _error: undefined;
116
+ };
117
+ NOTIFICATION_UNSEEN_COUNT: {
118
+ method: string;
119
+ path: string;
120
+ isPublic: boolean;
121
+ _payload: undefined;
122
+ _success: undefined;
123
+ _error: undefined;
124
+ };
125
+ NOTIFICATION_MARK_SEEN: {
126
+ method: string;
127
+ path: string;
128
+ isPublic: boolean;
129
+ _payload: undefined;
130
+ _success: undefined;
131
+ _error: undefined;
132
+ };
133
+ NOTIFICATION_MARK_ALL_SEEN: {
134
+ method: string;
135
+ path: string;
136
+ isPublic: boolean;
137
+ _payload: undefined;
138
+ _success: undefined;
139
+ _error: undefined;
140
+ };
141
+ };
142
+ declare function a_(): {};
143
+ declare function i_(n: any): {};
144
+ declare function o_(n: any): {};
145
+ declare function c_(n: any): {};
146
+ declare function t5(n: any, r: any): any;
147
+ declare function e_(n: any): {
34
148
  ADMIN_IMPERSONATE: {
35
149
  method: string;
36
150
  path: string;
@@ -56,7 +170,7 @@ declare function Zd(n: any): {
56
170
  _error: undefined;
57
171
  };
58
172
  };
59
- declare function p2(n: any, r: any, t: any, o: any): (s: any, e: any) => Promise<{
173
+ declare function g5(n: any, r: any, t: any, o: any): (e: any, s: any) => Promise<{
60
174
  isSuccess: boolean;
61
175
  errors: {
62
176
  message: string;
@@ -71,8 +185,8 @@ declare function p2(n: any, r: any, t: any, o: any): (s: any, e: any) => Promise
71
185
  code: any;
72
186
  message: any;
73
187
  }>;
74
- declare function X2(n: any, r: any): () => {};
75
- declare class la {
188
+ declare function I2(n: any, r: any): () => {};
189
+ declare class ga {
76
190
  constructor(n?: {});
77
191
  config: {
78
192
  timeout: number;
@@ -226,7 +340,7 @@ declare class la {
226
340
  createdAt: Date;
227
341
  }>;
228
342
  }
229
- declare function UE(n: any): Promise<d$<"", {
343
+ declare function j8(n: any): Promise<zh<"", {
230
344
  decorator: {};
231
345
  store: {};
232
346
  derive: {};
@@ -254,7 +368,7 @@ declare function UE(n: any): Promise<d$<"", {
254
368
  standaloneSchema: {};
255
369
  response: {};
256
370
  }>>;
257
- declare namespace He {
371
+ declare namespace Xs {
258
372
  namespace login {
259
373
  let key: string;
260
374
  let method: string;
@@ -519,8 +633,8 @@ declare class Gr {
519
633
  static resetInstance(): void;
520
634
  constructor(n: {} | undefined, r: {} | undefined, t: any);
521
635
  config: any;
522
- transports: wi[];
523
- auditTransports: mi[];
636
+ transports: Ei[];
637
+ auditTransports: Si[];
524
638
  context: {};
525
639
  correlationId: any;
526
640
  child(n: any, r: any): Gr;
@@ -554,8 +668,8 @@ declare class Gr {
554
668
  trace(n: any): Promise<void>;
555
669
  traceSync(n: any): void;
556
670
  }
557
- import d$ from "elysia";
558
- declare class wi {
671
+ import zh from "elysia";
672
+ declare class Ei {
559
673
  constructor(n?: {});
560
674
  name: string;
561
675
  colorize: any;
@@ -568,11 +682,11 @@ declare class wi {
568
682
  (...data: any[]): void;
569
683
  };
570
684
  }
571
- declare class mi {
685
+ declare class Si {
572
686
  constructor(n?: {});
573
687
  name: string;
574
688
  enabled: any;
575
689
  write(n: any): void;
576
690
  }
577
- export { Ne as usePubSubStore, c5 as usePubSub, j2 as serverFetch, Kd as generateSystemTableEndpoints, vd as generateMonitoringEndpoints, Fd as generateEndpointsFromConfig, jd as generateAuthEndpoints, O2 as generateAllEndpoints, Zd as generateAdminEndpoints, p2 as createServerFactory, X2 as createApiHook, la as ServerFetch, UE as NucleusElysiaPlugin, He as AUTH_ENDPOINT_CONFIGS };
691
+ export { vs as usePubSubStore, E5 as usePubSub, f5 as serverFetch, s_ as generateVerificationEndpoints, a_ as generateSystemTableEndpoints, i_ as generateMonitoringEndpoints, o_ as generateEndpointsFromConfig, c_ as generateAuthEndpoints, t5 as generateAllEndpoints, e_ as generateAdminEndpoints, g5 as createServerFactory, I2 as createApiHook, ga as ServerFetch, j8 as NucleusElysiaPlugin, Xs as AUTH_ENDPOINT_CONFIGS };
578
692
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { ReactElement } from "react";
2
+ import type { NotificationBellProps } from "../types";
3
+ export declare function NotificationBell({ unseenCountAction, onClick, pollInterval, className, }: NotificationBellProps): ReactElement;
4
+ //# sourceMappingURL=NotificationBell.d.ts.map
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useEffectEvent, useState } from "react";
4
+ import { cn } from "../../../utils/cn";
5
+ import { notificationCenterTheme } from "../theme";
6
+ export function NotificationBell({ unseenCountAction, onClick, pollInterval = 30000, className }) {
7
+ const theme = notificationCenterTheme;
8
+ const [count, setCount] = useState(0);
9
+ const fetchCount = useEffectEvent(()=>{
10
+ unseenCountAction.start({
11
+ payload: undefined,
12
+ onAfterHandle: (data)=>{
13
+ const response = data;
14
+ if (response?.data) {
15
+ setCount(response.data.count);
16
+ }
17
+ },
18
+ onErrorHandle: ()=>{}
19
+ });
20
+ });
21
+ useEffect(()=>{
22
+ fetchCount();
23
+ if (pollInterval > 0) {
24
+ const interval = setInterval(fetchCount, pollInterval);
25
+ return ()=>clearInterval(interval);
26
+ }
27
+ }, [
28
+ pollInterval
29
+ ]);
30
+ return /*#__PURE__*/ _jsxs("button", {
31
+ type: "button",
32
+ className: cn(theme.bell.button, className),
33
+ onClick: onClick,
34
+ "aria-label": `Notifications${count > 0 ? ` (${count} unread)` : ""}`,
35
+ children: [
36
+ /*#__PURE__*/ _jsxs("svg", {
37
+ className: theme.bell.icon,
38
+ fill: "none",
39
+ viewBox: "0 0 24 24",
40
+ stroke: "currentColor",
41
+ "aria-hidden": "true",
42
+ children: [
43
+ /*#__PURE__*/ _jsx("title", {
44
+ children: "Notifications"
45
+ }),
46
+ /*#__PURE__*/ _jsx("path", {
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round",
49
+ strokeWidth: 2,
50
+ d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
51
+ })
52
+ ]
53
+ }),
54
+ count > 0 && /*#__PURE__*/ _jsx("span", {
55
+ className: theme.bell.badge,
56
+ children: count > 99 ? "99+" : count
57
+ })
58
+ ]
59
+ });
60
+ }
@@ -0,0 +1,4 @@
1
+ import type { ReactElement } from "react";
2
+ import type { NotificationCenterProps } from "../types";
3
+ export declare function NotificationCenter({ variant: _variant, title, subtitle, listAction, unseenCountAction, markSeenAction, markAllSeenAction, onNotificationClick, pageSize, className, }: NotificationCenterProps): ReactElement;
4
+ //# sourceMappingURL=NotificationCenter.d.ts.map