clefbase 2.0.8 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ai.js CHANGED
@@ -37,23 +37,33 @@ exports.AIError = AIError;
37
37
  /**
38
38
  * Clefbase AI service — obtained via `getAI(app)`.
39
39
  *
40
- * Provides access to text/code generation (Claude & Gemini), image generation
41
- * (Imagen 3), video generation (Veo 2), and text embeddings.
40
+ * Provides access to text/code generation (Claude & Gemini, or local Llama/Mistral with Ollama),
41
+ * image generation (Imagen 4), video generation (Veo 2), and text embeddings.
42
42
  * Generated images and videos are automatically saved to the project's
43
43
  * configured storage bucket.
44
44
  *
45
+ * **Local LLM Support via Ollama:**
46
+ * Run open-source models (Llama 2, Mistral, Orca, etc.) on your own infrastructure
47
+ * using Ollama. Simply enable Ollama and point to your local instance.
48
+ *
45
49
  * @example
46
50
  * import { initClefbase, getAI } from "clefbase";
47
51
  *
48
52
  * const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
49
53
  * const ai = getAI(app);
50
54
  *
51
- * // ── Text / code ────────────────────────────────────────────────────────────
55
+ * // ── Text / code with cloud models ──────────────────────────────────────────
52
56
  * const { content } = await ai.text({
53
57
  * model: "claude-sonnet-4-5",
54
58
  * prompt: "Explain promises in JavaScript",
55
59
  * });
56
60
  *
61
+ * // ── Text / code with local models (Ollama) ────────────────────────────────
62
+ * const { content } = await ai.text({
63
+ * model: "ollama:mistral",
64
+ * prompt: "Explain async/await in JavaScript",
65
+ * });
66
+ *
57
67
  * // ── Multi-turn chat ────────────────────────────────────────────────────────
58
68
  * const { content } = await ai.text({
59
69
  * model: "gemini-2.5-flash",
@@ -84,15 +94,16 @@ exports.AIError = AIError;
84
94
  * aspectRatio: "16:9",
85
95
  * });
86
96
  *
87
- * // ── Embeddings ─────────────────────────────────────────────────────────────
97
+ * // ── Embeddings (cloud or local) ────────────────────────────────────────────
88
98
  * const { embeddings } = await ai.embedding({
89
- * model: "gemini-embedding-001",
99
+ * model: "gemini-embedding-001", // or "ollama:nomic-embed-text"
90
100
  * input: ["Hello world", "Semantic search"],
91
101
  * });
92
102
  * // embeddings: number[][]
93
103
  *
94
104
  * // ── Browse models ──────────────────────────────────────────────────────────
95
105
  * const imageModels = await ai.listModels({ category: "image" });
106
+ * const localModels = await ai.listModels({ provider: "ollama" });
96
107
  *
97
108
  * // ── Usage ──────────────────────────────────────────────────────────────────
98
109
  * const stats = await ai.getStats();
@@ -129,15 +140,59 @@ class ClefbaseAI {
129
140
  }
130
141
  // ─── text ────────────────────────────────────────────────────────────────────
131
142
  /**
132
- * Generate text or code with a Claude or Gemini model.
143
+ * Generate text or code with a Claude, Gemini, or local Ollama model.
144
+ *
145
+ * **Vision Support:** Send images along with your prompt for multimodal analysis
146
+ * (object detection, OCR, description, etc.). Supported by Claude 3+, Gemini 1.5+.
147
+ *
148
+ * **Local Models:** If you have Ollama running locally and enabled in your
149
+ * project's AI configuration, you can use models like `"ollama:mistral"`,
150
+ * `"ollama:llama2"`, etc. They support system prompts and conversation history.
151
+ *
152
+ * **Supported Cloud Models:** `claude-sonnet-4-5`, `claude-opus-4-5`, `gemini-2.5-flash`, etc.
133
153
  *
134
154
  * @example
135
- * const { content, inputTokens, outputTokens } = await ai.text({
155
+ * // Cloud model with text only
156
+ * const { content } = await ai.text({
136
157
  * model: "claude-sonnet-4-5",
137
158
  * prompt: "Write a bubble-sort in Python",
138
159
  * systemPrompt: "Return only code, no explanation.",
139
160
  * maxTokens: 512,
140
161
  * });
162
+ *
163
+ * // Vision: analyze an image from a URL
164
+ * const { content } = await ai.text({
165
+ * model: "claude-sonnet-4-5",
166
+ * prompt: "What objects are in this image? List them.",
167
+ * images: [
168
+ * { source: "https://example.com/photo.jpg" }
169
+ * ],
170
+ * });
171
+ *
172
+ * // Vision: multiple images
173
+ * const { content } = await ai.text({
174
+ * model: "gemini-2.5-flash",
175
+ * prompt: "Compare these two diagrams",
176
+ * images: [
177
+ * { source: "https://example.com/diagram-1.png", description: "Before" },
178
+ * { source: "https://example.com/diagram-2.png", description: "After" },
179
+ * ],
180
+ * });
181
+ *
182
+ * // Vision: base64-encoded image
183
+ * const { content } = await ai.text({
184
+ * model: "claude-sonnet-4-5",
185
+ * prompt: "Extract text from this screenshot",
186
+ * images: [
187
+ * { source: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEA..." }
188
+ * ],
189
+ * });
190
+ *
191
+ * // Local model (Ollama)
192
+ * const { content } = await ai.text({
193
+ * model: "ollama:mistral",
194
+ * prompt: "Explain quantum computing",
195
+ * });
141
196
  */
