@zhivex-ai/ollama 0.3.14 → 0.4.0

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.
package/README.md CHANGED
@@ -13,7 +13,7 @@ bun add @zhivex-ai/sdk @zhivex-ai/ollama
13
13
  Start Ollama and pull the model before running the example:
14
14
 
15
15
  ```bash
16
- ollama pull llama3.2
16
+ ollama pull qwen3
17
17
  ```
18
18
 
19
19
  ```ts
@@ -25,17 +25,57 @@ const ollama = createOllama({
25
25
  });
26
26
 
27
27
  const result = await generateText({
28
- model: ollama("llama3.2"),
29
- prompt: "Explain why local inference is useful."
28
+ model: ollama("qwen3"),
29
+ prompt: "Explain why local inference is useful.",
30
+ reasoning: {
31
+ effort: "medium"
32
+ }
30
33
  });
31
34
 
32
35
  console.log(result.text);
33
36
  ```
34
37
 
35
- The adapter supports streaming, callable tools, JSON/structured output, image input for compatible models, and text embeddings through `ollama.embeddingModel(modelId)`. It does not expose provider-hosted tools, remote MCP, audio, files, or shared reasoning controls. Exact capabilities still depend on the locally installed Ollama model.
38
+ The adapter supports streaming, callable and parallel tools, JSON/structured output, image input, thinking, and text embeddings through `ollama.embeddingModel(modelId)`. Exact capabilities depend on the selected local or cloud model.
39
+
40
+ Tool-call arguments use Ollama's native JSON-object shape in both responses and follow-up assistant history. Legacy responses that encode arguments as JSON strings remain accepted. Streaming `{ "error": ... }` records are surfaced as provider errors even when the HTTP response already started with status 200.
41
+
42
+ The adapter targets `/api/chat`. Chat-native `logprobs` and `top_logprobs` are supported and validated; `/api/generate`-only `raw` and `template` options are rejected explicitly.
43
+
44
+ ## Thinking and tool loops
45
+
46
+ The shared reasoning contract maps `effort: "none"` to `think: false`. Recognized Qwen 3/3.5, DeepSeek R1/v3.1, and Gemma 4 models preserve the native `low`, `medium`, `high`, and `max` levels. GPT-OSS accepts only `low`, `medium`, or `high` and cannot disable thinking.
47
+
48
+ Returned `message.thinking` content is preserved as Ollama `provider-data`, including streamed deltas, and is sent back with assistant tool calls during multi-step loops. `budgetTokens`, reasoning `mode`/`context`, and hiding thinking while an explicit effort is active are rejected instead of being silently ignored.
49
+
50
+ Use either the shared `reasoning` option or native `providerOptions.think`, not both. Shared reasoning is advertised only for recognized thinking-model families; custom or newly released models can use `providerOptions.think` as the explicit escape hatch.
51
+
52
+ ## Ollama Cloud
53
+
54
+ The local daemon requires no API key. For direct Ollama Cloud access, use the official Cloud base URL and a key:
55
+
56
+ ```ts
57
+ const ollamaCloud = createOllama({
58
+ baseURL: "https://ollama.com/api",
59
+ apiKey: process.env.OLLAMA_API_KEY
60
+ });
61
+
62
+ const result = await generateText({
63
+ model: ollamaCloud("gpt-oss:120b"),
64
+ prompt: "Summarize this design.",
65
+ reasoning: { effort: "high" }
66
+ });
67
+ ```
68
+
69
+ `baseURL` may be the host root or end in `/api`; the adapter avoids duplicating the path. Direct `ollama.com` requests normally authenticate with `apiKey`, `OLLAMA_API_KEY`, or an explicit `Authorization` header. Custom headers can be provided through `createOllama({ headers })`, and an authenticated custom `fetch` remains supported for gateways that sign requests themselves.
70
+
71
+ Ollama Cloud does not currently support structured outputs or expose embedding models, so direct Cloud model instances advertise those capabilities as unavailable; model IDs tagged `cloud` or `*-cloud` also disable structured-output metadata. A signed-in local Ollama daemon can still proxy cloud models without passing a Cloud key to this SDK and can embed through locally installed models.
72
+
73
+ The adapter does not expose provider-hosted tools, Ollama's separate web-search/web-fetch APIs, remote MCP, audio, or files.
36
74
 
37
75
  `createOllama()` reads `OLLAMA_HOST` and otherwise defaults to `http://localhost:11434`. An explicit `baseURL` takes precedence.
38
76
 
77
+ Plain HTTP is accepted only for loopback Ollama endpoints. Remote endpoints require HTTPS unless a server-side integration explicitly sets `allowUnsafeEndpoints: true`.
78
+
39
79
  Repository and full documentation:
40
80
 
41
81
  - <https://github.com/Zhivex/zhivex-ai-sdk>
