clefbase 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -33932,6 +33932,10 @@ async function runInit(cwd = process.cwd()) {
33932
33932
  hosting: services.includes("hosting"),
33933
33933
  functions: services.includes("functions")
33934
33934
  };
33935
+ let authSetup;
33936
+ if (cfg.services.auth) {
33937
+ authSetup = await setupAuth(cwd);
33938
+ }
33935
33939
  if (cfg.services.hosting) {
33936
33940
  await setupHosting(cfg, cwd);
33937
33941
  }
@@ -33943,6 +33947,10 @@ async function runInit(cwd = process.cwd()) {
33943
33947
  ensureGitignore(cwd);
33944
33948
  writeEnvExample(cfg, cwd);
33945
33949
  const libResult = scaffoldLib(cfg, cwd);
33950
+ let authResult;
33951
+ if (cfg.services.auth && authSetup) {
33952
+ authResult = await scaffoldAuth(cwd, authSetup);
33953
+ }
33946
33954
  console.log();
33947
33955
  console.log(source_default.green.bold(" \u2713 Project initialised!"));
33948
33956
  console.log();
@@ -33953,12 +33961,127 @@ async function runInit(cwd = process.cwd()) {
33953
33961
  console.log(source_default.dim(` Lib config: ${libResult.configCopy}`));
33954
33962
  console.log(source_default.dim(` Lib entry: ${libResult.libFile}`));
33955
33963
  }
33964
+ if (authResult == null ? void 0 : authResult.hasAuth) {
33965
+ if (authResult.context) console.log(source_default.dim(` Auth context: ${authResult.context}`));
33966
+ if (authResult.modal) console.log(source_default.dim(` Auth modal: ${authResult.modal}`));
33967
+ if (authResult.protected) console.log(source_default.dim(` Protected: ${authResult.protected}`));
33968
+ }
33956
33969
  if (cfg.services.functions) {
33957
33970
  console.log(source_default.dim(` Functions: functions/ (${functionsRuntime ?? "node"})`));
33958
33971
  console.log(source_default.dim(` run: node functions/deploy.mjs`));
33959
33972
  }
33960
33973
  console.log();
33961
- printUsageHint(cfg);
33974
+ printUsageHint(cfg, authSetup);
33975
+ }
33976
+ async function setupAuth(cwd) {
33977
+ console.log();
33978
+ console.log(source_default.bold(" Auth Setup"));
33979
+ console.log();
33980
+ const { scaffoldContext } = await lib_default.prompt([{
33981
+ type: "confirm",
33982
+ name: "scaffoldContext",
33983
+ message: "Scaffold React AuthContext?",
33984
+ default: true
33985
+ }]);
33986
+ const { scaffoldModal } = await lib_default.prompt([{
33987
+ type: "confirm",
33988
+ name: "scaffoldModal",
33989
+ message: "Scaffold AuthModal component?",
33990
+ default: true
33991
+ }]);
33992
+ const { updateApp } = await lib_default.prompt([{
33993
+ type: "confirm",
33994
+ name: "updateApp",
33995
+ message: "Update App.tsx to use AuthProvider?",
33996
+ default: false
33997
+ }]);
33998
+ return { scaffoldContext, scaffoldModal, updateApp };
33999
+ }
34000
+ function getTemplatePath(filename) {
34001
+ let dir = __dirname;
34002
+ if (dir.includes("/dist-src/")) {
34003
+ return import_path2.default.join(dir, "../templates", filename);
34004
+ }
34005
+ return import_path2.default.join(dir, "../templates", filename);
34006
+ }
34007
+ function readTemplate(filename, fallback2) {
34008
+ try {
34009
+ const templatePath = getTemplatePath(filename);
34010
+ return import_fs3.default.readFileSync(templatePath, "utf-8");
34011
+ } catch {
34012
+ return fallback2;
34013
+ }
34014
+ }
34015
+ async function scaffoldAuth(cwd, setup) {
34016
+ const result = { hasAuth: false };
34017
+ const contextDir = import_path2.default.join(cwd, "src", "context");
34018
+ import_fs3.default.mkdirSync(contextDir, { recursive: true });
34019
+ if (setup.scaffoldContext) {
34020
+ const contextFile = import_path2.default.join(contextDir, "AuthContext.tsx");
34021
+ try {
34022
+ const content = readTemplate("AuthContext.tsx.template", AUTH_CONTEXT_FALLBACK);
34023
+ import_fs3.default.writeFileSync(contextFile, content);
34024
+ result.context = import_path2.default.relative(cwd, contextFile);
34025
+ result.hasAuth = true;
34026
+ } catch (err) {
34027
+ console.warn(source_default.yellow(` Warning: Could not scaffold AuthContext: ${err.message}`));
34028
+ }
34029
+ }
34030
+ if (setup.scaffoldModal) {
34031
+ const componentDir = import_path2.default.join(cwd, "src", "components");
34032
+ import_fs3.default.mkdirSync(componentDir, { recursive: true });
34033
+ const modalFile = import_path2.default.join(componentDir, "AuthModal.tsx");
34034
+ try {
34035
+ const content = readTemplate("AuthModal.tsx.template", AUTH_MODAL_FALLBACK);
34036
+ import_fs3.default.writeFileSync(modalFile, content);
34037
+ result.modal = import_path2.default.relative(cwd, modalFile);
34038
+ result.hasAuth = true;
34039
+ } catch (err) {
34040
+ console.warn(source_default.yellow(` Warning: Could not scaffold AuthModal: ${err.message}`));
34041
+ }
34042
+ const protectedFile = import_path2.default.join(componentDir, "ProtectedRoute.tsx");
34043
+ try {
34044
+ const content = readTemplate("ProtectedRoute.tsx.template", PROTECTED_ROUTE_FALLBACK);
34045
+ import_fs3.default.writeFileSync(protectedFile, content);
34046
+ result.protected = import_path2.default.relative(cwd, protectedFile);
34047
+ } catch (err) {
34048
+ console.warn(source_default.yellow(` Warning: Could not scaffold ProtectedRoute: ${err.message}`));
34049
+ }
34050
+ }
34051
+ if (setup.updateApp) {
34052
+ const appPath = import_path2.default.join(cwd, "src", "App.tsx");
34053
+ if (import_fs3.default.existsSync(appPath)) {
34054
+ try {
34055
+ updateAppWithAuth(appPath);
34056
+ } catch (err) {
34057
+ console.warn(source_default.yellow(` Warning: Could not update App.tsx: ${err.message}`));
34058
+ }
34059
+ }
34060
+ }
34061
+ return result;
34062
+ }
34063
+ function updateAppWithAuth(appPath) {
34064
+ let content = import_fs3.default.readFileSync(appPath, "utf-8");
34065
+ if (content.includes("AuthProvider")) {
34066
+ return;
34067
+ }
34068
+ if (!content.includes("import { AuthProvider, useAuth }")) {
34069
+ const importLine = "import { AuthProvider, useAuth } from '@/context/AuthContext';\n";
34070
+ content = importLine + content;
34071
+ }
34072
+ const exportMatch = content.match(/export\s+default\s+(function\s+\w+\s*\(|const\s+\w+\s*=|\(\)|=>)/);
34073
+ if (exportMatch) {
34074
+ const returnMatch = content.match(/export\s+default\s+(?:function\s+\w+\s*\([^)]*\)\s*\{|\(.*?\)\s*=>\s*)[\s\S]*?return\s+/);
34075
+ if (returnMatch) {
34076
+ if (content.includes("return (") || content.includes("return <")) {
34077
+ const beforeReturn = content.substring(0, content.lastIndexOf("return"));
34078
+ const afterReturn = content.substring(content.lastIndexOf("return"));
34079
+ const wrappedReturn = afterReturn.replace(/return\s+(<[^>]+>[\s\S]*)/m, "return (\n <AuthProvider>\n $1\n </AuthProvider>\n )");
34080
+ content = beforeReturn + wrappedReturn;
34081
+ }
34082
+ }
34083
+ }
34084
+ import_fs3.default.writeFileSync(appPath, content);
33962
34085
  }
33963
34086
  async function setupFunctions(cfg, cwd) {
33964
34087
  console.log();
@@ -34749,7 +34872,7 @@ function guessDistDir(cwd) {
34749
34872
  }
34750
34873
  return "dist";
34751
34874
  }
34752
- function printUsageHint(cfg) {
34875
+ function printUsageHint(cfg, authSetup) {
34753
34876
  const namedImports = [];
34754
34877
  if (cfg.services.database) namedImports.push("db");
34755
34878
  if (cfg.services.auth) namedImports.push("auth");
@@ -34768,9 +34891,23 @@ function printUsageHint(cfg) {
34768
34891
  }
34769
34892
  if (cfg.services.auth) {
34770
34893
  console.log();
34771
- console.log(source_default.cyan(` const { user } = await auth.signIn("email", "pass");`));
34772
- console.log(source_default.cyan(` await auth.signInWithGateway("google"); // redirects to auth.cleforyx.com`));
34773
- console.log(source_default.cyan(` await auth.handleGatewayCallback(); // call on every page load`));
34894
+ console.log(source_default.bold(" Auth:"));
34895
+ if (authSetup == null ? void 0 : authSetup.scaffoldContext) {
34896
+ console.log(source_default.dim(` \u2713 Wrap app with <AuthProvider>`));
34897
+ console.log(source_default.cyan(` import { AuthProvider, useAuth } from "@/context/AuthContext";`));
34898
+ console.log(source_default.cyan(` const { user, signIn, signOut } = useAuth();`));
34899
+ }
34900
+ if (authSetup == null ? void 0 : authSetup.scaffoldModal) {
34901
+ console.log(source_default.cyan(` import AuthModal from "@/components/AuthModal";`));
34902
+ }
34903
+ if (authSetup == null ? void 0 : authSetup.scaffoldContext) {
34904
+ console.log(source_default.cyan(` import { EmailVerificationCard } from "clefbase/react";`));
34905
+ }
34906
+ if (!(authSetup == null ? void 0 : authSetup.scaffoldContext)) {
34907
+ console.log(source_default.cyan(` const { user } = await auth.signIn("email", "pass");`));
34908
+ console.log(source_default.cyan(` await auth.signInWithGateway("google"); // redirects to auth.cleforyx.com`));
34909
+ console.log(source_default.cyan(` await auth.handleGatewayCallback(); // call on every page load`));
34910
+ }
34774
34911
  }
34775
34912
  if (cfg.services.storage) {
34776
34913
  console.log();
@@ -34797,6 +34934,258 @@ function printUsageHint(cfg) {
34797
34934
  }
34798
34935
  console.log();
34799
34936
  }
34937
+ var AUTH_CONTEXT_FALLBACK = `'use client';
34938
+ import React, { createContext, useContext, useEffect, useState } from 'react';
34939
+ import type { AuthUser } from 'clefbase';
34940
+ import { getAuth } from 'clefbase';
34941
+
34942
+ interface AuthContextType {
34943
+ user: AuthUser | null;
34944
+ token: string | null;
34945
+ loading: boolean;
34946
+ error: string | null;
34947
+ isAuthModalOpen: boolean;
34948
+ signIn: (email: string, password: string) => Promise<void>;
34949
+ signUp: (email: string, password: string, profile?: any) => Promise<void>;
34950
+ signOut: () => Promise<void>;
34951
+ updateProfile: (updates: any) => Promise<void>;
34952
+ verifyEmail: (code: string) => Promise<void>;
34953
+ sendPasswordResetEmail: (email: string) => Promise<void>;
34954
+ refreshUser: () => Promise<void>;
34955
+ openAuthModal: () => void;
34956
+ closeAuthModal: () => void;
34957
+ }
34958
+
34959
+ const AuthContext = createContext<AuthContextType | undefined>(undefined);
34960
+
34961
+ export function useAuth(): AuthContextType {
34962
+ const context = useContext(AuthContext);
34963
+ if (!context) throw new Error('useAuth() must be used within <AuthProvider>');
34964
+ return context;
34965
+ }
34966
+
34967
+ export function AuthProvider({ children }: { children: React.ReactNode }) {
34968
+ const [user, setUser] = useState<AuthUser | null>(null);
34969
+ const [token, setToken] = useState<string | null>(null);
34970
+ const [loading, setLoading] = useState(true);
34971
+ const [error, setError] = useState<string | null>(null);
34972
+ const [isAuthModalOpen, setIsAuthModalOpen] = useState(false);
34973
+ const auth = getAuth();
34974
+
34975
+ useEffect(() => {
34976
+ const initAuth = async () => {
34977
+ try {
34978
+ setLoading(true);
34979
+ const currentUser = auth.currentUser;
34980
+ const currentToken = auth.currentToken;
34981
+ setUser(currentUser);
34982
+ setToken(currentToken);
34983
+ const unsubscribe = auth.onAuthStateChanged((newUser) => {
34984
+ setUser(newUser);
34985
+ setToken(newUser ? auth.currentToken : null);
34986
+ });
34987
+ setLoading(false);
34988
+ return () => unsubscribe();
34989
+ } catch (err) {
34990
+ console.error('Auth init error:', err);
34991
+ setLoading(false);
34992
+ }
34993
+ };
34994
+ initAuth();
34995
+ }, [auth]);
34996
+
34997
+ const handleError = (err: unknown): string => {
34998
+ if (err instanceof Error) return err.message;
34999
+ if (typeof err === 'string') return err;
35000
+ return 'Unknown error';
35001
+ };
35002
+
35003
+ const signIn = async (email: string, password: string) => {
35004
+ try {
35005
+ setError(null);
35006
+ setLoading(true);
35007
+ await auth.signIn(email, password);
35008
+ } catch (err) {
35009
+ const message = handleError(err);
35010
+ setError(message);
35011
+ throw err;
35012
+ } finally {
35013
+ setLoading(false);
35014
+ }
35015
+ };
35016
+
35017
+ const signUp = async (email: string, password: string, profile?: any) => {
35018
+ try {
35019
+ setError(null);
35020
+ setLoading(true);
35021
+ await auth.signUp(email, password, profile);
35022
+ } catch (err) {
35023
+ const message = handleError(err);
35024
+ setError(message);
35025
+ throw err;
35026
+ } finally {
35027
+ setLoading(false);
35028
+ }
35029
+ };
35030
+
35031
+ const signOut = async () => {
35032
+ try {
35033
+ setError(null);
35034
+ setLoading(true);
35035
+ await auth.signOut();
35036
+ setUser(null);
35037
+ setToken(null);
35038
+ } catch (err) {
35039
+ const message = handleError(err);
35040
+ setError(message);
35041
+ throw err;
35042
+ } finally {
35043
+ setLoading(false);
35044
+ }
35045
+ };
35046
+
35047
+ const updateProfile = async (updates: any) => {
35048
+ try {
35049
+ setError(null);
35050
+ setLoading(true);
35051
+ await auth.updateProfile(updates);
35052
+ } catch (err) {
35053
+ const message = handleError(err);
35054
+ setError(message);
35055
+ throw err;
35056
+ } finally {
35057
+ setLoading(false);
35058
+ }
35059
+ };
35060
+
35061
+ const verifyEmail = async (code: string) => {
35062
+ try {
35063
+ setError(null);
35064
+ setLoading(true);
35065
+ const result = await auth.verifyEmail(code);
35066
+ setUser(result);
35067
+ } catch (err) {
35068
+ const message = handleError(err);
35069
+ setError(message);
35070
+ throw err;
35071
+ } finally {
35072
+ setLoading(false);
35073
+ }
35074
+ };
35075
+
35076
+ const sendPasswordResetEmail = async (email: string) => {
35077
+ try {
35078
+ setError(null);
35079
+ setLoading(true);
35080
+ await auth.sendPasswordResetEmail(email);
35081
+ } catch (err) {
35082
+ const message = handleError(err);
35083
+ setError(message);
35084
+ throw err;
35085
+ } finally {
35086
+ setLoading(false);
35087
+ }
35088
+ };
35089
+
35090
+ const refreshUser = async () => {
35091
+ try {
35092
+ setError(null);
35093
+ const updated = await auth.refreshCurrentUser();
35094
+ if (updated) setUser(updated);
35095
+ } catch (err) {
35096
+ const message = handleError(err);
35097
+ setError(message);
35098
+ throw err;
35099
+ }
35100
+ };
35101
+
35102
+ const openAuthModal = () => setIsAuthModalOpen(true);
35103
+ const closeAuthModal = () => setIsAuthModalOpen(false);
35104
+
35105
+ const value: AuthContextType = {
35106
+ user, token, loading, error, isAuthModalOpen,
35107
+ signIn, signUp, signOut, updateProfile, verifyEmail,
35108
+ sendPasswordResetEmail, refreshUser, openAuthModal, closeAuthModal,
35109
+ };
35110
+
35111
+ return (
35112
+ <AuthContext.Provider value={value}>
35113
+ {!loading && children}
35114
+ </AuthContext.Provider>
35115
+ );
35116
+ }`;
35117
+ var AUTH_MODAL_FALLBACK = `'use client';
35118
+ import React, { useEffect, CSSProperties } from 'react';
35119
+ import { useAuth } from './AuthContext';
35120
+
35121
+ export default function AuthModal({ isOpen, onClose, overlayStyle, cardStyle, showCloseButton = true, backdropDismiss = true }: any) {
35122
+ const { closeAuthModal } = useAuth();
35123
+ const projectId = typeof window !== 'undefined' && (window as any).__CLEFORYX_PROJECT_ID;
35124
+
35125
+ useEffect(() => {
35126
+ if (!isOpen) return;
35127
+ const handleMessage = (e: MessageEvent) => {
35128
+ if (e.data?.source === 'cleforyx-auth' && e.data?.type === 'auth_success') {
35129
+ closeAuthModal();
35130
+ onClose();
35131
+ }
35132
+ };
35133
+ window.addEventListener('message', handleMessage);
35134
+ return () => window.removeEventListener('message', handleMessage);
35135
+ }, [isOpen, closeAuthModal, onClose]);
35136
+
35137
+ if (!isOpen) return null;
35138
+
35139
+ const currentUrl = typeof window !== 'undefined' ? window.location.origin : '';
35140
+ const iframeUrl = \`https://auth.cleforyx.com/login?project=\${projectId}&redirect=\${encodeURIComponent(currentUrl)}&embed=popup\`;
35141
+
35142
+ const defaultOverlayStyle: CSSProperties = {
35143
+ position: 'fixed', inset: 0, backgroundColor: 'rgba(15, 23, 42, 0.6)',
35144
+ display: 'flex', alignItems: 'center', justifyContent: 'center',
35145
+ zIndex: 9999, backdropFilter: 'blur(4px)', padding: '16px', boxSizing: 'border-box',
35146
+ };
35147
+
35148
+ const defaultCardStyle: CSSProperties = {
35149
+ backgroundColor: 'white', borderRadius: '20px',
35150
+ boxShadow: '0 24px 64px rgba(0, 0, 0, 0.2)',
35151
+ overflow: 'hidden', width: '100%', maxWidth: '460px', position: 'relative',
35152
+ };
35153
+
35154
+ const handleBackdropClick = (e: React.MouseEvent) => {
35155
+ if (backdropDismiss && e.target === e.currentTarget) onClose();
35156
+ };
35157
+
35158
+ return (
35159
+ <div style={{ ...defaultOverlayStyle, ...overlayStyle }} onClick={handleBackdropClick}>
35160
+ <div style={{ ...defaultCardStyle, ...cardStyle }}>
35161
+ {showCloseButton && (
35162
+ <button style={{ position: 'absolute', top: '14px', right: '16px', background: 'rgba(0,0,0,0.06)', border: 'none', width: '28px', height: '28px', borderRadius: '50%', cursor: 'pointer', zIndex: 1 }} onClick={onClose} aria-label="Close">\u2715</button>
35163
+ )}
35164
+ <iframe src={iframeUrl} style={{ width: '100%', height: '560px', border: 'none', display: 'block' }} title="Sign in" allow="identity-credentials-get" />
35165
+ </div>
35166
+ </div>
35167
+ );
35168
+ }`;
35169
+ var PROTECTED_ROUTE_FALLBACK = `'use client';
35170
+ import React from 'react';
35171
+ import { useAuth } from './AuthContext';
35172
+
35173
+ export function ProtectedRoute({ children, LoadingComponent, onUnauthorized }: any) {
35174
+ const { user, loading, openAuthModal } = useAuth();
35175
+
35176
+ if (loading) {
35177
+ if (LoadingComponent) return <LoadingComponent />;
35178
+ return <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: '100vh' }}>Loading...</div>;
35179
+ }
35180
+
35181
+ if (!user) {
35182
+ onUnauthorized?.();
35183
+ openAuthModal();
35184
+ return null;
35185
+ }
35186
+
35187
+ return <>{children}</>;
35188
+ }`;
34800
35189
 
34801
35190
  // src/cli/commands/deploy.ts
34802
35191
  var import_path3 = __toESM(require("path"));
@@ -35549,7 +35938,7 @@ async function promptRequired(message) {
35549
35938
  }
35550
35939
 
35551
35940
  // package.json
35552
- var version = "2.0.2";
35941
+ var version = "2.0.4";
35553
35942
 
35554
35943
  // src/cli/index.ts
35555
35944
  var program2 = new Command();
package/dist/index.d.ts CHANGED
@@ -48,7 +48,7 @@
48
48
  export { ClefbaseApp, initClefbase, getApp, getDatabase, getAuth, getStorage, getHosting, getFunctions, getAI, } from "./app";
49
49
  export { Database, CollectionReference, CollectionGroup, DocumentReference, Query, WriteBatch, Transaction, runTransaction, } from "./db";
50
50
  export { Auth } from "./auth";
51
- export type { GatewaySignInOptions } from "./auth";
51
+ export type { GatewaySignInOptions, OpenAuthUIOptions } from "./auth";
52
52
  export { ClefbaseStorage, StorageReference, BucketReference } from "./storage";
53
53
  export type { StorageFile } from "./storage";
54
54
  export type { StorageImageStatus } from "./react/StorageImage";
@@ -61,6 +61,6 @@ export { ClefbaseAI, AIError, generateText, generateImage, generateVideo, genera
61
61
  export type { AIModel, AIProvider, AIModelCategory, GenerateTextOptions, GenerateTextResult, GenerateImageOptions, GenerateImageResult, GeneratedMediaFile, GenerateVideoOptions, GenerateVideoResult, GenerateEmbeddingOptions, GenerateEmbeddingResult, AIUsageRecord, AIUsageStats, } from "./ai";
62
62
  export { FieldValue, FieldValueSentinel } from "./field_value";
63
63
  export type { FieldValueType } from "./field_value";
64
- export type { ClefbaseConfig, ClefbaseDocument, QueryOptions, QueryResult, FilterOperator, WhereClause, WhereValue, AuthUser, AuthSession, AuthResult, } from "./types";
64
+ export type { ClefbaseConfig, ClefbaseDocument, QueryOptions, QueryResult, FilterOperator, WhereClause, WhereValue, AuthUser, AuthSession, AuthResult, AuthOptions, } from "./types";
65
65
  export { ClefbaseError } from "./types";
66
66
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,KAAK,GACN,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,MAAM,CAAC;AAEd,YAAY,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,YAAY,GACb,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,KAAK,GACN,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,MAAM,CAAC;AAEd,YAAY,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,YAAY,GACb,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;AAEH,iFAAiF;AACjF,6BAUe;AATb,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,6FAAA,MAAM,OAAA;AACN,kGAAA,WAAW,OAAA;AACX,8FAAA,OAAO,OAAA;AACP,iGAAA,UAAU,OAAA;AACV,iGAAA,UAAU,OAAA;AACV,mGAAA,YAAY,OAAA;AACZ,4FAAA,KAAK,OAAA;AAGP,iFAAiF;AACjF,2BASc;AARZ,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,2FAAA,KAAK,OAAA;AACL,gGAAA,UAAU,OAAA;AACV,iGAAA,WAAW,OAAA;AACX,oGAAA,cAAc,OAAA;AAGhB,iFAAiF;AACjF,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,iFAAiF;AACjF,qCAA+E;AAAtE,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAM3D,iFAAiF;AACjF,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAE9B,iFAAiF;AACjF,qCAA2D;AAAlD,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAWvC,iFAAiF;AACjF,yCAWqB;AAVnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,kHAAA,qBAAqB,OAAA;AACrB,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AAehB,iFAAiF;AACjF,2BAOc;AANZ,gGAAA,UAAU,OAAA;AACV,6FAAA,OAAO,OAAA;AACP,kGAAA,YAAY,OAAA;AACZ,mGAAA,aAAa,OAAA;AACb,mGAAA,aAAa,OAAA;AACb,uGAAA,iBAAiB,OAAA;AAoBnB,iFAAiF;AACjF,6CAA+D;AAAtD,yGAAA,UAAU,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAiBvC,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;AAEH,iFAAiF;AACjF,6BAUe;AATb,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,6FAAA,MAAM,OAAA;AACN,kGAAA,WAAW,OAAA;AACX,8FAAA,OAAO,OAAA;AACP,iGAAA,UAAU,OAAA;AACV,iGAAA,UAAU,OAAA;AACV,mGAAA,YAAY,OAAA;AACZ,4FAAA,KAAK,OAAA;AAGP,iFAAiF;AACjF,2BASc;AARZ,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,2FAAA,KAAK,OAAA;AACL,gGAAA,UAAU,OAAA;AACV,iGAAA,WAAW,OAAA;AACX,oGAAA,cAAc,OAAA;AAGhB,iFAAiF;AACjF,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,iFAAiF;AACjF,qCAA+E;AAAtE,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAM3D,iFAAiF;AACjF,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAE9B,iFAAiF;AACjF,qCAA2D;AAAlD,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAWvC,iFAAiF;AACjF,yCAWqB;AAVnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,kHAAA,qBAAqB,OAAA;AACrB,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AAehB,iFAAiF;AACjF,2BAOc;AANZ,gGAAA,UAAU,OAAA;AACV,6FAAA,OAAO,OAAA;AACP,kGAAA,YAAY,OAAA;AACZ,mGAAA,aAAa,OAAA;AACb,mGAAA,aAAa,OAAA;AACb,uGAAA,iBAAiB,OAAA;AAoBnB,iFAAiF;AACjF,6CAA+D;AAAtD,yGAAA,UAAU,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAkBvC,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
package/dist/types.d.ts CHANGED
@@ -68,6 +68,24 @@ export interface AuthResult {
68
68
  /** Shorthand for session.token */
69
69
  token: string;
70
70
  }
71
+ /**
72
+ * Configuration options for the Auth service.
73
+ * Supports both public routes (client-side) and external routes (server-side).
74
+ */
75
+ export interface AuthOptions {
76
+ /**
77
+ * Route pattern to use: "public" or "external"
78
+ * - "public": For client-side flows (iframe, redirect), requires dbId, uses bearer token
79
+ * - "external": For server/admin flows, uses x-cfx-key header (default for backward compatibility)
80
+ * @default "external"
81
+ */
82
+ apiEndpoint?: "public" | "external";
83
+ /**
84
+ * Database ID (required for public routes, optional for external).
85
+ * The server uses this to route to the correct auth database.
86
+ */
87
+ dbId?: string;
88
+ }
71
89
  /**
72
90
  * Options for rendering a Google-branded sign-in button.
73
91
  * Pass to `auth.signInWithGoogle()` to show a button instead of One Tap.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AAuQjF,iFAAiF;AAEjF,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACC,IAAa,EACb,MAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAS;QACb,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAZD,sCAYC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AA0RjF,iFAAiF;AAEjF,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACC,IAAa,EACb,MAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAS;QACb,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAZD,sCAYC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clefbase",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "Firebase-style SDK and CLI for Clefbase — database, auth, storage, hosting, and functions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",