{"version":3,"sources":["/home/mkabumattar/work/withrawi/rawi/dist/chunk-BO5UW3VL.cjs","../src/libs/providers/ollama/ollama-provider.ts"],"names":["createOllama","options","baseURL","withoutTrailingSlash","getHeaders","createChatModel","modelId","settings","OllamaChatLanguageModel","createImageModel","OllamaImageModel","createEmbeddingModel","OllamaEmbeddingModel","provider","ollama"],"mappings":"AAAA;AACA,wDAAwC,wDAAyC,wDAAyC,uDCIvF,SA8DnBA,CAAAA,CACdC,CAAAA,CAAkC,CAAC,CAAA,CACnB,CAChB,IAAMC,CAAAA,kBACJC,iDAAAA,CAAqBF,CAAQ,OAAO,CAAA,SAAK,8BAAA,CAErCG,CAAAA,CAAa,CAAA,CAAA,EAAA,CAAO,CACxB,GAAGH,CAAAA,CAAQ,OACb,CAAA,CAAA,CAEMI,CAAAA,CAAkB,CACtBC,CAAAA,CACAC,CAAAA,CAA+B,CAAC,CAAA,CAAA,EAEhC,IAAIC,wBAAAA,CAAwBF,CAAAA,CAASC,CAAAA,CAAU,CAC7C,OAAA,CAAAL,CAAAA,CACA,KAAA,CAAOD,CAAAA,CAAQ,KAAA,CACf,OAAA,CAASG,CAAAA,CACT,QAAA,CAAU,aACZ,CAAC,CAAA,CAEGK,CAAAA,CAAmB,CACvBH,CAAAA,CACAC,CAAAA,CAAgC,CAAC,CAAA,CAAA,EAEjC,IAAIG,wBAAAA,CAAiBJ,CAAAA,CAASC,CAAAA,CAAU,CACtC,OAAA,CAAAL,CAAAA,CACA,KAAA,CAAOD,CAAAA,CAAQ,KAAA,CACf,OAAA,CAASG,CAAAA,CACT,QAAA,CAAU,cACZ,CAAC,CAAA,CAEGO,CAAAA,CAAuB,CAC3BL,CAAAA,CACAC,CAAAA,CAAoC,CAAC,CAAA,CAAA,EAErC,IAAIK,wBAAAA,CAAqBN,CAAAA,CAASC,CAAAA,CAAU,CAC1C,OAAA,CAAAL,CAAAA,CACA,KAAA,CAAOD,CAAAA,CAAQ,KAAA,CACf,OAAA,CAASG,CAAAA,CACT,QAAA,CAAU,kBACZ,CAAC,CAAA,CAEGS,CAAAA,CAAW,QAAA,CACfP,CAAAA,CACAC,CAAAA,CACA,CACA,EAAA,CAAI,GAAA,CAAA,MAAA,CACF,MAAM,IAAI,KAAA,CACR,kEACF,CAAA,CAGF,OAAOF,CAAAA,CAAgBC,CAAAA,CAASC,CAAQ,CAC1C,CAAA,CAEA,OAAAM,CAAAA,CAAS,IAAA,CAAOR,CAAAA,CAChBQ,CAAAA,CAAS,SAAA,CAAYF,CAAAA,CACrBE,CAAAA,CAAS,aAAA,CAAgBR,CAAAA,CACzBQ,CAAAA,CAAS,aAAA,CAAgBF,CAAAA,CACzBE,CAAAA,CAAS,kBAAA,CAAqBF,CAAAA,CAC9BE,CAAAA,CAAS,UAAA,CAAaJ,CAAAA,CAEfI,CACT,CAEO,IAAMC,CAAAA,CAASd,CAAAA,CAAa,CAAA,CAAA,6BAAA;ADnInC","file":"/home/mkabumattar/work/withrawi/rawi/dist/chunk-BO5UW3VL.cjs","sourcesContent":[null,"import type {\n  EmbeddingModelV2,\n  LanguageModelV2,\n  ProviderV2,\n} from '@ai-sdk/provider';\nimport {withoutTrailingSlash} from '@ai-sdk/provider-utils';\n\nimport {OllamaChatLanguageModel} from './ollama-chat-language-model.js';\nimport type {\n  OllamaChatModelId,\n  OllamaChatSettings,\n} from './ollama-chat-settings.js';\nimport {OllamaEmbeddingModel} from './ollama-embedding-model.js';\nimport type {\n  OllamaEmbeddingModelId,\n  OllamaEmbeddingSettings,\n} from './ollama-embedding-settings.js';\nimport {OllamaImageModel} from './ollama-image-model.js';\nimport type {\n  OllamaImageModelId,\n  OllamaImageSettings,\n} from './ollama-image-settings.js';\n\nexport interface OllamaProvider extends ProviderV2 {\n  (modelId: OllamaChatModelId, settings?: OllamaChatSettings): LanguageModelV2;\n\n  chat(\n    modelId: OllamaChatModelId,\n    settings?: OllamaChatSettings,\n  ): LanguageModelV2;\n\n  embedding(\n    modelId: OllamaEmbeddingModelId,\n    settings?: OllamaEmbeddingSettings,\n  ): EmbeddingModelV2<string>;\n\n  languageModel(\n    modelId: OllamaChatModelId,\n    settings?: OllamaChatSettings,\n  ): LanguageModelV2;\n\n  textEmbeddingModel(\n    modelId: OllamaEmbeddingModelId,\n    settings?: OllamaEmbeddingSettings,\n  ): EmbeddingModelV2<string>;\n}\n\nexport interface OllamaProviderSettings {\n  /**\n   * Base URL for Ollama API calls.\n   */\n  baseURL?: string;\n  /**\n   * Custom fetch implementation. You can use it as a middleware to intercept\n   * requests or to provide a custom fetch implementation for e.g. testing\n   */\n  fetch?: typeof fetch;\n  /**\n   * @internal\n   */\n  generateId?: () => string;\n  /**\n   * Custom headers to include in the requests.\n   */\n  headers?: Record<string, string>;\n}\n\nexport function createOllama(\n  options: OllamaProviderSettings = {},\n): OllamaProvider {\n  const baseURL =\n    withoutTrailingSlash(options.baseURL) ?? 'http://127.0.0.1:11434/api';\n\n  const getHeaders = () => ({\n    ...options.headers,\n  });\n\n  const createChatModel = (\n    modelId: OllamaChatModelId,\n    settings: OllamaChatSettings = {},\n  ) =>\n    new OllamaChatLanguageModel(modelId, settings, {\n      baseURL,\n      fetch: options.fetch,\n      headers: getHeaders,\n      provider: 'ollama.chat',\n    });\n\n  const createImageModel = (\n    modelId: OllamaImageModelId,\n    settings: OllamaImageSettings = {},\n  ) =>\n    new OllamaImageModel(modelId, settings, {\n      baseURL,\n      fetch: options.fetch,\n      headers: getHeaders,\n      provider: 'ollama.image',\n    });\n\n  const createEmbeddingModel = (\n    modelId: OllamaEmbeddingModelId,\n    settings: OllamaEmbeddingSettings = {},\n  ) =>\n    new OllamaEmbeddingModel(modelId, settings, {\n      baseURL,\n      fetch: options.fetch,\n      headers: getHeaders,\n      provider: 'ollama.embedding',\n    });\n\n  const provider = function (\n    modelId: OllamaChatModelId,\n    settings?: OllamaChatSettings,\n  ) {\n    if (new.target) {\n      throw new Error(\n        'The Ollama model function cannot be called with the new keyword.',\n      );\n    }\n\n    return createChatModel(modelId, settings);\n  };\n\n  provider.chat = createChatModel;\n  provider.embedding = createEmbeddingModel;\n  provider.languageModel = createChatModel;\n  provider.textEmbedding = createEmbeddingModel;\n  provider.textEmbeddingModel = createEmbeddingModel;\n  provider.imageModel = createImageModel;\n\n  return provider as OllamaProvider;\n}\n\nexport const ollama = createOllama();\n"]}