@elizaos/plugin-ollama 2.0.0-alpha.12 → 2.0.0-alpha.14

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.
@@ -2,14 +2,14 @@
2
2
  "version": 3,
3
3
  "sources": ["../../plugin.ts", "../../models/embedding.ts", "../../utils/config.ts", "../../models/availability.ts", "../../models/object.ts", "../../models/text.ts"],
4
4
  "sourcesContent": [
5
- "import type {\n\tGenerateTextParams,\n\tIAgentRuntime,\n\tObjectGenerationParams,\n\tPlugin,\n\tTextEmbeddingParams,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\n\nconst _globalThis = globalThis as typeof globalThis & {\n\tAI_SDK_LOG_WARNINGS?: boolean;\n};\n_globalThis.AI_SDK_LOG_WARNINGS ??= false;\n\nimport { handleTextEmbedding } from \"./models/embedding\";\nimport { handleObjectLarge, handleObjectSmall } from \"./models/object\";\nimport { handleTextLarge, handleTextSmall } from \"./models/text\";\nimport { getApiBase, getBaseURL } from \"./utils/config\";\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n\tif (typeof process === \"undefined\" || !process.env) {\n\t\treturn {};\n\t}\n\treturn process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nexport const ollamaPlugin: Plugin = {\n\tname: \"ollama\",\n\tdescription: \"Ollama plugin for local LLM inference\",\n\n\tconfig: {\n\t\tOLLAMA_API_ENDPOINT: env.OLLAMA_API_ENDPOINT ?? null,\n\t\tOLLAMA_SMALL_MODEL: env.OLLAMA_SMALL_MODEL ?? null,\n\t\tOLLAMA_MEDIUM_MODEL: env.OLLAMA_MEDIUM_MODEL ?? null,\n\t\tOLLAMA_LARGE_MODEL: env.OLLAMA_LARGE_MODEL ?? null,\n\t\tOLLAMA_EMBEDDING_MODEL: env.OLLAMA_EMBEDDING_MODEL ?? null,\n\t},\n\n\tasync init(_config, runtime) {\n\t\tconst baseURL = getBaseURL(runtime);\n\t\tconst apiBase = getApiBase(runtime);\n\n\t\tif (!baseURL || baseURL === \"http://localhost:11434/api\") {\n\t\t\tconst endpoint = runtime.getSetting(\"OLLAMA_API_ENDPOINT\");\n\t\t\tif (!endpoint) {\n\t\t\t\tlogger.warn(\n\t\t\t\t\t\"OLLAMA_API_ENDPOINT not set, using default localhost:11434\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await fetch(`${apiBase}/api/tags`, {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tlogger.warn(`Ollama API validation failed: ${response.statusText}`);\n\t\t\t}\n\t\t} catch (fetchError: unknown) {\n\t\t\tconst message =\n\t\t\t\tfetchError instanceof Error ? fetchError.message : String(fetchError);\n\t\t\tlogger.warn(`Ollama API validation error: ${message}`);\n\t\t}\n\t},\n\n\tmodels: {\n\t\t[ModelType.TEXT_EMBEDDING]: async (\n\t\t\truntime: IAgentRuntime,\n\t\t\tparams: TextEmbeddingParams | string | null,\n\t\t): Promise<number[]> => {\n\t\t\treturn handleTextEmbedding(runtime, params);\n\t\t},\n\n\t\t[ModelType.TEXT_SMALL]: async (\n\t\t\truntime: IAgentRuntime,\n\t\t\tparams: GenerateTextParams,\n\t\t): Promise<string> => {\n\t\t\treturn handleTextSmall(runtime, params);\n\t\t},\n\n\t\t[ModelType.TEXT_LARGE]: async (\n\t\t\truntime: IAgentRuntime,\n\t\t\tparams: GenerateTextParams,\n\t\t): Promise<string> => {\n\t\t\treturn handleTextLarge(runtime, params);\n\t\t},\n\n\t\t[ModelType.OBJECT_SMALL]: async (\n\t\t\truntime: IAgentRuntime,\n\t\t\tparams: ObjectGenerationParams,\n\t\t): Promise<Record<string, string | number | boolean | null>> => {\n\t\t\treturn handleObjectSmall(runtime, params);\n\t\t},\n\n\t\t[ModelType.OBJECT_LARGE]: async (\n\t\t\truntime: IAgentRuntime,\n\t\t\tparams: ObjectGenerationParams,\n\t\t): Promise<Record<string, string | number | boolean | null>> => {\n\t\t\treturn handleObjectLarge(runtime, params);\n\t\t},\n\t},\n\n\ttests: [\n\t\t{\n\t\t\tname: \"ollama_plugin_tests\",\n\t\t\ttests: [\n\t\t\t\t{\n\t\t\t\t\tname: \"ollama_test_url_validation\",\n\t\t\t\t\tfn: async (runtime: IAgentRuntime) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst apiBase = getApiBase(runtime);\n\t\t\t\t\t\t\tconst response = await fetch(`${apiBase}/api/tags`);\n\t\t\t\t\t\t\tif (!response.ok) {\n\t\t\t\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t\t\t\t`Failed to validate Ollama API: ${response.statusText}`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tlogger.error({ error }, \"Error in ollama_test_url_validation\");\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ollama_test_text_embedding\",\n\t\t\t\t\tfn: async (runtime: IAgentRuntime) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst embedding = await runtime.useModel(\n\t\t\t\t\t\t\t\tModelType.TEXT_EMBEDDING,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: \"Hello, world!\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tlogger.log({ embedding }, \"Generated embedding\");\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tlogger.error({ error }, \"Error in test_text_embedding\");\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ollama_test_text_large\",\n\t\t\t\t\tfn: async (runtime: IAgentRuntime) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst text = await runtime.useModel(ModelType.TEXT_LARGE, {\n\t\t\t\t\t\t\t\tprompt: \"What is the nature of reality in 10 words?\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (text.length === 0) {\n\t\t\t\t\t\t\t\tlogger.error(\"Failed to generate text\");\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlogger.log({ text }, \"Generated with test_text_large\");\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tlogger.error({ error }, \"Error in test_text_large\");\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ollama_test_text_small\",\n\t\t\t\t\tfn: async (runtime: IAgentRuntime) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst text = await runtime.useModel(ModelType.TEXT_SMALL, {\n\t\t\t\t\t\t\t\tprompt: \"What is the nature of reality in 10 words?\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (text.length === 0) {\n\t\t\t\t\t\t\t\tlogger.error(\"Failed to generate text\");\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlogger.log({ text }, \"Generated with test_text_small\");\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tlogger.error({ error }, \"Error in test_text_small\");\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ollama_test_object_small\",\n\t\t\t\t\tfn: async (runtime: IAgentRuntime) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst object = await runtime.useModel(ModelType.OBJECT_SMALL, {\n\t\t\t\t\t\t\t\tprompt:\n\t\t\t\t\t\t\t\t\t\"Generate a JSON object representing a user profile with name, age, and hobbies\",\n\t\t\t\t\t\t\t\ttemperature: 0.7,\n\t\t\t\t\t\t\t\tschema: undefined,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlogger.log({ object }, \"Generated object\");\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tlogger.error({ error }, \"Error in test_object_small\");\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ollama_test_object_large\",\n\t\t\t\t\tfn: async (runtime: IAgentRuntime) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst object = await runtime.useModel(ModelType.OBJECT_LARGE, {\n\t\t\t\t\t\t\t\tprompt:\n\t\t\t\t\t\t\t\t\t\"Generate a detailed JSON object representing a restaurant with name, cuisine type, menu items with prices, and customer reviews\",\n\t\t\t\t\t\t\t\ttemperature: 0.7,\n\t\t\t\t\t\t\t\tschema: undefined,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlogger.log({ object }, \"Generated object\");\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tlogger.error({ error }, \"Error in test_object_large\");\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n",
6
- "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { embed } from \"ai\";\nimport { createOllama } from \"ollama-ai-provider\";\n\nimport { getBaseURL, getEmbeddingModel } from \"../utils/config\";\nimport { ensureModelAvailable } from \"./availability\";\n\nexport async function handleTextEmbedding(\n\truntime: IAgentRuntime,\n\tparams: TextEmbeddingParams | string | null,\n): Promise<number[]> {\n\ttry {\n\t\tconst baseURL = getBaseURL(runtime);\n\t\tconst customFetch = runtime.fetch ?? undefined;\n\t\tconst ollama = createOllama({\n\t\t\tfetch: customFetch,\n\t\t\tbaseURL,\n\t\t});\n\n\t\tconst modelName = getEmbeddingModel(runtime);\n\t\tlogger.log(`[Ollama] Using TEXT_EMBEDDING model: ${modelName}`);\n\t\tawait ensureModelAvailable(modelName, baseURL, customFetch);\n\n\t\tlet text =\n\t\t\ttypeof params === \"string\"\n\t\t\t\t? params\n\t\t\t\t: params\n\t\t\t\t\t? (params as TextEmbeddingParams).text || \"\"\n\t\t\t\t\t: \"\";\n\n\t\t// Truncate to stay within embedding model token limits (~4 chars per token)\n\t\tconst maxChars = 8_000 * 4;\n\t\tif (text.length > maxChars) {\n\t\t\tlogger.warn(\n\t\t\t\t`[Ollama] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8000 tokens`,\n\t\t\t);\n\t\t\ttext = text.slice(0, maxChars);\n\t\t}\n\n\t\tconst embeddingText = text || \"test\";\n\n\t\ttry {\n\t\t\tconst embedParams = {\n\t\t\t\tmodel: ollama.embedding(modelName),\n\t\t\t\tvalue: embeddingText,\n\t\t\t};\n\n\t\t\tconst { embedding } = await embed(embedParams);\n\t\t\treturn embedding;\n\t\t} catch (embeddingError) {\n\t\t\tlogger.error({ error: embeddingError }, \"Error generating embedding\");\n\t\t\treturn Array(1536).fill(0);\n\t\t}\n\t} catch (error) {\n\t\tlogger.error({ error }, \"Error in TEXT_EMBEDDING model\");\n\t\treturn Array(1536).fill(0);\n\t}\n}\n",
7
- "type SettingsProvider = {\n\tgetSetting: (key: string) => string | number | boolean | null;\n};\n\nexport const DEFAULT_OLLAMA_URL = \"http://localhost:11434\";\nexport const DEFAULT_SMALL_MODEL = \"gemma3:latest\";\nexport const DEFAULT_LARGE_MODEL = \"gemma3:latest\";\nexport const DEFAULT_EMBEDDING_MODEL = \"nomic-embed-text:latest\";\n\nfunction getEnvValue(key: string): string | undefined {\n\tif (typeof process === \"undefined\" || !process.env) {\n\t\treturn undefined;\n\t}\n\tconst value = process.env[key];\n\treturn value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n\truntime: SettingsProvider,\n\tkey: string,\n\tdefaultValue?: string,\n): string | undefined {\n\tconst value = runtime.getSetting(key);\n\tif (value !== undefined && value !== null) {\n\t\treturn String(value);\n\t}\n\treturn getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: SettingsProvider): string {\n\tconst apiEndpoint =\n\t\tgetSetting(runtime, \"OLLAMA_API_ENDPOINT\") ||\n\t\tgetSetting(runtime, \"OLLAMA_API_URL\") ||\n\t\tDEFAULT_OLLAMA_URL;\n\n\tif (!apiEndpoint.endsWith(\"/api\")) {\n\t\treturn apiEndpoint.endsWith(\"/\")\n\t\t\t? `${apiEndpoint}api`\n\t\t\t: `${apiEndpoint}/api`;\n\t}\n\treturn apiEndpoint;\n}\n\nexport function getApiBase(runtime: SettingsProvider): string {\n\tconst baseURL = getBaseURL(runtime);\n\treturn baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n}\n\nexport function getSmallModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_SMALL_MODEL\") ||\n\t\tgetSetting(runtime, \"SMALL_MODEL\") ||\n\t\tDEFAULT_SMALL_MODEL\n\t);\n}\n\nexport function getLargeModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_LARGE_MODEL\") ||\n\t\tgetSetting(runtime, \"LARGE_MODEL\") ||\n\t\tDEFAULT_LARGE_MODEL\n\t);\n}\n\nexport function getEmbeddingModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_EMBEDDING_MODEL\") || DEFAULT_EMBEDDING_MODEL\n\t);\n}\n",
8
- "import { logger } from \"@elizaos/core\";\n\nexport async function ensureModelAvailable(\n\tmodel: string,\n\tprovidedBaseURL?: string,\n\tcustomFetch?: typeof fetch | null,\n): Promise<void> {\n\tconst baseURL = providedBaseURL || \"http://localhost:11434/api\";\n\tconst apiBase = baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n\tconst fetcher = customFetch ?? fetch;\n\n\ttry {\n\t\tconst showRes = await fetcher(`${apiBase}/api/show`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({ model }),\n\t\t});\n\n\t\tif (showRes.ok) {\n\t\t\treturn;\n\t\t}\n\n\t\tlogger.info(`[Ollama] Model ${model} not found locally. Downloading...`);\n\n\t\tconst pullRes = await fetcher(`${apiBase}/api/pull`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({ model, stream: false }),\n\t\t});\n\n\t\tif (!pullRes.ok) {\n\t\t\tlogger.error(`Failed to pull model ${model}: ${pullRes.statusText}`);\n\t\t} else {\n\t\t\tlogger.info(`[Ollama] Downloaded model ${model}`);\n\t\t}\n\t} catch (err) {\n\t\tlogger.error({ error: err }, \"Error ensuring model availability\");\n\t}\n}\n",
9
- "import type { IAgentRuntime, ObjectGenerationParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { generateObject } from \"ai\";\nimport { createOllama } from \"ollama-ai-provider\";\n\nimport { getBaseURL, getLargeModel, getSmallModel } from \"../utils/config\";\nimport { ensureModelAvailable } from \"./availability\";\n\nasync function generateOllamaObject(\n\tollama: ReturnType<typeof createOllama>,\n\tmodel: string,\n\tparams: ObjectGenerationParams,\n): Promise<Record<string, string | number | boolean | null>> {\n\ttry {\n\t\tconst generateParams = {\n\t\t\tmodel: ollama(model),\n\t\t\toutput: \"no-schema\" as const,\n\t\t\tprompt: params.prompt,\n\t\t\ttemperature: params.temperature,\n\t\t};\n\n\t\tconst { object } = await generateObject(generateParams);\n\t\treturn object as Record<string, string | number | boolean | null>;\n\t} catch (error: unknown) {\n\t\tlogger.error({ error }, \"Error generating object\");\n\t\treturn {};\n\t}\n}\n\nexport async function handleObjectSmall(\n\truntime: IAgentRuntime,\n\tparams: ObjectGenerationParams,\n): Promise<Record<string, string | number | boolean | null>> {\n\ttry {\n\t\tconst baseURL = getBaseURL(runtime);\n\t\tconst customFetch = runtime.fetch ?? undefined;\n\t\tconst ollama = createOllama({\n\t\t\tfetch: customFetch,\n\t\t\tbaseURL,\n\t\t});\n\t\tconst model = getSmallModel(runtime);\n\n\t\tlogger.log(`[Ollama] Using OBJECT_SMALL model: ${model}`);\n\t\tawait ensureModelAvailable(model, baseURL, customFetch);\n\n\t\treturn await generateOllamaObject(ollama, model, params);\n\t} catch (error) {\n\t\tlogger.error({ error }, \"Error in OBJECT_SMALL model\");\n\t\treturn {};\n\t}\n}\n\nexport async function handleObjectLarge(\n\truntime: IAgentRuntime,\n\tparams: ObjectGenerationParams,\n): Promise<Record<string, string | number | boolean | null>> {\n\ttry {\n\t\tconst baseURL = getBaseURL(runtime);\n\t\tconst customFetch = runtime.fetch ?? undefined;\n\t\tconst ollama = createOllama({\n\t\t\tfetch: customFetch,\n\t\t\tbaseURL,\n\t\t});\n\t\tconst model = getLargeModel(runtime);\n\n\t\tlogger.log(`[Ollama] Using OBJECT_LARGE model: ${model}`);\n\t\tawait ensureModelAvailable(model, baseURL, customFetch);\n\n\t\treturn await generateOllamaObject(ollama, model, params);\n\t} catch (error) {\n\t\tlogger.error({ error }, \"Error in OBJECT_LARGE model\");\n\t\treturn {};\n\t}\n}\n",
10
- "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { generateText } from \"ai\";\nimport { createOllama } from \"ollama-ai-provider\";\n\nimport { getBaseURL, getLargeModel, getSmallModel } from \"../utils/config\";\nimport { ensureModelAvailable } from \"./availability\";\n\nasync function generateOllamaText(\n\tollama: ReturnType<typeof createOllama>,\n\tmodel: string,\n\tparams: {\n\t\tprompt: string;\n\t\tsystem?: string;\n\t\ttemperature: number;\n\t\tmaxTokens: number;\n\t\tfrequencyPenalty: number;\n\t\tpresencePenalty: number;\n\t\tstopSequences: string[];\n\t},\n): Promise<string> {\n\ttry {\n\t\tconst generateParams = {\n\t\t\tmodel: ollama(model),\n\t\t\tprompt: params.prompt,\n\t\t\tsystem: params.system,\n\t\t\ttemperature: params.temperature,\n\t\t\tmaxTokens: params.maxTokens,\n\t\t\tfrequencyPenalty: params.frequencyPenalty,\n\t\t\tpresencePenalty: params.presencePenalty,\n\t\t\tstopSequences: params.stopSequences,\n\t\t};\n\n\t\tconst { text: ollamaResponse } = await generateText(generateParams);\n\t\treturn ollamaResponse;\n\t} catch (error: unknown) {\n\t\tlogger.error({ error }, \"Error in generateOllamaText\");\n\t\treturn \"Error generating text. Please try again later.\";\n\t}\n}\n\nexport async function handleTextSmall(\n\truntime: IAgentRuntime,\n\t{ prompt, stopSequences = [] }: GenerateTextParams,\n): Promise<string> {\n\ttry {\n\t\tconst temperature = 0.7;\n\t\tconst frequency_penalty = 0.7;\n\t\tconst presence_penalty = 0.7;\n\t\tconst max_response_length = 8000;\n\n\t\tconst baseURL = getBaseURL(runtime);\n\t\tconst customFetch = runtime.fetch ?? undefined;\n\t\tconst ollama = createOllama({\n\t\t\tfetch: customFetch,\n\t\t\tbaseURL,\n\t\t});\n\n\t\tconst model = getSmallModel(runtime);\n\t\tlogger.log(`[Ollama] Using TEXT_SMALL model: ${model}`);\n\t\tawait ensureModelAvailable(model, baseURL, customFetch);\n\n\t\treturn await generateOllamaText(ollama, model, {\n\t\t\tprompt,\n\t\t\tsystem: runtime.character?.system ?? undefined,\n\t\t\ttemperature,\n\t\t\tmaxTokens: max_response_length,\n\t\t\tfrequencyPenalty: frequency_penalty,\n\t\t\tpresencePenalty: presence_penalty,\n\t\t\tstopSequences,\n\t\t});\n\t} catch (error) {\n\t\tlogger.error({ error }, \"Error in TEXT_SMALL model\");\n\t\treturn \"Error generating text. Please try again later.\";\n\t}\n}\n\nexport async function handleTextLarge(\n\truntime: IAgentRuntime,\n\t{\n\t\tprompt,\n\t\tstopSequences = [],\n\t\tmaxTokens = 8192,\n\t\ttemperature = 0.7,\n\t\tfrequencyPenalty = 0.7,\n\t\tpresencePenalty = 0.7,\n\t}: GenerateTextParams,\n): Promise<string> {\n\ttry {\n\t\tconst model = getLargeModel(runtime);\n\t\tconst baseURL = getBaseURL(runtime);\n\t\tconst customFetch = runtime.fetch ?? undefined;\n\t\tconst ollama = createOllama({\n\t\t\tfetch: customFetch,\n\t\t\tbaseURL,\n\t\t});\n\n\t\tlogger.log(`[Ollama] Using TEXT_LARGE model: ${model}`);\n\t\tawait ensureModelAvailable(model, baseURL, customFetch);\n\t\treturn await generateOllamaText(ollama, model, {\n\t\t\tprompt,\n\t\t\tsystem: runtime.character?.system ?? undefined,\n\t\t\ttemperature,\n\t\t\tmaxTokens,\n\t\t\tfrequencyPenalty,\n\t\t\tpresencePenalty,\n\t\t\tstopSequences,\n\t\t});\n\t} catch (error) {\n\t\tlogger.error({ error }, \"Error in TEXT_LARGE model\");\n\t\treturn \"Error generating text. Please try again later.\";\n\t}\n}\n"
5
+ "import type {\n GenerateTextParams,\n IAgentRuntime,\n ObjectGenerationParams,\n Plugin,\n TextEmbeddingParams,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\n\nconst _globalThis = globalThis as typeof globalThis & { AI_SDK_LOG_WARNINGS?: boolean };\n_globalThis.AI_SDK_LOG_WARNINGS ??= false;\n\nimport { handleTextEmbedding } from \"./models/embedding\";\nimport { handleObjectLarge, handleObjectSmall } from \"./models/object\";\nimport { handleTextLarge, handleTextSmall } from \"./models/text\";\nimport { getApiBase, getBaseURL } from \"./utils/config\";\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n if (typeof process === \"undefined\" || !process.env) {\n return {};\n }\n return process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nexport const ollamaPlugin: Plugin = {\n name: \"ollama\",\n description: \"Ollama plugin for local LLM inference\",\n\n config: {\n OLLAMA_API_ENDPOINT: env.OLLAMA_API_ENDPOINT ?? null,\n OLLAMA_SMALL_MODEL: env.OLLAMA_SMALL_MODEL ?? null,\n OLLAMA_MEDIUM_MODEL: env.OLLAMA_MEDIUM_MODEL ?? null,\n OLLAMA_LARGE_MODEL: env.OLLAMA_LARGE_MODEL ?? null,\n OLLAMA_EMBEDDING_MODEL: env.OLLAMA_EMBEDDING_MODEL ?? null,\n },\n\n async init(_config, runtime) {\n const baseURL = getBaseURL(runtime);\n const apiBase = getApiBase(runtime);\n\n if (!baseURL || baseURL === \"http://localhost:11434/api\") {\n const endpoint = runtime.getSetting(\"OLLAMA_API_ENDPOINT\");\n if (!endpoint) {\n logger.warn(\"OLLAMA_API_ENDPOINT not set, using default localhost:11434\");\n }\n }\n\n try {\n const response = await fetch(`${apiBase}/api/tags`, {\n method: \"GET\",\n headers: { \"Content-Type\": \"application/json\" },\n });\n\n if (!response.ok) {\n logger.warn(`Ollama API validation failed: ${response.statusText}`);\n }\n } catch (fetchError: unknown) {\n const message = fetchError instanceof Error ? fetchError.message : String(fetchError);\n logger.warn(`Ollama API validation error: ${message}`);\n }\n },\n\n models: {\n [ModelType.TEXT_EMBEDDING]: async (\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n ): Promise<number[]> => {\n return handleTextEmbedding(runtime, params);\n },\n\n [ModelType.TEXT_SMALL]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextSmall(runtime, params);\n },\n\n [ModelType.TEXT_LARGE]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextLarge(runtime, params);\n },\n\n [ModelType.OBJECT_SMALL]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectSmall(runtime, params);\n },\n\n [ModelType.OBJECT_LARGE]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectLarge(runtime, params);\n },\n },\n\n tests: [\n {\n name: \"ollama_plugin_tests\",\n tests: [\n {\n name: \"ollama_test_url_validation\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const apiBase = getApiBase(runtime);\n const response = await fetch(`${apiBase}/api/tags`);\n if (!response.ok) {\n logger.error(`Failed to validate Ollama API: ${response.statusText}`);\n }\n } catch (error) {\n logger.error({ error }, \"Error in ollama_test_url_validation\");\n }\n },\n },\n {\n name: \"ollama_test_text_embedding\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const embedding = await runtime.useModel(ModelType.TEXT_EMBEDDING, {\n text: \"Hello, world!\",\n });\n logger.log({ embedding }, \"Generated embedding\");\n } catch (error) {\n logger.error({ error }, \"Error in test_text_embedding\");\n }\n },\n },\n {\n name: \"ollama_test_text_large\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt: \"What is the nature of reality in 10 words?\",\n });\n if (text.length === 0) {\n logger.error(\"Failed to generate text\");\n return;\n }\n logger.log({ text }, \"Generated with test_text_large\");\n } catch (error) {\n logger.error({ error }, \"Error in test_text_large\");\n }\n },\n },\n {\n name: \"ollama_test_text_small\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: \"What is the nature of reality in 10 words?\",\n });\n if (text.length === 0) {\n logger.error(\"Failed to generate text\");\n return;\n }\n logger.log({ text }, \"Generated with test_text_small\");\n } catch (error) {\n logger.error({ error }, \"Error in test_text_small\");\n }\n },\n },\n {\n name: \"ollama_test_object_small\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const object = await runtime.useModel(ModelType.OBJECT_SMALL, {\n prompt:\n \"Generate a JSON object representing a user profile with name, age, and hobbies\",\n temperature: 0.7,\n schema: undefined,\n });\n logger.log({ object }, \"Generated object\");\n } catch (error) {\n logger.error({ error }, \"Error in test_object_small\");\n }\n },\n },\n {\n name: \"ollama_test_object_large\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const object = await runtime.useModel(ModelType.OBJECT_LARGE, {\n prompt:\n \"Generate a detailed JSON object representing a restaurant with name, cuisine type, menu items with prices, and customer reviews\",\n temperature: 0.7,\n schema: undefined,\n });\n logger.log({ object }, \"Generated object\");\n } catch (error) {\n logger.error({ error }, \"Error in test_object_large\");\n }\n },\n },\n ],\n },\n ],\n};\n",
6
+ "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { embed } from \"ai\";\nimport { createOllama } from \"ollama-ai-provider\";\n\nimport { getBaseURL, getEmbeddingModel } from \"../utils/config\";\nimport { ensureModelAvailable } from \"./availability\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n try {\n const baseURL = getBaseURL(runtime);\n const customFetch = runtime.fetch ?? undefined;\n const ollama = createOllama({\n fetch: customFetch,\n baseURL,\n });\n\n const modelName = getEmbeddingModel(runtime);\n logger.log(`[Ollama] Using TEXT_EMBEDDING model: ${modelName}`);\n await ensureModelAvailable(modelName, baseURL, customFetch);\n\n let text =\n typeof params === \"string\"\n ? params\n : params\n ? (params as TextEmbeddingParams).text || \"\"\n : \"\";\n\n // Truncate to stay within embedding model token limits (~4 chars per token)\n const maxChars = 8_000 * 4;\n if (text.length > maxChars) {\n logger.warn(\n `[Ollama] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8000 tokens`\n );\n text = text.slice(0, maxChars);\n }\n\n const embeddingText = text || \"test\";\n\n try {\n const embedParams = {\n model: ollama.embedding(modelName),\n value: embeddingText,\n };\n\n const { embedding } = await embed(embedParams);\n return embedding;\n } catch (embeddingError) {\n logger.error({ error: embeddingError }, \"Error generating embedding\");\n return Array(1536).fill(0);\n }\n } catch (error) {\n logger.error({ error }, \"Error in TEXT_EMBEDDING model\");\n return Array(1536).fill(0);\n }\n}\n",
7
+ "type SettingsProvider = {\n getSetting: (key: string) => string | number | boolean | null;\n};\n\nexport const DEFAULT_OLLAMA_URL = \"http://localhost:11434\";\nexport const DEFAULT_SMALL_MODEL = \"gemma3:latest\";\nexport const DEFAULT_LARGE_MODEL = \"gemma3:latest\";\nexport const DEFAULT_EMBEDDING_MODEL = \"nomic-embed-text:latest\";\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\" || !process.env) {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: SettingsProvider,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: SettingsProvider): string {\n const apiEndpoint =\n getSetting(runtime, \"OLLAMA_API_ENDPOINT\") ||\n getSetting(runtime, \"OLLAMA_API_URL\") ||\n DEFAULT_OLLAMA_URL;\n\n if (!apiEndpoint.endsWith(\"/api\")) {\n return apiEndpoint.endsWith(\"/\") ? `${apiEndpoint}api` : `${apiEndpoint}/api`;\n }\n return apiEndpoint;\n}\n\nexport function getApiBase(runtime: SettingsProvider): string {\n const baseURL = getBaseURL(runtime);\n return baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n}\n\nexport function getSmallModel(runtime: SettingsProvider): string {\n return (\n getSetting(runtime, \"OLLAMA_SMALL_MODEL\") ||\n getSetting(runtime, \"SMALL_MODEL\") ||\n DEFAULT_SMALL_MODEL\n );\n}\n\nexport function getLargeModel(runtime: SettingsProvider): string {\n return (\n getSetting(runtime, \"OLLAMA_LARGE_MODEL\") ||\n getSetting(runtime, \"LARGE_MODEL\") ||\n DEFAULT_LARGE_MODEL\n );\n}\n\nexport function getEmbeddingModel(runtime: SettingsProvider): string {\n return getSetting(runtime, \"OLLAMA_EMBEDDING_MODEL\") || DEFAULT_EMBEDDING_MODEL;\n}\n",
8
+ "import { logger } from \"@elizaos/core\";\n\nexport async function ensureModelAvailable(\n model: string,\n providedBaseURL?: string,\n customFetch?: typeof fetch | null\n): Promise<void> {\n const baseURL = providedBaseURL || \"http://localhost:11434/api\";\n const apiBase = baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n const fetcher = customFetch ?? fetch;\n\n try {\n const showRes = await fetcher(`${apiBase}/api/show`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ model }),\n });\n\n if (showRes.ok) {\n return;\n }\n\n logger.info(`[Ollama] Model ${model} not found locally. Downloading...`);\n\n const pullRes = await fetcher(`${apiBase}/api/pull`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ model, stream: false }),\n });\n\n if (!pullRes.ok) {\n logger.error(`Failed to pull model ${model}: ${pullRes.statusText}`);\n } else {\n logger.info(`[Ollama] Downloaded model ${model}`);\n }\n } catch (err) {\n logger.error({ error: err }, \"Error ensuring model availability\");\n }\n}\n",
9
+ "import type { IAgentRuntime, ObjectGenerationParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { generateObject } from \"ai\";\nimport { createOllama } from \"ollama-ai-provider\";\n\nimport { getBaseURL, getLargeModel, getSmallModel } from \"../utils/config\";\nimport { ensureModelAvailable } from \"./availability\";\n\nasync function generateOllamaObject(\n ollama: ReturnType<typeof createOllama>,\n model: string,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n try {\n const generateParams = {\n model: ollama(model),\n output: \"no-schema\" as const,\n prompt: params.prompt,\n temperature: params.temperature,\n };\n\n const { object } = await generateObject(generateParams);\n return object as Record<string, string | number | boolean | null>;\n } catch (error: unknown) {\n logger.error({ error }, \"Error generating object\");\n return {};\n }\n}\n\nexport async function handleObjectSmall(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n try {\n const baseURL = getBaseURL(runtime);\n const customFetch = runtime.fetch ?? undefined;\n const ollama = createOllama({\n fetch: customFetch,\n baseURL,\n });\n const model = getSmallModel(runtime);\n\n logger.log(`[Ollama] Using OBJECT_SMALL model: ${model}`);\n await ensureModelAvailable(model, baseURL, customFetch);\n\n return await generateOllamaObject(ollama, model, params);\n } catch (error) {\n logger.error({ error }, \"Error in OBJECT_SMALL model\");\n return {};\n }\n}\n\nexport async function handleObjectLarge(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n try {\n const baseURL = getBaseURL(runtime);\n const customFetch = runtime.fetch ?? undefined;\n const ollama = createOllama({\n fetch: customFetch,\n baseURL,\n });\n const model = getLargeModel(runtime);\n\n logger.log(`[Ollama] Using OBJECT_LARGE model: ${model}`);\n await ensureModelAvailable(model, baseURL, customFetch);\n\n return await generateOllamaObject(ollama, model, params);\n } catch (error) {\n logger.error({ error }, \"Error in OBJECT_LARGE model\");\n return {};\n }\n}\n",
10
+ "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { generateText } from \"ai\";\nimport { createOllama } from \"ollama-ai-provider\";\n\nimport { getBaseURL, getLargeModel, getSmallModel } from \"../utils/config\";\nimport { ensureModelAvailable } from \"./availability\";\n\nasync function generateOllamaText(\n ollama: ReturnType<typeof createOllama>,\n model: string,\n params: {\n prompt: string;\n system?: string;\n temperature: number;\n maxTokens: number;\n frequencyPenalty: number;\n presencePenalty: number;\n stopSequences: string[];\n }\n): Promise<string> {\n try {\n const generateParams = {\n model: ollama(model),\n prompt: params.prompt,\n system: params.system,\n temperature: params.temperature,\n maxTokens: params.maxTokens,\n frequencyPenalty: params.frequencyPenalty,\n presencePenalty: params.presencePenalty,\n stopSequences: params.stopSequences,\n };\n\n const { text: ollamaResponse } = await generateText(generateParams);\n return ollamaResponse;\n } catch (error: unknown) {\n logger.error({ error }, \"Error in generateOllamaText\");\n return \"Error generating text. Please try again later.\";\n }\n}\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [] }: GenerateTextParams\n): Promise<string> {\n try {\n const temperature = 0.7;\n const frequency_penalty = 0.7;\n const presence_penalty = 0.7;\n const max_response_length = 8000;\n\n const baseURL = getBaseURL(runtime);\n const customFetch = runtime.fetch ?? undefined;\n const ollama = createOllama({\n fetch: customFetch,\n baseURL,\n });\n\n const model = getSmallModel(runtime);\n logger.log(`[Ollama] Using TEXT_SMALL model: ${model}`);\n await ensureModelAvailable(model, baseURL, customFetch);\n\n return await generateOllamaText(ollama, model, {\n prompt,\n system: runtime.character?.system ?? undefined,\n temperature,\n maxTokens: max_response_length,\n frequencyPenalty: frequency_penalty,\n presencePenalty: presence_penalty,\n stopSequences,\n });\n } catch (error) {\n logger.error({ error }, \"Error in TEXT_SMALL model\");\n return \"Error generating text. Please try again later.\";\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n {\n prompt,\n stopSequences = [],\n maxTokens = 8192,\n temperature = 0.7,\n frequencyPenalty = 0.7,\n presencePenalty = 0.7,\n }: GenerateTextParams\n): Promise<string> {\n try {\n const model = getLargeModel(runtime);\n const baseURL = getBaseURL(runtime);\n const customFetch = runtime.fetch ?? undefined;\n const ollama = createOllama({\n fetch: customFetch,\n baseURL,\n });\n\n logger.log(`[Ollama] Using TEXT_LARGE model: ${model}`);\n await ensureModelAvailable(model, baseURL, customFetch);\n return await generateOllamaText(ollama, model, {\n prompt,\n system: runtime.character?.system ?? undefined,\n temperature,\n maxTokens,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n });\n } catch (error) {\n logger.error({ error }, \"Error in TEXT_LARGE model\");\n return \"Error generating text. Please try again later.\";\n }\n}\n"
11
11
  ],
