@nemesis-oss/ollama-sdk 1.20.1 → 1.22.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/CHANGELOG.md +53 -8
- package/dist/{anthropic-C2-qaxjI.d.cts → anthropic-D8qPCPIr.d.cts} +41 -1
- package/dist/{anthropic-BFOC6eI7.d.ts → anthropic-DjdkzlIn.d.ts} +41 -1
- package/dist/generated-api.cjs +18 -0
- package/dist/generated-api.cjs.map +1 -1
- package/dist/generated-api.d.cts +48 -3
- package/dist/generated-api.d.ts +48 -3
- package/dist/generated-api.js +18 -1
- package/dist/generated-api.js.map +1 -1
- package/dist/index.cjs +47 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +47 -19
- package/dist/index.js.map +1 -1
- package/dist/mcp-generated.cjs +19 -1
- package/dist/mcp-generated.cjs.map +1 -1
- package/dist/mcp-generated.js +19 -1
- package/dist/mcp-generated.js.map +1 -1
- package/package.json +1 -1
package/dist/generated-api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OpenAIChatCompletionRequest, a as OpenAIChatCompletionResponse, b as OpenAIChatCompletionChunk, c as OpenAICompletionRequest, d as OpenAICompletionResponse, e as OpenAICompletionChunk, f as OpenAIEmbeddingRequest, g as OpenAIEmbeddingResponse, h as OpenAIListModelsResponse, i as OpenAIModelItem, j as OpenAIResponsesRequest, k as OpenAIResponsesResponse, l as OpenAIResponsesStreamEvent, A as AnthropicMessagesRequest, m as AnthropicMessagesResponse, n as AnthropicMessageStreamEvent } from './anthropic-
|
|
2
|
-
export { N as NativeApi } from './anthropic-
|
|
1
|
+
import { O as OpenAIChatCompletionRequest, a as OpenAIChatCompletionResponse, b as OpenAIChatCompletionChunk, c as OpenAICompletionRequest, d as OpenAICompletionResponse, e as OpenAICompletionChunk, f as OpenAIEmbeddingRequest, g as OpenAIEmbeddingResponse, h as OpenAIListModelsResponse, i as OpenAIModelItem, j as OpenAIResponsesRequest, k as OpenAIResponsesResponse, l as OpenAIResponsesStreamEvent, A as AnthropicMessagesRequest, m as AnthropicMessagesResponse, n as AnthropicMessageStreamEvent } from './anthropic-DjdkzlIn.js';
|
|
2
|
+
export { N as NativeApi } from './anthropic-DjdkzlIn.js';
|
|
3
3
|
import { O as OllamaRuntime } from './runtime-DPSrPwAa.js';
|
|
4
4
|
export { a as OperationDefinition } from './runtime-DPSrPwAa.js';
|
|
5
5
|
import './types-CnsZ24tm.js';
|
|
@@ -564,6 +564,29 @@ declare const webSearchOp: {
|
|
|
564
564
|
readonly domain: "native";
|
|
565
565
|
readonly notes: readonly ["Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.", "Requires an Ollama Cloud API key (set via OllamaClient credentials).", "Use OllamaClient.webSearch() — the generated NativeApi class does not expose this operation."];
|
|
566
566
|
};
|
|
567
|
+
declare const openaiAudioSpeechOp: {
|
|
568
|
+
readonly operationId: "openaiAudioSpeech";
|
|
569
|
+
readonly method: "POST";
|
|
570
|
+
readonly path: "/v1/audio/speech";
|
|
571
|
+
readonly environment: {
|
|
572
|
+
readonly local: true;
|
|
573
|
+
readonly cloud: true;
|
|
574
|
+
};
|
|
575
|
+
readonly transport: {
|
|
576
|
+
readonly mode: "json";
|
|
577
|
+
readonly streaming: false;
|
|
578
|
+
};
|
|
579
|
+
readonly capabilities: {};
|
|
580
|
+
readonly constraints: {
|
|
581
|
+
readonly minOllamaVersion: "0.40.8";
|
|
582
|
+
};
|
|
583
|
+
readonly status: {
|
|
584
|
+
readonly documented: true;
|
|
585
|
+
readonly experimental: true;
|
|
586
|
+
};
|
|
587
|
+
readonly domain: "openai";
|
|
588
|
+
readonly notes: readonly ["Generates audio with speech models; the response is a raw audio byte stream (16-bit mono, 24 kHz), not JSON/NDJSON/SSE — the generated runtime cannot transport it.", "Recorded for endpoint-discovery completeness and docs parity tracking; excluded from the generated OpenAIApi class and from MCP tools (binary-transport exclusion).", "The typed request shape is exported as OpenAISpeechRequest (src/integrations/openai.ts) for direct use until an audio transport lands."];
|
|
589
|
+
};
|
|
567
590
|
declare const openaiChatCompletionsOp: {
|
|
568
591
|
readonly operationId: "openaiChatCompletions";
|
|
569
592
|
readonly method: "POST";
|
|
@@ -1193,6 +1216,28 @@ declare const allOperations: readonly [{
|
|
|
1193
1216
|
};
|
|
1194
1217
|
readonly domain: "native";
|
|
1195
1218
|
readonly notes: readonly ["Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.", "Requires an Ollama Cloud API key (set via OllamaClient credentials).", "Use OllamaClient.webSearch() — the generated NativeApi class does not expose this operation."];
|
|
1219
|
+
}, {
|
|
1220
|
+
readonly operationId: "openaiAudioSpeech";
|
|
1221
|
+
readonly method: "POST";
|
|
1222
|
+
readonly path: "/v1/audio/speech";
|
|
1223
|
+
readonly environment: {
|
|
1224
|
+
readonly local: true;
|
|
1225
|
+
readonly cloud: true;
|
|
1226
|
+
};
|
|
1227
|
+
readonly transport: {
|
|
1228
|
+
readonly mode: "json";
|
|
1229
|
+
readonly streaming: false;
|
|
1230
|
+
};
|
|
1231
|
+
readonly capabilities: {};
|
|
1232
|
+
readonly constraints: {
|
|
1233
|
+
readonly minOllamaVersion: "0.40.8";
|
|
1234
|
+
};
|
|
1235
|
+
readonly status: {
|
|
1236
|
+
readonly documented: true;
|
|
1237
|
+
readonly experimental: true;
|
|
1238
|
+
};
|
|
1239
|
+
readonly domain: "openai";
|
|
1240
|
+
readonly notes: readonly ["Generates audio with speech models; the response is a raw audio byte stream (16-bit mono, 24 kHz), not JSON/NDJSON/SSE — the generated runtime cannot transport it.", "Recorded for endpoint-discovery completeness and docs parity tracking; excluded from the generated OpenAIApi class and from MCP tools (binary-transport exclusion).", "The typed request shape is exported as OpenAISpeechRequest (src/integrations/openai.ts) for direct use until an audio transport lands."];
|
|
1196
1241
|
}, {
|
|
1197
1242
|
readonly operationId: "openaiChatCompletions";
|
|
1198
1243
|
readonly method: "POST";
|
|
@@ -1346,4 +1391,4 @@ declare const allOperations: readonly [{
|
|
|
1346
1391
|
readonly notes: readonly ["tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.", "Nested cache_control fields under messages[].content[].cache_control are unsupported."];
|
|
1347
1392
|
}];
|
|
1348
1393
|
|
|
1349
|
-
export { AnthropicApi, OpenAIApi, allOperations, anthropicMessagesOp as anthropicMessages, balanceOp as balance, blobsOp as blobs, chatOp as chat, copyOp as copy, createOp as create, createBlobOp as createBlob, deleteOp as delete, embedOp as embed, generateOp as generate, openaiChatCompletionsOp as openaiChatCompletions, openaiCompletionsOp as openaiCompletions, openaiEmbeddingsOp as openaiEmbeddings, openaiModelsOp as openaiModels, openaiModelsGetOneOp as openaiModelsGetOne, openaiResponsesOp as openaiResponses, psOp as ps, pullOp as pull, pushOp as push, showOp as show, systemOneOp as systemOne, tagsOp as tags, usageOp as usage, versionOp as version, webFetchOp as webFetch, webSearchOp as webSearch };
|
|
1394
|
+
export { AnthropicApi, OpenAIApi, allOperations, anthropicMessagesOp as anthropicMessages, balanceOp as balance, blobsOp as blobs, chatOp as chat, copyOp as copy, createOp as create, createBlobOp as createBlob, deleteOp as delete, embedOp as embed, generateOp as generate, openaiAudioSpeechOp as openaiAudioSpeech, openaiChatCompletionsOp as openaiChatCompletions, openaiCompletionsOp as openaiCompletions, openaiEmbeddingsOp as openaiEmbeddings, openaiModelsOp as openaiModels, openaiModelsGetOneOp as openaiModelsGetOne, openaiResponsesOp as openaiResponses, psOp as ps, pullOp as pull, pushOp as push, showOp as show, systemOneOp as systemOne, tagsOp as tags, usageOp as usage, versionOp as version, webFetchOp as webFetch, webSearchOp as webSearch };
|
package/dist/generated-api.js
CHANGED
|
@@ -294,6 +294,22 @@ var webSearchOp = {
|
|
|
294
294
|
"Use OllamaClient.webSearch() \u2014 the generated NativeApi class does not expose this operation."
|
|
295
295
|
]
|
|
296
296
|
};
|
|
297
|
+
var openaiAudioSpeechOp = {
|
|
298
|
+
operationId: "openaiAudioSpeech",
|
|
299
|
+
method: "POST",
|
|
300
|
+
path: "/v1/audio/speech",
|
|
301
|
+
environment: { local: true, cloud: true },
|
|
302
|
+
transport: { mode: "json", streaming: false },
|
|
303
|
+
capabilities: {},
|
|
304
|
+
constraints: { minOllamaVersion: "0.40.8" },
|
|
305
|
+
status: { documented: true, experimental: true },
|
|
306
|
+
domain: "openai",
|
|
307
|
+
notes: [
|
|
308
|
+
"Generates audio with speech models; the response is a raw audio byte stream (16-bit mono, 24 kHz), not JSON/NDJSON/SSE \u2014 the generated runtime cannot transport it.",
|
|
309
|
+
"Recorded for endpoint-discovery completeness and docs parity tracking; excluded from the generated OpenAIApi class and from MCP tools (binary-transport exclusion).",
|
|
310
|
+
"The typed request shape is exported as OpenAISpeechRequest (src/integrations/openai.ts) for direct use until an audio transport lands."
|
|
311
|
+
]
|
|
312
|
+
};
|
|
297
313
|
var openaiChatCompletionsOp = {
|
|
298
314
|
operationId: "openaiChatCompletions",
|
|
299
315
|
method: "POST",
|
|
@@ -402,6 +418,7 @@ var allOperations = [
|
|
|
402
418
|
versionOp,
|
|
403
419
|
webFetchOp,
|
|
404
420
|
webSearchOp,
|
|
421
|
+
openaiAudioSpeechOp,
|
|
405
422
|
openaiChatCompletionsOp,
|
|
406
423
|
openaiCompletionsOp,
|
|
407
424
|
openaiEmbeddingsOp,
|
|
@@ -571,6 +588,6 @@ var AnthropicApi = class {
|
|
|
571
588
|
}
|
|
572
589
|
};
|
|
573
590
|
|
|
574
|
-
export { AnthropicApi, NativeApi, OpenAIApi, allOperations, anthropicMessagesOp as anthropicMessages, balanceOp as balance, blobsOp as blobs, chatOp as chat, copyOp as copy, createOp as create, createBlobOp as createBlob, deleteOp as delete, embedOp as embed, generateOp as generate, openaiChatCompletionsOp as openaiChatCompletions, openaiCompletionsOp as openaiCompletions, openaiEmbeddingsOp as openaiEmbeddings, openaiModelsOp as openaiModels, openaiModelsGetOneOp as openaiModelsGetOne, openaiResponsesOp as openaiResponses, psOp as ps, pullOp as pull, pushOp as push, showOp as show, systemOneOp as systemOne, tagsOp as tags, usageOp as usage, versionOp as version, webFetchOp as webFetch, webSearchOp as webSearch };
|
|
591
|
+
export { AnthropicApi, NativeApi, OpenAIApi, allOperations, anthropicMessagesOp as anthropicMessages, balanceOp as balance, blobsOp as blobs, chatOp as chat, copyOp as copy, createOp as create, createBlobOp as createBlob, deleteOp as delete, embedOp as embed, generateOp as generate, openaiAudioSpeechOp as openaiAudioSpeech, openaiChatCompletionsOp as openaiChatCompletions, openaiCompletionsOp as openaiCompletions, openaiEmbeddingsOp as openaiEmbeddings, openaiModelsOp as openaiModels, openaiModelsGetOneOp as openaiModelsGetOne, openaiResponsesOp as openaiResponses, psOp as ps, pullOp as pull, pushOp as push, showOp as show, systemOneOp as systemOne, tagsOp as tags, usageOp as usage, versionOp as version, webFetchOp as webFetch, webSearchOp as webSearch };
|
|
575
592
|
//# sourceMappingURL=generated-api.js.map
|
|
576
593
|
//# sourceMappingURL=generated-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/api/operations.ts","../src/generated/api/native-api.ts","../src/generated/api/openai-api.ts","../src/generated/api/anthropic-api.ts"],"names":[],"mappings":"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","file":"generated-api.js","sourcesContent":["/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each OperationDefinition captures what Ollama exposes; the runtime\n * in src/generated/runtime/runtime.ts captures how the SDK behaves.\n */\n\nimport type { OperationDefinition } from '../runtime/operation-definition.js';\n\nexport const balanceOp = {\n operationId: 'balance',\n method: 'GET',\n path: '/api/balance',\n response: { $ref: '#/schemas/BalanceResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Takes no parameters. For usage history see the usage operation.',\n 'Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.',\n 'Use OllamaClient.balance() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const blobsOp = {\n operationId: 'blobs',\n method: 'HEAD',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const chatOp = {\n operationId: 'chat',\n method: 'POST',\n path: '/api/chat',\n request: { $ref: '#/schemas/ChatRequest' },\n response: { $ref: '#/schemas/ChatResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Use /api/show to discover model-specific thinking values and defaults.',\n 'Structured output (format field) is rejected by Ollama Cloud.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const copyOp = {\n operationId: 'copy',\n method: 'POST',\n path: '/api/copy',\n request: { $ref: '#/schemas/CopyRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const createOp = {\n operationId: 'create',\n method: 'POST',\n path: '/api/create',\n request: { $ref: '#/schemas/CreateRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: { thinking: 'unsupported', tools: 'unsupported' },\n status: { documented: true },\n domain: 'native',\n notes: ['Model creation is local-only; Ollama Cloud does not support it.'],\n} as const satisfies OperationDefinition;\n\nexport const createBlobOp = {\n operationId: 'createBlob',\n method: 'POST',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'POST endpoint for blob creation; takes a binary body (application/octet-stream).',\n 'Handled by OllamaClient.createBlob() — the generated NativeApi does not expose this operation because the runtime JSON-encodes request bodies.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const deleteOp = {\n operationId: 'delete',\n method: 'DELETE',\n path: '/api/delete',\n request: { $ref: '#/schemas/DeleteRequest' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const embedOp = {\n operationId: 'embed',\n method: 'POST',\n path: '/api/embed',\n request: { $ref: '#/schemas/EmbedRequest' },\n response: { $ref: '#/schemas/EmbedResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: { embeddings: 'supported' },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const generateOp = {\n operationId: 'generate',\n method: 'POST',\n path: '/api/generate',\n request: { $ref: '#/schemas/GenerateRequest' },\n response: { $ref: '#/schemas/GenerateResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n vision: 'supported',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const psOp = {\n operationId: 'ps',\n method: 'GET',\n path: '/api/ps',\n response: { $ref: '#/schemas/PsResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pullOp = {\n operationId: 'pull',\n method: 'POST',\n path: '/api/pull',\n request: { $ref: '#/schemas/PullRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pushOp = {\n operationId: 'push',\n method: 'POST',\n path: '/api/push',\n request: { $ref: '#/schemas/PushRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const showOp = {\n operationId: 'show',\n method: 'POST',\n path: '/api/show',\n request: { $ref: '#/schemas/ShowRequest' },\n response: { $ref: '#/schemas/ShowResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings).',\n ],\n} as const satisfies OperationDefinition;\n\nexport const systemOneOp = {\n operationId: 'systemOne',\n method: 'POST',\n path: '/v1/systemone',\n request: { $ref: '#/schemas/SystemOneRequest' },\n response: { $ref: '#/schemas/SystemOneResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {\n thinking: 'unsupported',\n tools: 'unsupported',\n vision: 'model-dependent',\n structuredOutput: 'unsupported',\n logprobs: 'unsupported',\n embeddings: 'unsupported',\n },\n constraints: {\n minOllamaVersion: '0.35.0',\n maxRequestBytes: 65536,\n maxRequestBytesWithImages: 33554432,\n },\n status: { documented: true, experimental: true },\n domain: 'native',\n notes: [\n 'Local and cloud: model accepts cloud models (e.g. clef:cloud); cloud models require Ollama >= 0.40.5 or the hosted https://ollama.com endpoint.',\n 'Local dual cap: text and schema (excluding images) within 64 KiB AND the whole request within 32 MiB, including base64 and JSON overhead.',\n \"Cloud requests: paid plan or usage credits required; up to 64 questions named with up to 100 ASCII letters, digits, `_`, `.`, or `-`; up to 4 images of at most 4 MiB and 16 megapixels each (8 MiB total); requests within 13 MiB; input within the model's 65,536-token context window.\",\n '401 when a cloud model is requested without signing in or with an invalid API key (through a local server the response includes a signin_url); 402 when the cloud model is not included in the Free plan or a payment fails.',\n 'No tools, no generation controls (temperature, top_p, etc.).',\n 'Vision is model-dependent: images are accepted by vision-weighted models (Clef/Clef Flash) but not by text-only models.',\n 'Experimental: behavioral surface may change between Ollama releases.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const tagsOp = {\n operationId: 'tags',\n method: 'GET',\n path: '/api/tags',\n response: { $ref: '#/schemas/ListResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const usageOp = {\n operationId: 'usage',\n method: 'GET',\n path: '/api/usage',\n response: { $ref: '#/schemas/UsageResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Query parameters (not modeled by the generated runtime): range = 24h | 7d | 30d (server default 7d), scope = self | team (server default self; team scope requires a team admin), group_by = model (2026-10-22 pin: upstream 2476d5e — groups totals into per-model UsageGroup entries, up to 10 ranked by usage_usd or request_count, with a remainder bucket for the rest).',\n 'Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.',\n 'Use OllamaClient.usage() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const versionOp = {\n operationId: 'version',\n method: 'GET',\n path: '/api/version',\n response: { $ref: '#/schemas/VersionResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const webFetchOp = {\n operationId: 'webFetch',\n method: 'POST',\n path: '/api/web_fetch',\n request: { $ref: '#/schemas/WebFetchRequest' },\n response: { $ref: '#/schemas/WebFetchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webFetch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const webSearchOp = {\n operationId: 'webSearch',\n method: 'POST',\n path: '/api/web_search',\n request: { $ref: '#/schemas/WebSearchRequest' },\n response: { $ref: '#/schemas/WebSearchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webSearch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiChatCompletionsOp = {\n operationId: 'openaiChatCompletions',\n method: 'POST',\n path: '/v1/chat/completions',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: 'unsupported',\n },\n status: { documented: true },\n domain: 'openai',\n notes: [\n 'Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiCompletionsOp = {\n operationId: 'openaiCompletions',\n method: 'POST',\n path: '/v1/completions',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { logprobs: 'unsupported' },\n status: { documented: true },\n domain: 'openai',\n} as const satisfies OperationDefinition;\n\nexport const openaiEmbeddingsOp = {\n operationId: 'openaiEmbeddings',\n method: 'POST',\n path: '/v1/embeddings',\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: { embeddings: 'supported' },\n status: { documented: true },\n domain: 'openai',\n} as const satisfies OperationDefinition;\n\nexport const openaiModelsOp = {\n operationId: 'openaiModels',\n method: 'GET',\n path: '/v1/models',\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'openai',\n} as const satisfies OperationDefinition;\n\nexport const openaiModelsGetOneOp = {\n operationId: 'openaiModelsGetOne',\n method: 'GET',\n path: '/v1/models/{model}',\n environment: { local: true, cloud: true },\n parameters: [{ name: 'model', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'openai',\n notes: ['Returns metadata for a single OpenAI-compat model by id.'],\n} as const satisfies OperationDefinition;\n\nexport const openaiResponsesOp = {\n operationId: 'openaiResponses',\n method: 'POST',\n path: '/v1/responses',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'openai',\n notes: [\n 'Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const anthropicMessagesOp = {\n operationId: 'anthropicMessages',\n method: 'POST',\n path: '/v1/messages',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'anthropic',\n notes: [\n \"tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.\",\n 'Nested cache_control fields under messages[].content[].cache_control are unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const allOperations = [\n balanceOp,\n blobsOp,\n chatOp,\n copyOp,\n createOp,\n createBlobOp,\n deleteOp,\n embedOp,\n generateOp,\n psOp,\n pullOp,\n pushOp,\n showOp,\n systemOneOp,\n tagsOp,\n usageOp,\n versionOp,\n webFetchOp,\n webSearchOp,\n openaiChatCompletionsOp,\n openaiCompletionsOp,\n openaiEmbeddingsOp,\n openaiModelsOp,\n openaiModelsGetOneOp,\n openaiResponsesOp,\n anthropicMessagesOp,\n] as const;\n","/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each generated class delegates to OllamaRuntime — the runtime owns\n * transport, retry, streaming, telemetry, and error handling.\n */\n\nimport type { OllamaRuntime } from '../runtime/runtime.js';\nimport type {\n ChatRequest,\n ChatResponse,\n CopyRequest,\n CreateRequest,\n DeleteRequest,\n EmbedRequest,\n EmbedResponse,\n GenerateRequest,\n GenerateResponse,\n ListResponse,\n PsResponse,\n PullRequest,\n PushRequest,\n ShowRequest,\n ShowResponse,\n StatusResponse,\n SystemOneRequest,\n SystemOneResponse,\n VersionResponse,\n} from '../models/index.js';\nimport {\n blobsOp,\n chatOp,\n copyOp,\n createOp,\n deleteOp,\n embedOp,\n generateOp,\n psOp,\n pullOp,\n pushOp,\n showOp,\n systemOneOp,\n tagsOp,\n versionOp,\n} from './operations.js';\n\n/**\n * Generated API surface for Ollama's native domain.\n * Each method delegates to {@link OllamaRuntime.invoke}.\n */\nexport class NativeApi {\n constructor(private readonly runtime: OllamaRuntime) {}\n\n blobs(digest: string, options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: blobsOp,\n body: undefined,\n pathParams: { digest },\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n chat(request: ChatRequest & { stream?: false }): Promise<ChatResponse>;\n chat(\n request: ChatRequest & { stream: true },\n ): Promise<AsyncGenerator<ChatResponse, void, undefined>>;\n chat(\n request: ChatRequest,\n ): Promise<ChatResponse | AsyncGenerator<ChatResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: chatOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n copy(request: CopyRequest): Promise<StatusResponse> {\n return this.runtime.invoke({\n operation: copyOp,\n body: request,\n });\n }\n\n create(request: CreateRequest & { stream?: false }): Promise<StatusResponse>;\n create(\n request: CreateRequest & { stream: true },\n ): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n create(\n request: CreateRequest,\n ): Promise<StatusResponse | AsyncGenerator<StatusResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: createOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n delete(request: DeleteRequest): Promise<unknown> {\n return this.runtime.invoke({\n operation: deleteOp,\n body: request,\n });\n }\n\n embed(request: EmbedRequest): Promise<EmbedResponse> {\n return this.runtime.invoke({\n operation: embedOp,\n body: request,\n });\n }\n\n generate(request: GenerateRequest & { stream?: false }): Promise<GenerateResponse>;\n generate(\n request: GenerateRequest & { stream: true },\n ): Promise<AsyncGenerator<GenerateResponse, void, undefined>>;\n generate(\n request: GenerateRequest,\n ): Promise<GenerateResponse | AsyncGenerator<GenerateResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: generateOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n ps(options?: { signal?: AbortSignal }): Promise<PsResponse> {\n return this.runtime.invoke({\n operation: psOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n pull(request: PullRequest & { stream?: false }): Promise<StatusResponse>;\n pull(\n request: PullRequest & { stream: true },\n ): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n pull(\n request: PullRequest,\n ): Promise<StatusResponse | AsyncGenerator<StatusResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: pullOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n push(request: PushRequest & { stream?: false }): Promise<StatusResponse>;\n push(\n request: PushRequest & { stream: true },\n ): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n push(\n request: PushRequest,\n ): Promise<StatusResponse | AsyncGenerator<StatusResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: pushOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n show(request: ShowRequest): Promise<ShowResponse> {\n return this.runtime.invoke({\n operation: showOp,\n body: request,\n });\n }\n\n systemOne(request: SystemOneRequest): Promise<SystemOneResponse> {\n return this.runtime.invoke({\n operation: systemOneOp,\n body: request,\n });\n }\n\n tags(options?: { signal?: AbortSignal }): Promise<ListResponse> {\n return this.runtime.invoke({\n operation: tagsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n version(options?: { signal?: AbortSignal }): Promise<VersionResponse> {\n return this.runtime.invoke({\n operation: versionOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n}\n","/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each generated class delegates to OllamaRuntime — the runtime owns\n * transport, retry, streaming, telemetry, and error handling.\n */\n\nimport type { OllamaRuntime } from '../runtime/runtime.js';\n// No model types referenced.\nimport type {\n OpenAIChatCompletionChunk,\n OpenAIChatCompletionRequest,\n OpenAIChatCompletionResponse,\n OpenAICompletionChunk,\n OpenAICompletionRequest,\n OpenAICompletionResponse,\n OpenAIEmbeddingRequest,\n OpenAIEmbeddingResponse,\n OpenAIListModelsResponse,\n OpenAIModelItem,\n OpenAIResponsesRequest,\n OpenAIResponsesResponse,\n OpenAIResponsesStreamEvent,\n} from '../../integrations/index.js';\nimport {\n openaiChatCompletionsOp,\n openaiCompletionsOp,\n openaiEmbeddingsOp,\n openaiModelsOp,\n openaiModelsGetOneOp,\n openaiResponsesOp,\n} from './operations.js';\n\n/**\n * Generated API surface for Ollama's openai domain.\n * Each method delegates to {@link OllamaRuntime.invoke}.\n */\nexport class OpenAIApi {\n constructor(private readonly runtime: OllamaRuntime) {}\n\n openaiChatCompletions(\n request: OpenAIChatCompletionRequest & { stream?: false },\n ): Promise<OpenAIChatCompletionResponse>;\n openaiChatCompletions(\n request: OpenAIChatCompletionRequest & { stream: true },\n ): Promise<AsyncGenerator<OpenAIChatCompletionChunk, void, undefined>>;\n openaiChatCompletions(\n request: OpenAIChatCompletionRequest,\n ): Promise<\n OpenAIChatCompletionResponse | AsyncGenerator<OpenAIChatCompletionChunk, void, undefined>\n > {\n return this.runtime.invoke({\n operation: openaiChatCompletionsOp,\n body: request,\n });\n }\n\n openaiCompletions(\n request: OpenAICompletionRequest & { stream?: false },\n ): Promise<OpenAICompletionResponse>;\n openaiCompletions(\n request: OpenAICompletionRequest & { stream: true },\n ): Promise<AsyncGenerator<OpenAICompletionChunk, void, undefined>>;\n openaiCompletions(\n request: OpenAICompletionRequest,\n ): Promise<OpenAICompletionResponse | AsyncGenerator<OpenAICompletionChunk, void, undefined>> {\n return this.runtime.invoke({\n operation: openaiCompletionsOp,\n body: request,\n });\n }\n\n openaiEmbeddings(request: OpenAIEmbeddingRequest): Promise<OpenAIEmbeddingResponse> {\n return this.runtime.invoke({\n operation: openaiEmbeddingsOp,\n body: request,\n });\n }\n\n openaiModels(options?: { signal?: AbortSignal }): Promise<OpenAIListModelsResponse> {\n return this.runtime.invoke({\n operation: openaiModelsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiModelsGetOne(model: string, options?: { signal?: AbortSignal }): Promise<OpenAIModelItem> {\n return this.runtime.invoke({\n operation: openaiModelsGetOneOp,\n body: undefined,\n pathParams: { model },\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiResponses(\n request: OpenAIResponsesRequest & { stream?: false },\n ): Promise<OpenAIResponsesResponse>;\n openaiResponses(\n request: OpenAIResponsesRequest & { stream: true },\n ): Promise<AsyncGenerator<OpenAIResponsesStreamEvent, void, undefined>>;\n openaiResponses(\n request: OpenAIResponsesRequest,\n ): Promise<\n OpenAIResponsesResponse | AsyncGenerator<OpenAIResponsesStreamEvent, void, undefined>\n > {\n return this.runtime.invoke({\n operation: openaiResponsesOp,\n body: request,\n });\n }\n}\n","/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each generated class delegates to OllamaRuntime — the runtime owns\n * transport, retry, streaming, telemetry, and error handling.\n */\n\nimport type { OllamaRuntime } from '../runtime/runtime.js';\n// No model types referenced.\nimport type {\n AnthropicMessageStreamEvent,\n AnthropicMessagesRequest,\n AnthropicMessagesResponse,\n} from '../../integrations/index.js';\nimport { anthropicMessagesOp } from './operations.js';\n\n/**\n * Generated API surface for Ollama's anthropic domain.\n * Each method delegates to {@link OllamaRuntime.invoke}.\n */\nexport class AnthropicApi {\n constructor(private readonly runtime: OllamaRuntime) {}\n\n anthropicMessages(\n request: AnthropicMessagesRequest & { stream?: false },\n ): Promise<AnthropicMessagesResponse>;\n anthropicMessages(\n request: AnthropicMessagesRequest & { stream: true },\n ): Promise<AsyncGenerator<AnthropicMessageStreamEvent, void, undefined>>;\n anthropicMessages(\n request: AnthropicMessagesRequest,\n ): Promise<\n AnthropicMessagesResponse | AsyncGenerator<AnthropicMessageStreamEvent, void, undefined>\n > {\n return this.runtime.invoke({\n operation: anthropicMessagesOp,\n body: request,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/api/operations.ts","../src/generated/api/native-api.ts","../src/generated/api/openai-api.ts","../src/generated/api/anthropic-api.ts"],"names":[],"mappings":"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","file":"generated-api.js","sourcesContent":["/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each OperationDefinition captures what Ollama exposes; the runtime\n * in src/generated/runtime/runtime.ts captures how the SDK behaves.\n */\n\nimport type { OperationDefinition } from '../runtime/operation-definition.js';\n\nexport const balanceOp = {\n operationId: 'balance',\n method: 'GET',\n path: '/api/balance',\n response: { $ref: '#/schemas/BalanceResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Takes no parameters. For usage history see the usage operation.',\n 'Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.',\n 'Use OllamaClient.balance() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const blobsOp = {\n operationId: 'blobs',\n method: 'HEAD',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const chatOp = {\n operationId: 'chat',\n method: 'POST',\n path: '/api/chat',\n request: { $ref: '#/schemas/ChatRequest' },\n response: { $ref: '#/schemas/ChatResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Use /api/show to discover model-specific thinking values and defaults.',\n 'Structured output (format field) is rejected by Ollama Cloud.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const copyOp = {\n operationId: 'copy',\n method: 'POST',\n path: '/api/copy',\n request: { $ref: '#/schemas/CopyRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const createOp = {\n operationId: 'create',\n method: 'POST',\n path: '/api/create',\n request: { $ref: '#/schemas/CreateRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: { thinking: 'unsupported', tools: 'unsupported' },\n status: { documented: true },\n domain: 'native',\n notes: ['Model creation is local-only; Ollama Cloud does not support it.'],\n} as const satisfies OperationDefinition;\n\nexport const createBlobOp = {\n operationId: 'createBlob',\n method: 'POST',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'POST endpoint for blob creation; takes a binary body (application/octet-stream).',\n 'Handled by OllamaClient.createBlob() — the generated NativeApi does not expose this operation because the runtime JSON-encodes request bodies.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const deleteOp = {\n operationId: 'delete',\n method: 'DELETE',\n path: '/api/delete',\n request: { $ref: '#/schemas/DeleteRequest' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const embedOp = {\n operationId: 'embed',\n method: 'POST',\n path: '/api/embed',\n request: { $ref: '#/schemas/EmbedRequest' },\n response: { $ref: '#/schemas/EmbedResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: { embeddings: 'supported' },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const generateOp = {\n operationId: 'generate',\n method: 'POST',\n path: '/api/generate',\n request: { $ref: '#/schemas/GenerateRequest' },\n response: { $ref: '#/schemas/GenerateResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n vision: 'supported',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const psOp = {\n operationId: 'ps',\n method: 'GET',\n path: '/api/ps',\n response: { $ref: '#/schemas/PsResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pullOp = {\n operationId: 'pull',\n method: 'POST',\n path: '/api/pull',\n request: { $ref: '#/schemas/PullRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pushOp = {\n operationId: 'push',\n method: 'POST',\n path: '/api/push',\n request: { $ref: '#/schemas/PushRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const showOp = {\n operationId: 'show',\n method: 'POST',\n path: '/api/show',\n request: { $ref: '#/schemas/ShowRequest' },\n response: { $ref: '#/schemas/ShowResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings).',\n ],\n} as const satisfies OperationDefinition;\n\nexport const systemOneOp = {\n operationId: 'systemOne',\n method: 'POST',\n path: '/v1/systemone',\n request: { $ref: '#/schemas/SystemOneRequest' },\n response: { $ref: '#/schemas/SystemOneResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {\n thinking: 'unsupported',\n tools: 'unsupported',\n vision: 'model-dependent',\n structuredOutput: 'unsupported',\n logprobs: 'unsupported',\n embeddings: 'unsupported',\n },\n constraints: {\n minOllamaVersion: '0.35.0',\n maxRequestBytes: 65536,\n maxRequestBytesWithImages: 33554432,\n },\n status: { documented: true, experimental: true },\n domain: 'native',\n notes: [\n 'Local and cloud: model accepts cloud models (e.g. clef:cloud); cloud models require Ollama >= 0.40.5 or the hosted https://ollama.com endpoint.',\n 'Local dual cap: text and schema (excluding images) within 64 KiB AND the whole request within 32 MiB, including base64 and JSON overhead.',\n \"Cloud requests: paid plan or usage credits required; up to 64 questions named with up to 100 ASCII letters, digits, `_`, `.`, or `-`; up to 4 images of at most 4 MiB and 16 megapixels each (8 MiB total); requests within 13 MiB; input within the model's 65,536-token context window.\",\n '401 when a cloud model is requested without signing in or with an invalid API key (through a local server the response includes a signin_url); 402 when the cloud model is not included in the Free plan or a payment fails.',\n 'No tools, no generation controls (temperature, top_p, etc.).',\n 'Vision is model-dependent: images are accepted by vision-weighted models (Clef/Clef Flash) but not by text-only models.',\n 'Experimental: behavioral surface may change between Ollama releases.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const tagsOp = {\n operationId: 'tags',\n method: 'GET',\n path: '/api/tags',\n response: { $ref: '#/schemas/ListResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const usageOp = {\n operationId: 'usage',\n method: 'GET',\n path: '/api/usage',\n response: { $ref: '#/schemas/UsageResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Query parameters (not modeled by the generated runtime): range = 24h | 7d | 30d (server default 7d), scope = self | team (server default self; team scope requires a team admin), group_by = model (2026-10-22 pin: upstream 2476d5e — groups totals into per-model UsageGroup entries, up to 10 ranked by usage_usd or request_count, with a remainder bucket for the rest).',\n 'Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.',\n 'Use OllamaClient.usage() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const versionOp = {\n operationId: 'version',\n method: 'GET',\n path: '/api/version',\n response: { $ref: '#/schemas/VersionResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const webFetchOp = {\n operationId: 'webFetch',\n method: 'POST',\n path: '/api/web_fetch',\n request: { $ref: '#/schemas/WebFetchRequest' },\n response: { $ref: '#/schemas/WebFetchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webFetch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const webSearchOp = {\n operationId: 'webSearch',\n method: 'POST',\n path: '/api/web_search',\n request: { $ref: '#/schemas/WebSearchRequest' },\n response: { $ref: '#/schemas/WebSearchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webSearch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiAudioSpeechOp = {\n operationId: 'openaiAudioSpeech',\n method: 'POST',\n path: '/v1/audio/speech',\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n constraints: { minOllamaVersion: '0.40.8' },\n status: { documented: true, experimental: true },\n domain: 'openai',\n notes: [\n 'Generates audio with speech models; the response is a raw audio byte stream (16-bit mono, 24 kHz), not JSON/NDJSON/SSE — the generated runtime cannot transport it.',\n 'Recorded for endpoint-discovery completeness and docs parity tracking; excluded from the generated OpenAIApi class and from MCP tools (binary-transport exclusion).',\n 'The typed request shape is exported as OpenAISpeechRequest (src/integrations/openai.ts) for direct use until an audio transport lands.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiChatCompletionsOp = {\n operationId: 'openaiChatCompletions',\n method: 'POST',\n path: '/v1/chat/completions',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: 'unsupported',\n },\n status: { documented: true },\n domain: 'openai',\n notes: [\n 'Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiCompletionsOp = {\n operationId: 'openaiCompletions',\n method: 'POST',\n path: '/v1/completions',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { logprobs: 'unsupported' },\n status: { documented: true },\n domain: 'openai',\n} as const satisfies OperationDefinition;\n\nexport const openaiEmbeddingsOp = {\n operationId: 'openaiEmbeddings',\n method: 'POST',\n path: '/v1/embeddings',\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: { embeddings: 'supported' },\n status: { documented: true },\n domain: 'openai',\n} as const satisfies OperationDefinition;\n\nexport const openaiModelsOp = {\n operationId: 'openaiModels',\n method: 'GET',\n path: '/v1/models',\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'openai',\n} as const satisfies OperationDefinition;\n\nexport const openaiModelsGetOneOp = {\n operationId: 'openaiModelsGetOne',\n method: 'GET',\n path: '/v1/models/{model}',\n environment: { local: true, cloud: true },\n parameters: [{ name: 'model', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'openai',\n notes: ['Returns metadata for a single OpenAI-compat model by id.'],\n} as const satisfies OperationDefinition;\n\nexport const openaiResponsesOp = {\n operationId: 'openaiResponses',\n method: 'POST',\n path: '/v1/responses',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'openai',\n notes: [\n 'Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const anthropicMessagesOp = {\n operationId: 'anthropicMessages',\n method: 'POST',\n path: '/v1/messages',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'anthropic',\n notes: [\n \"tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.\",\n 'Nested cache_control fields under messages[].content[].cache_control are unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const allOperations = [\n balanceOp,\n blobsOp,\n chatOp,\n copyOp,\n createOp,\n createBlobOp,\n deleteOp,\n embedOp,\n generateOp,\n psOp,\n pullOp,\n pushOp,\n showOp,\n systemOneOp,\n tagsOp,\n usageOp,\n versionOp,\n webFetchOp,\n webSearchOp,\n openaiAudioSpeechOp,\n openaiChatCompletionsOp,\n openaiCompletionsOp,\n openaiEmbeddingsOp,\n openaiModelsOp,\n openaiModelsGetOneOp,\n openaiResponsesOp,\n anthropicMessagesOp,\n] as const;\n","/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each generated class delegates to OllamaRuntime — the runtime owns\n * transport, retry, streaming, telemetry, and error handling.\n */\n\nimport type { OllamaRuntime } from '../runtime/runtime.js';\nimport type {\n ChatRequest,\n ChatResponse,\n CopyRequest,\n CreateRequest,\n DeleteRequest,\n EmbedRequest,\n EmbedResponse,\n GenerateRequest,\n GenerateResponse,\n ListResponse,\n PsResponse,\n PullRequest,\n PushRequest,\n ShowRequest,\n ShowResponse,\n StatusResponse,\n SystemOneRequest,\n SystemOneResponse,\n VersionResponse,\n} from '../models/index.js';\nimport {\n blobsOp,\n chatOp,\n copyOp,\n createOp,\n deleteOp,\n embedOp,\n generateOp,\n psOp,\n pullOp,\n pushOp,\n showOp,\n systemOneOp,\n tagsOp,\n versionOp,\n} from './operations.js';\n\n/**\n * Generated API surface for Ollama's native domain.\n * Each method delegates to {@link OllamaRuntime.invoke}.\n */\nexport class NativeApi {\n constructor(private readonly runtime: OllamaRuntime) {}\n\n blobs(digest: string, options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: blobsOp,\n body: undefined,\n pathParams: { digest },\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n chat(request: ChatRequest & { stream?: false }): Promise<ChatResponse>;\n chat(\n request: ChatRequest & { stream: true },\n ): Promise<AsyncGenerator<ChatResponse, void, undefined>>;\n chat(\n request: ChatRequest,\n ): Promise<ChatResponse | AsyncGenerator<ChatResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: chatOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n copy(request: CopyRequest): Promise<StatusResponse> {\n return this.runtime.invoke({\n operation: copyOp,\n body: request,\n });\n }\n\n create(request: CreateRequest & { stream?: false }): Promise<StatusResponse>;\n create(\n request: CreateRequest & { stream: true },\n ): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n create(\n request: CreateRequest,\n ): Promise<StatusResponse | AsyncGenerator<StatusResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: createOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n delete(request: DeleteRequest): Promise<unknown> {\n return this.runtime.invoke({\n operation: deleteOp,\n body: request,\n });\n }\n\n embed(request: EmbedRequest): Promise<EmbedResponse> {\n return this.runtime.invoke({\n operation: embedOp,\n body: request,\n });\n }\n\n generate(request: GenerateRequest & { stream?: false }): Promise<GenerateResponse>;\n generate(\n request: GenerateRequest & { stream: true },\n ): Promise<AsyncGenerator<GenerateResponse, void, undefined>>;\n generate(\n request: GenerateRequest,\n ): Promise<GenerateResponse | AsyncGenerator<GenerateResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: generateOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n ps(options?: { signal?: AbortSignal }): Promise<PsResponse> {\n return this.runtime.invoke({\n operation: psOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n pull(request: PullRequest & { stream?: false }): Promise<StatusResponse>;\n pull(\n request: PullRequest & { stream: true },\n ): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n pull(\n request: PullRequest,\n ): Promise<StatusResponse | AsyncGenerator<StatusResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: pullOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n push(request: PushRequest & { stream?: false }): Promise<StatusResponse>;\n push(\n request: PushRequest & { stream: true },\n ): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n push(\n request: PushRequest,\n ): Promise<StatusResponse | AsyncGenerator<StatusResponse, void, undefined>> {\n return this.runtime.invoke({\n operation: pushOp,\n body: request,\n streamingDefault: true,\n });\n }\n\n show(request: ShowRequest): Promise<ShowResponse> {\n return this.runtime.invoke({\n operation: showOp,\n body: request,\n });\n }\n\n systemOne(request: SystemOneRequest): Promise<SystemOneResponse> {\n return this.runtime.invoke({\n operation: systemOneOp,\n body: request,\n });\n }\n\n tags(options?: { signal?: AbortSignal }): Promise<ListResponse> {\n return this.runtime.invoke({\n operation: tagsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n version(options?: { signal?: AbortSignal }): Promise<VersionResponse> {\n return this.runtime.invoke({\n operation: versionOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n}\n","/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each generated class delegates to OllamaRuntime — the runtime owns\n * transport, retry, streaming, telemetry, and error handling.\n */\n\nimport type { OllamaRuntime } from '../runtime/runtime.js';\n// No model types referenced.\nimport type {\n OpenAIChatCompletionChunk,\n OpenAIChatCompletionRequest,\n OpenAIChatCompletionResponse,\n OpenAICompletionChunk,\n OpenAICompletionRequest,\n OpenAICompletionResponse,\n OpenAIEmbeddingRequest,\n OpenAIEmbeddingResponse,\n OpenAIListModelsResponse,\n OpenAIModelItem,\n OpenAIResponsesRequest,\n OpenAIResponsesResponse,\n OpenAIResponsesStreamEvent,\n} from '../../integrations/index.js';\nimport {\n openaiChatCompletionsOp,\n openaiCompletionsOp,\n openaiEmbeddingsOp,\n openaiModelsOp,\n openaiModelsGetOneOp,\n openaiResponsesOp,\n} from './operations.js';\n\n/**\n * Generated API surface for Ollama's openai domain.\n * Each method delegates to {@link OllamaRuntime.invoke}.\n */\nexport class OpenAIApi {\n constructor(private readonly runtime: OllamaRuntime) {}\n\n openaiChatCompletions(\n request: OpenAIChatCompletionRequest & { stream?: false },\n ): Promise<OpenAIChatCompletionResponse>;\n openaiChatCompletions(\n request: OpenAIChatCompletionRequest & { stream: true },\n ): Promise<AsyncGenerator<OpenAIChatCompletionChunk, void, undefined>>;\n openaiChatCompletions(\n request: OpenAIChatCompletionRequest,\n ): Promise<\n OpenAIChatCompletionResponse | AsyncGenerator<OpenAIChatCompletionChunk, void, undefined>\n > {\n return this.runtime.invoke({\n operation: openaiChatCompletionsOp,\n body: request,\n });\n }\n\n openaiCompletions(\n request: OpenAICompletionRequest & { stream?: false },\n ): Promise<OpenAICompletionResponse>;\n openaiCompletions(\n request: OpenAICompletionRequest & { stream: true },\n ): Promise<AsyncGenerator<OpenAICompletionChunk, void, undefined>>;\n openaiCompletions(\n request: OpenAICompletionRequest,\n ): Promise<OpenAICompletionResponse | AsyncGenerator<OpenAICompletionChunk, void, undefined>> {\n return this.runtime.invoke({\n operation: openaiCompletionsOp,\n body: request,\n });\n }\n\n openaiEmbeddings(request: OpenAIEmbeddingRequest): Promise<OpenAIEmbeddingResponse> {\n return this.runtime.invoke({\n operation: openaiEmbeddingsOp,\n body: request,\n });\n }\n\n openaiModels(options?: { signal?: AbortSignal }): Promise<OpenAIListModelsResponse> {\n return this.runtime.invoke({\n operation: openaiModelsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiModelsGetOne(model: string, options?: { signal?: AbortSignal }): Promise<OpenAIModelItem> {\n return this.runtime.invoke({\n operation: openaiModelsGetOneOp,\n body: undefined,\n pathParams: { model },\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiResponses(\n request: OpenAIResponsesRequest & { stream?: false },\n ): Promise<OpenAIResponsesResponse>;\n openaiResponses(\n request: OpenAIResponsesRequest & { stream: true },\n ): Promise<AsyncGenerator<OpenAIResponsesStreamEvent, void, undefined>>;\n openaiResponses(\n request: OpenAIResponsesRequest,\n ): Promise<\n OpenAIResponsesResponse | AsyncGenerator<OpenAIResponsesStreamEvent, void, undefined>\n > {\n return this.runtime.invoke({\n operation: openaiResponsesOp,\n body: request,\n });\n }\n}\n","/**\n * AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.\n * Source: contracts/ir/ollama.ir.json (canonical Ollama IR).\n * Each generated class delegates to OllamaRuntime — the runtime owns\n * transport, retry, streaming, telemetry, and error handling.\n */\n\nimport type { OllamaRuntime } from '../runtime/runtime.js';\n// No model types referenced.\nimport type {\n AnthropicMessageStreamEvent,\n AnthropicMessagesRequest,\n AnthropicMessagesResponse,\n} from '../../integrations/index.js';\nimport { anthropicMessagesOp } from './operations.js';\n\n/**\n * Generated API surface for Ollama's anthropic domain.\n * Each method delegates to {@link OllamaRuntime.invoke}.\n */\nexport class AnthropicApi {\n constructor(private readonly runtime: OllamaRuntime) {}\n\n anthropicMessages(\n request: AnthropicMessagesRequest & { stream?: false },\n ): Promise<AnthropicMessagesResponse>;\n anthropicMessages(\n request: AnthropicMessagesRequest & { stream: true },\n ): Promise<AsyncGenerator<AnthropicMessageStreamEvent, void, undefined>>;\n anthropicMessages(\n request: AnthropicMessagesRequest,\n ): Promise<\n AnthropicMessagesResponse | AsyncGenerator<AnthropicMessageStreamEvent, void, undefined>\n > {\n return this.runtime.invoke({\n operation: anthropicMessagesOp,\n body: request,\n });\n }\n}\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -2626,6 +2626,24 @@ function createTimeoutSignal(timeoutMs, userSignal) {
|
|
|
2626
2626
|
};
|
|
2627
2627
|
return { signal: controller.signal, cancel };
|
|
2628
2628
|
}
|
|
2629
|
+
function untilAborted(promise, signal, message) {
|
|
2630
|
+
if (signal === void 0) return promise;
|
|
2631
|
+
return new Promise((resolve, reject) => {
|
|
2632
|
+
const onAbort = () => reject(new OllamaAbortError(message));
|
|
2633
|
+
promise.then(
|
|
2634
|
+
(value) => {
|
|
2635
|
+
signal.removeEventListener("abort", onAbort);
|
|
2636
|
+
resolve(value);
|
|
2637
|
+
},
|
|
2638
|
+
(error) => {
|
|
2639
|
+
signal.removeEventListener("abort", onAbort);
|
|
2640
|
+
reject(error);
|
|
2641
|
+
}
|
|
2642
|
+
);
|
|
2643
|
+
if (signal.aborted) onAbort();
|
|
2644
|
+
else signal.addEventListener("abort", onAbort, { once: true });
|
|
2645
|
+
});
|
|
2646
|
+
}
|
|
2629
2647
|
|
|
2630
2648
|
// src/keep-alive.ts
|
|
2631
2649
|
var KEEP_ALIVE_UNLOAD = 0;
|
|
@@ -5653,15 +5671,13 @@ var FailoverHttpClient = class {
|
|
|
5653
5671
|
async request(options) {
|
|
5654
5672
|
const { model, ...httpOptions } = options;
|
|
5655
5673
|
return this.client.executeWithFailover(
|
|
5656
|
-
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
};
|
|
5661
|
-
return http.request(mergedOptions);
|
|
5662
|
-
},
|
|
5674
|
+
// The signal handed to the operation already combines the caller's signal
|
|
5675
|
+
// (passed below) with the failover scope and timeout. Using it, rather than
|
|
5676
|
+
// the caller's, keeps the request cancellable by `destroy()` as well.
|
|
5677
|
+
async (http, signal) => http.request({ ...httpOptions, signal }),
|
|
5663
5678
|
{
|
|
5664
5679
|
singleEndpoint: false,
|
|
5680
|
+
...httpOptions.signal !== void 0 ? { signal: httpOptions.signal } : {},
|
|
5665
5681
|
...model !== void 0 ? { model } : {}
|
|
5666
5682
|
}
|
|
5667
5683
|
);
|
|
@@ -6501,12 +6517,18 @@ var OllamaClient = class _OllamaClient {
|
|
|
6501
6517
|
*
|
|
6502
6518
|
* For the low-level generated API (without the generic wrapper), use
|
|
6503
6519
|
* `client.native.systemOne(request)` directly.
|
|
6520
|
+
*
|
|
6521
|
+
* @param options.signal Cancels the whole call, including the cloud-model
|
|
6522
|
+
* version probe that runs first, so the gate never extends a caller's
|
|
6523
|
+
* deadline. An abort rejects with an {@link OllamaAbortError}.
|
|
6504
6524
|
*/
|
|
6505
|
-
async systemOne(request) {
|
|
6506
|
-
await this.assertCloudModelSupported(request.model);
|
|
6507
|
-
return this.
|
|
6508
|
-
|
|
6509
|
-
|
|
6525
|
+
async systemOne(request, options = {}) {
|
|
6526
|
+
await this.assertCloudModelSupported(request.model, options.signal);
|
|
6527
|
+
return this.runtime.invoke({
|
|
6528
|
+
operation: systemOneOp,
|
|
6529
|
+
body: request,
|
|
6530
|
+
...options.signal !== void 0 ? { signal: options.signal } : {}
|
|
6531
|
+
});
|
|
6510
6532
|
}
|
|
6511
6533
|
/**
|
|
6512
6534
|
* Cloud-model version gate for {@link systemOne} — throws
|
|
@@ -6518,19 +6540,25 @@ var OllamaClient = class _OllamaClient {
|
|
|
6518
6540
|
* so a later gated call retries), so at most one extra round-trip happens
|
|
6519
6541
|
* across all gated calls.
|
|
6520
6542
|
*/
|
|
6521
|
-
async assertCloudModelSupported(model) {
|
|
6543
|
+
async assertCloudModelSupported(model, signal) {
|
|
6522
6544
|
if (!isCloudModel(model)) return;
|
|
6523
6545
|
const candidates = this.registry.candidates();
|
|
6524
6546
|
const baseUrl = candidates[0]?.baseUrl ?? DEFAULT_BASE_URL;
|
|
6525
6547
|
if (inferRuntimeMode(baseUrl) !== "local") return;
|
|
6548
|
+
if (this.serverVersionCache === void 0) {
|
|
6549
|
+
this.serverVersionCache = this.native.version().then((v) => v.version);
|
|
6550
|
+
}
|
|
6551
|
+
const probe = this.serverVersionCache;
|
|
6526
6552
|
let version;
|
|
6527
6553
|
try {
|
|
6528
|
-
|
|
6529
|
-
|
|
6530
|
-
|
|
6531
|
-
|
|
6532
|
-
|
|
6533
|
-
|
|
6554
|
+
version = await untilAborted(
|
|
6555
|
+
probe,
|
|
6556
|
+
signal,
|
|
6557
|
+
"System One call aborted while probing the Ollama server version"
|
|
6558
|
+
);
|
|
6559
|
+
} catch (error) {
|
|
6560
|
+
if (signal?.aborted) throw error;
|
|
6561
|
+
if (this.serverVersionCache === probe) this.serverVersionCache = void 0;
|
|
6534
6562
|
return;
|
|
6535
6563
|
}
|
|
6536
6564
|
if (version && compareOllamaVersions(version, CLOUD_MODEL_MIN_OLLAMA_VERSION) < 0) {
|