clefbase 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -34575,7 +34575,18 @@ function buildLibTs(cfg) {
34575
34575
  ` *`,
34576
34576
  ` * Usage:`,
34577
34577
  ...database ? [` * import { db } from "@lib/clefBase";`] : [],
34578
- ...auth ? [` * import { auth } from "@lib/clefBase";`] : [],
34578
+ ...auth ? [
34579
+ ` * import { auth } from "@lib/clefBase";`,
34580
+ ` *`,
34581
+ ` * // Email / password`,
34582
+ ` * const { user } = await auth.signIn("alice@example.com", "pass");`,
34583
+ ` *`,
34584
+ ` * // Google sign-in \u2014 add this to your root component / entry point:`,
34585
+ ` * await auth.handleGatewayCallback(); // handles ?cfx_token= on return`,
34586
+ ` *`,
34587
+ ` * // On sign-in button click:`,
34588
+ ` * await auth.signInWithGateway("google");`
34589
+ ] : [],
34579
34590
  ...storage ? [` * import { storage } from "@lib/clefBase";`] : [],
34580
34591
  ...fns ? [
34581
34592
  ` * import { fns, httpsCallable } from "@lib/clefBase";`,
@@ -34612,6 +34623,20 @@ function buildLibTs(cfg) {
34612
34623
  lines.push(`/** Clefbase Auth \u2014 sign up, sign in, manage sessions. */`);
34613
34624
  lines.push(`export const auth: Auth = getAuth(app);`);
34614
34625
  lines.push("");
34626
+ lines.push(`/**`);
34627
+ lines.push(` * Call this once on every page load (before rendering your UI).`);
34628
+ lines.push(` * Detects the ?cfx_token= param the gateway appends after OAuth,`);
34629
+ lines.push(` * saves the session, and cleans the URL.`);
34630
+ lines.push(` *`);
34631
+ lines.push(` * @example`);
34632
+ lines.push(` * // React / Next.js \u2014 in your root layout or _app.tsx:`);
34633
+ lines.push(` * useEffect(() => { auth.handleGatewayCallback(); }, []);`);
34634
+ lines.push(` *`);
34635
+ lines.push(` * // Vanilla JS \u2014 at the top of your entry point:`);
34636
+ lines.push(` * await auth.handleGatewayCallback();`);
34637
+ lines.push(` */`);
34638
+ lines.push(`export { auth };`);
34639
+ lines.push("");
34615
34640
  }
34616
34641
  if (storage) {
34617
34642
  lines.push(`/** Clefbase Storage \u2014 upload and manage files. */`);
@@ -34744,6 +34769,8 @@ function printUsageHint(cfg) {
34744
34769
  if (cfg.services.auth) {
34745
34770
  console.log();
34746
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`));
34747
34774
  }
34748
34775
  if (cfg.services.storage) {
34749
34776
  console.log();
@@ -35522,7 +35549,7 @@ async function promptRequired(message) {
35522
35549
  }
35523
35550
 
35524
35551
  // package.json
35525
- var version = "2.0.1";
35552
+ var version = "2.0.3";
35526
35553
 
35527
35554
  // src/cli/index.ts
35528
35555
  var program2 = new Command();
package/dist/index.d.ts CHANGED
@@ -10,12 +10,21 @@
10
10
  * setAuthToken, FunctionsError, AIError, FieldValue,
11
11
  * } from "clefbase";
12
12
  *
13
- * const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
13
+ * const app = initClefbase({ serverUrl, projectId, apiKey });
14
14
  *
15
- * // ── Auth ──────────────────────────────────────────────────────────────────
15
+ * // ── Auth — email / password ───────────────────────────────────────────────
16
16
  * const auth = getAuth(app);
17
17
  * const { token } = await auth.signIn("alice@example.com", "password123");
18
18
  *
19
+ * // ── Auth — Google via gateway (redirect flow) ─────────────────────────────
20
+ * // 1. On sign-in button click:
21
+ * await auth.signInWithGateway("google");
22
+ * // ^ redirects to auth.cleforyx.com, then back to your app with ?cfx_token=
23
+ *
24
+ * // 2. On every page load (before rendering):
25
+ * const result = await auth.handleGatewayCallback();
26
+ * if (result) console.log("Signed in:", result.user.email);
27
+ *
19
28
  * // ── Database ──────────────────────────────────────────────────────────────
20
29
  * const db = getDatabase(app);
21
30
  * await db.collection("posts").doc("p1").update({
@@ -32,69 +41,14 @@
32
41
  * const greet = httpsCallable<{ name: string }, { message: string }>(fns, "greetUser");
33
42
  * const { data } = await greet({ name: "Alice" });
34
43
  *
35
- * // ── AI — text / code ──────────────────────────────────────────────────────
44
+ * // ── AI ────────────────────────────────────────────────────────────────────
36
45
  * const ai = getAI(app);
37
- *
38
- * const { content } = await ai.text({
39
- * model: "claude-sonnet-4-5",
40
- * prompt: "Explain async/await in JavaScript",
41
- * });
42
- *
43
- * // Multi-turn chat
44
- * const reply = await ai.text({
45
- * model: "gemini-2.5-flash",
46
- * prompt: "Give me a harder example",
47
- * systemPrompt: "You are a JavaScript tutor.",
48
- * history: [{ role: "user", content: "Explain closures" }, { role: "assistant", content: "..." }],
49
- * });
50
- *
51
- * // ── AI — image generation (auto-saved to Storage) ─────────────────────────
52
- * const { files } = await ai.image({
53
- * model: "imagen-4.0-generate-001",
54
- * prompt: "A serene mountain lake at dawn, photorealistic",
55
- * aspectRatio: "16:9",
56
- * numberOfImages: 2,
57
- * outputFolder: "landscapes",
58
- * });
59
- * // files[].fullPath → path in project Storage
60
- * // files[].storageFileId → use with storage.ref() to get the download URL
61
- *
62
- * // ── AI — video generation (auto-saved to Storage) ─────────────────────────
63
- * const { status, files: clips } = await ai.video({
64
- * model: "veo-3.1-generate-preview",
65
- * prompt: "A slow-motion waterfall in a rainforest",
66
- * durationSeconds: 8,
67
- * aspectRatio: "16:9",
68
- * });
69
- *
70
- * // ── AI — embeddings ───────────────────────────────────────────────────────
71
- * const { embeddings } = await ai.embedding({
72
- * model: "gemini-embedding-001",
73
- * input: ["Hello world", "Semantic search"],
74
- * });
75
- *
76
- * // ── AI — browse models ────────────────────────────────────────────────────
77
- * const imageModels = await ai.listModels({ category: "image" });
78
- * const allModels = await ai.listModels();
79
- *
80
- * // ── AI — usage stats ──────────────────────────────────────────────────────
81
- * const stats = await ai.getStats();
82
- * const history = await ai.getUsage({ limit: 20 });
83
- *
84
- * // ── AI — convenience top-level functions ──────────────────────────────────
85
- * const { content: code } = await generateText(ai, {
86
- * model: "claude-sonnet-4-5",
87
- * prompt: "Write a merge sort in TypeScript",
88
- * });
89
- * const { files: imgs } = await generateImage(ai, {
90
- * model: "imagen-4.0-fast-generate-001",
91
- * prompt: "A cute cartoon robot",
92
- * });
46
+ * const { content } = await ai.text({ model: "claude-sonnet-4-5", prompt: "Hi" });
93
47
  */
94
48
  export { ClefbaseApp, initClefbase, getApp, getDatabase, getAuth, getStorage, getHosting, getFunctions, getAI, } from "./app";
95
49
  export { Database, CollectionReference, CollectionGroup, DocumentReference, Query, WriteBatch, Transaction, runTransaction, } from "./db";
96
50
  export { Auth } from "./auth";
97
- export type { GoogleButtonOptions } from "./auth";
51
+ export type { GatewaySignInOptions } from "./auth";
98
52
  export { ClefbaseStorage, StorageReference, BucketReference } from "./storage";
99
53
  export type { StorageFile } from "./storage";
100
54
  export type { StorageImageStatus } from "./react/StorageImage";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;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,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAGlD,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,EAEL,iBAAiB,EAEjB,cAAc,EAEd,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,EAEL,UAAU,EAEV,OAAO,EAEP,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,MAAM,CAAC;AAEd,YAAY,EAEV,OAAO,EACP,UAAU,EACV,eAAe,EAEf,mBAAmB,EACnB,kBAAkB,EAElB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAElB,oBAAoB,EACpB,mBAAmB,EAEnB,wBAAwB,EACxB,uBAAuB,EAEvB,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,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"}
package/dist/index.js CHANGED
@@ -11,12 +11,21 @@
11
11
  * setAuthToken, FunctionsError, AIError, FieldValue,
12
12
  * } from "clefbase";
13
13
  *
14
- * const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
14
+ * const app = initClefbase({ serverUrl, projectId, apiKey });
15
15
  *
16
- * // ── Auth ──────────────────────────────────────────────────────────────────
16
+ * // ── Auth — email / password ───────────────────────────────────────────────
17
17
  * const auth = getAuth(app);
18
18
  * const { token } = await auth.signIn("alice@example.com", "password123");
19
19
  *
20
+ * // ── Auth — Google via gateway (redirect flow) ─────────────────────────────
21
+ * // 1. On sign-in button click:
22
+ * await auth.signInWithGateway("google");
23
+ * // ^ redirects to auth.cleforyx.com, then back to your app with ?cfx_token=
24
+ *
25
+ * // 2. On every page load (before rendering):
26
+ * const result = await auth.handleGatewayCallback();
27
+ * if (result) console.log("Signed in:", result.user.email);
28
+ *
20
29
  * // ── Database ──────────────────────────────────────────────────────────────
21
30
  * const db = getDatabase(app);
22
31
  * await db.collection("posts").doc("p1").update({
@@ -33,64 +42,9 @@
33
42
  * const greet = httpsCallable<{ name: string }, { message: string }>(fns, "greetUser");
34
43
  * const { data } = await greet({ name: "Alice" });
35
44
  *
36
- * // ── AI — text / code ──────────────────────────────────────────────────────
45
+ * // ── AI ────────────────────────────────────────────────────────────────────
37
46
  * const ai = getAI(app);
38
- *
39
- * const { content } = await ai.text({
40
- * model: "claude-sonnet-4-5",
41
- * prompt: "Explain async/await in JavaScript",
42
- * });
43
- *
44
- * // Multi-turn chat
45
- * const reply = await ai.text({
46
- * model: "gemini-2.5-flash",
47
- * prompt: "Give me a harder example",
48
- * systemPrompt: "You are a JavaScript tutor.",
49
- * history: [{ role: "user", content: "Explain closures" }, { role: "assistant", content: "..." }],
50
- * });
51
- *
52
- * // ── AI — image generation (auto-saved to Storage) ─────────────────────────
53
- * const { files } = await ai.image({
54
- * model: "imagen-4.0-generate-001",
55
- * prompt: "A serene mountain lake at dawn, photorealistic",
56
- * aspectRatio: "16:9",
57
- * numberOfImages: 2,
58
- * outputFolder: "landscapes",
59
- * });
60
- * // files[].fullPath → path in project Storage
61
- * // files[].storageFileId → use with storage.ref() to get the download URL
62
- *
63
- * // ── AI — video generation (auto-saved to Storage) ─────────────────────────
64
- * const { status, files: clips } = await ai.video({
65
- * model: "veo-3.1-generate-preview",
66
- * prompt: "A slow-motion waterfall in a rainforest",
67
- * durationSeconds: 8,
68
- * aspectRatio: "16:9",
69
- * });
70
- *
71
- * // ── AI — embeddings ───────────────────────────────────────────────────────
72
- * const { embeddings } = await ai.embedding({
73
- * model: "gemini-embedding-001",
74
- * input: ["Hello world", "Semantic search"],
75
- * });
76
- *
77
- * // ── AI — browse models ────────────────────────────────────────────────────
78
- * const imageModels = await ai.listModels({ category: "image" });
79
- * const allModels = await ai.listModels();
80
- *
81
- * // ── AI — usage stats ──────────────────────────────────────────────────────
82
- * const stats = await ai.getStats();
83
- * const history = await ai.getUsage({ limit: 20 });
84
- *
85
- * // ── AI — convenience top-level functions ──────────────────────────────────
86
- * const { content: code } = await generateText(ai, {
87
- * model: "claude-sonnet-4-5",
88
- * prompt: "Write a merge sort in TypeScript",
89
- * });
90
- * const { files: imgs } = await generateImage(ai, {
91
- * model: "imagen-4.0-fast-generate-001",
92
- * prompt: "A cute cartoon robot",
93
- * });
47
+ * const { content } = await ai.text({ model: "claude-sonnet-4-5", prompt: "Hi" });
94
48
  */
95
49
  Object.defineProperty(exports, "__esModule", { value: true });
96
50
  exports.ClefbaseError = exports.FieldValueSentinel = exports.FieldValue = exports.generateEmbedding = exports.generateVideo = exports.generateImage = exports.generateText = exports.AIError = exports.ClefbaseAI = exports.deployFromFile = exports.setAuthToken = exports.getFunctionExecutions = exports.listFunctions = exports.deleteFunction = exports.deployFunction = exports.callFunction = exports.httpsCallable = exports.FunctionsError = exports.ClefbaseFunctions = exports.SiteReference = exports.ClefbaseHosting = exports.EmailVerificationCard = exports.BucketReference = exports.StorageReference = exports.ClefbaseStorage = exports.Auth = exports.runTransaction = exports.Transaction = exports.WriteBatch = exports.Query = exports.DocumentReference = exports.CollectionGroup = exports.CollectionReference = exports.Database = exports.getAI = exports.getFunctions = exports.getHosting = exports.getStorage = exports.getAuth = exports.getDatabase = exports.getApp = exports.initClefbase = exports.ClefbaseApp = void 0;
@@ -132,11 +86,8 @@ Object.defineProperty(exports, "ClefbaseHosting", { enumerable: true, get: funct
132
86
  Object.defineProperty(exports, "SiteReference", { enumerable: true, get: function () { return hosting_1.SiteReference; } });
133
87
  // ─── Functions ────────────────────────────────────────────────────────────────
134
88
  var functions_1 = require("./functions");
135
- // Class
136
89
  Object.defineProperty(exports, "ClefbaseFunctions", { enumerable: true, get: function () { return functions_1.ClefbaseFunctions; } });
137
- // Error
138
90
  Object.defineProperty(exports, "FunctionsError", { enumerable: true, get: function () { return functions_1.FunctionsError; } });
139
- // Top-level factory / convenience
140
91
  Object.defineProperty(exports, "httpsCallable", { enumerable: true, get: function () { return functions_1.httpsCallable; } });
141
92
  Object.defineProperty(exports, "callFunction", { enumerable: true, get: function () { return functions_1.callFunction; } });
142
93
  Object.defineProperty(exports, "deployFunction", { enumerable: true, get: function () { return functions_1.deployFunction; } });
@@ -147,11 +98,8 @@ Object.defineProperty(exports, "setAuthToken", { enumerable: true, get: function
147
98
  Object.defineProperty(exports, "deployFromFile", { enumerable: true, get: function () { return functions_1.deployFromFile; } });
148
99
  // ─── AI ───────────────────────────────────────────────────────────────────────
149
100
  var ai_1 = require("./ai");
150
- // Class
151
101
  Object.defineProperty(exports, "ClefbaseAI", { enumerable: true, get: function () { return ai_1.ClefbaseAI; } });
152
- // Error
153
102
  Object.defineProperty(exports, "AIError", { enumerable: true, get: function () { return ai_1.AIError; } });
154
- // Top-level convenience functions
155
103
  Object.defineProperty(exports, "generateText", { enumerable: true, get: function () { return ai_1.generateText; } });
156
104
  Object.defineProperty(exports, "generateImage", { enumerable: true, get: function () { return ai_1.generateImage; } });
157
105
  Object.defineProperty(exports, "generateVideo", { enumerable: true, get: function () { return ai_1.generateVideo; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;;;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,yCAcqB;AAbnB,QAAQ;AACR,8GAAA,iBAAiB,OAAA;AACjB,QAAQ;AACR,2GAAA,cAAc,OAAA;AACd,kCAAkC;AAClC,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,2BAUc;AATZ,QAAQ;AACR,gGAAA,UAAU,OAAA;AACV,QAAQ;AACR,6FAAA,OAAO,OAAA;AACP,kCAAkC;AAClC,kGAAA,YAAY,OAAA;AACZ,mGAAA,aAAa,OAAA;AACb,mGAAA,aAAa,OAAA;AACb,uGAAA,iBAAiB,OAAA;AA0BnB,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;AAiBvC,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clefbase",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
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",