12
- "mappings": "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",
12
+ "mappings": ";AAOA,mBAAS;;;ACNT,mBAAS;AACT;AACA;;;ACCO,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,0BAA0B;AAEvC,SAAS,WAAW,CAAC,KAAiC;AAAA,EACpD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAGhD,SAAS,UAAU,CACxB,SACA,KACA,cACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGtB,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC5D,MAAM,cACJ,WAAW,SAAS,qBAAqB,KACzC,WAAW,SAAS,gBAAgB,KACpC;AAAA,EAEF,IAAI,CAAC,YAAY,SAAS,MAAM,GAAG;AAAA,IACjC,OAAO,YAAY,SAAS,GAAG,IAAI,GAAG,mBAAmB,GAAG;AAAA,EAC9D;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC5D,MAAM,UAAU,WAAW,OAAO;AAAA,EAClC,OAAO,QAAQ,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA;AAGpD,SAAS,aAAa,CAAC,SAAmC;AAAA,EAC/D,OACE,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIG,SAAS,aAAa,CAAC,SAAmC;AAAA,EAC/D,OACE,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIG,SAAS,iBAAiB,CAAC,SAAmC;AAAA,EACnE,OAAO,WAAW,SAAS,wBAAwB,KAAK;AAAA;;;AC/D1D;AAEA,eAAsB,oBAAoB,CACxC,OACA,iBACA,aACe;AAAA,EACf,MAAM,UAAU,mBAAmB;AAAA,EACnC,MAAM,UAAU,QAAQ,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA,EAClE,MAAM,UAAU,eAAe;AAAA,EAE/B,IAAI;AAAA,IACF,MAAM,UAAU,MAAM,QAAQ,GAAG,oBAAoB;AAAA,MACnD,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU,EAAE,MAAM,CAAC;AAAA,IAChC,CAAC;AAAA,IAED,IAAI,QAAQ,IAAI;AAAA,MACd;AAAA,IACF;AAAA,IAEA,OAAO,KAAK,kBAAkB,yCAAyC;AAAA,IAEvE,MAAM,UAAU,MAAM,QAAQ,GAAG,oBAAoB;AAAA,MACnD,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU,EAAE,OAAO,QAAQ,MAAM,CAAC;AAAA,IAC/C,CAAC;AAAA,IAED,IAAI,CAAC,QAAQ,IAAI;AAAA,MACf,OAAO,MAAM,wBAAwB,UAAU,QAAQ,YAAY;AAAA,IACrE,EAAO;AAAA,MACL,OAAO,KAAK,6BAA6B,OAAO;AAAA;AAAA,IAElD,OAAO,KAAK;AAAA,IACZ,OAAO,MAAM,EAAE,OAAO,IAAI,GAAG,mCAAmC;AAAA;AAAA;;;AF5BpE,eAAsB,mBAAmB,CACvC,SACA,QACmB;AAAA,EACnB,IAAI;AAAA,IACF,MAAM,UAAU,WAAW,OAAO;AAAA,IAClC,MAAM,cAAc,QAAQ,SAAS;AAAA,IACrC,MAAM,SAAS,aAAa;AAAA,MAC1B,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,IAED,MAAM,YAAY,kBAAkB,OAAO;AAAA,IAC3C,QAAO,IAAI,wCAAwC,WAAW;AAAA,IAC9D,MAAM,qBAAqB,WAAW,SAAS,WAAW;AAAA,IAE1D,IAAI,OACF,OAAO,WAAW,WACd,SACA,SACG,OAA+B,QAAQ,KACxC;AAAA,IAGR,MAAM,WAAW,OAAQ;AAAA,IACzB,IAAI,KAAK,SAAS,UAAU;AAAA,MAC1B,QAAO,KACL,uCAAuC,KAAK,KAAK,KAAK,SAAS,CAAC,uCAClE;AAAA,MACA,OAAO,KAAK,MAAM,GAAG,QAAQ;AAAA,IAC/B;AAAA,IAEA,MAAM,gBAAgB,QAAQ;AAAA,IAE9B,IAAI;AAAA,MACF,MAAM,cAAc;AAAA,QAClB,OAAO,OAAO,UAAU,SAAS;AAAA,QACjC,OAAO;AAAA,MACT;AAAA,MAEA,QAAQ,cAAc,MAAM,MAAM,WAAW;AAAA,MAC7C,OAAO;AAAA,MACP,OAAO,gBAAgB;AAAA,MACvB,QAAO,MAAM,EAAE,OAAO,eAAe,GAAG,4BAA4B;AAAA,MACpE,OAAO,MAAM,IAAI,EAAE,KAAK,CAAC;AAAA;AAAA,IAE3B,OAAO,OAAO;AAAA,IACd,QAAO,MAAM,EAAE,MAAM,GAAG,+BAA+B;AAAA,IACvD,OAAO,MAAM,IAAI,EAAE,KAAK,CAAC;AAAA;AAAA;;;AGvD7B,mBAAS;AACT;AACA,yBAAS;AAKT,eAAe,oBAAoB,CACjC,QACA,OACA,QAC2D;AAAA,EAC3D,IAAI;AAAA,IACF,MAAM,iBAAiB;AAAA,MACrB,OAAO,OAAO,KAAK;AAAA,MACnB,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,MACf,aAAa,OAAO;AAAA,IACtB;AAAA,IAEA,QAAQ,WAAW,MAAM,eAAe,cAAc;AAAA,IACtD,OAAO;AAAA,IACP,OAAO,OAAgB;AAAA,IACvB,QAAO,MAAM,EAAE,MAAM,GAAG,yBAAyB;AAAA,IACjD,OAAO,CAAC;AAAA;AAAA;AAIZ,eAAsB,iBAAiB,CACrC,SACA,QAC2D;AAAA,EAC3D,IAAI;AAAA,IACF,MAAM,UAAU,WAAW,OAAO;AAAA,IAClC,MAAM,cAAc,QAAQ,SAAS;AAAA,IACrC,MAAM,SAAS,cAAa;AAAA,MAC1B,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,IACD,MAAM,QAAQ,cAAc,OAAO;AAAA,IAEnC,QAAO,IAAI,sCAAsC,OAAO;AAAA,IACxD,MAAM,qBAAqB,OAAO,SAAS,WAAW;AAAA,IAEtD,OAAO,MAAM,qBAAqB,QAAQ,OAAO,MAAM;AAAA,IACvD,OAAO,OAAO;AAAA,IACd,QAAO,MAAM,EAAE,MAAM,GAAG,6BAA6B;AAAA,IACrD,OAAO,CAAC;AAAA;AAAA;AAIZ,eAAsB,iBAAiB,CACrC,SACA,QAC2D;AAAA,EAC3D,IAAI;AAAA,IACF,MAAM,UAAU,WAAW,OAAO;AAAA,IAClC,MAAM,cAAc,QAAQ,SAAS;AAAA,IACrC,MAAM,SAAS,cAAa;AAAA,MAC1B,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,IACD,MAAM,QAAQ,cAAc,OAAO;AAAA,IAEnC,QAAO,IAAI,sCAAsC,OAAO;AAAA,IACxD,MAAM,qBAAqB,OAAO,SAAS,WAAW;AAAA,IAEtD,OAAO,MAAM,qBAAqB,QAAQ,OAAO,MAAM;AAAA,IACvD,OAAO,OAAO;AAAA,IACd,QAAO,MAAM,EAAE,MAAM,GAAG,6BAA6B;AAAA,IACrD,OAAO,CAAC;AAAA;AAAA;;;ACtEZ,mBAAS;AACT;AACA,yBAAS;AAKT,eAAe,kBAAkB,CAC/B,QACA,OACA,QASiB;AAAA,EACjB,IAAI;AAAA,IACF,MAAM,iBAAiB;AAAA,MACrB,OAAO,OAAO,KAAK;AAAA,MACnB,QAAQ,OAAO;AAAA,MACf,QAAQ,OAAO;AAAA,MACf,aAAa,OAAO;AAAA,MACpB,WAAW,OAAO;AAAA,MAClB,kBAAkB,OAAO;AAAA,MACzB,iBAAiB,OAAO;AAAA,MACxB,eAAe,OAAO;AAAA,IACxB;AAAA,IAEA,QAAQ,MAAM,mBAAmB,MAAM,aAAa,cAAc;AAAA,IAClE,OAAO;AAAA,IACP,OAAO,OAAgB;AAAA,IACvB,QAAO,MAAM,EAAE,MAAM,GAAG,6BAA6B;AAAA,IACrD,OAAO;AAAA;AAAA;AAIX,eAAsB,eAAe,CACnC,WACE,QAAQ,gBAAgB,CAAC,KACV;AAAA,EACjB,IAAI;AAAA,IACF,MAAM,cAAc;AAAA,IACpB,MAAM,oBAAoB;AAAA,IAC1B,MAAM,mBAAmB;AAAA,IACzB,MAAM,sBAAsB;AAAA,IAE5B,MAAM,UAAU,WAAW,OAAO;AAAA,IAClC,MAAM,cAAc,QAAQ,SAAS;AAAA,IACrC,MAAM,SAAS,cAAa;AAAA,MAC1B,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,IAED,MAAM,QAAQ,cAAc,OAAO;AAAA,IACnC,QAAO,IAAI,oCAAoC,OAAO;AAAA,IACtD,MAAM,qBAAqB,OAAO,SAAS,WAAW;AAAA,IAEtD,OAAO,MAAM,mBAAmB,QAAQ,OAAO;AAAA,MAC7C;AAAA,MACA,QAAQ,QAAQ,WAAW,UAAU;AAAA,MACrC;AAAA,MACA,WAAW;AAAA,MACX,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACd,QAAO,MAAM,EAAE,MAAM,GAAG,2BAA2B;AAAA,IACnD,OAAO;AAAA;AAAA;AAIX,eAAsB,eAAe,CACnC;AAAA,EAEE;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,GAEH;AAAA,EACjB,IAAI;AAAA,IACF,MAAM,QAAQ,cAAc,OAAO;AAAA,IACnC,MAAM,UAAU,WAAW,OAAO;AAAA,IAClC,MAAM,cAAc,QAAQ,SAAS;AAAA,IACrC,MAAM,SAAS,cAAa;AAAA,MAC1B,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,IAED,QAAO,IAAI,oCAAoC,OAAO;AAAA,IACtD,MAAM,qBAAqB,OAAO,SAAS,WAAW;AAAA,IACtD,OAAO,MAAM,mBAAmB,QAAQ,OAAO;AAAA,MAC7C;AAAA,MACA,QAAQ,QAAQ,WAAW,UAAU;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACd,QAAO,MAAM,EAAE,MAAM,GAAG,2BAA2B;AAAA,IACnD,OAAO;AAAA;AAAA;;;ALrGX,IAAM,cAAc;AACpB,YAAY,wBAAwB;AASpC,SAAS,aAAa,GAAmB;AAAA,EACvC,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD,OAAO,CAAC;AAAA,EACV;AAAA,EACA,OAAO,QAAQ;AAAA;AAGjB,IAAM,MAAM,cAAc;AAEnB,IAAM,eAAuB;AAAA,EAClC,MAAM;AAAA,EACN,aAAa;AAAA,EAEb,QAAQ;AAAA,IACN,qBAAqB,IAAI,uBAAuB;AAAA,IAChD,oBAAoB,IAAI,sBAAsB;AAAA,IAC9C,qBAAqB,IAAI,uBAAuB;AAAA,IAChD,oBAAoB,IAAI,sBAAsB;AAAA,IAC9C,wBAAwB,IAAI,0BAA0B;AAAA,EACxD;AAAA,OAEM,KAAI,CAAC,SAAS,SAAS;AAAA,IAC3B,MAAM,UAAU,WAAW,OAAO;AAAA,IAClC,MAAM,UAAU,WAAW,OAAO;AAAA,IAElC,IAAI,CAAC,WAAW,YAAY,8BAA8B;AAAA,MACxD,MAAM,WAAW,QAAQ,WAAW,qBAAqB;AAAA,MACzD,IAAI,CAAC,UAAU;AAAA,QACb,QAAO,KAAK,4DAA4D;AAAA,MAC1E;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,MAAM,GAAG,oBAAoB;AAAA,QAClD,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAChD,CAAC;AAAA,MAED,IAAI,CAAC,SAAS,IAAI;AAAA,QAChB,QAAO,KAAK,iCAAiC,SAAS,YAAY;AAAA,MACpE;AAAA,MACA,OAAO,YAAqB;AAAA,MAC5B,MAAM,UAAU,sBAAsB,QAAQ,WAAW,UAAU,OAAO,UAAU;AAAA,MACpF,QAAO,KAAK,gCAAgC,SAAS;AAAA;AAAA;AAAA,EAIzD,QAAQ;AAAA,KACL,UAAU,iBAAiB,OAC1B,SACA,WACsB;AAAA,MACtB,OAAO,oBAAoB,SAAS,MAAM;AAAA;AAAA,KAG3C,UAAU,aAAa,OACtB,SACA,WACoB;AAAA,MACpB,OAAO,gBAAgB,SAAS,MAAM;AAAA;AAAA,KAGvC,UAAU,aAAa,OACtB,SACA,WACoB;AAAA,MACpB,OAAO,gBAAgB,SAAS,MAAM;AAAA;AAAA,KAGvC,UAAU,eAAe,OACxB,SACA,WAC8D;AAAA,MAC9D,OAAO,kBAAkB,SAAS,MAAM;AAAA;AAAA,KAGzC,UAAU,eAAe,OACxB,SACA,WAC8D;AAAA,MAC9D,OAAO,kBAAkB,SAAS,MAAM;AAAA;AAAA,EAE5C;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,IAAI,OAAO,YAA2B;AAAA,YACpC,IAAI;AAAA,cACF,MAAM,UAAU,WAAW,OAAO;AAAA,cAClC,MAAM,WAAW,MAAM,MAAM,GAAG,kBAAkB;AAAA,cAClD,IAAI,CAAC,SAAS,IAAI;AAAA,gBAChB,QAAO,MAAM,kCAAkC,SAAS,YAAY;AAAA,cACtE;AAAA,cACA,OAAO,OAAO;AAAA,cACd,QAAO,MAAM,EAAE,MAAM,GAAG,qCAAqC;AAAA;AAAA;AAAA,QAGnE;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,IAAI,OAAO,YAA2B;AAAA,YACpC,IAAI;AAAA,cACF,MAAM,YAAY,MAAM,QAAQ,SAAS,UAAU,gBAAgB;AAAA,gBACjE,MAAM;AAAA,cACR,CAAC;AAAA,cACD,QAAO,IAAI,EAAE,UAAU,GAAG,qBAAqB;AAAA,cAC/C,OAAO,OAAO;AAAA,cACd,QAAO,MAAM,EAAE,MAAM,GAAG,8BAA8B;AAAA;AAAA;AAAA,QAG5D;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,IAAI,OAAO,YAA2B;AAAA,YACpC,IAAI;AAAA,cACF,MAAM,OAAO,MAAM,QAAQ,SAAS,UAAU,YAAY;AAAA,gBACxD,QAAQ;AAAA,cACV,CAAC;AAAA,cACD,IAAI,KAAK,WAAW,GAAG;AAAA,gBACrB,QAAO,MAAM,yBAAyB;AAAA,gBACtC;AAAA,cACF;AAAA,cACA,QAAO,IAAI,EAAE,KAAK,GAAG,gCAAgC;AAAA,cACrD,OAAO,OAAO;AAAA,cACd,QAAO,MAAM,EAAE,MAAM,GAAG,0BAA0B;AAAA;AAAA;AAAA,QAGxD;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,IAAI,OAAO,YAA2B;AAAA,YACpC,IAAI;AAAA,cACF,MAAM,OAAO,MAAM,QAAQ,SAAS,UAAU,YAAY;AAAA,gBACxD,QAAQ;AAAA,cACV,CAAC;AAAA,cACD,IAAI,KAAK,WAAW,GAAG;AAAA,gBACrB,QAAO,MAAM,yBAAyB;AAAA,gBACtC;AAAA,cACF;AAAA,cACA,QAAO,IAAI,EAAE,KAAK,GAAG,gCAAgC;AAAA,cACrD,OAAO,OAAO;AAAA,cACd,QAAO,MAAM,EAAE,MAAM,GAAG,0BAA0B;AAAA;AAAA;AAAA,QAGxD;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,IAAI,OAAO,YAA2B;AAAA,YACpC,IAAI;AAAA,cACF,MAAM,SAAS,MAAM,QAAQ,SAAS,UAAU,cAAc;AAAA,gBAC5D,QACE;AAAA,gBACF,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV,CAAC;AAAA,cACD,QAAO,IAAI,EAAE,OAAO,GAAG,kBAAkB;AAAA,cACzC,OAAO,OAAO;AAAA,cACd,QAAO,MAAM,EAAE,MAAM,GAAG,4BAA4B;AAAA;AAAA;AAAA,QAG1D;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,IAAI,OAAO,YAA2B;AAAA,YACpC,IAAI;AAAA,cACF,MAAM,SAAS,MAAM,QAAQ,SAAS,UAAU,cAAc;AAAA,gBAC5D,QACE;AAAA,gBACF,aAAa;AAAA,gBACb,QAAQ;AAAA,cACV,CAAC;AAAA,cACD,QAAO,IAAI,EAAE,OAAO,GAAG,kBAAkB;AAAA,cACzC,OAAO,OAAO;AAAA,cACd,QAAO,MAAM,EAAE,MAAM,GAAG,4BAA4B;AAAA;AAAA;AAAA,QAG1D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
13
13
  "debugId": "1B448803DF37FD5464756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../utils/config.ts"],
