@nemesis-oss/ollama-sdk 1.4.0 → 1.5.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 +9 -0
- package/README.md +23 -2
- package/dist/{compose-DfAqKAFj.d.ts → compose-DLStUfaF.d.ts} +2 -2
- package/dist/{compose-BR70yb4W.d.cts → compose-DS-UWFx8.d.cts} +2 -2
- package/dist/generated-api.cjs +54 -11
- package/dist/generated-api.cjs.map +1 -1
- package/dist/generated-api.d.cts +4 -3
- package/dist/generated-api.d.ts +4 -3
- package/dist/generated-api.js +54 -11
- package/dist/generated-api.js.map +1 -1
- package/dist/generated-models-schemas.cjs +192 -192
- package/dist/generated-models-schemas.cjs.map +1 -1
- package/dist/generated-models-schemas.js +192 -192
- package/dist/generated-models-schemas.js.map +1 -1
- package/dist/generated-runtime.cjs +229 -9
- package/dist/generated-runtime.cjs.map +1 -1
- package/dist/generated-runtime.d.cts +35 -2
- package/dist/generated-runtime.d.ts +35 -2
- package/dist/generated-runtime.js +228 -10
- package/dist/generated-runtime.js.map +1 -1
- package/dist/index.cjs +403 -145
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +403 -146
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools.json +19 -70
- package/dist/mcp-generated.cjs +54 -11
- package/dist/mcp-generated.cjs.map +1 -1
- package/dist/mcp-generated.d.cts +4 -3
- package/dist/mcp-generated.d.ts +4 -3
- package/dist/mcp-generated.js +54 -11
- package/dist/mcp-generated.js.map +1 -1
- package/dist/mcp-http.d.cts +1 -1
- package/dist/mcp-http.d.ts +1 -1
- package/dist/mcp-stdio.d.cts +1 -1
- package/dist/mcp-stdio.d.ts +1 -1
- package/dist/{index-DIQ8NUbU.d.ts → runtime-CVQkbYgF.d.ts} +40 -2
- package/dist/{index-2RIErNT5.d.cts → runtime-IxRpUBjN.d.cts} +40 -2
- package/dist/skills.cjs.map +1 -1
- package/dist/skills.d.cts +3 -3
- package/dist/skills.d.ts +3 -3
- package/dist/skills.js.map +1 -1
- package/dist/{types-BQhgW-du.d.cts → types-5PAjLoCp.d.cts} +1 -1
- package/dist/{types-BQhgW-du.d.ts → types-5PAjLoCp.d.ts} +1 -1
- package/dist/{types-B9_axjum.d.cts → types-MOsWXEE7.d.cts} +1 -1
- package/dist/{types-B9_axjum.d.ts → types-MOsWXEE7.d.ts} +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- **Runtime Zod validation (Wave 10).** `OllamaRuntime` now accepts a `validateRequests: true` option. When enabled, every request body is validated against the operation's generated Zod schema BEFORE any HTTP request is made. Malformed requests throw `OllamaRequestValidationError` (a new `OllamaClientError` subclass) with the Zod issues attached. Unknown fields are stripped (Zod's default behavior), so callers can't accidentally send extra fields the contract doesn't allow. Opt-in — zero overhead when disabled (the default). See [ADR 0020](./docs/adr/0020-runtime-zod-validation.md).
|
|
6
|
+
|
|
7
|
+
## [1.4.1] - 2026-10-01
|
|
8
|
+
|
|
9
|
+
- **`noImplicitOverride` + exhaustive switch defaults.** Enabled `noImplicitOverride: true` in `tsconfig.json` so any future class method override must be explicitly marked with `override`. Added exhaustive `never` defaults to the 2 emitter switches over `JsonSchemaNode.type` — if the OpenAPI spec adds a new schema type, the build fails until the emitter is updated. See [ADR 0014](./docs/adr/0014-generated-surface-and-runtime-seam.md).
|
|
10
|
+
- **`using` declarations for resource cleanup (TS 5.2+).** Replaced 6 `try/finally` cleanup blocks (timers, stream readers, OpenTelemetry spans, timeout signals) with `using` / `await using` declarations via 3 new `Disposable` helpers in `src/utils.ts` (`disposableTimer`, `disposableReader`, `disposableSpan`). Eliminates the "forgot to clean up in the finally block" bug class — cleanup is now structurally guaranteed by the scope. 8 stateful `try/finally` blocks are intentionally NOT converted (correctly stateful). See [ADR 0014](./docs/adr/0014-generated-surface-and-runtime-seam.md).
|
|
11
|
+
|
|
12
|
+
## [1.4.0] - 2026-10-01
|
|
13
|
+
|
|
5
14
|
- **Contract-first hybrid architecture (Waves 1-9).** The SDK now ships a single canonical IR at `contracts/ir/ollama.ir.json` (compiled from `contracts/sources/` + `contracts/overlays/`) that drives seven consumers: TypeScript interfaces, generated API classes, MCP tool descriptors, operation metadata, field-level parity, Zod schemas, and bidirectional endpoint discovery. Adding a new Ollama operation now requires writing one overlay block; everything else is generated. See [ADRs 0013-0019](./docs/adr/README.md) for the full design.
|
|
6
15
|
- **Wave 1** — Contract foundation: sources, overlays, canonical IR, bidirectional endpoint discovery (catches new endpoints like `/v1/systemone` that the OpenAPI spec doesn't yet cover).
|
|
7
16
|
- **Wave 2** — Generated TypeScript interfaces in `src/generated/models/` (36 schemas), with a drift detector comparing against `src/types.ts`.
|
package/README.md
CHANGED
|
@@ -948,8 +948,9 @@ no method signatures have changed — existing callers continue to work.
|
|
|
948
948
|
### Runtime validation with generated Zod schemas
|
|
949
949
|
|
|
950
950
|
Every TypeScript interface in `src/generated/models/<name>.ts` has a paired Zod schema
|
|
951
|
-
in `src/generated/models/<name>.schema.ts`.
|
|
952
|
-
|
|
951
|
+
in `src/generated/models/<name>.schema.ts`. Two ways to use them:
|
|
952
|
+
|
|
953
|
+
**Per-call validation** — for one-off checks, import the schema directly:
|
|
953
954
|
|
|
954
955
|
```typescript
|
|
955
956
|
import { ChatRequestSchema } from '@nemesis-oss/ollama-sdk/generated/models/schemas';
|
|
@@ -962,6 +963,26 @@ if (!result.success) {
|
|
|
962
963
|
}
|
|
963
964
|
```
|
|
964
965
|
|
|
966
|
+
**Runtime-wide validation** (Wave 10) — opt in once on the runtime constructor
|
|
967
|
+
and every request body is validated automatically before the HTTP call:
|
|
968
|
+
|
|
969
|
+
```typescript
|
|
970
|
+
import { OllamaRuntime } from '@nemesis-oss/ollama-sdk/generated/runtime';
|
|
971
|
+
|
|
972
|
+
const runtime = new OllamaRuntime({ http, validateRequests: true });
|
|
973
|
+
// Every chat/generate/embed/create/copy/delete/pull/push/show request
|
|
974
|
+
// is now validated against the IR-derived Zod schema. Malformed requests
|
|
975
|
+
// throw OllamaRequestValidationError BEFORE any network call is made.
|
|
976
|
+
// Unknown fields are stripped (Zod default), so callers can't accidentally
|
|
977
|
+
// send extra fields the contract doesn't allow.
|
|
978
|
+
```
|
|
979
|
+
|
|
980
|
+
When validation fails, the runtime throws `OllamaRequestValidationError`
|
|
981
|
+
(an `OllamaClientError` subclass with `code: 'request_validation_error'`,
|
|
982
|
+
`retryable: false`) carrying the operation ID and the Zod issues array.
|
|
983
|
+
Zero overhead when `validateRequests` is not set — the default behavior
|
|
984
|
+
is unchanged. See [ADR 0020](./docs/adr/0020-runtime-zod-validation.md).
|
|
985
|
+
|
|
965
986
|
### Generated MCP tools
|
|
966
987
|
|
|
967
988
|
The IR also produces 21 MCP tool descriptors (one per documented Ollama operation) at
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { p as ToolDefinition, q as ToolCall, r as Message } from './types-5PAjLoCp.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -161,4 +161,4 @@ interface AppliedSkillResult {
|
|
|
161
161
|
*/
|
|
162
162
|
declare function applySkill(skill: Skill, options: ApplySkillOptions): AppliedSkillResult;
|
|
163
163
|
|
|
164
|
-
export { type
|
|
164
|
+
export { type AnyTool as A, type ParsedFrontmatter as P, type Skill as S, type ToolHandler as T, type Tool as a, ToolRegistry as b, type ToolExecutionResult as c, type AppliedSkillResult as d, type ApplySkillOptions as e, type SkillFrontmatter as f, type SkillSummary as g, type ToolExecutionContext as h, type ToolExecutionFailure as i, type ToolExecutionSuccess as j, type ToolRegistryOptions as k, applySkill as l, parseFrontmatter as p };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { p as ToolDefinition, q as ToolCall, r as Message } from './types-5PAjLoCp.cjs';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -161,4 +161,4 @@ interface AppliedSkillResult {
|
|
|
161
161
|
*/
|
|
162
162
|
declare function applySkill(skill: Skill, options: ApplySkillOptions): AppliedSkillResult;
|
|
163
163
|
|
|
164
|
-
export { type
|
|
164
|
+
export { type AnyTool as A, type ParsedFrontmatter as P, type Skill as S, type ToolHandler as T, type Tool as a, ToolRegistry as b, type ToolExecutionResult as c, type AppliedSkillResult as d, type ApplySkillOptions as e, type SkillFrontmatter as f, type SkillSummary as g, type ToolExecutionContext as h, type ToolExecutionFailure as i, type ToolExecutionSuccess as j, type ToolRegistryOptions as k, applySkill as l, parseFrontmatter as p };
|
package/dist/generated-api.cjs
CHANGED
|
@@ -10,7 +10,9 @@ var blobsOp = {
|
|
|
10
10
|
capabilities: {},
|
|
11
11
|
status: { documented: true },
|
|
12
12
|
domain: "native",
|
|
13
|
-
notes: [
|
|
13
|
+
notes: [
|
|
14
|
+
"HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest."
|
|
15
|
+
]
|
|
14
16
|
};
|
|
15
17
|
var chatOp = {
|
|
16
18
|
operationId: "chat",
|
|
@@ -20,10 +22,19 @@ var chatOp = {
|
|
|
20
22
|
response: { $ref: "#/schemas/ChatResponse" },
|
|
21
23
|
environment: { local: true, cloud: true },
|
|
22
24
|
transport: { mode: "ndjson", streaming: true, streamingDefault: true },
|
|
23
|
-
capabilities: {
|
|
25
|
+
capabilities: {
|
|
26
|
+
thinking: "model-dependent",
|
|
27
|
+
tools: "model-dependent",
|
|
28
|
+
vision: "model-dependent",
|
|
29
|
+
structuredOutput: "supported",
|
|
30
|
+
logprobs: "supported"
|
|
31
|
+
},
|
|
24
32
|
status: { documented: true },
|
|
25
33
|
domain: "native",
|
|
26
|
-
notes: [
|
|
34
|
+
notes: [
|
|
35
|
+
"Use /api/show to discover model-specific thinking values and defaults.",
|
|
36
|
+
"Structured output (format field) is rejected by Ollama Cloud."
|
|
37
|
+
]
|
|
27
38
|
};
|
|
28
39
|
var copyOp = {
|
|
29
40
|
operationId: "copy",
|
|
@@ -80,7 +91,12 @@ var generateOp = {
|
|
|
80
91
|
response: { $ref: "#/schemas/GenerateResponse" },
|
|
81
92
|
environment: { local: true, cloud: true },
|
|
82
93
|
transport: { mode: "ndjson", streaming: true, streamingDefault: true },
|
|
83
|
-
capabilities: {
|
|
94
|
+
capabilities: {
|
|
95
|
+
thinking: "model-dependent",
|
|
96
|
+
vision: "supported",
|
|
97
|
+
structuredOutput: "supported",
|
|
98
|
+
logprobs: "supported"
|
|
99
|
+
},
|
|
84
100
|
status: { documented: true },
|
|
85
101
|
domain: "native"
|
|
86
102
|
};
|
|
@@ -130,7 +146,9 @@ var showOp = {
|
|
|
130
146
|
capabilities: {},
|
|
131
147
|
status: { documented: true },
|
|
132
148
|
domain: "native",
|
|
133
|
-
notes: [
|
|
149
|
+
notes: [
|
|
150
|
+
"Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings)."
|
|
151
|
+
]
|
|
134
152
|
};
|
|
135
153
|
var systemOneOp = {
|
|
136
154
|
operationId: "systemOne",
|
|
@@ -138,11 +156,23 @@ var systemOneOp = {
|
|
|
138
156
|
path: "/v1/systemone",
|
|
139
157
|
environment: { local: true, cloud: false },
|
|
140
158
|
transport: { mode: "json", streaming: false },
|
|
141
|
-
capabilities: {
|
|
159
|
+
capabilities: {
|
|
160
|
+
thinking: "unsupported",
|
|
161
|
+
tools: "unsupported",
|
|
162
|
+
vision: "unsupported",
|
|
163
|
+
structuredOutput: "unsupported",
|
|
164
|
+
logprobs: "unsupported",
|
|
165
|
+
embeddings: "unsupported"
|
|
166
|
+
},
|
|
142
167
|
constraints: { minOllamaVersion: "0.35.0", maxRequestBytes: 65536 },
|
|
143
168
|
status: { documented: true, experimental: true },
|
|
144
169
|
domain: "native",
|
|
145
|
-
notes: [
|
|
170
|
+
notes: [
|
|
171
|
+
"Local-only; Ollama Cloud rejects /v1/systemone.",
|
|
172
|
+
"Hard 64 KiB request body limit enforced by the server.",
|
|
173
|
+
"No images, no tools, no generation controls (temperature, top_p, etc.).",
|
|
174
|
+
"Experimental: behavioral surface may change between Ollama releases."
|
|
175
|
+
]
|
|
146
176
|
};
|
|
147
177
|
var tagsOp = {
|
|
148
178
|
operationId: "tags",
|
|
@@ -172,10 +202,18 @@ var openaiChatCompletionsOp = {
|
|
|
172
202
|
path: "/v1/chat/completions",
|
|
173
203
|
environment: { local: true, cloud: true },
|
|
174
204
|
transport: { mode: "sse", streaming: true, streamingDefault: false },
|
|
175
|
-
capabilities: {
|
|
205
|
+
capabilities: {
|
|
206
|
+
thinking: "model-dependent",
|
|
207
|
+
tools: "model-dependent",
|
|
208
|
+
vision: "model-dependent",
|
|
209
|
+
structuredOutput: "supported",
|
|
210
|
+
logprobs: "supported"
|
|
211
|
+
},
|
|
176
212
|
status: { documented: true },
|
|
177
213
|
domain: "openai",
|
|
178
|
-
notes: [
|
|
214
|
+
notes: [
|
|
215
|
+
"Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx."
|
|
216
|
+
]
|
|
179
217
|
};
|
|
180
218
|
var openaiCompletionsOp = {
|
|
181
219
|
operationId: "openaiCompletions",
|
|
@@ -227,7 +265,9 @@ var openaiResponsesOp = {
|
|
|
227
265
|
capabilities: { thinking: "model-dependent", tools: "model-dependent" },
|
|
228
266
|
status: { documented: true },
|
|
229
267
|
domain: "openai",
|
|
230
|
-
notes: [
|
|
268
|
+
notes: [
|
|
269
|
+
"Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported."
|
|
270
|
+
]
|
|
231
271
|
};
|
|
232
272
|
var anthropicMessagesOp = {
|
|
233
273
|
operationId: "anthropicMessages",
|
|
@@ -238,7 +278,10 @@ var anthropicMessagesOp = {
|
|
|
238
278
|
capabilities: { thinking: "model-dependent", tools: "model-dependent" },
|
|
239
279
|
status: { documented: true },
|
|
240
280
|
domain: "anthropic",
|
|
241
|
-
notes: [
|
|
281
|
+
notes: [
|
|
282
|
+
"tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.",
|
|
283
|
+
"Nested cache_control fields under messages[].content[].cache_control are unsupported."
|
|
284
|
+
]
|
|
242
285
|
};
|
|
243
286
|
var allOperations = [
|
|
244
287
|
blobsOp,
|
|
@@ -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.cjs","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 blobsOp = {\n operationId: 'blobs',\n method: 'HEAD',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: { },\n status: { documented: true},\n domain: 'native',\n notes: ['HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest.'],\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: { thinking: 'model-dependent', tools: 'model-dependent', vision: 'model-dependent', structuredOutput: 'supported', logprobs: 'supported' },\n status: { documented: true},\n domain: 'native',\n notes: ['Use /api/show to discover model-specific thinking values and defaults.', 'Structured output (format field) is rejected by Ollama Cloud.'],\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 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 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: { thinking: 'model-dependent', vision: 'supported', structuredOutput: 'supported', logprobs: 'supported' },\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: ['Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings).'],\n} as const satisfies OperationDefinition;\n\nexport const systemOneOp = {\n operationId: 'systemOne',\n method: 'POST',\n path: '/v1/systemone',\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: { thinking: 'unsupported', tools: 'unsupported', vision: 'unsupported', structuredOutput: 'unsupported', logprobs: 'unsupported', embeddings: 'unsupported' },\n constraints: { minOllamaVersion: '0.35.0', maxRequestBytes: 65536 },\n status: { documented: true, experimental: true},\n domain: 'native',\n notes: ['Local-only; Ollama Cloud rejects /v1/systemone.', 'Hard 64 KiB request body limit enforced by the server.', 'No images, no tools, no generation controls (temperature, top_p, etc.).', 'Experimental: behavioral surface may change between Ollama releases.'],\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 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 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: { thinking: 'model-dependent', tools: 'model-dependent', vision: 'model-dependent', structuredOutput: 'supported', logprobs: 'supported' },\n status: { documented: true},\n domain: 'openai',\n notes: ['Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx.'],\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: 'supported' },\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 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: ['Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported.'],\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: ['tool_choice and metadata are explicitly unsupported by Ollama\\'s Anthropic compat layer.', 'Nested cache_control fields under messages[].content[].cache_control are unsupported.'],\n} as const satisfies OperationDefinition;\n\nexport const allOperations = [\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 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 { ChatRequest, ChatResponse, CopyRequest, CreateRequest, DeleteRequest, EmbedRequest, EmbedResponse, GenerateRequest, GenerateResponse, ListResponse, PsResponse, PullRequest, PushRequest, ShowRequest, ShowResponse, StatusResponse, VersionResponse } from '../models/index.js';\nimport { blobsOp, chatOp, copyOp, createOp, deleteOp, embedOp, generateOp, psOp, pullOp, pushOp, showOp, systemOneOp, tagsOp, versionOp } 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(options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: blobsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n chat(request: ChatRequest & { stream?: false }): Promise<ChatResponse>;\n chat(request: ChatRequest & { stream: true }): Promise<AsyncGenerator<ChatResponse, void, undefined>>;\n chat(request: ChatRequest): 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<unknown> {\n return this.runtime.invoke({\n operation: copyOp,\n body: request,\n });\n }\n\n create(request: CreateRequest & { stream?: false }): Promise<StatusResponse>;\n create(request: CreateRequest & { stream: true }): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n create(request: CreateRequest): 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(request: GenerateRequest & { stream: true }): Promise<AsyncGenerator<GenerateResponse, void, undefined>>;\n generate(request: GenerateRequest): 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(request: PullRequest & { stream: true }): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n pull(request: PullRequest): 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(request: PushRequest & { stream: true }): Promise<AsyncGenerator<StatusResponse, void, undefined>>;\n push(request: PushRequest): 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: Record<string, unknown>): Promise<unknown> {\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 { openaiChatCompletionsOp, openaiCompletionsOp, openaiEmbeddingsOp, openaiModelsOp, openaiModelsGetOneOp, openaiResponsesOp } 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(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n openaiChatCompletions(request: Record<string, unknown> & { stream: true }): Promise<AsyncGenerator<unknown, void, undefined>>;\n openaiChatCompletions(request: Record<string, unknown>): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\n return this.runtime.invoke({\n operation: openaiChatCompletionsOp,\n body: request,\n });\n }\n\n openaiCompletions(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n openaiCompletions(request: Record<string, unknown> & { stream: true }): Promise<AsyncGenerator<unknown, void, undefined>>;\n openaiCompletions(request: Record<string, unknown>): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\n return this.runtime.invoke({\n operation: openaiCompletionsOp,\n body: request,\n });\n }\n\n openaiEmbeddings(request: Record<string, unknown>): Promise<unknown> {\n return this.runtime.invoke({\n operation: openaiEmbeddingsOp,\n body: request,\n });\n }\n\n openaiModels(options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: openaiModelsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiModelsGetOne(options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: openaiModelsGetOneOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiResponses(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n openaiResponses(request: Record<string, unknown> & { stream: true }): Promise<AsyncGenerator<unknown, void, undefined>>;\n openaiResponses(request: Record<string, unknown>): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\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 { 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(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n anthropicMessages(request: Record<string, unknown> & { stream: true }): Promise<AsyncGenerator<unknown, void, undefined>>;\n anthropicMessages(request: Record<string, unknown>): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\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.cjs","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 blobsOp = {\n operationId: 'blobs',\n method: 'HEAD',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\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 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 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 environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {\n thinking: 'unsupported',\n tools: 'unsupported',\n vision: 'unsupported',\n structuredOutput: 'unsupported',\n logprobs: 'unsupported',\n embeddings: 'unsupported',\n },\n constraints: { minOllamaVersion: '0.35.0', maxRequestBytes: 65536 },\n status: { documented: true, experimental: true },\n domain: 'native',\n notes: [\n 'Local-only; Ollama Cloud rejects /v1/systemone.',\n 'Hard 64 KiB request body limit enforced by the server.',\n 'No images, no tools, no generation controls (temperature, top_p, etc.).',\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 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 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: 'supported',\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: 'supported' },\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 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 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 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 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(options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: blobsOp,\n body: undefined,\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<unknown> {\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: Record<string, unknown>): Promise<unknown> {\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 {\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(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n openaiChatCompletions(\n request: Record<string, unknown> & { stream: true },\n ): Promise<AsyncGenerator<unknown, void, undefined>>;\n openaiChatCompletions(\n request: Record<string, unknown>,\n ): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\n return this.runtime.invoke({\n operation: openaiChatCompletionsOp,\n body: request,\n });\n }\n\n openaiCompletions(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n openaiCompletions(\n request: Record<string, unknown> & { stream: true },\n ): Promise<AsyncGenerator<unknown, void, undefined>>;\n openaiCompletions(\n request: Record<string, unknown>,\n ): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\n return this.runtime.invoke({\n operation: openaiCompletionsOp,\n body: request,\n });\n }\n\n openaiEmbeddings(request: Record<string, unknown>): Promise<unknown> {\n return this.runtime.invoke({\n operation: openaiEmbeddingsOp,\n body: request,\n });\n }\n\n openaiModels(options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: openaiModelsOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiModelsGetOne(options?: { signal?: AbortSignal }): Promise<unknown> {\n return this.runtime.invoke({\n operation: openaiModelsGetOneOp,\n body: undefined,\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n }\n\n openaiResponses(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n openaiResponses(\n request: Record<string, unknown> & { stream: true },\n ): Promise<AsyncGenerator<unknown, void, undefined>>;\n openaiResponses(\n request: Record<string, unknown>,\n ): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\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 { 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(request: Record<string, unknown> & { stream?: false }): Promise<unknown>;\n anthropicMessages(\n request: Record<string, unknown> & { stream: true },\n ): Promise<AsyncGenerator<unknown, void, undefined>>;\n anthropicMessages(\n request: Record<string, unknown>,\n ): Promise<unknown | AsyncGenerator<unknown, void, undefined>> {\n return this.runtime.invoke({\n operation: anthropicMessagesOp,\n body: request,\n });\n }\n}\n"]}
|
package/dist/generated-api.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { O as OllamaRuntime } from './
|
|
2
|
-
export {
|
|
3
|
-
import './types-
|
|
1
|
+
import { O as OllamaRuntime } from './runtime-IxRpUBjN.cjs';
|
|
2
|
+
export { a as OperationDefinition } from './runtime-IxRpUBjN.cjs';
|
|
3
|
+
import './types-5PAjLoCp.cjs';
|
|
4
|
+
import 'zod';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.
|
package/dist/generated-api.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { O as OllamaRuntime } from './
|
|
2
|
-
export {
|
|
3
|
-
import './types-
|
|
1
|
+
import { O as OllamaRuntime } from './runtime-CVQkbYgF.js';
|
|
2
|
+
export { a as OperationDefinition } from './runtime-CVQkbYgF.js';
|
|
3
|
+
import './types-5PAjLoCp.js';
|
|
4
|
+
import 'zod';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT.
|
package/dist/generated-api.js
CHANGED
|
@@ -8,7 +8,9 @@ var blobsOp = {
|
|
|
8
8
|
capabilities: {},
|
|
9
9
|
status: { documented: true },
|
|
10
10
|
domain: "native",
|
|
11
|
-
notes: [
|
|
11
|
+
notes: [
|
|
12
|
+
"HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest."
|
|
13
|
+
]
|
|
12
14
|
};
|
|
13
15
|
var chatOp = {
|
|
14
16
|
operationId: "chat",
|
|
@@ -18,10 +20,19 @@ var chatOp = {
|
|
|
18
20
|
response: { $ref: "#/schemas/ChatResponse" },
|
|
19
21
|
environment: { local: true, cloud: true },
|
|
20
22
|
transport: { mode: "ndjson", streaming: true, streamingDefault: true },
|
|
21
|
-
capabilities: {
|
|
23
|
+
capabilities: {
|
|
24
|
+
thinking: "model-dependent",
|
|
25
|
+
tools: "model-dependent",
|
|
26
|
+
vision: "model-dependent",
|
|
27
|
+
structuredOutput: "supported",
|
|
28
|
+
logprobs: "supported"
|
|
29
|
+
},
|
|
22
30
|
status: { documented: true },
|
|
23
31
|
domain: "native",
|
|
24
|
-
notes: [
|
|
32
|
+
notes: [
|
|
33
|
+
"Use /api/show to discover model-specific thinking values and defaults.",
|
|
34
|
+
"Structured output (format field) is rejected by Ollama Cloud."
|
|
35
|
+
]
|
|
25
36
|
};
|
|
26
37
|
var copyOp = {
|
|
27
38
|
operationId: "copy",
|
|
@@ -78,7 +89,12 @@ var generateOp = {
|
|
|
78
89
|
response: { $ref: "#/schemas/GenerateResponse" },
|
|
79
90
|
environment: { local: true, cloud: true },
|
|
80
91
|
transport: { mode: "ndjson", streaming: true, streamingDefault: true },
|
|
81
|
-
capabilities: {
|
|
92
|
+
capabilities: {
|
|
93
|
+
thinking: "model-dependent",
|
|
94
|
+
vision: "supported",
|
|
95
|
+
structuredOutput: "supported",
|
|
96
|
+
logprobs: "supported"
|
|
97
|
+
},
|
|
82
98
|
status: { documented: true },
|
|
83
99
|
domain: "native"
|
|
84
100
|
};
|
|
@@ -128,7 +144,9 @@ var showOp = {
|
|
|
128
144
|
capabilities: {},
|
|
129
145
|
status: { documented: true },
|
|
130
146
|
domain: "native",
|
|
131
|
-
notes: [
|
|
147
|
+
notes: [
|
|
148
|
+
"Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings)."
|
|
149
|
+
]
|
|
132
150
|
};
|
|
133
151
|
var systemOneOp = {
|
|
134
152
|
operationId: "systemOne",
|
|
@@ -136,11 +154,23 @@ var systemOneOp = {
|
|
|
136
154
|
path: "/v1/systemone",
|
|
137
155
|
environment: { local: true, cloud: false },
|
|
138
156
|
transport: { mode: "json", streaming: false },
|
|
139
|
-
capabilities: {
|
|
157
|
+
capabilities: {
|
|
158
|
+
thinking: "unsupported",
|
|
159
|
+
tools: "unsupported",
|
|
160
|
+
vision: "unsupported",
|
|
161
|
+
structuredOutput: "unsupported",
|
|
162
|
+
logprobs: "unsupported",
|
|
163
|
+
embeddings: "unsupported"
|
|
164
|
+
},
|
|
140
165
|
constraints: { minOllamaVersion: "0.35.0", maxRequestBytes: 65536 },
|
|
141
166
|
status: { documented: true, experimental: true },
|
|
142
167
|
domain: "native",
|
|
143
|
-
notes: [
|
|
168
|
+
notes: [
|
|
169
|
+
"Local-only; Ollama Cloud rejects /v1/systemone.",
|
|
170
|
+
"Hard 64 KiB request body limit enforced by the server.",
|
|
171
|
+
"No images, no tools, no generation controls (temperature, top_p, etc.).",
|
|
172
|
+
"Experimental: behavioral surface may change between Ollama releases."
|
|
173
|
+
]
|
|
144
174
|
};
|
|
145
175
|
var tagsOp = {
|
|
146
176
|
operationId: "tags",
|
|
@@ -170,10 +200,18 @@ var openaiChatCompletionsOp = {
|
|
|
170
200
|
path: "/v1/chat/completions",
|
|
171
201
|
environment: { local: true, cloud: true },
|
|
172
202
|
transport: { mode: "sse", streaming: true, streamingDefault: false },
|
|
173
|
-
capabilities: {
|
|
203
|
+
capabilities: {
|
|
204
|
+
thinking: "model-dependent",
|
|
205
|
+
tools: "model-dependent",
|
|
206
|
+
vision: "model-dependent",
|
|
207
|
+
structuredOutput: "supported",
|
|
208
|
+
logprobs: "supported"
|
|
209
|
+
},
|
|
174
210
|
status: { documented: true },
|
|
175
211
|
domain: "openai",
|
|
176
|
-
notes: [
|
|
212
|
+
notes: [
|
|
213
|
+
"Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx."
|
|
214
|
+
]
|
|
177
215
|
};
|
|
178
216
|
var openaiCompletionsOp = {
|
|
179
217
|
operationId: "openaiCompletions",
|
|
@@ -225,7 +263,9 @@ var openaiResponsesOp = {
|
|
|
225
263
|
capabilities: { thinking: "model-dependent", tools: "model-dependent" },
|
|
226
264
|
status: { documented: true },
|
|
227
265
|
domain: "openai",
|
|
228
|
-
notes: [
|
|
266
|
+
notes: [
|
|
267
|
+
"Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported."
|
|
268
|
+
]
|
|
229
269
|
};
|
|
230
270
|
var anthropicMessagesOp = {
|
|
231
271
|
operationId: "anthropicMessages",
|
|
@@ -236,7 +276,10 @@ var anthropicMessagesOp = {
|
|
|
236
276
|
capabilities: { thinking: "model-dependent", tools: "model-dependent" },
|
|
237
277
|
status: { documented: true },
|
|
238
278
|
domain: "anthropic",
|
|
239
|
-
notes: [
|
|
279
|
+
notes: [
|
|
280
|
+
"tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.",
|
|
281
|
+
"Nested cache_control fields under messages[].content[].cache_control are unsupported."
|
|
282
|
+
]
|
|
240
283
|
};
|
|
241
284
|
var allOperations = [
|
|
242
285
|
blobsOp,
|