UNPKG

magically-sdk

Version:

Official SDK for Magically - Build mobile apps with AI

40 lines (39 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MagicallySDK = void 0; const MagicallyAuth_1 = require("./MagicallyAuth"); const MagicallyData_1 = require("./MagicallyData"); const MagicallyLLM_1 = require("./MagicallyLLM"); const MagicallyFiles_1 = require("./MagicallyFiles"); const MagicallyFunctions_1 = require("./MagicallyFunctions"); const Logger_1 = require("./Logger"); const APIClient_1 = require("./APIClient"); class MagicallySDK { constructor(config) { // Validate config if (!config || !config.projectId) { throw new Error('MagicallySDK requires configuration. In Cloudflare Workers, pass env variables explicitly: new MagicallySDK({ projectId: env.MAGICALLY_PROJECT_ID, apiUrl: env.MAGICALLY_API_BASE_URL, apiKey: env.MAGICALLY_API_KEY })'); } this.config = config; this.logger = new Logger_1.Logger(config.debug || false, 'MagicallySDK'); this.apiClient = new APIClient_1.APIClient(config, 'MagicallySDK'); this.auth = new MagicallyAuth_1.MagicallyAuth(config); this.data = new MagicallyData_1.MagicallyData(config, this.auth); this.llm = new MagicallyLLM_1.MagicallyLLM(config, this.auth); this.files = new MagicallyFiles_1.MagicallyFiles(config, this.auth); this.functions = new MagicallyFunctions_1.MagicallyFunctions(config, this.auth); this.logger.info('SDK initialized', { projectId: config.projectId, debug: config.debug || false, apiUrl: config.apiUrl || 'https://trymagically.com', hasApiKey: !!config.apiKey }); } /** * Get SDK configuration */ getConfig() { return { ...this.config }; } } exports.MagicallySDK = MagicallySDK;