4
4
  "sourcesContent": [
5
- "type SettingsProvider = {\n\tgetSetting: (key: string) => string | number | boolean | null;\n};\n\nexport const DEFAULT_OLLAMA_URL = \"http://localhost:11434\";\nexport const DEFAULT_SMALL_MODEL = \"gemma3:latest\";\nexport const DEFAULT_LARGE_MODEL = \"gemma3:latest\";\nexport const DEFAULT_EMBEDDING_MODEL = \"nomic-embed-text:latest\";\n\nfunction getEnvValue(key: string): string | undefined {\n\tif (typeof process === \"undefined\" || !process.env) {\n\t\treturn undefined;\n\t}\n\tconst value = process.env[key];\n\treturn value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n\truntime: SettingsProvider,\n\tkey: string,\n\tdefaultValue?: string,\n): string | undefined {\n\tconst value = runtime.getSetting(key);\n\tif (value !== undefined && value !== null) {\n\t\treturn String(value);\n\t}\n\treturn getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: SettingsProvider): string {\n\tconst apiEndpoint =\n\t\tgetSetting(runtime, \"OLLAMA_API_ENDPOINT\") ||\n\t\tgetSetting(runtime, \"OLLAMA_API_URL\") ||\n\t\tDEFAULT_OLLAMA_URL;\n\n\tif (!apiEndpoint.endsWith(\"/api\")) {\n\t\treturn apiEndpoint.endsWith(\"/\")\n\t\t\t? `${apiEndpoint}api`\n\t\t\t: `${apiEndpoint}/api`;\n\t}\n\treturn apiEndpoint;\n}\n\nexport function getApiBase(runtime: SettingsProvider): string {\n\tconst baseURL = getBaseURL(runtime);\n\treturn baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n}\n\nexport function getSmallModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_SMALL_MODEL\") ||\n\t\tgetSetting(runtime, \"SMALL_MODEL\") ||\n\t\tDEFAULT_SMALL_MODEL\n\t);\n}\n\nexport function getLargeModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_LARGE_MODEL\") ||\n\t\tgetSetting(runtime, \"LARGE_MODEL\") ||\n\t\tDEFAULT_LARGE_MODEL\n\t);\n}\n\nexport function getEmbeddingModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_EMBEDDING_MODEL\") || DEFAULT_EMBEDDING_MODEL\n\t);\n}\n"
5
+ "type SettingsProvider = {\n getSetting: (key: string) => string | number | boolean | null;\n};\n\nexport const DEFAULT_OLLAMA_URL = \"http://localhost:11434\";\nexport const DEFAULT_SMALL_MODEL = \"gemma3:latest\";\nexport const DEFAULT_LARGE_MODEL = \"gemma3:latest\";\nexport const DEFAULT_EMBEDDING_MODEL = \"nomic-embed-text:latest\";\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\" || !process.env) {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: SettingsProvider,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: SettingsProvider): string {\n const apiEndpoint =\n getSetting(runtime, \"OLLAMA_API_ENDPOINT\") ||\n getSetting(runtime, \"OLLAMA_API_URL\") ||\n DEFAULT_OLLAMA_URL;\n\n if (!apiEndpoint.endsWith(\"/api\")) {\n return apiEndpoint.endsWith(\"/\") ? `${apiEndpoint}api` : `${apiEndpoint}/api`;\n }\n return apiEndpoint;\n}\n\nexport function getApiBase(runtime: SettingsProvider): string {\n const baseURL = getBaseURL(runtime);\n return baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n}\n\nexport function getSmallModel(runtime: SettingsProvider): string {\n return (\n getSetting(runtime, \"OLLAMA_SMALL_MODEL\") ||\n getSetting(runtime, \"SMALL_MODEL\") ||\n DEFAULT_SMALL_MODEL\n );\n}\n\nexport function getLargeModel(runtime: SettingsProvider): string {\n return (\n getSetting(runtime, \"OLLAMA_LARGE_MODEL\") ||\n getSetting(runtime, \"LARGE_MODEL\") ||\n DEFAULT_LARGE_MODEL\n );\n}\n\nexport function getEmbeddingModel(runtime: SettingsProvider): string {\n return getSetting(runtime, \"OLLAMA_EMBEDDING_MODEL\") || DEFAULT_EMBEDDING_MODEL;\n}\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,0BAA0B;AAEvC,SAAS,WAAW,CAAC,KAAiC;AAAA,EACrD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IACnD;AAAA,EACD;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAG/C,SAAS,UAAU,CACzB,SACA,KACA,cACqB;AAAA,EACrB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IAC1C,OAAO,OAAO,KAAK;AAAA,EACpB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGrB,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC7D,MAAM,cACL,WAAW,SAAS,qBAAqB,KACzC,WAAW,SAAS,gBAAgB,KACpC;AAAA,EAED,IAAI,CAAC,YAAY,SAAS,MAAM,GAAG;AAAA,IAClC,OAAO,YAAY,SAAS,GAAG,IAC5B,GAAG,mBACH,GAAG;AAAA,EACP;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC7D,MAAM,UAAU,WAAW,OAAO;AAAA,EAClC,OAAO,QAAQ,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA;AAGnD,SAAS,aAAa,CAAC,SAAmC;AAAA,EAChE,OACC,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIK,SAAS,aAAa,CAAC,SAAmC;AAAA,EAChE,OACC,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIK,SAAS,iBAAiB,CAAC,SAAmC;AAAA,EACpE,OACC,WAAW,SAAS,wBAAwB,KAAK;AAAA;",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,0BAA0B;AAEvC,SAAS,WAAW,CAAC,KAAiC;AAAA,EACpD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAGhD,SAAS,UAAU,CACxB,SACA,KACA,cACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGtB,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC5D,MAAM,cACJ,WAAW,SAAS,qBAAqB,KACzC,WAAW,SAAS,gBAAgB,KACpC;AAAA,EAEF,IAAI,CAAC,YAAY,SAAS,MAAM,GAAG;AAAA,IACjC,OAAO,YAAY,SAAS,GAAG,IAAI,GAAG,mBAAmB,GAAG;AAAA,EAC9D;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC5D,MAAM,UAAU,WAAW,OAAO;AAAA,EAClC,OAAO,QAAQ,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA;AAGpD,SAAS,aAAa,CAAC,SAAmC;AAAA,EAC/D,OACE,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIG,SAAS,aAAa,CAAC,SAAmC;AAAA,EAC/D,OACE,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIG,SAAS,iBAAiB,CAAC,SAAmC;AAAA,EACnE,OAAO,WAAW,SAAS,wBAAwB,KAAK;AAAA;",
8
8
  "debugId": "5FB0BA3DB006FDFB64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../../generated/specs/specs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AACX,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAA4B,CAAC;AAC5E,eAAO,MAAM,aAAa,EAAE,SAAS,SAAS,EAA2B,CAAC;AAC1E,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EACvB,CAAC;AAC7B,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EACvB,CAAC;AAC5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,YAAY,EACvB,CAAC;AAC/B,eAAO,MAAM,gBAAgB,EAAE,SAAS,YAAY,EACvB,CAAC"}
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../../generated/specs/specs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AACX,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAA4B,CAAC;AAC5E,eAAO,MAAM,aAAa,EAAE,SAAS,SAAS,EAA2B,CAAC;AAC1E,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EAAgC,CAAC;AACpF,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EAA+B,CAAC;AAClF,eAAO,MAAM,iBAAiB,EAAE,SAAS,YAAY,EAAkC,CAAC;AACxF,eAAO,MAAM,gBAAgB,EAAE,SAAS,YAAY,EAAiC,CAAC"}
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../utils/config.ts"],
4
4
  "sourcesContent": [
5
- "type SettingsProvider = {\n\tgetSetting: (key: string) => string | number | boolean | null;\n};\n\nexport const DEFAULT_OLLAMA_URL = \"http://localhost:11434\";\nexport const DEFAULT_SMALL_MODEL = \"gemma3:latest\";\nexport const DEFAULT_LARGE_MODEL = \"gemma3:latest\";\nexport const DEFAULT_EMBEDDING_MODEL = \"nomic-embed-text:latest\";\n\nfunction getEnvValue(key: string): string | undefined {\n\tif (typeof process === \"undefined\" || !process.env) {\n\t\treturn undefined;\n\t}\n\tconst value = process.env[key];\n\treturn value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n\truntime: SettingsProvider,\n\tkey: string,\n\tdefaultValue?: string,\n): string | undefined {\n\tconst value = runtime.getSetting(key);\n\tif (value !== undefined && value !== null) {\n\t\treturn String(value);\n\t}\n\treturn getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: SettingsProvider): string {\n\tconst apiEndpoint =\n\t\tgetSetting(runtime, \"OLLAMA_API_ENDPOINT\") ||\n\t\tgetSetting(runtime, \"OLLAMA_API_URL\") ||\n\t\tDEFAULT_OLLAMA_URL;\n\n\tif (!apiEndpoint.endsWith(\"/api\")) {\n\t\treturn apiEndpoint.endsWith(\"/\")\n\t\t\t? `${apiEndpoint}api`\n\t\t\t: `${apiEndpoint}/api`;\n\t}\n\treturn apiEndpoint;\n}\n\nexport function getApiBase(runtime: SettingsProvider): string {\n\tconst baseURL = getBaseURL(runtime);\n\treturn baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n}\n\nexport function getSmallModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_SMALL_MODEL\") ||\n\t\tgetSetting(runtime, \"SMALL_MODEL\") ||\n\t\tDEFAULT_SMALL_MODEL\n\t);\n}\n\nexport function getLargeModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_LARGE_MODEL\") ||\n\t\tgetSetting(runtime, \"LARGE_MODEL\") ||\n\t\tDEFAULT_LARGE_MODEL\n\t);\n}\n\nexport function getEmbeddingModel(runtime: SettingsProvider): string {\n\treturn (\n\t\tgetSetting(runtime, \"OLLAMA_EMBEDDING_MODEL\") || DEFAULT_EMBEDDING_MODEL\n\t);\n}\n"
5
+ "type SettingsProvider = {\n getSetting: (key: string) => string | number | boolean | null;\n};\n\nexport const DEFAULT_OLLAMA_URL = \"http://localhost:11434\";\nexport const DEFAULT_SMALL_MODEL = \"gemma3:latest\";\nexport const DEFAULT_LARGE_MODEL = \"gemma3:latest\";\nexport const DEFAULT_EMBEDDING_MODEL = \"nomic-embed-text:latest\";\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\" || !process.env) {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: SettingsProvider,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: SettingsProvider): string {\n const apiEndpoint =\n getSetting(runtime, \"OLLAMA_API_ENDPOINT\") ||\n getSetting(runtime, \"OLLAMA_API_URL\") ||\n DEFAULT_OLLAMA_URL;\n\n if (!apiEndpoint.endsWith(\"/api\")) {\n return apiEndpoint.endsWith(\"/\") ? `${apiEndpoint}api` : `${apiEndpoint}/api`;\n }\n return apiEndpoint;\n}\n\nexport function getApiBase(runtime: SettingsProvider): string {\n const baseURL = getBaseURL(runtime);\n return baseURL.endsWith(\"/api\") ? baseURL.slice(0, -4) : baseURL;\n}\n\nexport function getSmallModel(runtime: SettingsProvider): string {\n return (\n getSetting(runtime, \"OLLAMA_SMALL_MODEL\") ||\n getSetting(runtime, \"SMALL_MODEL\") ||\n DEFAULT_SMALL_MODEL\n );\n}\n\nexport function getLargeModel(runtime: SettingsProvider): string {\n return (\n getSetting(runtime, \"OLLAMA_LARGE_MODEL\") ||\n getSetting(runtime, \"LARGE_MODEL\") ||\n DEFAULT_LARGE_MODEL\n );\n}\n\nexport function getEmbeddingModel(runtime: SettingsProvider): string {\n return getSetting(runtime, \"OLLAMA_EMBEDDING_MODEL\") || DEFAULT_EMBEDDING_MODEL;\n}\n"
6
6
  ],