142
197
  async text(options) {
143
198
  try {
@@ -152,13 +207,53 @@ class ClefbaseAI {
152
207
  * Generate one or more images with an Imagen model.
153
208
  * Outputs are automatically saved to the project's storage bucket.
154
209
  *
210
+ * **Image-to-Image:** Provide a `referenceImage` to modify, enhance, or transform
211
+ * an existing image based on your prompt. Use cases: style transfer, upscaling,
212
+ * inpainting, controlled variations, and compositional changes.
213
+ *
155
214
  * @example
215
+ * // Text-to-image
156
216
  * const { files } = await ai.image({
157
217
  * model: "imagen-4.0-generate-001",
158
218
  * prompt: "A futuristic city skyline at sunset",
159
219
  * aspectRatio: "16:9",
160
220
  * });
161
221
  * const path = files[0].fullPath; // use with storage.ref()
222
+ *
223
+ * @example
224
+ * // Image-to-image: style transfer
225
+ * const { files } = await ai.image({
226
+ * model: "imagen-4.0-generate-001",
227
+ * prompt: "Repaint this in the style of Van Gogh's Starry Night",
228
+ * referenceImage: {
229
+ * source: "https://example.com/portrait.jpg",
230
+ * strength: 0.6, // 60% adherence to reference
231
+ * },
232
+ * });
233
+ *
234
+ * @example
235
+ * // Image-to-image: upscale with detail enhancement
236
+ * const { files } = await ai.image({
237
+ * model: "imagen-4.0-generate-001",
238
+ * prompt: "Upscale and enhance details, make it sharper and more vibrant",
239
+ * referenceImage: {
240
+ * source: "data:image/jpeg;base64,...",
241
+ * strength: 0.9, // high similarity to original
242
+ * },
243
+ * numberOfImages: 1,
244
+ * });
245
+ *
246
+ * @example
247
+ * // Image-to-image: inpainting / object modification
248
+ * const { files } = await ai.image({
249
+ * model: "imagen-4.0-generate-001",
250
+ * prompt: "Replace the sky with a sunset",
251
+ * referenceImage: {
252
+ * source: "https://example.com/landscape.jpg",
253
+ * strength: 0.7,
254
+ * },
255
+ * outputFolder: "upscaled",
256
+ * });
162
257
  */
163
258
  async image(options) {
164
259
  try {
@@ -174,13 +269,56 @@ class ClefbaseAI {
174
269
  * This is an async server-side operation — the SDK call blocks until the
175
270
  * job completes (usually 1–5 minutes). Outputs are saved to project storage.
176
271
  *
272
+ * **Image-to-Video:** Provide a `referenceImage` to generate a video that
273
+ * begins with or is inspired by a static frame. Use cases: animating photos,
274
+ * creating consistent visual narratives, camera movements, or temporal extensions.
275
+ *
177
276
  * @example
277
+ * // Text-to-video
178
278
  * const { status, files } = await ai.video({
179
279
  * model: "veo-3.1-generate-preview",
180
280
  * prompt: "A golden retriever running on a sunny beach",
181
281
  * durationSeconds: 5,
182
282
  * outputFolder: "clips",
183
283
  * });
284
+ *
285
+ * @example
286
+ * // Image-to-video: animate a static photo
287
+ * const { status, files } = await ai.video({
288
+ * model: "veo-3.1-generate-preview",
289
+ * prompt: "The person starts walking toward the camera. Soft focus bokeh background.",
290
+ * referenceImage: {
291
+ * source: "https://example.com/portrait.jpg",
292
+ * strength: 0.8, // strong visual consistency
293
+ * },
294
+ * durationSeconds: 4,
295
+ * outputFolder: "animations",
296
+ * });
297
+ *
298
+ * @example
299
+ * // Image-to-video: cinematic camera movement
300
+ * const { status, files } = await ai.video({
301
+ * model: "veo-3.1-generate-preview",
302
+ * prompt: "Smooth dolly-in camera movement, revealing more of the landscape",
303
+ * referenceImage: {
304
+ * source: "https://example.com/landscape.jpg",
305
+ * strength: 0.7,
306
+ * },
307
+ * durationSeconds: 6,
308
+ * aspectRatio: "16:9",
309
+ * });
310
+ *
311
+ * @example
312
+ * // Image-to-video: temporal extension (what happens next?)
313
+ * const { status, files } = await ai.video({
314
+ * model: "veo-3.1-generate-preview",
315
+ * prompt: "The scene transitions into evening with golden hour light",
316
+ * referenceImage: {
317
+ * source: "data:image/jpeg;base64,...",
318
+ * strength: 0.6, // more creative freedom
319
+ * },
320
+ * durationSeconds: 5,
321
+ * });
184
322
  */
185
323
  async video(options) {
186
324
  try {
@@ -193,13 +331,24 @@ class ClefbaseAI {
193
331
  // ─── embedding ───────────────────────────────────────────────────────────────
194
332
  /**
195
333
  * Generate text embeddings — one float vector per input string.
334
+ * Use Google's Gemini embedding or local Ollama embedding models.
335
+ *
336
+ * **Supported Models:**
337
+ * - Google: `"gemini-embedding-001"` (3072 dimensions)
338
+ * - Ollama: `"ollama:nomic-embed-text"` (768 dims), `"ollama:all-minilm"` (384 dims)
196
339
  *
197
340
  * @example
341
+ * // Cloud model
198
342
  * const { embeddings } = await ai.embedding({
199
343
  * model: "gemini-embedding-001",
200
344
  * input: ["cat", "dog", "automobile"],
201
345
  * });
202
- * // embeddings[0].length === 768
346
+ *
347
+ * // Local model
348
+ * const { embeddings } = await ai.embedding({
349
+ * model: "ollama:nomic-embed-text",
350
+ * input: "semantic search example",
351
+ * });
203
352
  */
204
353
  async embedding(options) {
205
354
  try {
@@ -259,11 +408,21 @@ exports.ClefbaseAI = ClefbaseAI;
259
408
  /**
260
409
  * Generate text or code. Sugar for `ai.text(options)`.
261
410
  *
411
+ * Supports vision/multimodal analysis by passing images in the `images` option.
412
+ *
262
413
  * @example
263
414
  * const { content } = await generateText(ai, {
264
415
  * model: "claude-sonnet-4-5",
265
416
  * prompt: "What is the capital of France?",
266
417
  * });
418
+ *
419
+ * @example
420
+ * // With vision: analyze an image
421
+ * const { content } = await generateText(ai, {
422
+ * model: "claude-sonnet-4-5",
423
+ * prompt: "Describe what you see in this image",
424
+ * images: [{ source: "https://example.com/photo.jpg" }],
425
+ * });
267
426
  */
268
427
  async function generateText(ai, options) {
269
428
  return ai.text(options);
@@ -271,11 +430,26 @@ async function generateText(ai, options) {
271
430
  /**
272
431
  * Generate images. Sugar for `ai.image(options)`.
273
432
  *
433
+ * Supports image-to-image generation by providing a `referenceImage` for style
434
+ * transfer, upscaling, inpainting, and controlled variations.
435
+ *
274
436
  * @example
437
+ * // Text-to-image
275
438
  * const { files } = await generateImage(ai, {
276
439
  * model: "imagen-4.0-generate-001",
277
440
  * prompt: "A calm ocean at sunset",
278
441
  * });
442
+ *
443
+ * @example
444
+ * // Image-to-image: style transfer
445
+ * const { files } = await generateImage(ai, {
446
+ * model: "imagen-4.0-generate-001",
447
+ * prompt: "Transform into oil painting style",
448
+ * referenceImage: {
449
+ * source: "https://example.com/photo.jpg",
450
+ * strength: 0.7,
451
+ * },
452
+ * });
279
453
  */
280
454
  async function generateImage(ai, options) {
281
455
  return ai.image(options);
@@ -283,12 +457,28 @@ async function generateImage(ai, options) {
283
457
  /**
284
458
  * Generate a video. Sugar for `ai.video(options)`.
285
459
  *
460
+ * Supports image-to-video generation by providing a `referenceImage` for
461
+ * animating photos, creating camera movements, or temporal extensions.
462
+ *
286
463
  * @example
464
+ * // Text-to-video
287
465
  * const { files } = await generateVideo(ai, {
288
466
  * model: "veo-3.1-generate-preview",
289
467
  * prompt: "A timelapse of clouds over a mountain",
290
468
  * durationSeconds: 6,
291
469
  * });
470
+ *
471
+ * @example
472
+ * // Image-to-video: animate a photo
473
+ * const { files } = await generateVideo(ai, {
474
+ * model: "veo-3.1-generate-preview",
475
+ * prompt: "The subject starts moving gracefully",
476
+ * referenceImage: {
477
+ * source: "https://example.com/portrait.jpg",
478
+ * strength: 0.8,
479
+ * },
480
+ * durationSeconds: 4,
481
+ * });
292
482
  */
293
483
  async function generateVideo(ai, options) {
294
484
  return ai.video(options);
package/dist/ai.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
package/dist/app.d.ts CHANGED
@@ -26,6 +26,8 @@ export declare class ClefbaseApp {
26
26
  private _ai;
27
27
  constructor(config: ClefbaseConfig);
28
28
  /** @internal */
29
+ _getGatewayUrl(): string;
30
+ /** @internal */
29
31
  _getDb(): Database;
30
32
  /** @internal */
31
33
  _getAuth(): Auth;
@@ -51,6 +53,11 @@ export declare class ClefbaseApp {
51
53
  * });
52
54
  */
53
55
  export declare function initClefbase(config: ClefbaseConfig, name?: string): ClefbaseApp;
56
+ /**
57
+ * Update the gateway URL after initialization.
58
+ * Useful for switching between different auth gateways (dev, staging, prod).
59
+ */
60
+ export declare function setGatewayUrl(app: ClefbaseApp, gatewayUrl: string): void;
54
61
  /** Retrieve an already-initialised app by name. Throws if not found. */
55
62
  export declare function getApp(name?: string): ClefbaseApp;
56
63
  /** Get the Database service. */
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM9C;;;GAGG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAS,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAO,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAI,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAI,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAS,UAAU,CAAC;IAErD,OAAO,CAAC,GAAG,CAAuC;IAClD,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,GAAG,CAAuC;gBAEtC,MAAM,EAAE,cAAc;IAalC,gBAAgB;IAChB,MAAM,IAAI,QAAQ;IAKlB,gBAAgB;IAChB,QAAQ,IAAI,IAAI;IAWhB,gBAAgB;IAChB,WAAW,IAAI,eAAe;IAU9B,gBAAgB;IAChB,WAAW,IAAI,eAAe;IAM9B,gBAAgB;IAChB,aAAa,IAAI,iBAAiB;IAMlC,gBAAgB;IAChB,MAAM,IAAI,UAAU;CAKrB;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,MAAgB,GACrB,WAAW,CAKb;AAED,wEAAwE;AACxE,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAgB,GAAG,WAAW,CAQ1D;AAID,gCAAgC;AAChC,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,QAAQ,CAEvD;AAED,4BAA4B;AAC5B,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAE/C;AAED,+BAA+B;AAC/B,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,eAAe,CAE7D;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,eAAe,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAEjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,CAEnD"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM9C;;;GAGG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAS,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAO,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAI,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,YAAY,EAAI,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC;IACrD,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAS,UAAU,CAAC;IAErD,OAAO,CAAC,GAAG,CAAuC;IAClD,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,GAAG,CAAuC;gBAEtC,MAAM,EAAE,cAAc;IAelC,gBAAgB;IAChB,cAAc,IAAI,MAAM;IAIxB,gBAAgB;IAChB,MAAM,IAAI,QAAQ;IAKlB,gBAAgB;IAChB,QAAQ,IAAI,IAAI;IAWhB,gBAAgB;IAChB,WAAW,IAAI,eAAe;IAW9B,gBAAgB;IAChB,WAAW,IAAI,eAAe;IAM9B,gBAAgB;IAChB,aAAa,IAAI,iBAAiB;IAMlC,gBAAgB;IAChB,MAAM,IAAI,UAAU;CAKrB;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,MAAgB,GACrB,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,GACjB,IAAI,CAGN;AAED,wEAAwE;AACxE,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAgB,GAAG,WAAW,CAQ1D;AAID,gCAAgC;AAChC,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,QAAQ,CAEvD;AAED,4BAA4B;AAC5B,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAE/C;AAED,+BAA+B;AAC/B,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,eAAe,CAE7D;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,eAAe,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAEjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,CAEnD"}
package/dist/app.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClefbaseApp = void 0;
4
4
  exports.initClefbase = initClefbase;
5
+ exports.setGatewayUrl = setGatewayUrl;
5
6
  exports.getApp = getApp;
6
7
  exports.getDatabase = getDatabase;
7
8
  exports.getAuth = getAuth;
@@ -29,12 +30,18 @@ class ClefbaseApp {
29
30
  const cfxKey = { "x-cfx-key": config.apiKey };
30
31
  this._dbHttp = new http_1.HttpClient(`${base}/db`, cfxKey);
31
32
  this._authHttp = new http_1.HttpClient(`${base}/auth`, cfxKey);
32
- this._storageHttp = new http_1.HttpClient(`${base}/storage`, cfxKey);
33
+ // Storage is public by default (read operations don't need API key)
34
+ // Write operations will add auth headers when needed
35
+ this._storageHttp = new http_1.HttpClient(`${base}/storage`);
33
36
  this._hostingHttp = new http_1.HttpClient(`${base}/hosting`, cfxKey);
34
37
  this._functionsHttp = new http_1.HttpClient(`${base}/functions`, cfxKey);
35
38
  this._aiHttp = new http_1.HttpClient(`${base}/ai`, cfxKey);
36
39
  }
37
40
  /** @internal */
41
+ _getGatewayUrl() {
42
+ return this.config.gatewayUrl || DEFAULT_GATEWAY_URL;
43
+ }
44
+ /** @internal */
38
45
  _getDb() {
39
46
  if (!this._db)
40
47
  this._db = new db_1.Database(this._dbHttp);
@@ -43,14 +50,14 @@ class ClefbaseApp {
43
50
  /** @internal */
44
51
  _getAuth() {
45
52
  if (!this._auth) {
46
- this._auth = new auth_1.Auth(this._authHttp, DEFAULT_GATEWAY_URL, this.config.projectId);
53
+ this._auth = new auth_1.Auth(this._authHttp, this._getGatewayUrl(), this.config.projectId);
47
54
  }
48
55
  return this._auth;
49
56
  }
50
57
  /** @internal */
51
58
  _getStorage() {
52
59
  if (!this._storage)
53
- this._storage = new storage_1.ClefbaseStorage(this._storageHttp, this.config.projectId, this._getAuth());
60
+ this._storage = new storage_1.ClefbaseStorage(this._storageHttp, this.config.projectId, this._getAuth(), this.config.apiKey);
54
61
  return this._storage;
55
62
  }
56
63
  /** @internal */
@@ -95,6 +102,14 @@ function initClefbase(config, name = DEFAULT) {
95
102
  registry.set(name, app);
96
103
  return app;
97
104
  }
105
+ /**
106
+ * Update the gateway URL after initialization.
107
+ * Useful for switching between different auth gateways (dev, staging, prod).
108
+ */
109
+ function setGatewayUrl(app, gatewayUrl) {
110
+ const auth = app._getAuth();
111
+ auth.gatewayUrl = gatewayUrl.replace(/\/+$/, "");
112
+ }
98
113
  /** Retrieve an already-initialised app by name. Throws if not found. */
99
114
  function getApp(name = DEFAULT) {
100
115
  const app = registry.get(name);
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -83,9 +83,34 @@ export declare class Auth {
83
83
  metadata?: Record<string, unknown>;
84
84
  }): Promise<AuthUser>;
85
85
  changePassword(currentPassword: string, newPassword: string): Promise<void>;
86
- sendPasswordResetEmail(email: string): Promise<void>;
87
- confirmPasswordReset(resetToken: string, newPassword: string): Promise<void>;
88
- sendEmailVerification(): Promise<void>;
86
+ /**
87
+ * Request a password reset email for the given email address.
88
+ * The server will send a password reset code to the email if the account exists.
89
+ *
90
+ * @example
91
+ * await auth.requestPasswordReset("user@example.com");
92
+ */
93
+ requestPasswordReset(email: string): Promise<void>;
94
+ /**
95
+ * Complete a password reset using the token sent via email.
96
+ *
97
+ * @example
98
+ * await auth.resetPassword("reset-token-from-email", "newPassword123");
99
+ */
100
+ resetPassword(resetToken: string, newPassword: string): Promise<void>;
101
+ /**
102
+ * Request a verification email for the currently signed-in user.
103
+ *
104
+ * @example
105
+ * await auth.requestEmailVerification();
106
+ */
107
+ requestEmailVerification(): Promise<void>;
108
+ /**
109
+ * Verify an email address using a code from `requestEmailVerification()`.
110
+ *
111
+ * @example
112
+ * await auth.verifyEmail("verification-code-from-email");
113
+ */
89
114
  verifyEmail(code: string): Promise<AuthUser>;
90
115
  onAuthStateChanged(callback: AuthStateCallback): () => void;
91
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
@@ -243,20 +243,82 @@ class Auth {
243
243
  throw new Error("No user is currently signed in.");
244
244
  await this.http.post("/change-password", { currentPassword, newPassword }, { Authorization: `Bearer ${token}` });
245
245
  }
246
- async sendPasswordResetEmail(email) {
247
- await this.http.post("/forgot-password", { email });
246
+ /**
247
+ * Request a password reset email for the given email address.
248
+ * The server will send a password reset code to the email if the account exists.
249
+ *
250
+ * @example
251
+ * await auth.requestPasswordReset("user@example.com");
252
+ */
253
+ async requestPasswordReset(email) {
254
+ const serverUrl = this.http.getBaseUrl().replace(/\/auth$/, "");
255
+ const response = await fetch(`${serverUrl}/auth/public/request-password-reset`, {
256
+ method: "POST",
257
+ headers: { "Content-Type": "application/json" },
258
+ body: JSON.stringify({ email, dbId: this.projectId }),
259
+ });
260
+ if (!response.ok) {
261
+ const error = await response.json();
262
+ throw new types_1.ClefbaseError(error.error ?? `Failed to request password reset: ${response.statusText}`, "PASSWORD_RESET_FAILED");
263
+ }
248
264
  }
249
- async confirmPasswordReset(resetToken, newPassword) {
250
- await this.http.post("/reset-password", { token: resetToken, newPassword });
265
+ /**
266
+ * Complete a password reset using the token sent via email.
267
+ *
268
+ * @example
269
+ * await auth.resetPassword("reset-token-from-email", "newPassword123");
270
+ */
271
+ async resetPassword(resetToken, newPassword) {
272
+ const serverUrl = this.http.getBaseUrl().replace(/\/auth$/, "");
273
+ const response = await fetch(`${serverUrl}/auth/public/reset-password`, {
274
+ method: "POST",
275
+ headers: { "Content-Type": "application/json" },
276
+ body: JSON.stringify({ resetToken, dbId: this.projectId, newPassword }),
277
+ });
278
+ if (!response.ok) {
279
+ const error = await response.json();
280
+ throw new types_1.ClefbaseError(error.error ?? `Failed to reset password: ${response.statusText}`, "PASSWORD_RESET_FAILED");
281
+ }
251
282
  }
252
- async sendEmailVerification() {
283
+ /**
284
+ * Request a verification email for the currently signed-in user.
285
+ *
286
+ * @example
287
+ * await auth.requestEmailVerification();
288
+ */
289
+ async requestEmailVerification() {
253
290
  const token = this.currentToken;
254
- if (!token)
255
- throw new Error("No user is currently signed in.");
256
- await this.http.post("/send-verification", undefined, { Authorization: `Bearer ${token}` });
291
+ if (!token) {
292
+ throw new types_1.ClefbaseError("No user is currently signed in.", "NOT_SIGNED_IN");
293
+ }
294
+ try {
295
+ await this.http.post("/public/request-verification", { dbId: this.projectId }, {
296
+ Authorization: `Bearer ${token}`,
297
+ });
298
+ }
299
+ catch (err) {
300
+ throw new types_1.ClefbaseError(err.message ?? "Failed to request email verification", "VERIFICATION_REQUEST_FAILED");
301
+ }
257
302
  }
303
+ /**
304
+ * Verify an email address using a code from `requestEmailVerification()`.
305
+ *
306
+ * @example
307
+ * await auth.verifyEmail("verification-code-from-email");
308
+ */
258
309
  async verifyEmail(code) {
259
- return this.http.post("/verify-email", { code });
310
+ const serverUrl = this.http.getBaseUrl().replace(/\/auth$/, "");
311
+ const response = await fetch(`${serverUrl}/auth/public/verify-email`, {
312
+ method: "POST",
313
+ headers: { "Content-Type": "application/json" },
314
+ body: JSON.stringify({ code, dbId: this.projectId }),
315
+ });
316
+ if (!response.ok) {
317
+ const error = await response.json();
318
+ throw new types_1.ClefbaseError(error.error ?? `Failed to verify email: ${response.statusText}`, "VERIFICATION_FAILED");
319
+ }
320
+ const data = await response.json();
321
+ return data.user;
260
322
  }
261
323
  onAuthStateChanged(callback) {
262
324
  this.listeners.push(callback);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;AAEA,oCAAyC;AAUzC,MAAM,YAAY;IAAlB;QACU,YAAO,GAA4B,IAAI,CAAC;QAC/B,QAAG,GAAG,aAAa,CAAC;IAiCvC,CAAC;IA/BC,IAAY,EAAE;QACZ,IAAI,CAAC;YAAC,OAAO,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAAC,CAAC;QACzE,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,CAAmB;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACtD,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;gBACnD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,OAAO,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC;gBACD,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;CACF;AAiBD,MAAa,IAAI;IAQf,YACmB,IAAgB,EACjC,UAAkB,EAClB,SAAiB,EACjB,OAAqB;QAHJ,SAAI,GAAJ,IAAI,CAAY;QARlB,UAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,cAAS,GAAwB,EAAE,CAAC;QAY1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAI,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,UAAU,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,SAAiB;QACvC,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,OAAO,UAAU,SAAS,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6EAA6E;IAErE,MAAM,CAAC,IAAqB;QAClC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAkB;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAM,MAAM,CAAC,KAAK;YACvB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YACnC,IAAI,EAAO,MAAM,CAAC,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gFAAgF;IAChF,cAAc;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,6EAA6E;IAE7E,IAAI,WAAW,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAqB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAE/E,6EAA6E;IAE7E,KAAK,CAAC,MAAM,CACV,KAAa,EACb,QAAgB,EAChB,OAAyF;QAEzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,cAAc,CAAC,OAAkC;QAC/C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,qBAAa,CAAC,kDAAkD,EAAE,yBAAyB,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,UAAU,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAA8B;QAE9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,qBAAa,CAAC,qDAAqD,EAAE,yBAAyB,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,WAAW,MAAM,EAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB;QACnB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,8DAA8D;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,GAAG,GAAI,MAAM,KAAK,CACtB,GAAG,SAAS,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACxE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAClD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAc,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAChF,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;YAE1E,uEAAuE;YACvE,yEAAyE;YACzE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE1B,mEAAmE;YACnE,kEAAkE;YAClE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,CACzB,EAAE,EACF,EAAE,EACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,qBAAa,CACrB,yBAA0B,GAAa,CAAC,OAAO,EAAE,EACjD,qBAAqB,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAInB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAW,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,eAAuB,EAAE,WAAmB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,WAAmB;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,QAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;CACF;AApQD,oBAoQC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}