clefbase 1.5.2 → 2.0.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.d.ts +369 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +308 -0
- package/dist/ai.js.map +1 -0
- package/dist/app.d.ts +40 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +46 -8
- package/dist/app.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/http.d.ts +0 -16
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +0 -24
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +74 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -37
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/ai.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/app.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { Auth } from "./auth";
|
|
|
4
4
|
import { ClefbaseStorage } from "./storage";
|
|
5
5
|
import { ClefbaseHosting } from "./hosting";
|
|
6
6
|
import { ClefbaseFunctions } from "./functions";
|
|
7
|
+
import { ClefbaseAI } from "./ai";
|
|
7
8
|
import type { ClefbaseConfig } from "./types";
|
|
8
9
|
/**
|
|
9
10
|
* A Clefbase application instance.
|
|
@@ -16,11 +17,13 @@ export declare class ClefbaseApp {
|
|
|
16
17
|
/** @internal */ readonly _storageHttp: HttpClient;
|
|
17
18
|
/** @internal */ readonly _hostingHttp: HttpClient;
|
|
18
19
|
/** @internal */ readonly _functionsHttp: HttpClient;
|
|
20
|
+
/** @internal */ readonly _aiHttp: HttpClient;
|
|
19
21
|
private _db;
|
|
20
22
|
private _auth;
|
|
21
23
|
private _storage;
|
|
22
24
|
private _hosting;
|
|
23
25
|
private _functions;
|
|
26
|
+
private _ai;
|
|
24
27
|
constructor(config: ClefbaseConfig);
|
|
25
28
|
/** @internal */
|
|
26
29
|
_getDb(): Database;
|
|
@@ -32,6 +35,8 @@ export declare class ClefbaseApp {
|
|
|
32
35
|
_getHosting(): ClefbaseHosting;
|
|
33
36
|
/** @internal */
|
|
34
37
|
_getFunctions(): ClefbaseFunctions;
|
|
38
|
+
/** @internal */
|
|
39
|
+
_getAI(): ClefbaseAI;
|
|
35
40
|
}
|
|
36
41
|
/**
|
|
37
42
|
* Initialise a Clefbase app. Call once at startup.
|
|
@@ -69,4 +74,39 @@ export declare function getHosting(app?: ClefbaseApp): ClefbaseHosting;
|
|
|
69
74
|
* const { data } = await greet({ name: "Alice" });
|
|
70
75
|
*/
|
|
71
76
|
export declare function getFunctions(app?: ClefbaseApp): ClefbaseFunctions;
|
|
77
|
+
/**
|
|
78
|
+
* Get the AI service.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* import { initClefbase, getAI } from "clefbase";
|
|
82
|
+
*
|
|
83
|
+
* const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
|
|
84
|
+
* const ai = getAI(app);
|
|
85
|
+
*
|
|
86
|
+
* // Text generation
|
|
87
|
+
* const { content } = await ai.text({
|
|
88
|
+
* model: "claude-sonnet-4-5",
|
|
89
|
+
* prompt: "Explain closures in JavaScript",
|
|
90
|
+
* });
|
|
91
|
+
*
|
|
92
|
+
* // Image generation — saved to project Storage automatically
|
|
93
|
+
* const { files } = await ai.image({
|
|
94
|
+
* model: "imagen-3.0-generate-002",
|
|
95
|
+
* prompt: "A futuristic cityscape at sunset",
|
|
96
|
+
* });
|
|
97
|
+
*
|
|
98
|
+
* // Video generation
|
|
99
|
+
* const { status, files: videoFiles } = await ai.video({
|
|
100
|
+
* model: "veo-2.0-generate-001",
|
|
101
|
+
* prompt: "A dog running on a beach",
|
|
102
|
+
* durationSeconds: 5,
|
|
103
|
+
* });
|
|
104
|
+
*
|
|
105
|
+
* // Embeddings
|
|
106
|
+
* const { embeddings } = await ai.embedding({
|
|
107
|
+
* model: "text-embedding-004",
|
|
108
|
+
* input: ["Hello", "World"],
|
|
109
|
+
* });
|
|
110
|
+
*/
|
|
111
|
+
export declare function getAI(app?: ClefbaseApp): ClefbaseAI;
|
|
72
112
|
//# sourceMappingURL=app.d.ts.map
|
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,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C;;;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;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;gBAEtC,MAAM,EAAE,cAAc;
|
|
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;AAI9C;;;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;IAclC,gBAAgB;IAChB,MAAM,IAAI,QAAQ;IAKlB,gBAAgB;IAChB,QAAQ,IAAI,IAAI;IAKhB,gBAAgB;IAChB,WAAW,IAAI,eAAe;IAU9B,gBAAgB;IAChB,WAAW,IAAI,eAAe;IAU9B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,CAEnD"}
|
package/dist/app.js
CHANGED
|
@@ -8,12 +8,14 @@ exports.getAuth = getAuth;
|
|
|
8
8
|
exports.getStorage = getStorage;
|
|
9
9
|
exports.getHosting = getHosting;
|
|
10
10
|
exports.getFunctions = getFunctions;
|
|
11
|
+
exports.getAI = getAI;
|
|
11
12
|
const http_1 = require("./http");
|
|
12
13
|
const db_1 = require("./db");
|
|
13
14
|
const auth_1 = require("./auth");
|
|
14
15
|
const storage_1 = require("./storage");
|
|
15
16
|
const hosting_1 = require("./hosting");
|
|
16
17
|
const functions_1 = require("./functions");
|
|
18
|
+
const ai_1 = require("./ai");
|
|
17
19
|
// ─── App ──────────────────────────────────────────────────────────────────────
|
|
18
20
|
/**
|
|
19
21
|
* A Clefbase application instance.
|
|
@@ -30,14 +32,7 @@ class ClefbaseApp {
|
|
|
30
32
|
this._storageHttp = new http_1.HttpClient(`${base}/storage`, cfxKey);
|
|
31
33
|
this._hostingHttp = new http_1.HttpClient(`${base}/api/hosting`, admin);
|
|
32
34
|
this._functionsHttp = new http_1.HttpClient(`${base}/functions`, cfxKey);
|
|
33
|
-
|
|
34
|
-
// that server-side security rules can resolve request.auth. The provider
|
|
35
|
-
// is a live closure — it reads from the Auth session store on every request,
|
|
36
|
-
// so sign-in / sign-out is reflected immediately with no extra wiring.
|
|
37
|
-
const tokenProvider = () => this._getAuth().currentToken;
|
|
38
|
-
this._dbHttp.setTokenProvider(tokenProvider);
|
|
39
|
-
this._storageHttp.setTokenProvider(tokenProvider);
|
|
40
|
-
this._functionsHttp.setTokenProvider(tokenProvider);
|
|
35
|
+
this._aiHttp = new http_1.HttpClient(`${base}/ai`, cfxKey);
|
|
41
36
|
}
|
|
42
37
|
/** @internal */
|
|
43
38
|
_getDb() {
|
|
@@ -69,6 +64,12 @@ class ClefbaseApp {
|
|
|
69
64
|
this._functions = new functions_1.ClefbaseFunctions(this._functionsHttp);
|
|
70
65
|
return this._functions;
|
|
71
66
|
}
|
|
67
|
+
/** @internal */
|
|
68
|
+
_getAI() {
|
|
69
|
+
if (!this._ai)
|
|
70
|
+
this._ai = new ai_1.ClefbaseAI(this._aiHttp);
|
|
71
|
+
return this._ai;
|
|
72
|
+
}
|
|
72
73
|
}
|
|
73
74
|
exports.ClefbaseApp = ClefbaseApp;
|
|
74
75
|
// ─── Registry ─────────────────────────────────────────────────────────────────
|
|
@@ -133,4 +134,41 @@ function getHosting(app) {
|
|
|
133
134
|
function getFunctions(app) {
|
|
134
135
|
return (app ?? getApp())._getFunctions();
|
|
135
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Get the AI service.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* import { initClefbase, getAI } from "clefbase";
|
|
142
|
+
*
|
|
143
|
+
* const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
|
|
144
|
+
* const ai = getAI(app);
|
|
145
|
+
*
|
|
146
|
+
* // Text generation
|
|
147
|
+
* const { content } = await ai.text({
|
|
148
|
+
* model: "claude-sonnet-4-5",
|
|
149
|
+
* prompt: "Explain closures in JavaScript",
|
|
150
|
+
* });
|
|
151
|
+
*
|
|
152
|
+
* // Image generation — saved to project Storage automatically
|
|
153
|
+
* const { files } = await ai.image({
|
|
154
|
+
* model: "imagen-3.0-generate-002",
|
|
155
|
+
* prompt: "A futuristic cityscape at sunset",
|
|
156
|
+
* });
|
|
157
|
+
*
|
|
158
|
+
* // Video generation
|
|
159
|
+
* const { status, files: videoFiles } = await ai.video({
|
|
160
|
+
* model: "veo-2.0-generate-001",
|
|
161
|
+
* prompt: "A dog running on a beach",
|
|
162
|
+
* durationSeconds: 5,
|
|
163
|
+
* });
|
|
164
|
+
*
|
|
165
|
+
* // Embeddings
|
|
166
|
+
* const { embeddings } = await ai.embedding({
|
|
167
|
+
* model: "text-embedding-004",
|
|
168
|
+
* input: ["Hello", "World"],
|
|
169
|
+
* });
|
|
170
|
+
*/
|
|
171
|
+
function getAI(app) {
|
|
172
|
+
return (app ?? getApp())._getAI();
|
|
173
|
+
}
|
|
136
174
|
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -34878,7 +34878,7 @@ async function promptRequired(message) {
|
|
|
34878
34878
|
}
|
|
34879
34879
|
|
|
34880
34880
|
// package.json
|
|
34881
|
-
var version = "
|
|
34881
|
+
var version = "2.0.0";
|
|
34882
34882
|
|
|
34883
34883
|
// src/cli/index.ts
|
|
34884
34884
|
var program2 = new Command();
|
package/dist/http.d.ts
CHANGED
|
@@ -11,23 +11,7 @@ export interface RequestOptions {
|
|
|
11
11
|
export declare class HttpClient {
|
|
12
12
|
private readonly baseUrl;
|
|
13
13
|
private readonly defaultHeaders;
|
|
14
|
-
/**
|
|
15
|
-
* Optional dynamic token provider. When set, the returned token is attached
|
|
16
|
-
* as `Authorization: Bearer <token>` on every request — unless the caller
|
|
17
|
-
* already provides an explicit `Authorization` header.
|
|
18
|
-
*
|
|
19
|
-
* Set via `setTokenProvider()` after construction. Used by the Database
|
|
20
|
-
* client to forward the signed-in user's session token so that server-side
|
|
21
|
-
* security rules can resolve `request.auth`.
|
|
22
|
-
*/
|
|
23
|
-
private _tokenProvider;
|
|
24
14
|
constructor(baseUrl: string, defaultHeaders?: Record<string, string>);
|
|
25
|
-
/**
|
|
26
|
-
* Attach a live token provider. Called once by `ClefbaseApp` after both
|
|
27
|
-
* the db and auth clients are wired together.
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
setTokenProvider(provider: () => string | null): void;
|
|
31
15
|
private mergeHeaders;
|
|
32
16
|
request<T>(path: string, opts?: RequestOptions): Promise<T>;
|
|
33
17
|
getBaseUrl(): string;
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAG9D,OAAO,CAAC,YAAY;IASd,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAyCrE,UAAU,IAAI,MAAM;IAEpB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAInF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlF,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGtE"}
|
package/dist/http.js
CHANGED
|
@@ -59,35 +59,11 @@ class HttpClient {
|
|
|
59
59
|
constructor(baseUrl, defaultHeaders = {}) {
|
|
60
60
|
this.baseUrl = baseUrl;
|
|
61
61
|
this.defaultHeaders = defaultHeaders;
|
|
62
|
-
/**
|
|
63
|
-
* Optional dynamic token provider. When set, the returned token is attached
|
|
64
|
-
* as `Authorization: Bearer <token>` on every request — unless the caller
|
|
65
|
-
* already provides an explicit `Authorization` header.
|
|
66
|
-
*
|
|
67
|
-
* Set via `setTokenProvider()` after construction. Used by the Database
|
|
68
|
-
* client to forward the signed-in user's session token so that server-side
|
|
69
|
-
* security rules can resolve `request.auth`.
|
|
70
|
-
*/
|
|
71
|
-
this._tokenProvider = null;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Attach a live token provider. Called once by `ClefbaseApp` after both
|
|
75
|
-
* the db and auth clients are wired together.
|
|
76
|
-
* @internal
|
|
77
|
-
*/
|
|
78
|
-
setTokenProvider(provider) {
|
|
79
|
-
this._tokenProvider = provider;
|
|
80
62
|
}
|
|
81
63
|
mergeHeaders(extra, isFormData) {
|
|
82
64
|
const merged = { ...this.defaultHeaders, ...extra };
|
|
83
65
|
if (!isFormData)
|
|
84
66
|
merged["Content-Type"] = "application/json";
|
|
85
|
-
// Inject the user's auth token if available and not already overridden
|
|
86
|
-
if (!merged["Authorization"] && this._tokenProvider) {
|
|
87
|
-
const token = this._tokenProvider();
|
|
88
|
-
if (token)
|
|
89
|
-
merged["Authorization"] = `Bearer ${token}`;
|
|
90
|
-
}
|
|
91
67
|
return merged;
|
|
92
68
|
}
|
|
93
69
|
async request(path, opts = {}) {
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAwC;AAExC,iFAAiF;AAEjF,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,wDAAa,YAAY,GAAC,CAAC;QACvC,OAAO,GAAG,CAAC,OAAkC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAa,CACrB,gFAAgF,EAChF,eAAe,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,WAAW,GAAwB,IAAI,CAAC;AAC5C,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC,WAAW;QAAE,WAAW,GAAG,MAAM,YAAY,EAAE,CAAC;IACrD,OAAO,WAAW,CAAC;AACrB,CAAC;AAeD,iFAAiF;AAEjF,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,58 +4,94 @@
|
|
|
4
4
|
* @example
|
|
5
5
|
* import {
|
|
6
6
|
* initClefbase, getDatabase, getAuth, getStorage, getHosting,
|
|
7
|
-
* getFunctions,
|
|
8
|
-
*
|
|
7
|
+
* getFunctions, getAI,
|
|
8
|
+
* httpsCallable, callFunction, deployFunction, deployFromFile,
|
|
9
|
+
* generateText, generateImage, generateVideo, generateEmbedding,
|
|
10
|
+
* setAuthToken, FunctionsError, AIError, FieldValue,
|
|
9
11
|
* } from "clefbase";
|
|
10
12
|
*
|
|
11
|
-
* const app
|
|
12
|
-
* const fns = getFunctions(app);
|
|
13
|
-
* const auth = getAuth(app);
|
|
13
|
+
* const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
|
|
14
14
|
*
|
|
15
|
-
* // ── Auth
|
|
15
|
+
* // ── Auth ──────────────────────────────────────────────────────────────────
|
|
16
|
+
* const auth = getAuth(app);
|
|
16
17
|
* const { token } = await auth.signIn("alice@example.com", "password123");
|
|
17
|
-
* setAuthToken(app, token); // ctx.auth.uid / email now available in function
|
|
18
18
|
*
|
|
19
|
-
* // ──
|
|
19
|
+
* // ── Database ──────────────────────────────────────────────────────────────
|
|
20
|
+
* const db = getDatabase(app);
|
|
21
|
+
* await db.collection("posts").doc("p1").update({
|
|
22
|
+
* views: FieldValue.increment(1),
|
|
23
|
+
* publishedAt: FieldValue.serverTimestamp(),
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // ── Storage ───────────────────────────────────────────────────────────────
|
|
27
|
+
* const storage = getStorage(app);
|
|
28
|
+
* const url = await storage.ref("avatars/user-123.jpg").getDownloadURL();
|
|
29
|
+
*
|
|
30
|
+
* // ── Functions ─────────────────────────────────────────────────────────────
|
|
31
|
+
* const fns = getFunctions(app);
|
|
20
32
|
* const greet = httpsCallable<{ name: string }, { message: string }>(fns, "greetUser");
|
|
21
33
|
* const { data } = await greet({ name: "Alice" });
|
|
22
34
|
*
|
|
23
|
-
* // ──
|
|
24
|
-
* const
|
|
35
|
+
* // ── AI — text / code ──────────────────────────────────────────────────────
|
|
36
|
+
* const ai = getAI(app);
|
|
25
37
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* runtime: "node",
|
|
30
|
-
* trigger: { type: "http" },
|
|
31
|
-
* source: `export async function handler(ctx) { return { message: "Hi " + ctx.data.name }; }`,
|
|
38
|
+
* const { content } = await ai.text({
|
|
39
|
+
* model: "claude-sonnet-4-5",
|
|
40
|
+
* prompt: "Explain async/await in JavaScript",
|
|
32
41
|
* });
|
|
33
42
|
*
|
|
34
|
-
* //
|
|
35
|
-
* await
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
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: "..." }],
|
|
40
49
|
* });
|
|
41
50
|
*
|
|
42
|
-
* // ──
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* }
|
|
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
|
|
50
61
|
*
|
|
51
|
-
* // ──
|
|
52
|
-
* const
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
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",
|
|
56
92
|
* });
|
|
57
93
|
*/
|
|
58
|
-
export { ClefbaseApp, initClefbase, getApp, getDatabase, getAuth, getStorage, getHosting, getFunctions, } from "./app";
|
|
94
|
+
export { ClefbaseApp, initClefbase, getApp, getDatabase, getAuth, getStorage, getHosting, getFunctions, getAI, } from "./app";
|
|
59
95
|
export { Database, CollectionReference, CollectionGroup, DocumentReference, Query, WriteBatch, Transaction, runTransaction, } from "./db";
|
|
60
96
|
export { Auth } from "./auth";
|
|
61
97
|
export type { GoogleButtonOptions } from "./auth";
|
|
@@ -67,6 +103,8 @@ export { ClefbaseHosting, SiteReference } from "./hosting";
|
|
|
67
103
|
export type { HostingSite, HostingDeploy, HostingFile, DeployResult, DeployOptions, HostingStatus, DeployStatus, } from "./hosting";
|
|
68
104
|
export { ClefbaseFunctions, FunctionsError, httpsCallable, callFunction, deployFunction, deleteFunction, listFunctions, getFunctionExecutions, setAuthToken, deployFromFile, } from "./functions";
|
|
69
105
|
export type { FunctionRuntime, FunctionTrigger, FunctionTriggerType, FunctionDef, FunctionExecution, FunctionsConfig, FunctionStats, DeployFunctionOptions, HttpsCallableResult, } from "./functions";
|
|
106
|
+
export { ClefbaseAI, AIError, generateText, generateImage, generateVideo, generateEmbedding, } from "./ai";
|
|
107
|
+
export type { AIModel, AIProvider, AIModelCategory, GenerateTextOptions, GenerateTextResult, GenerateImageOptions, GenerateImageResult, GeneratedMediaFile, GenerateVideoOptions, GenerateVideoResult, GenerateEmbeddingOptions, GenerateEmbeddingResult, AIUsageRecord, AIUsageStats, } from "./ai";
|
|
70
108
|
export { FieldValue, FieldValueSentinel } from "./field_value";
|
|
71
109
|
export type { FieldValueType } from "./field_value";
|
|
72
110
|
export type { ClefbaseConfig, ClefbaseDocument, QueryOptions, QueryResult, FilterOperator, WhereClause, WhereValue, AuthUser, AuthSession, AuthResult, } from "./types";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -5,59 +5,95 @@
|
|
|
5
5
|
* @example
|
|
6
6
|
* import {
|
|
7
7
|
* initClefbase, getDatabase, getAuth, getStorage, getHosting,
|
|
8
|
-
* getFunctions,
|
|
9
|
-
*
|
|
8
|
+
* getFunctions, getAI,
|
|
9
|
+
* httpsCallable, callFunction, deployFunction, deployFromFile,
|
|
10
|
+
* generateText, generateImage, generateVideo, generateEmbedding,
|
|
11
|
+
* setAuthToken, FunctionsError, AIError, FieldValue,
|
|
10
12
|
* } from "clefbase";
|
|
11
13
|
*
|
|
12
|
-
* const app
|
|
13
|
-
* const fns = getFunctions(app);
|
|
14
|
-
* const auth = getAuth(app);
|
|
14
|
+
* const app = initClefbase({ serverUrl, projectId, apiKey, adminSecret: "" });
|
|
15
15
|
*
|
|
16
|
-
* // ── Auth
|
|
16
|
+
* // ── Auth ──────────────────────────────────────────────────────────────────
|
|
17
|
+
* const auth = getAuth(app);
|
|
17
18
|
* const { token } = await auth.signIn("alice@example.com", "password123");
|
|
18
|
-
* setAuthToken(app, token); // ctx.auth.uid / email now available in function
|
|
19
19
|
*
|
|
20
|
-
* // ──
|
|
20
|
+
* // ── Database ──────────────────────────────────────────────────────────────
|
|
21
|
+
* const db = getDatabase(app);
|
|
22
|
+
* await db.collection("posts").doc("p1").update({
|
|
23
|
+
* views: FieldValue.increment(1),
|
|
24
|
+
* publishedAt: FieldValue.serverTimestamp(),
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* // ── Storage ───────────────────────────────────────────────────────────────
|
|
28
|
+
* const storage = getStorage(app);
|
|
29
|
+
* const url = await storage.ref("avatars/user-123.jpg").getDownloadURL();
|
|
30
|
+
*
|
|
31
|
+
* // ── Functions ─────────────────────────────────────────────────────────────
|
|
32
|
+
* const fns = getFunctions(app);
|
|
21
33
|
* const greet = httpsCallable<{ name: string }, { message: string }>(fns, "greetUser");
|
|
22
34
|
* const { data } = await greet({ name: "Alice" });
|
|
23
35
|
*
|
|
24
|
-
* // ──
|
|
25
|
-
* const
|
|
36
|
+
* // ── AI — text / code ──────────────────────────────────────────────────────
|
|
37
|
+
* const ai = getAI(app);
|
|
26
38
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* runtime: "node",
|
|
31
|
-
* trigger: { type: "http" },
|
|
32
|
-
* source: `export async function handler(ctx) { return { message: "Hi " + ctx.data.name }; }`,
|
|
39
|
+
* const { content } = await ai.text({
|
|
40
|
+
* model: "claude-sonnet-4-5",
|
|
41
|
+
* prompt: "Explain async/await in JavaScript",
|
|
33
42
|
* });
|
|
34
43
|
*
|
|
35
|
-
* //
|
|
36
|
-
* await
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
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: "..." }],
|
|
41
50
|
* });
|
|
42
51
|
*
|
|
43
|
-
* // ──
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* }
|
|
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
|
|
51
62
|
*
|
|
52
|
-
* // ──
|
|
53
|
-
* const
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
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",
|
|
57
93
|
* });
|
|
58
94
|
*/
|
|
59
95
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
-
exports.ClefbaseError = exports.FieldValueSentinel = exports.FieldValue = 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.getFunctions = exports.getHosting = exports.getStorage = exports.getAuth = exports.getDatabase = exports.getApp = exports.initClefbase = exports.ClefbaseApp = void 0;
|
|
96
|
+
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;
|
|
61
97
|
// ─── App ──────────────────────────────────────────────────────────────────────
|
|
62
98
|
var app_1 = require("./app");
|
|
63
99
|
Object.defineProperty(exports, "ClefbaseApp", { enumerable: true, get: function () { return app_1.ClefbaseApp; } });
|
|
@@ -68,6 +104,7 @@ Object.defineProperty(exports, "getAuth", { enumerable: true, get: function () {
|
|
|
68
104
|
Object.defineProperty(exports, "getStorage", { enumerable: true, get: function () { return app_1.getStorage; } });
|
|
69
105
|
Object.defineProperty(exports, "getHosting", { enumerable: true, get: function () { return app_1.getHosting; } });
|
|
70
106
|
Object.defineProperty(exports, "getFunctions", { enumerable: true, get: function () { return app_1.getFunctions; } });
|
|
107
|
+
Object.defineProperty(exports, "getAI", { enumerable: true, get: function () { return app_1.getAI; } });
|
|
71
108
|
// ─── Database ─────────────────────────────────────────────────────────────────
|
|
72
109
|
var db_1 = require("./db");
|
|
73
110
|
Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return db_1.Database; } });
|
|
@@ -99,7 +136,7 @@ var functions_1 = require("./functions");
|
|
|
99
136
|
Object.defineProperty(exports, "ClefbaseFunctions", { enumerable: true, get: function () { return functions_1.ClefbaseFunctions; } });
|
|
100
137
|
// Error
|
|
101
138
|
Object.defineProperty(exports, "FunctionsError", { enumerable: true, get: function () { return functions_1.FunctionsError; } });
|
|
102
|
-
// Top-level factory / convenience
|
|
139
|
+
// Top-level factory / convenience
|
|
103
140
|
Object.defineProperty(exports, "httpsCallable", { enumerable: true, get: function () { return functions_1.httpsCallable; } });
|
|
104
141
|
Object.defineProperty(exports, "callFunction", { enumerable: true, get: function () { return functions_1.callFunction; } });
|
|
105
142
|
Object.defineProperty(exports, "deployFunction", { enumerable: true, get: function () { return functions_1.deployFunction; } });
|
|
@@ -108,6 +145,17 @@ Object.defineProperty(exports, "listFunctions", { enumerable: true, get: functio
|
|
|
108
145
|
Object.defineProperty(exports, "getFunctionExecutions", { enumerable: true, get: function () { return functions_1.getFunctionExecutions; } });
|
|
109
146
|
Object.defineProperty(exports, "setAuthToken", { enumerable: true, get: function () { return functions_1.setAuthToken; } });
|
|
110
147
|
Object.defineProperty(exports, "deployFromFile", { enumerable: true, get: function () { return functions_1.deployFromFile; } });
|
|
148
|
+
// ─── AI ───────────────────────────────────────────────────────────────────────
|
|
149
|
+
var ai_1 = require("./ai");
|
|
150
|
+
// Class
|
|
151
|
+
Object.defineProperty(exports, "ClefbaseAI", { enumerable: true, get: function () { return ai_1.ClefbaseAI; } });
|
|
152
|
+
// Error
|
|
153
|
+
Object.defineProperty(exports, "AIError", { enumerable: true, get: function () { return ai_1.AIError; } });
|
|
154
|
+
// Top-level convenience functions
|
|
155
|
+
Object.defineProperty(exports, "generateText", { enumerable: true, get: function () { return ai_1.generateText; } });
|
|
156
|
+
Object.defineProperty(exports, "generateImage", { enumerable: true, get: function () { return ai_1.generateImage; } });
|
|
157
|
+
Object.defineProperty(exports, "generateVideo", { enumerable: true, get: function () { return ai_1.generateVideo; } });
|
|
158
|
+
Object.defineProperty(exports, "generateEmbedding", { enumerable: true, get: function () { return ai_1.generateEmbedding; } });
|
|
111
159
|
// ─── FieldValue ───────────────────────────────────────────────────────────────
|
|
112
160
|
var field_value_1 = require("./field_value");
|
|
113
161
|
Object.defineProperty(exports, "FieldValue", { enumerable: true, get: function () { return field_value_1.FieldValue; } });
|