{"version":3,"sources":["../../src/services/embeddings.ts"],"names":[],"mappings":";;;AAIO,IAAM,aAAN,MAAiB;AAAA,EAGpB,YAAY,MAAA,EAAgB;AACxB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAClB;AAAA,EA6BA,oBAAA,CACI,kBACG,IAAA,EAC0B;AAC7B,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAC9B;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAIhC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,KAAA,EAAO,aAAA;AAAA,QACP,KAAA,EAAO,KAAK,CAAC;AAAA,OACjB;AAAA,IACJ;AAEA,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,MAAM,IAAI,kBAAkB,qCAAqC,CAAA;AAAA,IACrE;AACA,IAAA,MAAM,OAAA,GAAU,kBAAA;AAChB,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,OAAO,CAAA,GAAI,KAAA;AAAA,IAC1B;AACA,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,OAAO,CAAA,GAAI,KAAA;AAAA,IAC1B;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,cAAA,EAAgB,kBAAA;AAAA,MAChB,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,MAAA,EAAQ,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC/D;AACJ","file":"embeddings.mjs","sourcesContent":["import { AppwriteException, Client, type Payload } from '../client';\nimport type { Models } from '../models';\n\nimport { EmbeddingModel } from '../enums/embedding-model';\nexport class Embeddings {\n    client: Client;\n\n    constructor(client: Client) {\n        this.client = client;\n    }\n\n    /**\n     * Generate vector embeddings for an array of text using the selected embedding model. Use the returned vectors to power semantic search and similarity queries against your vector collections.\n     *\n     *\n     * @param {string[]} params.texts - Array of text to generate embeddings.\n     * @param {EmbeddingModel} params.model - The embedding model to use for generating vector embeddings.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.EmbeddingList>}\n     */\n    createTextEmbeddings(params: {\n        texts: string[];\n        model?: EmbeddingModel;\n    }): Promise<Models.EmbeddingList>;\n    /**\n     * Generate vector embeddings for an array of text using the selected embedding model. Use the returned vectors to power semantic search and similarity queries against your vector collections.\n     *\n     *\n     * @param {string[]} texts - Array of text to generate embeddings.\n     * @param {EmbeddingModel} model - The embedding model to use for generating vector embeddings.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.EmbeddingList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    createTextEmbeddings(\n        texts: string[],\n        model?: EmbeddingModel,\n    ): Promise<Models.EmbeddingList>;\n    createTextEmbeddings(\n        paramsOrFirst: { texts: string[]; model?: EmbeddingModel } | string[],\n        ...rest: [EmbeddingModel?]\n    ): Promise<Models.EmbeddingList> {\n        let params: { texts: string[]; model?: EmbeddingModel };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                texts: string[];\n                model?: EmbeddingModel;\n            };\n        } else {\n            params = {\n                texts: paramsOrFirst as string[],\n                model: rest[0] as EmbeddingModel,\n            };\n        }\n\n        const texts = params.texts;\n        const model = params.model;\n        if (typeof texts === 'undefined') {\n            throw new AppwriteException('Missing required parameter: \"texts\"');\n        }\n        const apiPath = '/embeddings/text';\n        const apiPayload: Payload = {};\n        if (typeof texts !== 'undefined') {\n            apiPayload['texts'] = texts;\n        }\n        if (typeof model !== 'undefined') {\n            apiPayload['model'] = model;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n            accept: 'application/json',\n        };\n\n        return this.client.call('post', uri, apiHeaders, apiPayload);\n    }\n}\n"]}