7
- "mappings": ";AAIO,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,0BAA0B;AAEvC,SAAS,WAAW,CAAC,KAAiC;AAAA,EACrD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IACnD;AAAA,EACD;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAG/C,SAAS,UAAU,CACzB,SACA,KACA,cACqB;AAAA,EACrB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IAC1C,OAAO,OAAO,KAAK;AAAA,EACpB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGrB,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC7D,MAAM,cACL,WAAW,SAAS,qBAAqB,KACzC,WAAW,SAAS,gBAAgB,KACpC;AAAA,EAED,IAAI,CAAC,YAAY,SAAS,MAAM,GAAG;AAAA,IAClC,OAAO,YAAY,SAAS,GAAG,IAC5B,GAAG,mBACH,GAAG;AAAA,EACP;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC7D,MAAM,UAAU,WAAW,OAAO;AAAA,EAClC,OAAO,QAAQ,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA;AAGnD,SAAS,aAAa,CAAC,SAAmC;AAAA,EAChE,OACC,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIK,SAAS,aAAa,CAAC,SAAmC;AAAA,EAChE,OACC,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIK,SAAS,iBAAiB,CAAC,SAAmC;AAAA,EACpE,OACC,WAAW,SAAS,wBAAwB,KAAK;AAAA;",
7
+ "mappings": ";AAIO,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,0BAA0B;AAEvC,SAAS,WAAW,CAAC,KAAiC;AAAA,EACpD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAGhD,SAAS,UAAU,CACxB,SACA,KACA,cACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGtB,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC5D,MAAM,cACJ,WAAW,SAAS,qBAAqB,KACzC,WAAW,SAAS,gBAAgB,KACpC;AAAA,EAEF,IAAI,CAAC,YAAY,SAAS,MAAM,GAAG;AAAA,IACjC,OAAO,YAAY,SAAS,GAAG,IAAI,GAAG,mBAAmB,GAAG;AAAA,EAC9D;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,UAAU,CAAC,SAAmC;AAAA,EAC5D,MAAM,UAAU,WAAW,OAAO;AAAA,EAClC,OAAO,QAAQ,SAAS,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI;AAAA;AAGpD,SAAS,aAAa,CAAC,SAAmC;AAAA,EAC/D,OACE,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIG,SAAS,aAAa,CAAC,SAAmC;AAAA,EAC/D,OACE,WAAW,SAAS,oBAAoB,KACxC,WAAW,SAAS,aAAa,KACjC;AAAA;AAIG,SAAS,iBAAiB,CAAC,SAAmC;AAAA,EACnE,OAAO,WAAW,SAAS,wBAAwB,KAAK;AAAA;",
8
8
  "debugId": "6582A0D5713070FA64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../models/availability.ts"],"names":[],"mappings":"AAEA,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,OAAO,KAAK,GAAG,IAAI,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgCf"}
