@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.
Files changed (48) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +23 -2
  3. package/dist/{compose-DfAqKAFj.d.ts → compose-DLStUfaF.d.ts} +2 -2
  4. package/dist/{compose-BR70yb4W.d.cts → compose-DS-UWFx8.d.cts} +2 -2
  5. package/dist/generated-api.cjs +54 -11
  6. package/dist/generated-api.cjs.map +1 -1
  7. package/dist/generated-api.d.cts +4 -3
  8. package/dist/generated-api.d.ts +4 -3
  9. package/dist/generated-api.js +54 -11
  10. package/dist/generated-api.js.map +1 -1
  11. package/dist/generated-models-schemas.cjs +192 -192
  12. package/dist/generated-models-schemas.cjs.map +1 -1
  13. package/dist/generated-models-schemas.js +192 -192
  14. package/dist/generated-models-schemas.js.map +1 -1
  15. package/dist/generated-runtime.cjs +229 -9
  16. package/dist/generated-runtime.cjs.map +1 -1
  17. package/dist/generated-runtime.d.cts +35 -2
  18. package/dist/generated-runtime.d.ts +35 -2
  19. package/dist/generated-runtime.js +228 -10
  20. package/dist/generated-runtime.js.map +1 -1
  21. package/dist/index.cjs +403 -145
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +8 -8
  24. package/dist/index.d.ts +8 -8
  25. package/dist/index.js +403 -146
  26. package/dist/index.js.map +1 -1
  27. package/dist/mcp/tools.json +19 -70
  28. package/dist/mcp-generated.cjs +54 -11
  29. package/dist/mcp-generated.cjs.map +1 -1
  30. package/dist/mcp-generated.d.cts +4 -3
  31. package/dist/mcp-generated.d.ts +4 -3
  32. package/dist/mcp-generated.js +54 -11
  33. package/dist/mcp-generated.js.map +1 -1
  34. package/dist/mcp-http.d.cts +1 -1
  35. package/dist/mcp-http.d.ts +1 -1
  36. package/dist/mcp-stdio.d.cts +1 -1
  37. package/dist/mcp-stdio.d.ts +1 -1
  38. package/dist/{index-DIQ8NUbU.d.ts → runtime-CVQkbYgF.d.ts} +40 -2
  39. package/dist/{index-2RIErNT5.d.cts → runtime-IxRpUBjN.d.cts} +40 -2
  40. package/dist/skills.cjs.map +1 -1
  41. package/dist/skills.d.cts +3 -3
  42. package/dist/skills.d.ts +3 -3
  43. package/dist/skills.js.map +1 -1
  44. package/dist/{types-BQhgW-du.d.cts → types-5PAjLoCp.d.cts} +1 -1
  45. package/dist/{types-BQhgW-du.d.ts → types-5PAjLoCp.d.ts} +1 -1
  46. package/dist/{types-B9_axjum.d.cts → types-MOsWXEE7.d.cts} +1 -1
  47. package/dist/{types-B9_axjum.d.ts → types-MOsWXEE7.d.ts} +1 -1
  48. 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`. Use them for runtime validation of user
952
- input, server responses, or anywhere you need to confirm a value matches the IR shape:
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 { T as ToolDefinition, a as ToolCall, M as Message } from './types-BQhgW-du.js';
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 AppliedSkillResult as A, type ParsedFrontmatter as P, type SkillSummary as S, type ToolHandler as T, type Skill as a, type ApplySkillOptions as b, type SkillFrontmatter as c, applySkill as d, type Tool as e, type AnyTool as f, ToolRegistry as g, type ToolExecutionResult as h, type ToolExecutionContext as i, type ToolExecutionFailure as j, type ToolExecutionSuccess as k, type ToolRegistryOptions as l, parseFrontmatter as p };
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 { T as ToolDefinition, a as ToolCall, M as Message } from './types-BQhgW-du.cjs';
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 AppliedSkillResult as A, type ParsedFrontmatter as P, type SkillSummary as S, type ToolHandler as T, type Skill as a, type ApplySkillOptions as b, type SkillFrontmatter as c, applySkill as d, type Tool as e, type AnyTool as f, ToolRegistry as g, type ToolExecutionResult as h, type ToolExecutionContext as i, type ToolExecutionFailure as j, type ToolExecutionSuccess as k, type ToolRegistryOptions as l, parseFrontmatter as p };
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 };
@@ -10,7 +10,9 @@ var blobsOp = {
10
10
  capabilities: {},
11
11
  status: { documented: true },
12
12
  domain: "native",
13
- notes: ["HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest."]
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: { thinking: "model-dependent", tools: "model-dependent", vision: "model-dependent", structuredOutput: "supported", logprobs: "supported" },
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: ["Use /api/show to discover model-specific thinking values and defaults.", "Structured output (format field) is rejected by Ollama Cloud."]
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: { thinking: "model-dependent", vision: "supported", structuredOutput: "supported", logprobs: "supported" },
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: ["Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings)."]
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: { thinking: "unsupported", tools: "unsupported", vision: "unsupported", structuredOutput: "unsupported", logprobs: "unsupported", embeddings: "unsupported" },
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: ["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."]
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: { thinking: "model-dependent", tools: "model-dependent", vision: "model-dependent", structuredOutput: "supported", logprobs: "supported" },
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: ["Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx."]
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: ["Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported."]
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: ["tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.", "Nested cache_control fields under messages[].content[].cache_control are unsupported."]
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":";;;AASO,IAAM,OAAA,GAAU;AAAA,EACrB,WAAA,EAAa,OAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,0GAA0G;AACpH;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,WAAA,EAAa,MAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,uBAAA,EAAwB;AAAA,EACzC,QAAA,EAAU,EAAE,IAAA,EAAM,wBAAA,EAAyB;AAAA,EAC3C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,WAAW,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,IAAA,EAAM,kBAAkB,IAAA,EAAK;AAAA,EACrE,YAAA,EAAc,EAAE,QAAA,EAAU,iBAAA,EAAmB,KAAA,EAAO,iBAAA,EAAmB,MAAA,EAAQ,iBAAA,EAAmB,gBAAA,EAAkB,WAAA,EAAa,QAAA,EAAU,WAAA,EAAY;AAAA,EACvJ,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,wEAAA,EAA0E,+DAA+D;AACnJ;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,WAAA,EAAa,MAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,uBAAA,EAAwB;AAAA,EACzC,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,WAAA,EAAa,QAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,aAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,yBAAA,EAA0B;AAAA,EAC3C,QAAA,EAAU,EAAE,IAAA,EAAM,0BAAA,EAA2B;AAAA,EAC7C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,WAAW,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,IAAA,EAAM,kBAAkB,IAAA,EAAK;AAAA,EACrE,YAAA,EAAc,EAAE,QAAA,EAAU,aAAA,EAAe,OAAO,aAAA,EAAc;AAAA,EAC9D,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,iEAAiE;AAC3E;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,WAAA,EAAa,QAAA;AAAA,EACb,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,aAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,yBAAA,EAA0B;AAAA,EAC3C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,OAAA,GAAU;AAAA,EACrB,WAAA,EAAa,OAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,YAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,wBAAA,EAAyB;AAAA,EAC1C,QAAA,EAAU,EAAE,IAAA,EAAM,yBAAA,EAA0B;AAAA,EAC5C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,YAAA,EAAc,EAAE,UAAA,EAAY,WAAA,EAAY;AAAA,EACxC,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,UAAA,GAAa;AAAA,EACxB,WAAA,EAAa,UAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,eAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,2BAAA,EAA4B;AAAA,EAC7C,QAAA,EAAU,EAAE,IAAA,EAAM,4BAAA,EAA6B;AAAA,EAC/C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,WAAW,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,IAAA,EAAM,kBAAkB,IAAA,EAAK;AAAA,EACrE,YAAA,EAAc,EAAE,QAAA,EAAU,iBAAA,EAAmB,QAAQ,WAAA,EAAa,gBAAA,EAAkB,WAAA,EAAa,QAAA,EAAU,WAAA,EAAY;AAAA,EACvH,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,IAAA,GAAO;AAAA,EAClB,WAAA,EAAa,IAAA;AAAA,EACb,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,SAAA;AAAA,EACN,QAAA,EAAU,EAAE,IAAA,EAAM,sBAAA,EAAuB;AAAA,EACzC,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,WAAA,EAAa,MAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,uBAAA,EAAwB;AAAA,EACzC,QAAA,EAAU,EAAE,IAAA,EAAM,0BAAA,EAA2B;AAAA,EAC7C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,WAAW,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,IAAA,EAAM,kBAAkB,IAAA,EAAK;AAAA,EACrE,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,WAAA,EAAa,MAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,uBAAA,EAAwB;AAAA,EACzC,QAAA,EAAU,EAAE,IAAA,EAAM,0BAAA,EAA2B;AAAA,EAC7C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,WAAW,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,IAAA,EAAM,kBAAkB,IAAA,EAAK;AAAA,EACrE,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,WAAA,EAAa,MAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,OAAA,EAAS,EAAE,IAAA,EAAM,uBAAA,EAAwB;AAAA,EACzC,QAAA,EAAU,EAAE,IAAA,EAAM,wBAAA,EAAyB;AAAA,EAC3C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,4IAA4I;AACtJ;AAEO,IAAM,WAAA,GAAc;AAAA,EACzB,WAAA,EAAa,WAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,eAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAM;AAAA,EACzC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,YAAA,EAAc,EAAE,QAAA,EAAU,aAAA,EAAe,KAAA,EAAO,aAAA,EAAe,MAAA,EAAQ,aAAA,EAAe,gBAAA,EAAkB,aAAA,EAAe,QAAA,EAAU,aAAA,EAAe,YAAY,aAAA,EAAc;AAAA,EAC1K,WAAA,EAAa,EAAE,gBAAA,EAAkB,QAAA,EAAU,iBAAiB,KAAA,EAAM;AAAA,EAClE,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAM,cAAc,IAAA,EAAI;AAAA,EAC9C,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,iDAAA,EAAmD,wDAAA,EAA0D,2EAA2E,sEAAsE;AACxQ;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,WAAA,EAAa,MAAA;AAAA,EACb,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,WAAA;AAAA,EACN,QAAA,EAAU,EAAE,IAAA,EAAM,wBAAA,EAAyB;AAAA,EAC3C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,SAAA,GAAY;AAAA,EACvB,WAAA,EAAa,SAAA;AAAA,EACb,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,cAAA;AAAA,EACN,QAAA,EAAU,EAAE,IAAA,EAAM,2BAAA,EAA4B;AAAA,EAC9C,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,uBAAA,GAA0B;AAAA,EACrC,WAAA,EAAa,uBAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,sBAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,WAAW,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,IAAA,EAAM,kBAAkB,KAAA,EAAM;AAAA,EACnE,YAAA,EAAc,EAAE,QAAA,EAAU,iBAAA,EAAmB,KAAA,EAAO,iBAAA,EAAmB,MAAA,EAAQ,iBAAA,EAAmB,gBAAA,EAAkB,WAAA,EAAa,QAAA,EAAU,WAAA,EAAY;AAAA,EACvJ,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,2HAA2H;AACrI;AAEO,IAAM,mBAAA,GAAsB;AAAA,EACjC,WAAA,EAAa,mBAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,iBAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,WAAW,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,IAAA,EAAM,kBAAkB,KAAA,EAAM;AAAA,EACnE,YAAA,EAAc,EAAE,QAAA,EAAU,WAAA,EAAY;AAAA,EACtC,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,kBAAA,GAAqB;AAAA,EAChC,WAAA,EAAa,kBAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,gBAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,YAAA,EAAc,EAAE,UAAA,EAAY,WAAA,EAAY;AAAA,EACxC,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,cAAA,GAAiB;AAAA,EAC5B,WAAA,EAAa,cAAA;AAAA,EACb,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,YAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ;AACV;AAEO,IAAM,oBAAA,GAAuB;AAAA,EAClC,WAAA,EAAa,oBAAA;AAAA,EACb,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,SAAA,EAAW,EAAE,IAAA,EAAM,MAAA,EAAQ,WAAW,KAAA,EAAM;AAAA,EAC5C,cAAc,EAAG;AAAA,EACjB,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,0DAA0D;AACpE;AAEO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,WAAA,EAAa,iBAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,eAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,WAAW,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,IAAA,EAAM,kBAAkB,KAAA,EAAM;AAAA,EACnE,YAAA,EAAc,EAAE,QAAA,EAAU,iBAAA,EAAmB,OAAO,iBAAA,EAAkB;AAAA,EACtE,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,QAAA;AAAA,EACR,KAAA,EAAO,CAAC,2HAA2H;AACrI;AAEO,IAAM,mBAAA,GAAsB;AAAA,EACjC,WAAA,EAAa,mBAAA;AAAA,EACb,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,cAAA;AAAA,EACN,WAAA,EAAa,EAAE,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,EACxC,WAAW,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,IAAA,EAAM,kBAAkB,KAAA,EAAM;AAAA,EACnE,YAAA,EAAc,EAAE,QAAA,EAAU,iBAAA,EAAmB,OAAO,iBAAA,EAAkB;AAAA,EACtE,MAAA,EAAQ,EAAE,UAAA,EAAY,IAAA,EAAI;AAAA,EAC1B,MAAA,EAAQ,WAAA;AAAA,EACR,KAAA,EAAO,CAAC,yFAAA,EAA4F,uFAAuF;AAC7L;AAEO,IAAM,aAAA,GAAgB;AAAA,EAC3B,OAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,uBAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,cAAA;AAAA,EACA,oBAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF;;;ACpRO,IAAM,YAAN,MAAgB;AAAA,EACrB,YAA6B,OAAA,EAAwB;AAAxB,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA,EAAyB;AAAA,EAAzB,OAAA;AAAA,EAE7B,MAAM,OAAA,EAAsD;AAC1D,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,OAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,GAAI,SAAS,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAO,GAAI;AAAC,KACnE,CAAA;AAAA,EACH;AAAA,EAIA,KAAK,OAAA,EAA6F;AAChG,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,IAAA,EAAM,OAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB,CAAA;AAAA,EACH;AAAA,EAEA,KAAK,OAAA,EAAwC;AAC3C,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAIA,OAAO,OAAA,EAAmG;AACxG,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,QAAA;AAAA,MACX,IAAA,EAAM,OAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB,CAAA;AAAA,EACH;AAAA,EAEA,OAAO,OAAA,EAA0C;AAC/C,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,QAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,OAAA,EAA+C;AACnD,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,OAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAIA,SAAS,OAAA,EAAyG;AAChH,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,UAAA;AAAA,MACX,IAAA,EAAM,OAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB,CAAA;AAAA,EACH;AAAA,EAEA,GAAG,OAAA,EAAyD;AAC1D,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,GAAI,SAAS,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAO,GAAI;AAAC,KACnE,CAAA;AAAA,EACH;AAAA,EAIA,KAAK,OAAA,EAAiG;AACpG,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,IAAA,EAAM,OAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB,CAAA;AAAA,EACH;AAAA,EAIA,KAAK,OAAA,EAAiG;AACpG,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,IAAA,EAAM,OAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB,CAAA;AAAA,EACH;AAAA,EAEA,KAAK,OAAA,EAA6C;AAChD,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAEA,UAAU,OAAA,EAAoD;AAC5D,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,WAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAEA,KAAK,OAAA,EAA2D;AAC9D,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,GAAI,SAAS,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAO,GAAI;AAAC,KACnE,CAAA;AAAA,EACH;AAAA,EAEA,QAAQ,OAAA,EAA8D;AACpE,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,SAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,GAAI,SAAS,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAO,GAAI;AAAC,KACnE,CAAA;AAAA,EACH;AACF;;;ACvHO,IAAM,YAAN,MAAgB;AAAA,EACrB,YAA6B,OAAA,EAAwB;AAAxB,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA,EAAyB;AAAA,EAAzB,OAAA;AAAA,EAI7B,sBAAsB,OAAA,EAA+F;AACnH,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,uBAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAIA,kBAAkB,OAAA,EAA+F;AAC/G,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,mBAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAEA,iBAAiB,OAAA,EAAoD;AACnE,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,kBAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AAAA,EAEA,aAAa,OAAA,EAAsD;AACjE,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,cAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,GAAI,SAAS,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAO,GAAI;AAAC,KACnE,CAAA;AAAA,EACH;AAAA,EAEA,mBAAmB,OAAA,EAAsD;AACvE,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,oBAAA;AAAA,MACX,IAAA,EAAM,MAAA;AAAA,MACN,GAAI,SAAS,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAO,GAAI;AAAC,KACnE,CAAA;AAAA,EACH;AAAA,EAIA,gBAAgB,OAAA,EAA+F;AAC7G,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,iBAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AACF;;;ACpDO,IAAM,eAAN,MAAmB;AAAA,EACxB,YAA6B,OAAA,EAAwB;AAAxB,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA,EAAyB;AAAA,EAAzB,OAAA;AAAA,EAI7B,kBAAkB,OAAA,EAA+F;AAC/G,IAAA,OAAO,IAAA,CAAK,QAAQ,MAAA,CAAO;AAAA,MACzB,SAAA,EAAW,mBAAA;AAAA,MACX,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,EACH;AACF","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"]}
@@ -1,6 +1,7 @@
1
- import { O as OllamaRuntime } from './index-2RIErNT5.cjs';
2
- export { ac as OperationDefinition } from './index-2RIErNT5.cjs';
3
- import './types-BQhgW-du.cjs';
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.
@@ -1,6 +1,7 @@
1
- import { O as OllamaRuntime } from './index-DIQ8NUbU.js';
2
- export { ac as OperationDefinition } from './index-DIQ8NUbU.js';
3
- import './types-BQhgW-du.js';
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.
@@ -8,7 +8,9 @@ var blobsOp = {
8
8
  capabilities: {},
9
9
  status: { documented: true },
10
10
  domain: "native",
11
- notes: ["HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest."]
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: { thinking: "model-dependent", tools: "model-dependent", vision: "model-dependent", structuredOutput: "supported", logprobs: "supported" },
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: ["Use /api/show to discover model-specific thinking values and defaults.", "Structured output (format field) is rejected by Ollama Cloud."]
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: { thinking: "model-dependent", vision: "supported", structuredOutput: "supported", logprobs: "supported" },
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: ["Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings)."]
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: { thinking: "unsupported", tools: "unsupported", vision: "unsupported", structuredOutput: "unsupported", logprobs: "unsupported", embeddings: "unsupported" },
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: ["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."]
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: { thinking: "model-dependent", tools: "model-dependent", vision: "model-dependent", structuredOutput: "supported", logprobs: "supported" },
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: ["Ollama exposes a subset of the OpenAI Chat Completions request fields; see docs/upstream/ollama-openai-compatibility.mdx."]
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: ["Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported."]
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: ["tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.", "Nested cache_control fields under messages[].content[].cache_control are unsupported."]
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,