package/dist/index.d.ts CHANGED
@@ -1,12 +1,20 @@
1
1
  import { type CallableProviderAdapter, type ProviderAdapter } from "@zhivex-ai/core";
2
2
  export interface OllamaProviderOptions {
3
3
  baseURL?: string;
4
+ apiKey?: string;
5
+ headers?: HeadersInit;
4
6
  fetch?: typeof globalThis.fetch;
7
+ allowUnsafeEndpoints?: boolean;
5
8
  }
6
9
  export interface OllamaLanguageModelOptions {
7
- format?: "json" | Record<string, unknown> | string;
10
+ format?: "json" | Record<string, unknown>;
8
11
  keep_alive?: string | number;
12
+ think?: boolean | "low" | "medium" | "high" | "max";
13
+ logprobs?: boolean;
14
+ top_logprobs?: number;
15
+ /** @deprecated Ollama exposes `raw` only on `/api/generate`; this adapter uses `/api/chat`. */
9
16
  raw?: boolean;
17
+ /** @deprecated Ollama exposes `template` only on `/api/generate`; this adapter uses `/api/chat`. */
10
18
  template?: string;
11
19
  options?: Record<string, unknown>;
12
20
  [key: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAaL,KAAK,uBAAuB,EAM5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAoYD,eAAO,MAAM,YAAY,GAAI,UAAS,qBAA0B,KAAG,uBAAuB,GAAG,eAS5F,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAoBL,KAAK,uBAAuB,EAO5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oGAAoG;IACpG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAonBD,eAAO,MAAM,YAAY,GAAI,UAAS,qBAA0B,KAAG,uBAAuB,GAAG,eAoC5F,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { toJSONSchema } from "zod";
2
- import { ConfigurationError, ProviderHTTPError, isCallableToolDefinition, UnsupportedFeatureError, ValidationError, createProviderAdapter, normalizeFinishReason, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
2
+ import { ConfigurationError, ParseError, assertTrustedEndpoint, isLoopbackHostname, ProviderHTTPError, isCallableToolDefinition, UnsupportedFeatureError, ValidationError, createProviderAdapter, normalizeFinishReason, providerDataPart, readErrorBodyWithLimit, readJsonWithLimit, serializeJsonValue, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
3
3
  const capabilities = {
4
4
  streaming: true,
5
5
  tools: true,
@@ -26,6 +26,144 @@ const capabilities = {
26
26
  toolsets: false
27
27
  }
28
28
  };
29
+ const embeddingCapabilities = {
30
+ ...capabilities,
31
+ streaming: false,
32
+ tools: false,
33
+ structuredOutput: false,
34
+ jsonMode: false,
35
+ parallelToolCalls: false,
36
+ vision: false,
37
+ embeddings: true
38
+ };
39
+ const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
40
+ const parseToolArguments = (value) => {
41
+ let parsed = value === undefined ? {} : value;
42
+ if (typeof parsed === "string") {
43
+ try {
44
+ parsed = JSON.parse(parsed);
45
+ }
46
+ catch (error) {
47
+ throw new ParseError("Ollama tool call arguments contained invalid JSON.", { cause: error });
48
+ }
49
+ }
50
+ if (!isJsonObject(parsed)) {
51
+ throw new ValidationError("Ollama tool call arguments must be a JSON object.");
52
+ }
53
+ try {
54
+ return serializeJsonValue(parsed);
55
+ }
56
+ catch (error) {
57
+ throw new ValidationError("Ollama tool call arguments must be JSON-compatible.", { cause: error });
58
+ }
59
+ };
60
+ const thinkingFromMessage = (message) => message.parts
61
+ .filter((part) => {
62
+ if (part.type !== "provider-data" || part.provider !== "ollama") {
63
+ return false;
64
+ }
65
+ if (!isJsonObject(part.data)) {
66
+ return false;
67
+ }
68
+ const data = part.data;
69
+ return data.type === "thinking" && typeof data.thinking === "string";
70
+ })
71
+ .map((part) => part.type === "provider-data" && isJsonObject(part.data) ? String(part.data.thinking) : "")
72
+ .join("");
73
+ const isGptOssModel = (modelId) => /(?:^|[/:-])gpt-oss(?=$|[/:-])/i.test(modelId);
74
+ const isKnownThinkingModel = (modelId) => /(?:^|[/:-])(?:qwen3(?:\.5)?|gpt-oss|deepseek-(?:r1|v3\.1)|gemma4)(?=$|[/:-])/i.test(modelId);
75
+ const isCloudModel = (modelId) => /(?:^|:)(?:cloud|[^:]+-cloud)$/i.test(modelId);
76
+ const capabilitiesForModel = (modelId, directCloud) => ({
77
+ ...capabilities,
78
+ embeddings: directCloud ? false : capabilities.embeddings,
79
+ structuredOutput: directCloud || isCloudModel(modelId) ? false : capabilities.structuredOutput,
80
+ jsonMode: directCloud || isCloudModel(modelId) ? false : capabilities.jsonMode,
81
+ reasoning: isKnownThinkingModel(modelId),
82
+ reasoningEfforts: isKnownThinkingModel(modelId)
83
+ ? isGptOssModel(modelId)
84
+ ? ["low", "medium", "high"]
85
+ : ["none", "low", "medium", "high", "max"]
86
+ : undefined
87
+ });
88
+ const apiEndpoint = (baseURL, endpoint) => {
89
+ const url = new URL(baseURL);
90
+ const path = url.pathname.replace(/\/+$/, "");
91
+ url.pathname = `${path.endsWith("/api") ? path : `${path}/api`}/${endpoint}`.replace(/\/{2,}/g, "/");
92
+ url.search = "";
93
+ url.hash = "";
94
+ return url.toString();
95
+ };
96
+ const jsonHeaders = (configuredHeaders, apiKey) => {
97
+ const headers = new Headers(configuredHeaders);
98
+ headers.set("content-type", "application/json");
99
+ if (apiKey) {
100
+ headers.set("authorization", `Bearer ${apiKey}`);
101
+ }
102
+ return headers;
103
+ };
104
+ const providerErrorFromPayload = (payload, fallbackStatus, streaming) => {
105
+ const status = typeof payload.status === "number" && payload.status >= 400 && payload.status <= 599
106
+ ? payload.status
107
+ : fallbackStatus >= 400 && fallbackStatus <= 599
108
+ ? fallbackStatus
109
+ : 500;
110
+ return new ProviderHTTPError(streaming ? "Ollama streaming request failed." : "Ollama request failed.", status, { responseBody: JSON.stringify(payload) });
111
+ };
112
+ const validateNativeThink = (value) => {
113
+ if (value !== undefined &&
114
+ typeof value !== "boolean" &&
115
+ value !== "low" &&
116
+ value !== "medium" &&
117
+ value !== "high" &&
118
+ value !== "max") {
119
+ throw new ValidationError('Ollama "think" must be a boolean or "low", "medium", "high", or "max".');
120
+ }
121
+ };
122
+ const mapReasoning = (modelId, input) => {
123
+ const reasoning = input.reasoning;
124
+ const nativeThink = input.providerOptions?.think;
125
+ validateNativeThink(nativeThink);
126
+ if (!reasoning) {
127
+ if (isGptOssModel(modelId) && (typeof nativeThink === "boolean" || nativeThink === "max")) {
128
+ throw new UnsupportedFeatureError('Ollama GPT-OSS models require "think" to be "low", "medium", or "high".');
129
+ }
130
+ return nativeThink;
131
+ }
132
+ if (nativeThink !== undefined) {
133
+ throw new ValidationError('Do not combine shared "reasoning" with Ollama "providerOptions.think".');
134
+ }
135
+ if (!isKnownThinkingModel(modelId)) {
136
+ throw new UnsupportedFeatureError(`Provider "ollama" model "${modelId}" is not a recognized thinking model; use "providerOptions.think" for custom models.`);
137
+ }
138
+ if (reasoning.budgetTokens !== undefined) {
139
+ throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning.budgetTokens".');
140
+ }
141
+ if (reasoning.mode !== undefined || reasoning.context !== undefined) {
142
+ throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning.mode" or "reasoning.context".');
143
+ }
144
+ const effort = reasoning.effort;
145
+ if (effort === "minimal" || effort === "xhigh") {
146
+ throw new UnsupportedFeatureError(`Provider "ollama" does not support reasoning effort "${effort}".`);
147
+ }
148
+ if (effort === "none" && reasoning.includeThoughts) {
149
+ throw new UnsupportedFeatureError('Provider "ollama" cannot include thinking when reasoning effort is "none".');
150
+ }
151
+ if (effort && effort !== "none" && reasoning.includeThoughts === false) {
152
+ throw new UnsupportedFeatureError('Provider "ollama" cannot hide thinking while an explicit reasoning effort is enabled.');
153
+ }
154
+ const think = effort === "none"
155
+ ? false
156
+ : effort
157
+ ? effort
158
+ : reasoning.includeThoughts;
159
+ if (think === undefined) {
160
+ throw new ValidationError('The Ollama "reasoning" config must include "effort" or "includeThoughts".');
161
+ }
162
+ if (isGptOssModel(modelId) && (typeof think === "boolean" || think === "max")) {
163
+ throw new UnsupportedFeatureError('Ollama GPT-OSS models require reasoning effort "low", "medium", or "high".');
164
+ }
165
+ return think;
166
+ };
29
167
  const parseDataUrl = (value) => {
30
168
  const match = value.match(/^data:(image\/[a-zA-Z0-9.+-]+);base64,(.+)$/);
31
169
  if (!match) {
@@ -39,6 +177,7 @@ const mapMessages = (messages) => messages.map((message) => {
39
177
  return {
40
178
  role: "tool",
41
179
  tool_name: toolResult?.type === "tool-result" ? toolResult.toolResult.toolName : undefined,
180
+ tool_call_id: toolResult?.type === "tool-result" ? toolResult.toolResult.toolCallId : undefined,
42
181
  content: toolResult?.type === "tool-result"
43
182
  ? JSON.stringify(toolResult.toolResult.isError ? toolResult.toolResult.error : toolResult.toolResult.output)
44
183
  : ""
@@ -57,13 +196,16 @@ const mapMessages = (messages) => messages.map((message) => {
57
196
  id: part.toolCall.id ?? `${part.toolCall.name}-${index}`,
58
197
  type: "function",
59
198
  function: {
199
+ index,
60
200
  name: part.toolCall.name,
61
- arguments: JSON.stringify(part.toolCall.input)
201
+ arguments: parseToolArguments(part.toolCall.input)
62
202
  }
63
203
  }));
204
+ const thinking = message.role === "assistant" ? thinkingFromMessage(message) : "";
64
205
  return {
65
206
  role: message.role,
66
207
  content: text,
208
+ ...(thinking ? { thinking } : {}),
67
209
  ...(images.length ? { images } : {}),
68
210
  ...(toolCalls.length ? { tool_calls: toolCalls } : {})
69
211
  };
@@ -94,29 +236,41 @@ const mapFormat = (input) => {
94
236
  const parseAssistantMessage = (message) => ({
95
237
  role: "assistant",
96
238
  parts: [
239
+ ...(typeof message?.thinking === "string" && message.thinking
240
+ ? [providerDataPart("ollama", { type: "thinking", thinking: message.thinking })]
241
+ : []),
97
242
  ...(typeof message?.content === "string" && message.content ? [{ type: "text", text: message.content }] : []),
98
- ...((message?.tool_calls ?? []).map((call, index) => ({
243
+ ...((Array.isArray(message?.tool_calls) ? message.tool_calls : []).map((call, index) => ({
99
244
  type: "tool-call",
100
245
  toolCall: {
101
- id: call.id ?? `${call.function?.name ?? "tool"}-${index}`,
246
+ id: call.id ??
247
+ `${call.function?.name ?? "tool"}-${typeof call.function?.index === "number" ? call.function.index : index}`,
102
248
  name: call.function?.name ?? "tool",
103
- input: JSON.parse(call.function?.arguments ?? "{}")
249
+ input: parseToolArguments(call.function?.arguments)
104
250
  }
105
- })) ?? [])
251
+ })))
106
252
  ]
107
253
  });
108
254
  const parseJson = async (response) => {
109
255
  if (!response.ok) {
110
- const body = await response.text();
256
+ const body = await readErrorBodyWithLimit(response);
111
257
  throw new ProviderHTTPError(`Ollama request failed with status ${response.status}.`, response.status, {
112
258
  responseBody: body
113
259
  });
114
260
  }
115
- return response.json();
261
+ const json = await readJsonWithLimit(response, {
262
+ maxBytes: 128 * 1024 * 1024,
263
+ provider: "ollama",
264
+ endpoint: response.url || undefined
265
+ });
266
+ if (isJsonObject(json) && typeof json.error === "string") {
267
+ throw providerErrorFromPayload(json, response.status, false);
268
+ }
269
+ return json;
116
270
  };
117
271
  const parseJsonLines = async function* (response) {
118
272
  if (!response.ok) {
119
- const body = await response.text();
273
+ const body = await readErrorBodyWithLimit(response);
120
274
  throw new ProviderHTTPError(`Ollama request failed with status ${response.status}.`, response.status, {
121
275
  responseBody: body
122
276
  });
@@ -134,12 +288,21 @@ const parseJsonLines = async function* (response) {
134
288
  break;
135
289
  }
136
290
  buffer += decoder.decode(value, { stream: true });
291
+ if (buffer.length > 1024 * 1024) {
292
+ await reader.cancel("Ollama JSON line exceeded 1048576 characters.").catch(() => { });
293
+ throw new ValidationError("Ollama streaming response line exceeded 1048576 characters.");
294
+ }
137
295
  let newlineIndex = buffer.indexOf("\n");
138
296
  while (newlineIndex !== -1) {
139
297
  const line = buffer.slice(0, newlineIndex).trim();
140
298
  buffer = buffer.slice(newlineIndex + 1);
141
299
  if (line) {
142
- yield JSON.parse(line);
300
+ const json = JSON.parse(line);
301
+ if (isJsonObject(json) && typeof json.error === "string") {
302
+ await reader.cancel("Ollama streaming request failed.").catch(() => { });
303
+ throw providerErrorFromPayload(json, response.status, true);
304
+ }
305
+ yield json;
143
306
  }
144
307
  newlineIndex = buffer.indexOf("\n");
145
308
  }
@@ -147,7 +310,11 @@ const parseJsonLines = async function* (response) {
147
310
  buffer += decoder.decode();
148
311
  const finalLine = buffer.trim();
149
312
  if (finalLine) {
150
- yield JSON.parse(finalLine);
313
+ const json = JSON.parse(finalLine);
314
+ if (isJsonObject(json) && typeof json.error === "string") {
315
+ throw providerErrorFromPayload(json, response.status, true);
316
+ }
317
+ yield json;
151
318
  }
152
319
  }
153
320
  catch (error) {
@@ -176,21 +343,39 @@ const normalizeOllamaError = (error) => {
176
343
  class OllamaLanguageModel {
177
344
  modelId;
178
345
  baseURL;
346
+ apiKey;
347
+ configuredHeaders;
179
348
  fetcher;
180
349
  provider = "ollama";
181
- capabilities = capabilities;
182
- constructor(modelId, baseURL, fetcher) {
350
+ capabilities;
351
+ constructor(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud) {
183
352
  this.modelId = modelId;
184
353
  this.baseURL = baseURL;
354
+ this.apiKey = apiKey;
355
+ this.configuredHeaders = configuredHeaders;
185
356
  this.fetcher = fetcher;
357
+ this.capabilities = capabilitiesForModel(modelId, directCloud);
186
358
  }
187
359
  toRequestBody(input, stream) {
360
+ if (input.providerOptions?.raw !== undefined || input.providerOptions?.template !== undefined) {
361
+ throw new UnsupportedFeatureError('Ollama "raw" and "template" options belong to `/api/generate`; this adapter uses `/api/chat`.');
362
+ }
363
+ const providerFormat = input.providerOptions?.format;
364
+ if (typeof providerFormat === "string" && providerFormat !== "json") {
365
+ throw new ValidationError('Ollama chat "format" must be "json" or a JSON Schema object.');
366
+ }
367
+ const topLogprobs = input.providerOptions?.top_logprobs;
368
+ if (topLogprobs !== undefined &&
369
+ (typeof topLogprobs !== "number" || !Number.isInteger(topLogprobs) || topLogprobs < 0 || topLogprobs > 20)) {
370
+ throw new ValidationError('Ollama "top_logprobs" must be an integer between 0 and 20.');
371
+ }
188
372
  return {
189
373
  ...input.providerOptions,
190
374
  model: this.modelId,
191
375
  messages: mapMessages(input.messages),
192
376
  tools: mapTools(input.tools),
193
377
  format: mapFormat(input) ?? input.providerOptions?.format,
378
+ think: mapReasoning(this.modelId, input),
194
379
  options: {
195
380
  ...(typeof input.providerOptions?.options === "object" && input.providerOptions?.options
196
381
  ? input.providerOptions.options
@@ -204,12 +389,9 @@ class OllamaLanguageModel {
204
389
  async generate(input) {
205
390
  const { signal, cleanup } = withTimeoutSignal(input);
206
391
  try {
207
- if (input.reasoning) {
208
- throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning".');
209
- }
210
- const response = await withRetry(() => this.fetcher(`${this.baseURL}/api/chat`, {
392
+ const response = await withRetry(() => this.fetcher(apiEndpoint(this.baseURL, "chat"), {
211
393
  method: "POST",
212
- headers: { "content-type": "application/json" },
394
+ headers: jsonHeaders(this.configuredHeaders, this.apiKey),
213
395
  signal,
214
396
  body: JSON.stringify(this.toRequestBody(input, false))
215
397
  }), input);
@@ -242,12 +424,9 @@ class OllamaLanguageModel {
242
424
  async stream(input) {
243
425
  const { signal, cleanup } = withTimeoutSignal(input);
244
426
  try {
245
- if (input.reasoning) {
246
- throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning".');
247
- }
248
- const response = await withRetry(() => this.fetcher(`${this.baseURL}/api/chat`, {
427
+ const response = await withRetry(() => this.fetcher(apiEndpoint(this.baseURL, "chat"), {
249
428
  method: "POST",
250
- headers: { "content-type": "application/json" },
429
+ headers: jsonHeaders(this.configuredHeaders, this.apiKey),
251
430
  signal,
252
431
  body: JSON.stringify(this.toRequestBody(input, true))
253
432
  }), input);
@@ -268,6 +447,13 @@ class OllamaLanguageModel {
268
447
  toolCall: part.toolCall
269
448
  };
270
449
  }
450
+ if (part.type === "provider-data") {
451
+ yield {
452
+ type: "provider-data",
453
+ provider: part.provider,
454
+ data: part.data
455
+ };
456
+ }
271
457
  }
272
458
  if (json.done) {
273
459
  yield {
@@ -297,13 +483,21 @@ class OllamaLanguageModel {
297
483
  class OllamaEmbeddingModel {
298
484
  modelId;
299
485
  baseURL;
486
+ apiKey;
487
+ configuredHeaders;
300
488
  fetcher;
301
489
  provider = "ollama";
302
- capabilities = capabilities;
303
- constructor(modelId, baseURL, fetcher) {
490
+ capabilities;
491
+ constructor(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud) {
304
492
  this.modelId = modelId;
305
493
  this.baseURL = baseURL;
494
+ this.apiKey = apiKey;
495
+ this.configuredHeaders = configuredHeaders;
306
496
  this.fetcher = fetcher;
497
+ this.capabilities = {
498
+ ...embeddingCapabilities,
499
+ embeddings: !directCloud
500
+ };
307
501
  }
308
502
  async embed(input) {
309
503
  const { signal, cleanup } = withTimeoutSignal(input);
@@ -314,9 +508,9 @@ class OllamaEmbeddingModel {
314
508
  return value;
315
509
  });
316
510
  try {
317
- const response = await withRetry(() => this.fetcher(`${this.baseURL}/api/embed`, {
511
+ const response = await withRetry(() => this.fetcher(apiEndpoint(this.baseURL, "embed"), {
318
512
  method: "POST",
319
- headers: { "content-type": "application/json" },
513
+ headers: jsonHeaders(this.configuredHeaders, this.apiKey),
320
514
  signal,
321
515
  body: JSON.stringify({
322
516
  model: this.modelId,
@@ -342,12 +536,36 @@ class OllamaEmbeddingModel {
342
536
  }
343
537
  }
344
538
  export const createOllama = (options = {}) => {
345
- const baseURL = options.baseURL ?? process.env.OLLAMA_HOST ?? "http://localhost:11434";
539
+ const configuredBaseURL = options.baseURL ?? process.env.OLLAMA_HOST ?? "http://localhost:11434";
540
+ let candidate;
541
+ try {
542
+ candidate = new URL(configuredBaseURL);
543
+ }
544
+ catch (error) {
545
+ throw new ConfigurationError("Ollama baseURL must be an absolute URL.", { cause: error });
546
+ }
547
+ const baseURL = assertTrustedEndpoint(configuredBaseURL, {
548
+ label: "Ollama baseURL",
549
+ protocols: options.allowUnsafeEndpoints || candidate.protocol === "https:" || isLoopbackHostname(candidate.hostname)
550
+ ? ["http", "https"]
551
+ : ["https"],
552
+ allowLoopback: true,
553
+ allowUnsafe: options.allowUnsafeEndpoints
554
+ }).toString().replace(/\/+$/, "");
555
+ if (options.apiKey !== undefined && !options.apiKey.trim()) {
556
+ throw new ConfigurationError("Ollama apiKey must be a non-empty string when provided.");
557
+ }
558
+ const directCloud = candidate.hostname === "ollama.com";
559
+ const configuredHeaders = new Headers(options.headers);
560
+ const cloudEnvironmentKey = directCloud && !configuredHeaders.has("authorization")
561
+ ? process.env.OLLAMA_API_KEY?.trim() || undefined
562
+ : undefined;
563
+ const apiKey = options.apiKey?.trim() ?? cloudEnvironmentKey;
346
564
  const fetcher = options.fetch ?? globalThis.fetch;
347
565
  return createProviderAdapter({
348
566
  name: "ollama",
349
- languageModel: (modelId) => new OllamaLanguageModel(modelId, baseURL, fetcher),
350
- embeddingModel: (modelId) => new OllamaEmbeddingModel(modelId, baseURL, fetcher)
567
+ languageModel: (modelId) => new OllamaLanguageModel(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud),
568
+ embeddingModel: (modelId) => new OllamaEmbeddingModel(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud)
351
569
  });
352
570
  };
353
571
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAIlB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EAUlB,MAAM,iBAAiB,CAAC;AAwBzB,MAAM,YAAY,GAAsB;IACtC,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,IAAI;IACvB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAsB;IAC/C,GAAG,YAAY;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAoC,EAAE,CACxE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAA6B,EAAE;IACvE,IAAI,MAAM,GAAY,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAY,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,MAAM,CAA8B,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CAAC,qDAAqD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrG,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAqB,EAAE,EAAE,CACpD,OAAO,CAAC,KAAK;KACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvE,CAAC,CAAC;KACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3F;KACA,IAAI,CAAC,EAAE,CAAC,CAAC;AAEd,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE1F,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC/C,+EAA+E,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEhG,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEzF,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,WAAoB,EAAqB,EAAE,CAAC,CAAC;IAC1F,GAAG,YAAY;IACf,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU;IACzD,gBAAgB,EAAE,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB;IAC9F,QAAQ,EAAE,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ;IAC9E,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC;IACxC,gBAAgB,EAAE,oBAAoB,CAAC,OAAO,CAAC;QAC7C,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC3B,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;QAC5C,CAAC,CAAC,SAAS;CACd,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,QAA0B,EAAE,EAAE;IAClE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,GAAG,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,iBAA0B,EAAE,MAA0B,EAAE,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAChD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,OAAgC,EAAE,cAAsB,EAAE,SAAkB,EAAE,EAAE;IAChH,MAAM,MAAM,GACV,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;QAClF,CAAC,CAAC,OAAO,CAAC,MAAM;QAChB,CAAC,CAAC,cAAc,IAAI,GAAG,IAAI,cAAc,IAAI,GAAG;YAC9C,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,GAAG,CAAC;IACZ,OAAO,IAAI,iBAAiB,CAC1B,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,wBAAwB,EACzE,MAAM,EACN,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC1C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC7C,IACE,KAAK,KAAK,SAAS;QACnB,OAAO,KAAK,KAAK,SAAS;QAC1B,KAAK,KAAK,KAAK;QACf,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,MAAM;QAChB,KAAK,KAAK,KAAK,EACf,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,wEAAwE,CAAC,CAAC;IACtG,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,KAAyB,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;IACjD,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,uBAAuB,CAC/B,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,WAAsE,CAAC;IAChF,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CAAC,wEAAwE,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,OAAO,sFAAsF,CAC1H,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,uBAAuB,CAAC,8DAA8D,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,uBAAuB,CAAC,6EAA6E,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAAC,wDAAwD,MAAM,IAAI,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QACnD,MAAM,IAAI,uBAAuB,CAC/B,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QACvE,MAAM,IAAI,uBAAuB,CAC/B,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GACT,MAAM,KAAK,MAAM;QACf,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,eAAe,CAAC,2EAA2E,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,uBAAuB,CAC/B,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,oDAAoD,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAwB,EAAE,EAAE,CAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAC7E,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,UAAU,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC1F,YAAY,EAAE,UAAU,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/F,OAAO,EACL,UAAU,EAAE,IAAI,KAAK,aAAa;gBAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5G,CAAC,CAAC,EAAE;SACT,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;SACvB,MAAM,CAAC,CAAC,IAAI,EAAoE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SACxG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;SACzB,MAAM,CAAC,CAAC,IAAI,EAAqE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;SAC1G,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAyE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;SAClH,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE;QACxD,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SACnD;KACF,CAAC,CAAC,CAAC;IACN,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElF,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,CAAC,KAAkC,EAAE,EAAE,CACtD,KAAK;IACH,CAAC,CAAC,CAAC,GAAG,EAAE;QACJ,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAI,aAAa,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,uBAAuB,CAAC,kDAAkD,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,EAAE;IACN,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAE,EAAE;IAC9C,IAAI,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAAY,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,EAAE,WAAoB;IAC1B,KAAK,EAAE;QACL,GAAG,CAAC,OAAO,OAAO,EAAE,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;YAC3D,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtH,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YACpG,IAAI,EAAE,WAAoB;YAC1B,QAAQ,EAAE;gBACR,EAAE,EACA,IAAI,CAAC,EAAE;oBACP,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,IAC9B,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KACnE,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM;gBACnC,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;aACpD;SACF,CAAC,CAAC,CAAC;KACL;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,iBAAiB,CAAC,qCAAqC,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE;YACpG,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAM,QAAQ,EAAE;QAClD,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;QAC3B,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,SAAS;KACpC,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,SAAS,CAAC,EAAE,QAAkB;IACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,iBAAiB,CAAC,qCAAqC,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE;YACpG,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAE5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAChC,MAAM,MAAM,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrF,MAAM,IAAI,eAAe,CAAC,6DAA6D,CAAC,CAAC;YAC3F,CAAC;YAED,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAExC,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;oBACzC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACzD,MAAM,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACxE,MAAM,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC9D,CAAC;oBACD,MAAM,IAAI,CAAC;gBACb,CAAC;gBAED,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC;YAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CAAC,mDAAmD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC9C,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAClF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3F,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,mBAAmB;IAKZ;IACQ;IACA;IACA;IACA;IARV,QAAQ,GAAG,QAAQ,CAAC;IACpB,YAAY,CAAoB;IAEzC,YACW,OAAe,EACP,OAAe,EACf,MAA0B,EAC1B,iBAA0B,EAC1B,OAAgC,EACjD,WAAoB;QALX,YAAO,GAAP,OAAO,CAAQ;QACP,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAS;QAC1B,YAAO,GAAP,OAAO,CAAyB;QAGjD,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa,CAAC,KAAyB,EAAE,MAAe;QAC9D,IAAI,KAAK,CAAC,eAAe,EAAE,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9F,MAAM,IAAI,uBAAuB,CAC/B,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC;QACrD,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YACpE,MAAM,IAAI,eAAe,CAAC,8DAA8D,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC;QACxD,IACE,WAAW,KAAK,SAAS;YACzB,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,EAAE,CAAC,EAC1G,CAAC;YACD,MAAM,IAAI,eAAe,CAAC,4DAA4D,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO;YACL,GAAG,KAAK,CAAC,eAAe;YACxB,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM;YACzD,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;YACxC,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,KAAK,CAAC,eAAe,EAAE,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,eAAe,EAAE,OAAO;oBACtF,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO;oBAC/B,CAAC,CAAC,EAAE,CAAC;gBACP,WAAW,EAAE,KAAK,CAAC,SAAS;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B;YACD,MAAM;SACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAyB;QACtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC;gBACzD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACvD,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK;iBAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;iBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;iBACxB,IAAI,CAAC,EAAE,CAAC,CAAC;YAEZ,OAAO;gBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,IAAI;gBACJ,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACrD,oBAAoB,EAAE,IAAI,CAAC,WAAW;gBACtC,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,iBAAiB;oBACnC,YAAY,EAAE,IAAI,CAAC,UAAU;oBAC7B,WAAW,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;iBACpE;gBACD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC;gBACzD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACtD,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,OAAO,CAAC,KAAK,SAAS,CAAC;gBACrB,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAE7D,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;4BAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gCACtC,MAAM;oCACJ,IAAI,EAAE,YAAY;oCAClB,SAAS,EAAE,IAAI,CAAC,IAAI;iCACC,CAAC;4BAC1B,CAAC;4BAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCAC9B,MAAM;oCACJ,IAAI,EAAE,WAAW;oCACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iCACF,CAAC;4BAC1B,CAAC;4BAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gCAClC,MAAM;oCACJ,IAAI,EAAE,eAAe;oCACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oCACvB,IAAI,EAAE,IAAI,CAAC,IAAI;iCACM,CAAC;4BAC1B,CAAC;wBACH,CAAC;wBAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,MAAM;gCACJ,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;gCACrD,oBAAoB,EAAE,IAAI,CAAC,WAAW;gCACtC,KAAK,EAAE;oCACL,WAAW,EAAE,IAAI,CAAC,iBAAiB;oCACnC,YAAY,EAAE,IAAI,CAAC,UAAU;oCAC7B,WAAW,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;iCACpE;6BACoB,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAED,MAAM,oBAAoB;IAKb;IACQ;IACA;IACA;IACA;IARV,QAAQ,GAAG,QAAQ,CAAC;IACpB,YAAY,CAAoB;IAEzC,YACW,OAAe,EACP,OAAe,EACf,MAA0B,EAC1B,iBAA0B,EAC1B,OAAgC,EACjD,WAAoB;QALX,YAAO,GAAP,OAAO,CAAQ;QACP,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAS;QAC1B,YAAO,GAAP,OAAO,CAAyB;QAGjD,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,qBAAqB;YACxB,UAAU,EAAE,CAAC,WAAW;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAmH;QAC7H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,uBAAuB,CAAC,iEAAiE,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC;gBACzD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE,MAAM;iBACd,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;gBACjC,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,iBAAiB;oBACnC,WAAW,EAAE,IAAI,CAAC,iBAAiB;iBACpC;gBACD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAiC,EAAE,EAA6C,EAAE;IAC7G,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,wBAAwB,CAAC;IACjG,IAAI,SAAc,CAAC;IACnB,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,iBAAiB,EAAE;QACvD,KAAK,EAAE,gBAAgB;QACvB,SAAS,EACP,OAAO,CAAC,oBAAoB,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC;YACvG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,OAAO,CAAC;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,kBAAkB,CAAC,yDAAyD,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,KAAK,YAAY,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,mBAAmB,GACvB,WAAW,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS;QACjD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,mBAAmB,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CACzB,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,CAAC;QAC5F,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAC1B,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,CAAC;KAC9F,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/ollama",
3
- "version": "0.3.14",
3
+ "version": "0.4.0",
4
4
  "description": "Ollama adapter for Zhivex AI SDK.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@zhivex-ai/core": "^1.0.0",
44
+ "@zhivex-ai/core": "^1.2.0",
45
45
  "zod": "^4.4.3"
46
46
  }
47
47
  }