UNPKG

@fine-dev/fine-js

Version:

Javascript client for Fine BaaS

31 lines 1.61 kB
import FineAIClient from "./ai"; import D1RestClient from "./d1"; import { createAuthClient } from "better-auth/react"; import FineStorageClient from "./storage"; import { FineTranscriber } from "./transcribe"; import { createOAuthApprovalHook } from "./oauth"; export class FineClient extends D1RestClient { /** * @param config Path to the Fine API or a FineConfig object. Pass a string beginning with `/` to use the current origin with a path relative to it. */ constructor(config) { if (typeof config === "string" && config.startsWith("/")) config = location.origin + config; const d1RestUrl = typeof config === "string" ? config + "/db" : config.restUrl; super({ baseUrl: d1RestUrl }); this.config = config; const authUrl = typeof config === "string" ? config + "/auth" : config.authUrl; this.auth = createAuthClient({ baseURL: authUrl }); const mcpUrl = typeof config === "string" ? config + "/mcp" : config.mcpUrl; this.useOAuthApproval = createOAuthApprovalHook(mcpUrl); const aiUrl = typeof config === "string" ? config + "/ai" : config.aiUrl; this.ai = new FineAIClient({ baseUrl: aiUrl }); const storageUrl = typeof config === "string" ? config + "/storage" : config.storageUrl; this.storage = new FineStorageClient({ baseUrl: storageUrl }); } transcriber() { const baseUrl = typeof this.config === "string" ? this.config + "/transcribe" : this.config.transcribeUrl; return new FineTranscriber({ baseUrl }); } } //# sourceMappingURL=index.js.map