@nemesis-oss/ollama-sdk 1.8.0 → 1.9.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 +158 -0
- package/README.md +181 -10
- package/dist/{anthropic-B_UXplNF.d.ts → anthropic-5oYIRS6D.d.ts} +4 -2
- package/dist/{anthropic-CVDFy_a0.d.cts → anthropic-BIh45UXj.d.cts} +4 -2
- package/dist/{compose-DLStUfaF.d.ts → compose-DCVYMvOL.d.ts} +1 -1
- package/dist/{compose-DS-UWFx8.d.cts → compose-Dj6FdF2n.d.cts} +1 -1
- package/dist/generated-api.cjs +42 -3
- package/dist/generated-api.cjs.map +1 -1
- package/dist/generated-api.d.cts +96 -6
- package/dist/generated-api.d.ts +96 -6
- package/dist/generated-api.js +41 -4
- package/dist/generated-api.js.map +1 -1
- package/dist/generated-models-schemas.cjs +62 -2
- package/dist/generated-models-schemas.cjs.map +1 -1
- package/dist/generated-models-schemas.d.cts +108 -3
- package/dist/generated-models-schemas.d.ts +108 -3
- package/dist/generated-models-schemas.js +56 -3
- package/dist/generated-models-schemas.js.map +1 -1
- package/dist/generated-runtime.cjs +105 -5
- package/dist/generated-runtime.cjs.map +1 -1
- package/dist/generated-runtime.d.cts +2 -2
- package/dist/generated-runtime.d.ts +2 -2
- package/dist/generated-runtime.js +105 -5
- package/dist/generated-runtime.js.map +1 -1
- package/dist/index.cjs +1384 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1312 -14
- package/dist/index.d.ts +1312 -14
- package/dist/index.js +1352 -52
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools.json +43 -24
- package/dist/mcp-generated.cjs +43 -1
- package/dist/mcp-generated.cjs.map +1 -1
- package/dist/mcp-generated.d.cts +2 -2
- package/dist/mcp-generated.d.ts +2 -2
- package/dist/mcp-generated.js +43 -1
- package/dist/mcp-generated.js.map +1 -1
- package/dist/{runtime-C6UYtBRB.d.ts → runtime-C3rfpkZw.d.ts} +69 -2
- package/dist/{runtime-DTmUeU6K.d.cts → runtime-D2W9TfCJ.d.cts} +69 -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-5PAjLoCp.d.cts → types-DVcX_zMp.d.cts} +110 -10
- package/dist/{types-5PAjLoCp.d.ts → types-DVcX_zMp.d.ts} +110 -10
- package/package.json +8 -5
package/dist/mcp/tools.json
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "AUTO-GENERATED by `npm run contract:generate`. DO NOT EDIT. Source: contracts/ir/ollama.ir.json.",
|
|
3
3
|
"tools": [
|
|
4
|
+
{
|
|
5
|
+
"name": "ollama_balance",
|
|
6
|
+
"description": "Ollama GET /api/balance (native domain)\n\n- Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.\n- Requires an Ollama Cloud API key (set via OllamaClient credentials).\n- Takes no parameters. For usage history see the usage operation.\n- Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.\n- Use OllamaClient.balance() — the generated NativeApi class does not expose this operation.",
|
|
7
|
+
"inputSchema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {},
|
|
10
|
+
"additionalProperties": false,
|
|
11
|
+
"description": "GET /api/balance takes no request body."
|
|
12
|
+
},
|
|
13
|
+
"annotations": {
|
|
14
|
+
"title": "balance (Ollama)",
|
|
15
|
+
"readOnlyHint": true,
|
|
16
|
+
"destructiveHint": false,
|
|
17
|
+
"idempotentHint": true,
|
|
18
|
+
"openWorldHint": false
|
|
19
|
+
},
|
|
20
|
+
"_operationId": "balance"
|
|
21
|
+
},
|
|
4
22
|
{
|
|
5
23
|
"name": "ollama_blobs",
|
|
6
24
|
"description": "Ollama HEAD /api/blobs/{digest} (native domain)\n\n- HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest.",
|
|
@@ -390,6 +408,13 @@
|
|
|
390
408
|
"type": "string",
|
|
391
409
|
"description": "Minimum Ollama version required by the model"
|
|
392
410
|
},
|
|
411
|
+
"capabilities": {
|
|
412
|
+
"type": "array",
|
|
413
|
+
"items": {
|
|
414
|
+
"type": "string"
|
|
415
|
+
},
|
|
416
|
+
"description": "Capabilities to add without removing inherited or inferred capabilities (e.g. `decision` for compatible decision models)"
|
|
417
|
+
},
|
|
393
418
|
"stream": {
|
|
394
419
|
"type": "boolean",
|
|
395
420
|
"default": true,
|
|
@@ -406,30 +431,6 @@
|
|
|
406
431
|
},
|
|
407
432
|
"_operationId": "create"
|
|
408
433
|
},
|
|
409
|
-
{
|
|
410
|
-
"name": "ollama_createBlob",
|
|
411
|
-
"description": "Ollama POST /api/blobs/{digest} (native domain)\n\n- POST endpoint for blob creation; takes a binary body (application/octet-stream).\n- Handled by OllamaClient.createBlob() — the generated NativeApi does not expose this operation because the runtime JSON-encodes request bodies.",
|
|
412
|
-
"inputSchema": {
|
|
413
|
-
"type": "object",
|
|
414
|
-
"properties": {
|
|
415
|
-
"digest": {
|
|
416
|
-
"type": "string",
|
|
417
|
-
"description": "path parameter: digest"
|
|
418
|
-
}
|
|
419
|
-
},
|
|
420
|
-
"required": ["digest"],
|
|
421
|
-
"additionalProperties": false,
|
|
422
|
-
"description": "POST /api/blobs/{digest} — 1 parameter."
|
|
423
|
-
},
|
|
424
|
-
"annotations": {
|
|
425
|
-
"title": "createBlob (Ollama)",
|
|
426
|
-
"readOnlyHint": false,
|
|
427
|
-
"destructiveHint": false,
|
|
428
|
-
"idempotentHint": false,
|
|
429
|
-
"openWorldHint": false
|
|
430
|
-
},
|
|
431
|
-
"_operationId": "createBlob"
|
|
432
|
-
},
|
|
433
434
|
{
|
|
434
435
|
"name": "ollama_delete",
|
|
435
436
|
"description": "Ollama DELETE /api/delete (native domain)",
|
|
@@ -1015,6 +1016,24 @@
|
|
|
1015
1016
|
},
|
|
1016
1017
|
"_operationId": "tags"
|
|
1017
1018
|
},
|
|
1019
|
+
{
|
|
1020
|
+
"name": "ollama_usage",
|
|
1021
|
+
"description": "Ollama GET /api/usage (native domain)\n\n- Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.\n- Requires an Ollama Cloud API key (set via OllamaClient credentials).\n- Query parameters (not modeled by the generated runtime): range = 24h | 7d | 30d (server default 7d), scope = self | team (server default self; team scope requires a team admin).\n- Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.\n- Use OllamaClient.usage() — the generated NativeApi class does not expose this operation.",
|
|
1022
|
+
"inputSchema": {
|
|
1023
|
+
"type": "object",
|
|
1024
|
+
"properties": {},
|
|
1025
|
+
"additionalProperties": false,
|
|
1026
|
+
"description": "GET /api/usage takes no request body."
|
|
1027
|
+
},
|
|
1028
|
+
"annotations": {
|
|
1029
|
+
"title": "usage (Ollama)",
|
|
1030
|
+
"readOnlyHint": true,
|
|
1031
|
+
"destructiveHint": false,
|
|
1032
|
+
"idempotentHint": true,
|
|
1033
|
+
"openWorldHint": false
|
|
1034
|
+
},
|
|
1035
|
+
"_operationId": "usage"
|
|
1036
|
+
},
|
|
1018
1037
|
{
|
|
1019
1038
|
"name": "ollama_version",
|
|
1020
1039
|
"description": "Ollama GET /api/version (native domain)",
|
package/dist/mcp-generated.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var operations_exports = {};
|
|
|
20
20
|
__export(operations_exports, {
|
|
21
21
|
allOperations: () => allOperations,
|
|
22
22
|
anthropicMessagesOp: () => anthropicMessagesOp,
|
|
23
|
+
balanceOp: () => balanceOp,
|
|
23
24
|
blobsOp: () => blobsOp,
|
|
24
25
|
chatOp: () => chatOp,
|
|
25
26
|
copyOp: () => copyOp,
|
|
@@ -40,13 +41,33 @@ __export(operations_exports, {
|
|
|
40
41
|
showOp: () => showOp,
|
|
41
42
|
systemOneOp: () => systemOneOp,
|
|
42
43
|
tagsOp: () => tagsOp,
|
|
44
|
+
usageOp: () => usageOp,
|
|
43
45
|
versionOp: () => versionOp,
|
|
44
46
|
webFetchOp: () => webFetchOp,
|
|
45
47
|
webSearchOp: () => webSearchOp
|
|
46
48
|
});
|
|
47
|
-
var blobsOp, chatOp, copyOp, createOp, createBlobOp, deleteOp, embedOp, generateOp, psOp, pullOp, pushOp, showOp, systemOneOp, tagsOp, versionOp, webFetchOp, webSearchOp, openaiChatCompletionsOp, openaiCompletionsOp, openaiEmbeddingsOp, openaiModelsOp, openaiModelsGetOneOp, openaiResponsesOp, anthropicMessagesOp, allOperations;
|
|
49
|
+
var balanceOp, blobsOp, chatOp, copyOp, createOp, createBlobOp, deleteOp, embedOp, generateOp, psOp, pullOp, pushOp, showOp, systemOneOp, tagsOp, usageOp, versionOp, webFetchOp, webSearchOp, openaiChatCompletionsOp, openaiCompletionsOp, openaiEmbeddingsOp, openaiModelsOp, openaiModelsGetOneOp, openaiResponsesOp, anthropicMessagesOp, allOperations;
|
|
48
50
|
var init_operations = __esm({
|
|
49
51
|
"src/generated/api/operations.ts"() {
|
|
52
|
+
balanceOp = {
|
|
53
|
+
operationId: "balance",
|
|
54
|
+
method: "GET",
|
|
55
|
+
path: "/api/balance",
|
|
56
|
+
response: { $ref: "#/schemas/BalanceResponse" },
|
|
57
|
+
environment: { local: false, cloud: true },
|
|
58
|
+
host: "https://ollama.com",
|
|
59
|
+
transport: { mode: "json", streaming: false },
|
|
60
|
+
capabilities: {},
|
|
61
|
+
status: { documented: true },
|
|
62
|
+
domain: "native",
|
|
63
|
+
notes: [
|
|
64
|
+
"Cloud-only account endpoint \u2014 targets https://ollama.com, not the local Ollama server.",
|
|
65
|
+
"Requires an Ollama Cloud API key (set via OllamaClient credentials).",
|
|
66
|
+
"Takes no parameters. For usage history see the usage operation.",
|
|
67
|
+
"Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.",
|
|
68
|
+
"Use OllamaClient.balance() \u2014 the generated NativeApi class does not expose this operation."
|
|
69
|
+
]
|
|
70
|
+
};
|
|
50
71
|
blobsOp = {
|
|
51
72
|
operationId: "blobs",
|
|
52
73
|
method: "HEAD",
|
|
@@ -254,6 +275,25 @@ var init_operations = __esm({
|
|
|
254
275
|
status: { documented: true },
|
|
255
276
|
domain: "native"
|
|
256
277
|
};
|
|
278
|
+
usageOp = {
|
|
279
|
+
operationId: "usage",
|
|
280
|
+
method: "GET",
|
|
281
|
+
path: "/api/usage",
|
|
282
|
+
response: { $ref: "#/schemas/UsageResponse" },
|
|
283
|
+
environment: { local: false, cloud: true },
|
|
284
|
+
host: "https://ollama.com",
|
|
285
|
+
transport: { mode: "json", streaming: false },
|
|
286
|
+
capabilities: {},
|
|
287
|
+
status: { documented: true },
|
|
288
|
+
domain: "native",
|
|
289
|
+
notes: [
|
|
290
|
+
"Cloud-only account endpoint \u2014 targets https://ollama.com, not the local Ollama server.",
|
|
291
|
+
"Requires an Ollama Cloud API key (set via OllamaClient credentials).",
|
|
292
|
+
"Query parameters (not modeled by the generated runtime): range = 24h | 7d | 30d (server default 7d), scope = self | team (server default self; team scope requires a team admin).",
|
|
293
|
+
"Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.",
|
|
294
|
+
"Use OllamaClient.usage() \u2014 the generated NativeApi class does not expose this operation."
|
|
295
|
+
]
|
|
296
|
+
};
|
|
257
297
|
versionOp = {
|
|
258
298
|
operationId: "version",
|
|
259
299
|
method: "GET",
|
|
@@ -390,6 +430,7 @@ var init_operations = __esm({
|
|
|
390
430
|
]
|
|
391
431
|
};
|
|
392
432
|
allOperations = [
|
|
433
|
+
balanceOp,
|
|
393
434
|
blobsOp,
|
|
394
435
|
chatOp,
|
|
395
436
|
copyOp,
|
|
@@ -404,6 +445,7 @@ var init_operations = __esm({
|
|
|
404
445
|
showOp,
|
|
405
446
|
systemOneOp,
|
|
406
447
|
tagsOp,
|
|
448
|
+
usageOp,
|
|
407
449
|
versionOp,
|
|
408
450
|
webFetchOp,
|
|
409
451
|
webSearchOp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/api/operations.ts","../src/mcp/generated-bridge.ts"],"names":["dirname","fileURLToPath","resolve","readFileSync"],"mappings":"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","file":"mcp-generated.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 parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const chatOp = {\n operationId: 'chat',\n method: 'POST',\n path: '/api/chat',\n request: { $ref: '#/schemas/ChatRequest' },\n response: { $ref: '#/schemas/ChatResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Use /api/show to discover model-specific thinking values and defaults.',\n 'Structured output (format field) is rejected by Ollama Cloud.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const copyOp = {\n operationId: 'copy',\n method: 'POST',\n path: '/api/copy',\n request: { $ref: '#/schemas/CopyRequest' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const createOp = {\n operationId: 'create',\n method: 'POST',\n path: '/api/create',\n request: { $ref: '#/schemas/CreateRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: { thinking: 'unsupported', tools: 'unsupported' },\n status: { documented: true },\n domain: 'native',\n notes: ['Model creation is local-only; Ollama Cloud does not support it.'],\n} as const satisfies OperationDefinition;\n\nexport const createBlobOp = {\n operationId: 'createBlob',\n method: 'POST',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'POST endpoint for blob creation; takes a binary body (application/octet-stream).',\n 'Handled by OllamaClient.createBlob() — the generated NativeApi does not expose this operation because the runtime JSON-encodes request bodies.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const deleteOp = {\n operationId: 'delete',\n method: 'DELETE',\n path: '/api/delete',\n request: { $ref: '#/schemas/DeleteRequest' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const embedOp = {\n operationId: 'embed',\n method: 'POST',\n path: '/api/embed',\n request: { $ref: '#/schemas/EmbedRequest' },\n response: { $ref: '#/schemas/EmbedResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: { embeddings: 'supported' },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const generateOp = {\n operationId: 'generate',\n method: 'POST',\n path: '/api/generate',\n request: { $ref: '#/schemas/GenerateRequest' },\n response: { $ref: '#/schemas/GenerateResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n vision: 'supported',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const psOp = {\n operationId: 'ps',\n method: 'GET',\n path: '/api/ps',\n response: { $ref: '#/schemas/PsResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pullOp = {\n operationId: 'pull',\n method: 'POST',\n path: '/api/pull',\n request: { $ref: '#/schemas/PullRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pushOp = {\n operationId: 'push',\n method: 'POST',\n path: '/api/push',\n request: { $ref: '#/schemas/PushRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const showOp = {\n operationId: 'show',\n method: 'POST',\n path: '/api/show',\n request: { $ref: '#/schemas/ShowRequest' },\n response: { $ref: '#/schemas/ShowResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings).',\n ],\n} as const satisfies OperationDefinition;\n\nexport const systemOneOp = {\n operationId: 'systemOne',\n method: 'POST',\n path: '/v1/systemone',\n request: { $ref: '#/schemas/SystemOneRequest' },\n response: { $ref: '#/schemas/SystemOneResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {\n thinking: 'unsupported',\n tools: 'unsupported',\n vision: 'model-dependent',\n structuredOutput: 'unsupported',\n logprobs: 'unsupported',\n embeddings: 'unsupported',\n },\n constraints: {\n minOllamaVersion: '0.35.0',\n maxRequestBytes: 65536,\n maxRequestBytesWithImages: 33554432,\n },\n status: { documented: true, experimental: true },\n domain: 'native',\n notes: [\n 'Local-only; Ollama Cloud rejects /v1/systemone.',\n '64 KiB request limit without images, 32 MiB with images (includes JSON/base64 overhead).',\n 'No tools, no generation controls (temperature, top_p, etc.).',\n 'Vision is model-dependent: images are accepted by vision-weighted models (Clef/Clef Flash) but not by text-only models.',\n 'Experimental: behavioral surface may change between Ollama releases.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const tagsOp = {\n operationId: 'tags',\n method: 'GET',\n path: '/api/tags',\n response: { $ref: '#/schemas/ListResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const versionOp = {\n operationId: 'version',\n method: 'GET',\n path: '/api/version',\n response: { $ref: '#/schemas/VersionResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const webFetchOp = {\n operationId: 'webFetch',\n method: 'POST',\n path: '/api/web_fetch',\n request: { $ref: '#/schemas/WebFetchRequest' },\n response: { $ref: '#/schemas/WebFetchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webFetch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const webSearchOp = {\n operationId: 'webSearch',\n method: 'POST',\n path: '/api/web_search',\n request: { $ref: '#/schemas/WebSearchRequest' },\n response: { $ref: '#/schemas/WebSearchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webSearch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiChatCompletionsOp = {\n operationId: 'openaiChatCompletions',\n method: 'POST',\n path: '/v1/chat/completions',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: '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 parameters: [{ name: 'model', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'openai',\n notes: ['Returns metadata for a single OpenAI-compat model by id.'],\n} as const satisfies OperationDefinition;\n\nexport const openaiResponsesOp = {\n operationId: 'openaiResponses',\n method: 'POST',\n path: '/v1/responses',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'openai',\n notes: [\n 'Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const anthropicMessagesOp = {\n operationId: 'anthropicMessages',\n method: 'POST',\n path: '/v1/messages',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'anthropic',\n notes: [\n \"tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.\",\n 'Nested cache_control fields under messages[].content[].cache_control are unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const allOperations = [\n blobsOp,\n chatOp,\n copyOp,\n createOp,\n createBlobOp,\n deleteOp,\n embedOp,\n generateOp,\n psOp,\n pullOp,\n pushOp,\n showOp,\n systemOneOp,\n tagsOp,\n versionOp,\n webFetchOp,\n webSearchOp,\n openaiChatCompletionsOp,\n openaiCompletionsOp,\n openaiEmbeddingsOp,\n openaiModelsOp,\n openaiModelsGetOneOp,\n openaiResponsesOp,\n anthropicMessagesOp,\n] as const;\n","/**\n * Generated Ollama MCP tools — runtime adapter.\n *\n * Reads the descriptor list from `src/generated/mcp/tools.json` (the Wave 6\n * MCP emitter output) and exposes them as a `McpToolDescriptor[]` that\n * `McpBridge` can register. The actual call execution delegates to the\n * generated `OllamaRuntime` via the user-provided runtime instance.\n *\n * Usage:\n * ```ts\n * import { NativeApi, OllamaRuntime } from '@nemesis-oss/ollama-sdk/runtime';\n * import { createGeneratedOllamaTools } from '@nemesis-oss/ollama-sdk/mcp/generated';\n *\n * const runtime = new OllamaRuntime({ http });\n * const tools = createGeneratedOllamaTools(runtime);\n * bridge.registerTools(tools);\n * ```\n *\n * This is a Wave 6 opt-in feature — the existing McpBridge continues to work\n * unchanged. Users who want generated MCP tools import this adapter\n * explicitly.\n */\nimport { readFileSync } from 'node:fs';\nimport { fileURLToPath } from 'node:url';\nimport { resolve, dirname } from 'node:path';\nimport type { McpToolDescriptor } from './types.js';\nimport { OllamaRuntime } from '../generated/runtime/runtime.js';\nimport type { OperationDefinition } from '../generated/runtime/operation-definition.js';\n\ninterface GeneratedToolEntry extends McpToolDescriptor {\n readonly _operationId: string;\n}\n\ninterface GeneratedToolsFile {\n readonly _comment?: string;\n readonly tools: readonly GeneratedToolEntry[];\n}\n\n/**\n * Resolve the path to `tools.json` across runtime environments:\n *\n * - **In source (development):** `src/generated/mcp/tools.json`\n * - **In the published tarball:** `dist/mcp/tools.json` (copied by tsup's\n * `onSuccess` hook; see tsup.config.ts)\n *\n * The dist bundle is at `dist/mcp-generated.js`, so the JSON sits two\n * directories up + into `mcp/`. The source file is at\n * `src/mcp/generated-bridge.ts`, so the JSON sits one directory up +\n * into `generated/mcp/`.\n */\nconst HERE = dirname(fileURLToPath(import.meta.url));\nconst TOOLS_JSON_PATH = (() => {\n // Try the source layout first (development), then fall back to the dist\n // layout (published). The order matters because in a tsx-run dev env\n // we may be executing from `src/mcp/generated-bridge.ts`, but in a\n // consumer install we're at `dist/mcp-generated.js`.\n const candidates = [\n resolve(HERE, '../generated/mcp/tools.json'), // source layout\n resolve(HERE, 'mcp/tools.json'), // dist layout (next to mcp-generated.js)\n resolve(HERE, '../mcp/tools.json'), // alt dist layout (sibling of bundled dir)\n ];\n for (const candidate of candidates) {\n try {\n readFileSync(candidate, 'utf8');\n return candidate;\n } catch {\n // try next candidate\n }\n }\n // Fall back to the source-layout path; the error will surface with a\n // clearer message when the loader is actually invoked.\n return candidates[0] ?? resolve(HERE, '../generated/mcp/tools.json');\n})();\n\nlet cachedTools: readonly GeneratedToolEntry[] | undefined;\n\n/** Load and cache the generated tool descriptors from tools.json. */\nexport function loadGeneratedOllamaTools(): readonly GeneratedToolEntry[] {\n if (cachedTools) return cachedTools;\n const raw = readFileSync(TOOLS_JSON_PATH, 'utf8');\n const parsed = JSON.parse(raw) as GeneratedToolsFile;\n cachedTools = parsed.tools;\n return cachedTools;\n}\n\n/** Drop the `_operationId` field before exposing the descriptor externally. */\nfunction publicDescriptor(entry: GeneratedToolEntry): McpToolDescriptor {\n const { _operationId, ...rest } = entry;\n void _operationId;\n return rest;\n}\n\n/**\n * Build a list of MCP tool descriptors for the generated Ollama operations.\n * Each tool can be invoked by name via {@link callGeneratedOllamaTool}.\n *\n * The descriptors are read once and cached for the lifetime of the process.\n */\nexport function listGeneratedOllamaTools(): readonly McpToolDescriptor[] {\n return loadGeneratedOllamaTools().map(publicDescriptor);\n}\n\n/**\n * Invoke a generated tool by name. The `name` must match a tool from\n * {@link listGeneratedOllamaTools}.\n *\n * Returns a `McpCallToolResult` containing the structured response. The\n * caller (typically `McpBridge`) is responsible for serializing the result\n * back over the MCP transport.\n */\nexport async function callGeneratedOllamaTool(\n runtime: OllamaRuntime,\n name: string,\n args: Record<string, unknown>,\n options?: { signal?: AbortSignal },\n): Promise<{ content: readonly { type: 'text'; text: string }[]; structuredContent: unknown }> {\n const tools = loadGeneratedOllamaTools();\n const entry = tools.find((t) => t.name === name);\n if (!entry) {\n return {\n content: [{ type: 'text', text: `Unknown tool: ${name}` }],\n structuredContent: { error: 'unknown_tool', name },\n };\n }\n\n // Look up the operation in the IR by id. We re-import the operations\n // module to avoid a circular dependency at module-load time.\n const operations = await import('../generated/api/operations.js');\n const opKey = `${entry._operationId}Op` as keyof typeof operations;\n const operation = operations[opKey] as OperationDefinition | undefined;\n if (!operation || typeof operation !== 'object' || !('operationId' in operation)) {\n return {\n content: [{ type: 'text', text: `Operation not found for ${name}` }],\n structuredContent: { error: 'operation_not_found', name },\n };\n }\n\n try {\n // Wave 15 (P0): split path/query/header parameters from the request\n // body. The MCP input schema may declare path parameters (e.g. `model`\n // for /v1/models/{model}) — those must be passed as `pathParams` to\n // the runtime, not put in the request body. The operation's\n // `parameters` field tells us which args are path/query/header vs body.\n const opParams = operation.parameters ?? [];\n const pathParams: Record<string, string> = {};\n const queryParams: Record<string, string> = {};\n const headerParams: Record<string, string> = {};\n const bodyArgs: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(args)) {\n const paramDef = opParams.find((p) => p.name === key);\n if (paramDef) {\n if (paramDef.in === 'path') {\n pathParams[key] = String(value);\n } else if (paramDef.in === 'query') {\n queryParams[key] = String(value);\n } else if (paramDef.in === 'header') {\n headerParams[key] = String(value);\n }\n } else {\n // Not a declared parameter → goes in the request body.\n bodyArgs[key] = value;\n }\n }\n\n const hasBody = Object.keys(bodyArgs).length > 0;\n const result = await runtime.invoke<unknown>({\n operation,\n body: hasBody ? bodyArgs : undefined,\n ...(Object.keys(pathParams).length > 0 ? { pathParams } : {}),\n ...(Object.keys(queryParams).length > 0 ? { queryParams } : {}),\n ...(Object.keys(headerParams).length > 0 ? { headerParams } : {}),\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n structuredContent: result,\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return {\n content: [{ type: 'text', text: `Ollama tool ${name} failed: ${message}` }],\n structuredContent: { error: 'tool_failed', name, message },\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/api/operations.ts","../src/mcp/generated-bridge.ts"],"names":["dirname","fileURLToPath","resolve","readFileSync"],"mappings":"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","file":"mcp-generated.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 balanceOp = {\n operationId: 'balance',\n method: 'GET',\n path: '/api/balance',\n response: { $ref: '#/schemas/BalanceResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Takes no parameters. For usage history see the usage operation.',\n 'Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.',\n 'Use OllamaClient.balance() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const blobsOp = {\n operationId: 'blobs',\n method: 'HEAD',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'HEAD-only endpoint for blob existence checks; declared in OpenAPI but not in the legacy parity manifest.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const chatOp = {\n operationId: 'chat',\n method: 'POST',\n path: '/api/chat',\n request: { $ref: '#/schemas/ChatRequest' },\n response: { $ref: '#/schemas/ChatResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Use /api/show to discover model-specific thinking values and defaults.',\n 'Structured output (format field) is rejected by Ollama Cloud.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const copyOp = {\n operationId: 'copy',\n method: 'POST',\n path: '/api/copy',\n request: { $ref: '#/schemas/CopyRequest' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const createOp = {\n operationId: 'create',\n method: 'POST',\n path: '/api/create',\n request: { $ref: '#/schemas/CreateRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: { thinking: 'unsupported', tools: 'unsupported' },\n status: { documented: true },\n domain: 'native',\n notes: ['Model creation is local-only; Ollama Cloud does not support it.'],\n} as const satisfies OperationDefinition;\n\nexport const createBlobOp = {\n operationId: 'createBlob',\n method: 'POST',\n path: '/api/blobs/{digest}',\n environment: { local: true, cloud: false },\n parameters: [{ name: 'digest', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'POST endpoint for blob creation; takes a binary body (application/octet-stream).',\n 'Handled by OllamaClient.createBlob() — the generated NativeApi does not expose this operation because the runtime JSON-encodes request bodies.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const deleteOp = {\n operationId: 'delete',\n method: 'DELETE',\n path: '/api/delete',\n request: { $ref: '#/schemas/DeleteRequest' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const embedOp = {\n operationId: 'embed',\n method: 'POST',\n path: '/api/embed',\n request: { $ref: '#/schemas/EmbedRequest' },\n response: { $ref: '#/schemas/EmbedResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: { embeddings: 'supported' },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const generateOp = {\n operationId: 'generate',\n method: 'POST',\n path: '/api/generate',\n request: { $ref: '#/schemas/GenerateRequest' },\n response: { $ref: '#/schemas/GenerateResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {\n thinking: 'model-dependent',\n vision: 'supported',\n structuredOutput: 'supported',\n logprobs: 'supported',\n },\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const psOp = {\n operationId: 'ps',\n method: 'GET',\n path: '/api/ps',\n response: { $ref: '#/schemas/PsResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pullOp = {\n operationId: 'pull',\n method: 'POST',\n path: '/api/pull',\n request: { $ref: '#/schemas/PullRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const pushOp = {\n operationId: 'push',\n method: 'POST',\n path: '/api/push',\n request: { $ref: '#/schemas/PushRequest' },\n response: { $ref: '#/schemas/StatusResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'ndjson', streaming: true, streamingDefault: true },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const showOp = {\n operationId: 'show',\n method: 'POST',\n path: '/api/show',\n request: { $ref: '#/schemas/ShowRequest' },\n response: { $ref: '#/schemas/ShowResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Capabilities source: /api/show is the runtime source of truth for model-dependent capability values (tools, vision, thinking, embeddings).',\n ],\n} as const satisfies OperationDefinition;\n\nexport const systemOneOp = {\n operationId: 'systemOne',\n method: 'POST',\n path: '/v1/systemone',\n request: { $ref: '#/schemas/SystemOneRequest' },\n response: { $ref: '#/schemas/SystemOneResponse' },\n environment: { local: true, cloud: false },\n transport: { mode: 'json', streaming: false },\n capabilities: {\n thinking: 'unsupported',\n tools: 'unsupported',\n vision: 'model-dependent',\n structuredOutput: 'unsupported',\n logprobs: 'unsupported',\n embeddings: 'unsupported',\n },\n constraints: {\n minOllamaVersion: '0.35.0',\n maxRequestBytes: 65536,\n maxRequestBytesWithImages: 33554432,\n },\n status: { documented: true, experimental: true },\n domain: 'native',\n notes: [\n 'Local-only; Ollama Cloud rejects /v1/systemone.',\n '64 KiB request limit without images, 32 MiB with images (includes JSON/base64 overhead).',\n 'No tools, no generation controls (temperature, top_p, etc.).',\n 'Vision is model-dependent: images are accepted by vision-weighted models (Clef/Clef Flash) but not by text-only models.',\n 'Experimental: behavioral surface may change between Ollama releases.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const tagsOp = {\n operationId: 'tags',\n method: 'GET',\n path: '/api/tags',\n response: { $ref: '#/schemas/ListResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const usageOp = {\n operationId: 'usage',\n method: 'GET',\n path: '/api/usage',\n response: { $ref: '#/schemas/UsageResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only account endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Query parameters (not modeled by the generated runtime): range = 24h | 7d | 30d (server default 7d), scope = self | team (server default self; team scope requires a team admin).',\n 'Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.',\n 'Use OllamaClient.usage() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const versionOp = {\n operationId: 'version',\n method: 'GET',\n path: '/api/version',\n response: { $ref: '#/schemas/VersionResponse' },\n environment: { local: true, cloud: true },\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n} as const satisfies OperationDefinition;\n\nexport const webFetchOp = {\n operationId: 'webFetch',\n method: 'POST',\n path: '/api/web_fetch',\n request: { $ref: '#/schemas/WebFetchRequest' },\n response: { $ref: '#/schemas/WebFetchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webFetch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const webSearchOp = {\n operationId: 'webSearch',\n method: 'POST',\n path: '/api/web_search',\n request: { $ref: '#/schemas/WebSearchRequest' },\n response: { $ref: '#/schemas/WebSearchResponse' },\n environment: { local: false, cloud: true },\n host: 'https://ollama.com',\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'native',\n notes: [\n 'Cloud-only capability endpoint — targets https://ollama.com, not the local Ollama server.',\n 'Requires an Ollama Cloud API key (set via OllamaClient credentials).',\n 'Use OllamaClient.webSearch() — the generated NativeApi class does not expose this operation.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const openaiChatCompletionsOp = {\n operationId: 'openaiChatCompletions',\n method: 'POST',\n path: '/v1/chat/completions',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: {\n thinking: 'model-dependent',\n tools: 'model-dependent',\n vision: 'model-dependent',\n structuredOutput: 'supported',\n logprobs: '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 parameters: [{ name: 'model', in: 'path', required: true, schema: { type: 'string' } }],\n transport: { mode: 'json', streaming: false },\n capabilities: {},\n status: { documented: true },\n domain: 'openai',\n notes: ['Returns metadata for a single OpenAI-compat model by id.'],\n} as const satisfies OperationDefinition;\n\nexport const openaiResponsesOp = {\n operationId: 'openaiResponses',\n method: 'POST',\n path: '/v1/responses',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'openai',\n notes: [\n 'Ollama implements a subset of the OpenAI Responses API; previous_response_id and conversation are explicitly unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const anthropicMessagesOp = {\n operationId: 'anthropicMessages',\n method: 'POST',\n path: '/v1/messages',\n environment: { local: true, cloud: true },\n transport: { mode: 'sse', streaming: true, streamingDefault: false },\n capabilities: { thinking: 'model-dependent', tools: 'model-dependent' },\n status: { documented: true },\n domain: 'anthropic',\n notes: [\n \"tool_choice and metadata are explicitly unsupported by Ollama's Anthropic compat layer.\",\n 'Nested cache_control fields under messages[].content[].cache_control are unsupported.',\n ],\n} as const satisfies OperationDefinition;\n\nexport const allOperations = [\n balanceOp,\n blobsOp,\n chatOp,\n copyOp,\n createOp,\n createBlobOp,\n deleteOp,\n embedOp,\n generateOp,\n psOp,\n pullOp,\n pushOp,\n showOp,\n systemOneOp,\n tagsOp,\n usageOp,\n versionOp,\n webFetchOp,\n webSearchOp,\n openaiChatCompletionsOp,\n openaiCompletionsOp,\n openaiEmbeddingsOp,\n openaiModelsOp,\n openaiModelsGetOneOp,\n openaiResponsesOp,\n anthropicMessagesOp,\n] as const;\n","/**\n * Generated Ollama MCP tools — runtime adapter.\n *\n * Reads the descriptor list from `src/generated/mcp/tools.json` (the Wave 6\n * MCP emitter output) and exposes them as a `McpToolDescriptor[]` that\n * `McpBridge` can register. The actual call execution delegates to the\n * generated `OllamaRuntime` via the user-provided runtime instance.\n *\n * Usage:\n * ```ts\n * import { NativeApi, OllamaRuntime } from '@nemesis-oss/ollama-sdk/runtime';\n * import { createGeneratedOllamaTools } from '@nemesis-oss/ollama-sdk/mcp/generated';\n *\n * const runtime = new OllamaRuntime({ http });\n * const tools = createGeneratedOllamaTools(runtime);\n * bridge.registerTools(tools);\n * ```\n *\n * This is a Wave 6 opt-in feature — the existing McpBridge continues to work\n * unchanged. Users who want generated MCP tools import this adapter\n * explicitly.\n */\nimport { readFileSync } from 'node:fs';\nimport { fileURLToPath } from 'node:url';\nimport { resolve, dirname } from 'node:path';\nimport type { McpToolDescriptor } from './types.js';\nimport { OllamaRuntime } from '../generated/runtime/runtime.js';\nimport type { OperationDefinition } from '../generated/runtime/operation-definition.js';\n\ninterface GeneratedToolEntry extends McpToolDescriptor {\n readonly _operationId: string;\n}\n\ninterface GeneratedToolsFile {\n readonly _comment?: string;\n readonly tools: readonly GeneratedToolEntry[];\n}\n\n/**\n * Resolve the path to `tools.json` across runtime environments:\n *\n * - **In source (development):** `src/generated/mcp/tools.json`\n * - **In the published tarball:** `dist/mcp/tools.json` (copied by tsup's\n * `onSuccess` hook; see tsup.config.ts)\n *\n * The dist bundle is at `dist/mcp-generated.js`, so the JSON sits two\n * directories up + into `mcp/`. The source file is at\n * `src/mcp/generated-bridge.ts`, so the JSON sits one directory up +\n * into `generated/mcp/`.\n */\nconst HERE = dirname(fileURLToPath(import.meta.url));\nconst TOOLS_JSON_PATH = (() => {\n // Try the source layout first (development), then fall back to the dist\n // layout (published). The order matters because in a tsx-run dev env\n // we may be executing from `src/mcp/generated-bridge.ts`, but in a\n // consumer install we're at `dist/mcp-generated.js`.\n const candidates = [\n resolve(HERE, '../generated/mcp/tools.json'), // source layout\n resolve(HERE, 'mcp/tools.json'), // dist layout (next to mcp-generated.js)\n resolve(HERE, '../mcp/tools.json'), // alt dist layout (sibling of bundled dir)\n ];\n for (const candidate of candidates) {\n try {\n readFileSync(candidate, 'utf8');\n return candidate;\n } catch {\n // try next candidate\n }\n }\n // Fall back to the source-layout path; the error will surface with a\n // clearer message when the loader is actually invoked.\n return candidates[0] ?? resolve(HERE, '../generated/mcp/tools.json');\n})();\n\nlet cachedTools: readonly GeneratedToolEntry[] | undefined;\n\n/** Load and cache the generated tool descriptors from tools.json. */\nexport function loadGeneratedOllamaTools(): readonly GeneratedToolEntry[] {\n if (cachedTools) return cachedTools;\n const raw = readFileSync(TOOLS_JSON_PATH, 'utf8');\n const parsed = JSON.parse(raw) as GeneratedToolsFile;\n cachedTools = parsed.tools;\n return cachedTools;\n}\n\n/** Drop the `_operationId` field before exposing the descriptor externally. */\nfunction publicDescriptor(entry: GeneratedToolEntry): McpToolDescriptor {\n const { _operationId, ...rest } = entry;\n void _operationId;\n return rest;\n}\n\n/**\n * Build a list of MCP tool descriptors for the generated Ollama operations.\n * Each tool can be invoked by name via {@link callGeneratedOllamaTool}.\n *\n * The descriptors are read once and cached for the lifetime of the process.\n */\nexport function listGeneratedOllamaTools(): readonly McpToolDescriptor[] {\n return loadGeneratedOllamaTools().map(publicDescriptor);\n}\n\n/**\n * Invoke a generated tool by name. The `name` must match a tool from\n * {@link listGeneratedOllamaTools}.\n *\n * Returns a `McpCallToolResult` containing the structured response. The\n * caller (typically `McpBridge`) is responsible for serializing the result\n * back over the MCP transport.\n */\nexport async function callGeneratedOllamaTool(\n runtime: OllamaRuntime,\n name: string,\n args: Record<string, unknown>,\n options?: { signal?: AbortSignal },\n): Promise<{ content: readonly { type: 'text'; text: string }[]; structuredContent: unknown }> {\n const tools = loadGeneratedOllamaTools();\n const entry = tools.find((t) => t.name === name);\n if (!entry) {\n return {\n content: [{ type: 'text', text: `Unknown tool: ${name}` }],\n structuredContent: { error: 'unknown_tool', name },\n };\n }\n\n // Look up the operation in the IR by id. We re-import the operations\n // module to avoid a circular dependency at module-load time.\n const operations = await import('../generated/api/operations.js');\n const opKey = `${entry._operationId}Op` as keyof typeof operations;\n const operation = operations[opKey] as OperationDefinition | undefined;\n if (!operation || typeof operation !== 'object' || !('operationId' in operation)) {\n return {\n content: [{ type: 'text', text: `Operation not found for ${name}` }],\n structuredContent: { error: 'operation_not_found', name },\n };\n }\n\n try {\n // Wave 15 (P0): split path/query/header parameters from the request\n // body. The MCP input schema may declare path parameters (e.g. `model`\n // for /v1/models/{model}) — those must be passed as `pathParams` to\n // the runtime, not put in the request body. The operation's\n // `parameters` field tells us which args are path/query/header vs body.\n const opParams = operation.parameters ?? [];\n const pathParams: Record<string, string> = {};\n const queryParams: Record<string, string> = {};\n const headerParams: Record<string, string> = {};\n const bodyArgs: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(args)) {\n const paramDef = opParams.find((p) => p.name === key);\n if (paramDef) {\n if (paramDef.in === 'path') {\n pathParams[key] = String(value);\n } else if (paramDef.in === 'query') {\n queryParams[key] = String(value);\n } else if (paramDef.in === 'header') {\n headerParams[key] = String(value);\n }\n } else {\n // Not a declared parameter → goes in the request body.\n bodyArgs[key] = value;\n }\n }\n\n const hasBody = Object.keys(bodyArgs).length > 0;\n const result = await runtime.invoke<unknown>({\n operation,\n body: hasBody ? bodyArgs : undefined,\n ...(Object.keys(pathParams).length > 0 ? { pathParams } : {}),\n ...(Object.keys(queryParams).length > 0 ? { queryParams } : {}),\n ...(Object.keys(headerParams).length > 0 ? { headerParams } : {}),\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n });\n return {\n content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],\n structuredContent: result,\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return {\n content: [{ type: 'text', text: `Ollama tool ${name} failed: ${message}` }],\n structuredContent: { error: 'tool_failed', name, message },\n };\n }\n}\n"]}
|
package/dist/mcp-generated.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as McpToolDescriptor } from './types-CI-gM2u5.cjs';
|
|
2
|
-
import { O as OllamaRuntime } from './runtime-
|
|
2
|
+
import { O as OllamaRuntime } from './runtime-D2W9TfCJ.cjs';
|
|
3
3
|
import 'zod';
|
|
4
|
-
import './types-
|
|
4
|
+
import './types-DVcX_zMp.cjs';
|
|
5
5
|
|
|
6
6
|
interface GeneratedToolEntry extends McpToolDescriptor {
|
|
7
7
|
readonly _operationId: string;
|
package/dist/mcp-generated.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as McpToolDescriptor } from './types-CI-gM2u5.js';
|
|
2
|
-
import { O as OllamaRuntime } from './runtime-
|
|
2
|
+
import { O as OllamaRuntime } from './runtime-C3rfpkZw.js';
|
|
3
3
|
import 'zod';
|
|
4
|
-
import './types-
|
|
4
|
+
import './types-DVcX_zMp.js';
|
|
5
5
|
|
|
6
6
|
interface GeneratedToolEntry extends McpToolDescriptor {
|
|
7
7
|
readonly _operationId: string;
|
package/dist/mcp-generated.js
CHANGED
|
@@ -17,6 +17,7 @@ var operations_exports = {};
|
|
|
17
17
|
__export(operations_exports, {
|
|
18
18
|
allOperations: () => allOperations,
|
|
19
19
|
anthropicMessagesOp: () => anthropicMessagesOp,
|
|
20
|
+
balanceOp: () => balanceOp,
|
|
20
21
|
blobsOp: () => blobsOp,
|
|
21
22
|
chatOp: () => chatOp,
|
|
22
23
|
copyOp: () => copyOp,
|
|
@@ -37,13 +38,33 @@ __export(operations_exports, {
|
|
|
37
38
|
showOp: () => showOp,
|
|
38
39
|
systemOneOp: () => systemOneOp,
|
|
39
40
|
tagsOp: () => tagsOp,
|
|
41
|
+
usageOp: () => usageOp,
|
|
40
42
|
versionOp: () => versionOp,
|
|
41
43
|
webFetchOp: () => webFetchOp,
|
|
42
44
|
webSearchOp: () => webSearchOp
|
|
43
45
|
});
|
|
44
|
-
var blobsOp, chatOp, copyOp, createOp, createBlobOp, deleteOp, embedOp, generateOp, psOp, pullOp, pushOp, showOp, systemOneOp, tagsOp, versionOp, webFetchOp, webSearchOp, openaiChatCompletionsOp, openaiCompletionsOp, openaiEmbeddingsOp, openaiModelsOp, openaiModelsGetOneOp, openaiResponsesOp, anthropicMessagesOp, allOperations;
|
|
46
|
+
var balanceOp, blobsOp, chatOp, copyOp, createOp, createBlobOp, deleteOp, embedOp, generateOp, psOp, pullOp, pushOp, showOp, systemOneOp, tagsOp, usageOp, versionOp, webFetchOp, webSearchOp, openaiChatCompletionsOp, openaiCompletionsOp, openaiEmbeddingsOp, openaiModelsOp, openaiModelsGetOneOp, openaiResponsesOp, anthropicMessagesOp, allOperations;
|
|
45
47
|
var init_operations = __esm({
|
|
46
48
|
"src/generated/api/operations.ts"() {
|
|
49
|
+
balanceOp = {
|
|
50
|
+
operationId: "balance",
|
|
51
|
+
method: "GET",
|
|
52
|
+
path: "/api/balance",
|
|
53
|
+
response: { $ref: "#/schemas/BalanceResponse" },
|
|
54
|
+
environment: { local: false, cloud: true },
|
|
55
|
+
host: "https://ollama.com",
|
|
56
|
+
transport: { mode: "json", streaming: false },
|
|
57
|
+
capabilities: {},
|
|
58
|
+
status: { documented: true },
|
|
59
|
+
domain: "native",
|
|
60
|
+
notes: [
|
|
61
|
+
"Cloud-only account endpoint \u2014 targets https://ollama.com, not the local Ollama server.",
|
|
62
|
+
"Requires an Ollama Cloud API key (set via OllamaClient credentials).",
|
|
63
|
+
"Takes no parameters. For usage history see the usage operation.",
|
|
64
|
+
"Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.",
|
|
65
|
+
"Use OllamaClient.balance() \u2014 the generated NativeApi class does not expose this operation."
|
|
66
|
+
]
|
|
67
|
+
};
|
|
47
68
|
blobsOp = {
|
|
48
69
|
operationId: "blobs",
|
|
49
70
|
method: "HEAD",
|
|
@@ -251,6 +272,25 @@ var init_operations = __esm({
|
|
|
251
272
|
status: { documented: true },
|
|
252
273
|
domain: "native"
|
|
253
274
|
};
|
|
275
|
+
usageOp = {
|
|
276
|
+
operationId: "usage",
|
|
277
|
+
method: "GET",
|
|
278
|
+
path: "/api/usage",
|
|
279
|
+
response: { $ref: "#/schemas/UsageResponse" },
|
|
280
|
+
environment: { local: false, cloud: true },
|
|
281
|
+
host: "https://ollama.com",
|
|
282
|
+
transport: { mode: "json", streaming: false },
|
|
283
|
+
capabilities: {},
|
|
284
|
+
status: { documented: true },
|
|
285
|
+
domain: "native",
|
|
286
|
+
notes: [
|
|
287
|
+
"Cloud-only account endpoint \u2014 targets https://ollama.com, not the local Ollama server.",
|
|
288
|
+
"Requires an Ollama Cloud API key (set via OllamaClient credentials).",
|
|
289
|
+
"Query parameters (not modeled by the generated runtime): range = 24h | 7d | 30d (server default 7d), scope = self | team (server default self; team scope requires a team admin).",
|
|
290
|
+
"Rate limited to 10 requests/minute per user; 429 responses carry a Retry-After header.",
|
|
291
|
+
"Use OllamaClient.usage() \u2014 the generated NativeApi class does not expose this operation."
|
|
292
|
+
]
|
|
293
|
+
};
|
|
254
294
|
versionOp = {
|
|
255
295
|
operationId: "version",
|
|
256
296
|
method: "GET",
|
|
@@ -387,6 +427,7 @@ var init_operations = __esm({
|
|
|
387
427
|
]
|
|
388
428
|
};
|
|
389
429
|
allOperations = [
|
|
430
|
+
balanceOp,
|
|
390
431
|
blobsOp,
|
|
391
432
|
chatOp,
|
|
392
433
|
copyOp,
|
|
@@ -401,6 +442,7 @@ var init_operations = __esm({
|
|
|
401
442
|
showOp,
|
|
402
443
|
systemOneOp,
|
|
403
444
|
tagsOp,
|
|
445
|
+
usageOp,
|
|
404
446
|
versionOp,
|
|
405
447
|
webFetchOp,
|
|
406
448
|
webSearchOp,
|