1
+ {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../models/availability.ts"],"names":[],"mappings":"AAEA,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,OAAO,KAAK,GAAG,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../models/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQxE,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,GACzC,OAAO,CAAC,MAAM,EAAE,CAAC,CA+CnB"}
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../models/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQxE,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC,CA+CnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../models/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AA6B3E,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAkB3D;AAED,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAkB3D"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../models/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AA6B3E,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAkB3D;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAkB3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../models/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAyCvE,wBAAsB,eAAe,CACpC,OAAO,EAAE,aAAa,EACtB,EAAE,MAAM,EAAE,aAAkB,EAAE,EAAE,kBAAkB,GAChD,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED,wBAAsB,eAAe,CACpC,OAAO,EAAE,aAAa,EACtB,EACC,MAAM,EACN,aAAkB,EAClB,SAAgB,EAChB,WAAiB,EACjB,gBAAsB,EACtB,eAAqB,GACrB,EAAE,kBAAkB,GACnB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../models/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAyCvE,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,EAAE,MAAM,EAAE,aAAkB,EAAE,EAAE,kBAAkB,GACjD,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,EACE,MAAM,EACN,aAAkB,EAClB,SAAgB,EAChB,WAAiB,EACjB,gBAAsB,EACtB,eAAqB,GACtB,EAAE,kBAAkB,GACpB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIX,MAAM,EAEN,MAAM,eAAe,CAAC;AAwBvB,eAAO,MAAM,YAAY,EAAE,MAuL1B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,MAAM,EAEP,MAAM,eAAe,CAAC;AAsBvB,eAAO,MAAM,YAAY,EAAE,MA+K1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,eAAe,EAAE,CAAC;CAC1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../utils/config.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG;IACvB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC9D,CAAC;AAEF,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAUjE,wBAAgB,UAAU,CACzB,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAY5D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAG5D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAM/D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAM/D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAInE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../utils/config.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAUjE,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAU5D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAG5D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAM/D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAM/D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAEnE"}
package/package.json CHANGED
@@ -1,136 +1,136 @@
1
1
  {
2
- "name": "@elizaos/plugin-ollama",
3
- "version": "2.0.0-alpha.12",
4
- "type": "module",
5
- "main": "dist/node/index.node.js",
6
- "module": "dist/node/index.node.js",
7
- "types": "dist/node/index.d.ts",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/elizaos-plugins/plugin-ollama.git"
11
- },
12
- "exports": {
13
- "./package.json": "./package.json",
14
- ".": {
15
- "types": "./dist/node/index.d.ts",
16
- "browser": {
17
- "types": "./dist/browser/index.d.ts",
18
- "import": "./dist/browser/index.browser.js",
19
- "default": "./dist/browser/index.browser.js"
20
- },
21
- "node": {
22
- "types": "./dist/node/index.d.ts",
23
- "import": "./dist/node/index.node.js",
24
- "default": "./dist/node/index.node.js"
25
- },
26
- "bun": {
27
- "types": "./dist/node/index.d.ts",
28
- "default": "./dist/node/index.node.js"
29
- },
30
- "require": "./dist/cjs/index.node.cjs",
31
- "default": "./dist/node/index.node.js"
32
- }
33
- },
34
- "files": [
35
- "dist"
36
- ],
37
- "sideEffects": false,
38
- "dependencies": {
39
- "@ai-sdk/ui-utils": "^1.2.8",
40
- "ai": "^4.3.9",
41
- "js-tiktoken": "^1.0.18",
42
- "ollama-ai-provider": "^1.2.0"
43
- },
44
- "devDependencies": {
45
- "@biomejs/biome": "2.4.2",
46
- "@types/node": "^25.0.3",
47
- "typescript": "^5.9.3",
48
- "@types/bun": "^1.3.11",
49
- "@elizaos/core": "2.0.0-alpha.98",
50
- "vitest": "^4.0.0"
51
- },
52
- "scripts": {
53
- "dev": "bun run build.ts --watch",
54
- "lint": "bunx @biomejs/biome check --write --unsafe .",
55
- "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo",
56
- "format": "bunx @biomejs/biome format --write .",
57
- "format:check": "bunx @biomejs/biome format .",
58
- "typecheck": "tsc --noEmit --noCheck -p tsconfig.json",
59
- "test": "vitest run __tests__/ --passWithNoTests",
60
- "test:unit": "vitest run __tests__/",
61
- "lint:check": "bunx @biomejs/biome check .",
62
- "build": "bun run build.ts",
63
- "build:ts": "bun run build.ts"
64
- },
65
- "publishConfig": {
66
- "access": "public"
67
- },
68
- "agentConfig": {
69
- "pluginType": "elizaos:plugin:1.0.0",
70
- "pluginParameters": {
71
- "OLLAMA_API_ENDPOINT": {
72
- "type": "string",
73
- "description": "Base URL for the Ollama API. The plugin will strip this to the domain part and append the necessary API paths.",
74
- "required": true,
75
- "default": "http://localhost:11434/api",
76
- "sensitive": false
77
- },
78
- "OLLAMA_SMALL_MODEL": {
79
- "type": "string",
80
- "description": "Name or tag of the small-sized Ollama model to use for text and object generation.",
81
- "required": false,
82
- "default": "gemma3:latest",
83
- "sensitive": false
84
- },
85
- "OLLAMA_MEDIUM_MODEL": {
86
- "type": "string",
87
- "description": "Name or tag of the medium-sized Ollama model (defined in config but not currently used).",
88
- "required": false,
89
- "sensitive": false
90
- },
91
- "OLLAMA_LARGE_MODEL": {
92
- "type": "string",
93
- "description": "Name or tag of the large-sized Ollama model to use for text and object generation.",
94
- "required": false,
95
- "default": "gemma3:latest",
96
- "sensitive": false
97
- },
98
- "OLLAMA_EMBEDDING_MODEL": {
99
- "type": "string",
100
- "description": "Name or tag of the Ollama model used to generate text embeddings.",
101
- "required": false,
102
- "default": "nomic-embed-text:latest",
103
- "sensitive": false
104
- },
105
- "SMALL_MODEL": {
106
- "type": "string",
107
- "description": "Fallback environment variable for specifying a small model if OLLAMA_SMALL_MODEL is not set.",
108
- "required": false,
109
- "default": "gemma3:latest",
110
- "sensitive": false
111
- },
112
- "LARGE_MODEL": {
113
- "type": "string",
114
- "description": "Fallback environment variable for specifying a large model if OLLAMA_LARGE_MODEL is not set.",
115
- "required": false,
116
- "default": "gemma3:latest",
117
- "sensitive": false
118
- }
119
- }
120
- },
121
- "gitHead": "646c632924826e2b75c2304a75ee56959fe4a460",
122
- "milady": {
123
- "platforms": [
124
- "browser",
125
- "node"
126
- ],
127
- "runtime": "both",
128
- "platformDetails": {
129
- "browser": "Browser-compatible build available via exports.browser",
130
- "node": "Node.js build available via exports.node"
131
- }
132
- },
133
- "peerDependencies": {
134
- "@elizaos/core": ">=2.0.0-alpha.98 <3.0.0"
135
- }
2
+ "name": "@elizaos/plugin-ollama",
3
+ "version": "2.0.0-alpha.14",
4
+ "type": "module",
5
+ "main": "dist/node/index.node.js",
6
+ "module": "dist/node/index.node.js",
7
+ "types": "dist/node/index.d.ts",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/elizaos-plugins/plugin-ollama.git"
11
+ },
12
+ "exports": {
13
+ "./package.json": "./package.json",
14
+ ".": {
15
+ "types": "./dist/node/index.d.ts",
16
+ "browser": {
17
+ "types": "./dist/browser/index.d.ts",
18
+ "import": "./dist/browser/index.browser.js",
19
+ "default": "./dist/browser/index.browser.js"
20
+ },
21
+ "node": {
22
+ "types": "./dist/node/index.d.ts",
23
+ "import": "./dist/node/index.node.js",
24
+ "default": "./dist/node/index.node.js"
25
+ },
26
+ "bun": {
27
+ "types": "./dist/node/index.d.ts",
28
+ "default": "./dist/node/index.node.js"
29
+ },
30
+ "require": "./dist/cjs/index.node.cjs",
31
+ "default": "./dist/node/index.node.js"
32
+ }
33
+ },
34
+ "files": [
35
+ "dist"
36
+ ],
37
+ "sideEffects": false,
38
+ "dependencies": {
39
+ "@ai-sdk/ui-utils": "^1.2.8",
40
+ "ai": "^4.3.9",
41
+ "js-tiktoken": "^1.0.18",
42
+ "ollama-ai-provider": "^1.2.0"
43
+ },
44
+ "devDependencies": {
45
+ "@biomejs/biome": "2.4.2",
46
+ "@types/bun": "^1.3.11",
47
+ "@types/node": "^25.0.3",
48
+ "typescript": "^5.9.3",
49
+ "@elizaos/core": "2.0.0-alpha.114",
50
+ "vitest": "^4.0.0"
51
+ },
52
+ "peerDependencies": {
53
+ "@elizaos/core": "2.0.0-alpha.114"
54
+ },
55
+ "scripts": {
56
+ "dev": "bun run build.ts --watch",
57
+ "lint": "bunx @biomejs/biome check --write --unsafe .",
58
+ "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo",
59
+ "format": "bunx @biomejs/biome format --write .",
60
+ "format:check": "bunx @biomejs/biome format .",
61
+ "typecheck": "tsc --noEmit --noCheck -p tsconfig.json",
62
+ "test": "vitest run __tests__/ --passWithNoTests",
63
+ "test:unit": "vitest run __tests__/",
64
+ "lint:check": "bunx @biomejs/biome check .",
65
+ "build": "bun run build.ts",
66
+ "build:ts": "bun run build.ts"
67
+ },
68
+ "publishConfig": {
69
+ "access": "public"
70
+ },
71
+ "agentConfig": {
72
+ "pluginType": "elizaos:plugin:1.0.0",
73
+ "pluginParameters": {
74
+ "OLLAMA_API_ENDPOINT": {
75
+ "type": "string",
76
+ "description": "Base URL for the Ollama API. The plugin will strip this to the domain part and append the necessary API paths.",
77
+ "required": true,
78
+ "default": "http://localhost:11434/api",
79
+ "sensitive": false
80
+ },
81
+ "OLLAMA_SMALL_MODEL": {
82
+ "type": "string",
83
+ "description": "Name or tag of the small-sized Ollama model to use for text and object generation.",
84
+ "required": false,
85
+ "default": "gemma3:latest",
86
+ "sensitive": false
87
+ },
88
+ "OLLAMA_MEDIUM_MODEL": {
89
+ "type": "string",
90
+ "description": "Name or tag of the medium-sized Ollama model (defined in config but not currently used).",
91
+ "required": false,
92
+ "sensitive": false
93
+ },
94
+ "OLLAMA_LARGE_MODEL": {
95
+ "type": "string",
96
+ "description": "Name or tag of the large-sized Ollama model to use for text and object generation.",
97
+ "required": false,
98
+ "default": "gemma3:latest",
99
+ "sensitive": false
100
+ },
101
+ "OLLAMA_EMBEDDING_MODEL": {
102
+ "type": "string",
103
+ "description": "Name or tag of the Ollama model used to generate text embeddings.",
104
+ "required": false,
105
+ "default": "nomic-embed-text:latest",
106
+ "sensitive": false
107
+ },
108
+ "SMALL_MODEL": {
109
+ "type": "string",
110
+ "description": "Fallback environment variable for specifying a small model if OLLAMA_SMALL_MODEL is not set.",
111
+ "required": false,
112
+ "default": "gemma3:latest",
113
+ "sensitive": false
114
+ },
115
+ "LARGE_MODEL": {
116
+ "type": "string",
117
+ "description": "Fallback environment variable for specifying a large model if OLLAMA_LARGE_MODEL is not set.",
118
+ "required": false,
119
+ "default": "gemma3:latest",
120
+ "sensitive": false
121
+ }
122
+ }
123
+ },
124
+ "gitHead": "646c632924826e2b75c2304a75ee56959fe4a460",
125
+ "milady": {
126
+ "platforms": [
127
+ "browser",
128
+ "node"
129
+ ],
130
+ "runtime": "both",
131
+ "platformDetails": {
132
+ "browser": "Browser-compatible build available via exports.browser",
133
+ "node": "Node.js build available via exports.node"
134
+ }
135
+ }
136
136
  }