@holokai/holo-provider-ollama 1.4.5 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/index.d.ts +8 -8
- package/dist/index.js +8 -8
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/ollama.auditor.js +3 -1
- package/dist/ollama.auditor.js.map +1 -1
- package/dist/ollama.pricing.d.ts +2 -2
- package/dist/ollama.pricing.d.ts.map +1 -1
- package/dist/ollama.pricing.js +32 -15
- package/dist/ollama.pricing.js.map +1 -1
- package/dist/ollama.provider.d.ts +1 -2
- package/dist/ollama.provider.d.ts.map +1 -1
- package/dist/ollama.provider.js +4 -7
- package/dist/ollama.provider.js.map +1 -1
- package/dist/ollama.response.factory.d.ts +1 -1
- package/dist/ollama.response.factory.d.ts.map +1 -1
- package/dist/ollama.response.factory.js +1 -0
- package/dist/ollama.response.factory.js.map +1 -1
- package/dist/ollama.translator.d.ts +11 -8
- package/dist/ollama.translator.d.ts.map +1 -1
- package/dist/ollama.translator.js +52 -15
- package/dist/ollama.translator.js.map +1 -1
- package/dist/ollama.wire.adapter.d.ts +13 -0
- package/dist/ollama.wire.adapter.d.ts.map +1 -1
- package/dist/ollama.wire.adapter.js +17 -0
- package/dist/ollama.wire.adapter.js.map +1 -1
- package/dist/plugin.d.ts +4 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +45 -15
- package/dist/plugin.js.map +1 -1
- package/dist/translators/index.d.ts +11 -8
- package/dist/translators/index.d.ts.map +1 -1
- package/dist/translators/index.js +11 -8
- package/dist/translators/index.js.map +1 -1
- package/dist/translators/ollama.chat.request.translator.d.ts +4 -4
- package/dist/translators/ollama.chat.request.translator.d.ts.map +1 -1
- package/dist/translators/ollama.chat.request.translator.js +9 -8
- package/dist/translators/ollama.chat.request.translator.js.map +1 -1
- package/dist/translators/ollama.chat.response.translator.d.ts +5 -5
- package/dist/translators/ollama.chat.response.translator.d.ts.map +1 -1
- package/dist/translators/ollama.chat.response.translator.js +16 -44
- package/dist/translators/ollama.chat.response.translator.js.map +1 -1
- package/dist/translators/ollama.embed.request.translator.d.ts +13 -0
- package/dist/translators/ollama.embed.request.translator.d.ts.map +1 -0
- package/dist/translators/ollama.embed.request.translator.js +57 -0
- package/dist/translators/ollama.embed.request.translator.js.map +1 -0
- package/dist/translators/ollama.embed.response.translator.d.ts +14 -0
- package/dist/translators/ollama.embed.response.translator.d.ts.map +1 -0
- package/dist/translators/ollama.embed.response.translator.js +52 -0
- package/dist/translators/ollama.embed.response.translator.js.map +1 -0
- package/dist/translators/ollama.generate.request.translator.d.ts +1 -1
- package/dist/translators/ollama.generate.request.translator.d.ts.map +1 -1
- package/dist/translators/ollama.generate.request.translator.js +5 -4
- package/dist/translators/ollama.generate.request.translator.js.map +1 -1
- package/dist/translators/ollama.generate.response.translator.d.ts +7 -5
- package/dist/translators/ollama.generate.response.translator.d.ts.map +1 -1
- package/dist/translators/ollama.generate.response.translator.js +27 -39
- package/dist/translators/ollama.generate.response.translator.js.map +1 -1
- package/dist/translators/ollama.message.translators.d.ts +1 -1
- package/dist/translators/ollama.message.translators.d.ts.map +1 -1
- package/dist/translators/ollama.message.translators.js +6 -7
- package/dist/translators/ollama.message.translators.js.map +1 -1
- package/dist/translators/ollama.options.translators.d.ts +1 -1
- package/dist/translators/ollama.options.translators.d.ts.map +1 -1
- package/dist/translators/ollama.options.translators.js +13 -0
- package/dist/translators/ollama.options.translators.js.map +1 -1
- package/dist/translators/ollama.tool.translators.d.ts +1 -1
- package/dist/translators/ollama.tool.translators.d.ts.map +1 -1
- package/dist/translators/ollama.tool.translators.js +4 -5
- package/dist/translators/ollama.tool.translators.js.map +1 -1
- package/dist/translators/ollama.usage.translator.d.ts +19 -0
- package/dist/translators/ollama.usage.translator.d.ts.map +1 -0
- package/dist/translators/ollama.usage.translator.js +53 -0
- package/dist/translators/ollama.usage.translator.js.map +1 -0
- package/dist/translators/streaming/index.d.ts +4 -4
- package/dist/translators/streaming/index.js +4 -4
- package/dist/translators/streaming/ollama.content.delta.translator.d.ts +1 -1
- package/dist/translators/streaming/ollama.content.delta.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.content.delta.translator.js +11 -0
- package/dist/translators/streaming/ollama.content.delta.translator.js.map +1 -1
- package/dist/translators/streaming/ollama.message.delta.translator.d.ts +7 -2
- package/dist/translators/streaming/ollama.message.delta.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.message.delta.translator.js +139 -58
- package/dist/translators/streaming/ollama.message.delta.translator.js.map +1 -1
- package/dist/translators/streaming/ollama.message.stop.translator.d.ts +1 -1
- package/dist/translators/streaming/ollama.message.stop.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.message.stop.translator.js +1 -0
- package/dist/translators/streaming/ollama.message.stop.translator.js.map +1 -1
- package/dist/translators/streaming/ollama.stream.translator.d.ts +19 -5
- package/dist/translators/streaming/ollama.stream.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.stream.translator.js +133 -26
- package/dist/translators/streaming/ollama.stream.translator.js.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/request.types.d.ts +2 -1
- package/dist/types/request.types.d.ts.map +1 -1
- package/dist/types/request.types.js +2 -0
- package/dist/types/request.types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +13 -14
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ providing complete bidirectional translation between Ollama's native API and the
|
|
|
29
29
|
## Installation
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
|
|
32
|
+
pnpm add @holokai/holo-provider-ollama
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
### Peer Dependencies
|
|
@@ -683,42 +683,42 @@ See [manifest.ts](./src/manifest.ts) for the complete schema.
|
|
|
683
683
|
|
|
684
684
|
```bash
|
|
685
685
|
# Install dependencies
|
|
686
|
-
|
|
686
|
+
pnpm install
|
|
687
687
|
|
|
688
688
|
# Build
|
|
689
|
-
|
|
689
|
+
pnpm run build
|
|
690
690
|
|
|
691
691
|
# Type checking
|
|
692
|
-
|
|
692
|
+
pnpm run type-check
|
|
693
693
|
|
|
694
694
|
# Run tests
|
|
695
|
-
|
|
695
|
+
pnpm test
|
|
696
696
|
```
|
|
697
697
|
|
|
698
698
|
### Testing
|
|
699
699
|
|
|
700
700
|
```bash
|
|
701
701
|
# Unit tests
|
|
702
|
-
|
|
702
|
+
pnpm test
|
|
703
703
|
|
|
704
704
|
# Integration tests (requires Ollama running)
|
|
705
|
-
|
|
705
|
+
pnpm run test:integration
|
|
706
706
|
|
|
707
707
|
# Watch mode
|
|
708
|
-
|
|
708
|
+
pnpm run test:watch
|
|
709
709
|
```
|
|
710
710
|
|
|
711
711
|
### Building
|
|
712
712
|
|
|
713
713
|
```bash
|
|
714
714
|
# Production build
|
|
715
|
-
|
|
715
|
+
pnpm run build
|
|
716
716
|
|
|
717
717
|
# Watch mode
|
|
718
|
-
|
|
718
|
+
pnpm run build:watch
|
|
719
719
|
|
|
720
720
|
# Clean
|
|
721
|
-
|
|
721
|
+
pnpm run clean
|
|
722
722
|
```
|
|
723
723
|
|
|
724
724
|
---
|
package/dist/index.d.ts
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Entry point for the Ollama provider plugin.
|
|
5
5
|
* Exports the plugin instance as default export per Holo plugin contract.
|
|
6
6
|
*/
|
|
7
|
-
import { OllamaProviderPlugin } from './plugin';
|
|
8
|
-
export * from './translators';
|
|
9
|
-
export * from './types';
|
|
10
|
-
export * from './manifest';
|
|
11
|
-
export * from './ollama.auditor';
|
|
12
|
-
export * from './ollama.provider';
|
|
13
|
-
export * from './ollama.translator';
|
|
14
|
-
export * from './plugin';
|
|
7
|
+
import { OllamaProviderPlugin } from './plugin.js';
|
|
8
|
+
export * from './translators/index.js';
|
|
9
|
+
export * from './types/index.js';
|
|
10
|
+
export * from './manifest.js';
|
|
11
|
+
export * from './ollama.auditor.js';
|
|
12
|
+
export * from './ollama.provider.js';
|
|
13
|
+
export * from './ollama.translator.js';
|
|
14
|
+
export * from './plugin.js';
|
|
15
15
|
declare const _default: OllamaProviderPlugin;
|
|
16
16
|
export default _default;
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Entry point for the Ollama provider plugin.
|
|
5
5
|
* Exports the plugin instance as default export per Holo plugin contract.
|
|
6
6
|
*/
|
|
7
|
-
import { OllamaProviderPlugin } from './plugin';
|
|
8
|
-
export * from './translators';
|
|
9
|
-
export * from './types';
|
|
10
|
-
export * from './manifest';
|
|
11
|
-
export * from './ollama.auditor';
|
|
12
|
-
export * from './ollama.provider';
|
|
13
|
-
export * from './ollama.translator';
|
|
14
|
-
export * from './plugin';
|
|
7
|
+
import { OllamaProviderPlugin } from './plugin.js';
|
|
8
|
+
export * from './translators/index.js';
|
|
9
|
+
export * from './types/index.js';
|
|
10
|
+
export * from './manifest.js';
|
|
11
|
+
export * from './ollama.auditor.js';
|
|
12
|
+
export * from './ollama.provider.js';
|
|
13
|
+
export * from './ollama.translator.js';
|
|
14
|
+
export * from './plugin.js';
|
|
15
15
|
// Export singleton instance as default for plugin loading
|
|
16
16
|
export default new OllamaProviderPlugin();
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
package/dist/manifest.d.ts
CHANGED
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAa,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,cAAc,EAAa,MAAM,4BAA4B,CAAC;AAG3E,eAAO,MAAM,QAAQ,EAAE,cAOtB,CAAC"}
|
package/dist/manifest.js
CHANGED
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACpC,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,UAAU,CAAC,QAAQ;IAC/B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,kCAAkC;CAClD,CAAC"}
|
package/dist/ollama.auditor.js
CHANGED
|
@@ -5,10 +5,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { injectable } from 'tsyringe';
|
|
8
|
+
import {} from "./types/index.js";
|
|
8
9
|
import { BaseAuditor, extractPromptByRole, extractTextContent, normalizeText } from "@holokai/holo-sdk/provider";
|
|
9
10
|
import { nsToMs, pickDefined } from "@holokai/holo-sdk";
|
|
10
11
|
import { FinishReason } from "@holokai/holo-types/entities";
|
|
11
|
-
import {
|
|
12
|
+
import {} from "ollama";
|
|
13
|
+
import { OllamaProtocols } from "./plugin.js";
|
|
12
14
|
let OllamaAuditor = class OllamaAuditor extends BaseAuditor {
|
|
13
15
|
provider = 'ollama';
|
|
14
16
|
mapFinishReason(nativeResponse, _protocolName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.auditor.js","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.auditor.js","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"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"}
|
package/dist/ollama.pricing.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { PricingDataset } from '@holokai/holo-types/plugin';
|
|
2
|
+
export declare const OLLAMA_PRICING_DATASET: PricingDataset;
|
|
3
3
|
//# sourceMappingURL=ollama.pricing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.pricing.d.ts","sourceRoot":"","sources":["../src/ollama.pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"ollama.pricing.d.ts","sourceRoot":"","sources":["../src/ollama.pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAqB/D,eAAO,MAAM,sBAAsB,EAAE,cAmBpC,CAAC"}
|
package/dist/ollama.pricing.js
CHANGED
|
@@ -1,18 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Local-runtime caveat: this list is a known-good seed. The runtime model dictionary
|
|
2
|
+
// is authoritative — `OllamaProvider.discoverModels()` queries `client.list()` against
|
|
3
|
+
// the running ollama host, so a user pulling a model not listed here is fine.
|
|
4
|
+
// Pricing for unlisted models defaults to zero cost via the seed snapshot.
|
|
5
|
+
const LOCAL_MODELS = [
|
|
6
|
+
'llama3:latest', 'llama-3.3-70b-instruct', 'llama3.3:70b-instruct-q4_0',
|
|
7
|
+
'meta-llama-3.1-8b-instruct',
|
|
8
|
+
'gemma3:latest', 'gemma3:12b', 'gemma3:27b',
|
|
9
|
+
'gemma-3-1b-it', 'gemma-3-12b-it', 'gemma-3-27b-it',
|
|
10
|
+
'mistral:latest', 'mistral-7b-instruct-v0.3', 'mistral-nemo-instruct-2407',
|
|
11
|
+
'mistral-small-3.1-24b-instruct-2503', 'mistral-small:24b-instruct-2501-q8_0',
|
|
12
|
+
'qwq-32b', 'qwen3-coder-30b-a3b-instruct-mlx', 'qwen/qwen3-next-80b',
|
|
13
|
+
'nomic-embed-text:latest', 'text-embedding-nomic-embed-text-v1.5',
|
|
14
|
+
];
|
|
15
|
+
export const OLLAMA_PRICING_DATASET = {
|
|
16
|
+
name: 'Ollama Local',
|
|
3
17
|
version: '2026-03',
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
'
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
pricing_snapshots: [
|
|
19
|
+
{
|
|
20
|
+
name: 'ollama-2026-03',
|
|
21
|
+
version: '2026-03',
|
|
22
|
+
effective_from: '2026-03-01',
|
|
23
|
+
models: LOCAL_MODELS.map(m => ({ model_name: m, input_cost: 0, output_cost: 0 })),
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
model_ids: LOCAL_MODELS.map(model_id => ({
|
|
27
|
+
model_id,
|
|
28
|
+
family: 'ollama',
|
|
29
|
+
kind: model_id.includes('embed') ? 'embed' : 'chat',
|
|
30
|
+
release_date: '2026-03-01',
|
|
31
|
+
shutdown_date: null,
|
|
32
|
+
pricing_snapshot: 'ollama-2026-03',
|
|
33
|
+
})),
|
|
17
34
|
};
|
|
18
35
|
//# sourceMappingURL=ollama.pricing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.pricing.js","sourceRoot":"","sources":["../src/ollama.pricing.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"ollama.pricing.js","sourceRoot":"","sources":["../src/ollama.pricing.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,uFAAuF;AACvF,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,YAAY,GAAG;IACjB,eAAe,EAAE,wBAAwB,EAAE,4BAA4B;IACvE,4BAA4B;IAE5B,eAAe,EAAE,YAAY,EAAE,YAAY;IAC3C,eAAe,EAAE,gBAAgB,EAAE,gBAAgB;IAEnD,gBAAgB,EAAE,0BAA0B,EAAE,4BAA4B;IAC1E,qCAAqC,EAAE,sCAAsC;IAE7E,SAAS,EAAE,kCAAkC,EAAE,qBAAqB;IAEpE,yBAAyB,EAAE,sCAAsC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IAClD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE;QACf;YACI,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,YAAY;YAC5B,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC,CAAC;SAClF;KACJ;IACD,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrC,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QACnD,YAAY,EAAE,YAAY;QAC1B,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,gBAAgB;KACrC,CAAC,CAAC;CACN,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { ChatRequest, EmbedRequest, ErrorResponse, GenerateRequest, ListResponse, Ollama } from 'ollama';
|
|
1
|
+
import { type ChatRequest, type EmbedRequest, type ErrorResponse, type GenerateRequest, type ListResponse, Ollama } from 'ollama';
|
|
2
2
|
import { BaseProvider } from '@holokai/holo-sdk/provider';
|
|
3
3
|
import type { DiscoveredModel, IAuditor, IProviderTranslator, IResponseFactory, ProviderContext, RunHandle } from '@holokai/holo-types/provider';
|
|
4
4
|
export declare class OllamaProvider extends BaseProvider<Ollama, EmbedRequest | GenerateRequest | ChatRequest> {
|
|
5
|
-
getModelNameFromRequest(payload: EmbedRequest | GenerateRequest | ChatRequest): Promise<string>;
|
|
6
5
|
discoverModels(): Promise<DiscoveredModel[]>;
|
|
7
6
|
getModels(allowedModels: string[] | true): Promise<ListResponse>;
|
|
8
7
|
ollamaEmbed(payload: EmbedRequest): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.provider.d.ts","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.provider.d.ts","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AAChI,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACZ,MAAM,8BAA8B,CAAC;AAMtC,qBAAa,cAAe,SAAQ,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,WAAW,CAAC;IAE5F,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAoB5C,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAchE,WAAW,CAAC,OAAO,EAAE,YAAY;;;IAQvC,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;cAInC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;cAIjD,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,GAAG,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAY3H,cAAc;IA4B5B,OAAO,CAAC,mBAAmB;YAYb,UAAU;CA0C3B"}
|
package/dist/ollama.provider.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { Ollama } from 'ollama';
|
|
2
2
|
import { BaseProvider } from '@holokai/holo-sdk/provider';
|
|
3
|
-
import { OllamaAuditor } from './ollama.auditor';
|
|
4
|
-
import { OllamaTranslator } from './ollama.translator';
|
|
5
|
-
import { OllamaResponseFactory } from './ollama.response.factory';
|
|
6
|
-
import { OllamaProtocols } from "./plugin";
|
|
3
|
+
import { OllamaAuditor } from './ollama.auditor.js';
|
|
4
|
+
import { OllamaTranslator } from './ollama.translator.js';
|
|
5
|
+
import { OllamaResponseFactory } from './ollama.response.factory.js';
|
|
6
|
+
import { OllamaProtocols } from "./plugin.js";
|
|
7
7
|
export class OllamaProvider extends BaseProvider {
|
|
8
|
-
async getModelNameFromRequest(payload) {
|
|
9
|
-
return payload.model;
|
|
10
|
-
}
|
|
11
8
|
async discoverModels() {
|
|
12
9
|
const response = await this.client.list();
|
|
13
10
|
return response.models.map(m => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.provider.js","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ollama.provider.js","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IResponseFactory } from "@holokai/holo-types/provider";
|
|
2
|
-
import { ErrorResponse } from "ollama";
|
|
2
|
+
import { type ErrorResponse } from "ollama";
|
|
3
3
|
export declare class OllamaResponseFactory implements IResponseFactory {
|
|
4
4
|
static instance(): OllamaResponseFactory;
|
|
5
5
|
createError(message: string): ErrorResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.response.factory.d.ts","sourceRoot":"","sources":["../src/ollama.response.factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.response.factory.d.ts","sourceRoot":"","sources":["../src/ollama.response.factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,KAAK,aAAa,EAAC,MAAM,QAAQ,CAAC;AAE1C,qBAAa,qBAAsB,YAAW,gBAAgB;IAC1D,MAAM,CAAC,QAAQ,IAAI,qBAAqB;IAIxC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;CAG9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.response.factory.js","sourceRoot":"","sources":["../src/ollama.response.factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ollama.response.factory.js","sourceRoot":"","sources":["../src/ollama.response.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,MAAM,QAAQ,CAAC;AAE1C,MAAM,OAAO,qBAAqB;IAC9B,MAAM,CAAC,QAAQ;QACX,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,OAAO,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;IAC5B,CAAC;CACJ"}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import type { IProviderTranslator } from "@holokai/holo-types/provider";
|
|
3
|
-
import { HoloEmbedParams, HoloGenerateParams, HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/holo-types/holo";
|
|
4
|
-
import { OllamaChatRequestTranslator, OllamaChatResponseTranslator, OllamaGenerateRequestTranslator, OllamaGenerateResponseTranslator, OllamaMessageTranslator, OllamaStreamTranslator } from "./translators";
|
|
5
|
-
import { OllamaChatRequest, OllamaGenerateRequest, OllamaMessage, OllamaResponse } from "./types";
|
|
3
|
+
import { type HoloEmbedParams, type HoloGenerateParams, type HoloMessage, type HoloRequest, type HoloResponse, type HoloStreamChunk } from "@holokai/holo-types/holo";
|
|
4
|
+
import { OllamaChatRequestTranslator, OllamaChatResponseTranslator, OllamaEmbedRequestTranslator, OllamaEmbedResponseTranslator, OllamaGenerateRequestTranslator, OllamaGenerateResponseTranslator, OllamaMessageTranslator, OllamaStreamTranslator } from "./translators/index.js";
|
|
5
|
+
import { type OllamaChatRequest, type OllamaChatResponse, type OllamaEmbedRequest, type OllamaGenerateRequest, type OllamaGenerateResponse, type OllamaMessage, type OllamaResponse } from "./types/index.js";
|
|
6
6
|
export declare class OllamaTranslator implements IProviderTranslator {
|
|
7
7
|
private ollamaGenerateRequestTranslator;
|
|
8
8
|
private ollamaChatRequestTranslator;
|
|
9
|
+
private ollamaEmbedRequestTranslator;
|
|
9
10
|
private ollamaMessageTranslator;
|
|
10
11
|
private ollamaChatResponseTranslator;
|
|
11
12
|
private ollamaGenerateResponseTranslator;
|
|
13
|
+
private ollamaEmbedResponseTranslator;
|
|
12
14
|
private ollamaStreamTranslator;
|
|
13
|
-
constructor(ollamaGenerateRequestTranslator: OllamaGenerateRequestTranslator, ollamaChatRequestTranslator: OllamaChatRequestTranslator, ollamaMessageTranslator: OllamaMessageTranslator, ollamaChatResponseTranslator: OllamaChatResponseTranslator, ollamaGenerateResponseTranslator: OllamaGenerateResponseTranslator, ollamaStreamTranslator: OllamaStreamTranslator);
|
|
15
|
+
constructor(ollamaGenerateRequestTranslator: OllamaGenerateRequestTranslator, ollamaChatRequestTranslator: OllamaChatRequestTranslator, ollamaEmbedRequestTranslator: OllamaEmbedRequestTranslator, ollamaMessageTranslator: OllamaMessageTranslator, ollamaChatResponseTranslator: OllamaChatResponseTranslator, ollamaGenerateResponseTranslator: OllamaGenerateResponseTranslator, ollamaEmbedResponseTranslator: OllamaEmbedResponseTranslator, ollamaStreamTranslator: OllamaStreamTranslator);
|
|
14
16
|
static instance(): IProviderTranslator;
|
|
15
17
|
fromHoloResponse(response: HoloResponse): Promise<Partial<OllamaResponse>>;
|
|
16
18
|
toHoloResponse(response: OllamaResponse): Promise<Partial<HoloResponse>>;
|
|
17
|
-
fromHoloRequest(request: HoloRequest): Promise<Partial<OllamaChatRequest>>;
|
|
18
|
-
toHoloRequest(request: OllamaChatRequest | OllamaGenerateRequest): Promise<Partial<HoloRequest>>;
|
|
19
|
+
fromHoloRequest(request: HoloRequest): Promise<Partial<OllamaChatRequest | OllamaGenerateRequest | OllamaEmbedRequest>>;
|
|
20
|
+
toHoloRequest(request: OllamaChatRequest | OllamaGenerateRequest | OllamaEmbedRequest): Promise<Partial<HoloRequest>>;
|
|
19
21
|
fromHoloMessages(messages: HoloMessage[]): Promise<Partial<OllamaMessage>[]>;
|
|
20
22
|
toHoloMessages(messages: OllamaMessage[]): Promise<Partial<HoloMessage>[]>;
|
|
21
|
-
|
|
23
|
+
fromHoloStream(source: AsyncIterable<HoloStreamChunk>): AsyncIterable<unknown>;
|
|
24
|
+
toHoloStream(source: AsyncIterable<OllamaChatResponse | OllamaGenerateResponse>): AsyncIterable<HoloStreamChunk>;
|
|
22
25
|
fromHoloGenerateRequest(request: HoloGenerateParams): Promise<any>;
|
|
23
|
-
fromHoloEmbedRequest(request: HoloEmbedParams): Promise<
|
|
26
|
+
fromHoloEmbedRequest(request: HoloEmbedParams): Promise<Partial<OllamaEmbedRequest>>;
|
|
24
27
|
toHoloEmbedResponse(response: any): Promise<{
|
|
25
28
|
model: string;
|
|
26
29
|
embeddings: number[][];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.translator.d.ts","sourceRoot":"","sources":["../src/ollama.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACH,eAAe,
|
|
1
|
+
{"version":3,"file":"ollama.translator.d.ts","sourceRoot":"","sources":["../src/ollama.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAE5B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,gCAAgC,EAGhC,uBAAuB,EAEvB,sBAAsB,EAGzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAEvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,SAAS,CAAC;AAEjB,qBACa,gBAAiB,YAAW,mBAAmB;IAEpD,OAAO,CAAC,+BAA+B;IACvC,OAAO,CAAC,2BAA2B;IACnC,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,gCAAgC;IACxC,OAAO,CAAC,6BAA6B;IACrC,OAAO,CAAC,sBAAsB;gBAPtB,+BAA+B,EAAE,+BAA+B,EAChE,2BAA2B,EAAE,2BAA2B,EACxD,4BAA4B,EAAE,4BAA4B,EAC1D,uBAAuB,EAAE,uBAAuB,EAChD,4BAA4B,EAAE,4BAA4B,EAC1D,gCAAgC,EAAE,gCAAgC,EAClE,6BAA6B,EAAE,6BAA6B,EAC5D,sBAAsB,EAAE,sBAAsB;IAK1D,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IAoChC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAU1E,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAUxE,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,CAAC;IAUvH,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAUrH,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;IAI5E,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAIhF,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;IAI9E,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC;IAI1G,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IAQlE,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAOpF,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAQ5G"}
|
|
@@ -10,54 +10,76 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var OllamaTranslator_1;
|
|
11
11
|
import 'reflect-metadata';
|
|
12
12
|
import { injectable } from "tsyringe";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
13
|
+
import {} from "@holokai/holo-types/holo";
|
|
14
|
+
import { OllamaChatRequestTranslator, OllamaChatResponseTranslator, OllamaContentDeltaTranslator, OllamaEmbedRequestTranslator, OllamaEmbedResponseTranslator, OllamaGenerateRequestTranslator, OllamaGenerateResponseTranslator, OllamaMessageDeltaTranslator, OllamaMessageStopTranslator, OllamaMessageTranslator, OllamaOptionsTranslator, OllamaStreamTranslator, OllamaToolTranslator, OllamaUsageTranslator } from "./translators/index.js";
|
|
15
|
+
import { isGenerateRequest, isGenerateResponse } from "./types/index.js";
|
|
15
16
|
let OllamaTranslator = OllamaTranslator_1 = class OllamaTranslator {
|
|
16
17
|
ollamaGenerateRequestTranslator;
|
|
17
18
|
ollamaChatRequestTranslator;
|
|
19
|
+
ollamaEmbedRequestTranslator;
|
|
18
20
|
ollamaMessageTranslator;
|
|
19
21
|
ollamaChatResponseTranslator;
|
|
20
22
|
ollamaGenerateResponseTranslator;
|
|
23
|
+
ollamaEmbedResponseTranslator;
|
|
21
24
|
ollamaStreamTranslator;
|
|
22
|
-
constructor(ollamaGenerateRequestTranslator, ollamaChatRequestTranslator, ollamaMessageTranslator, ollamaChatResponseTranslator, ollamaGenerateResponseTranslator, ollamaStreamTranslator) {
|
|
25
|
+
constructor(ollamaGenerateRequestTranslator, ollamaChatRequestTranslator, ollamaEmbedRequestTranslator, ollamaMessageTranslator, ollamaChatResponseTranslator, ollamaGenerateResponseTranslator, ollamaEmbedResponseTranslator, ollamaStreamTranslator) {
|
|
23
26
|
this.ollamaGenerateRequestTranslator = ollamaGenerateRequestTranslator;
|
|
24
27
|
this.ollamaChatRequestTranslator = ollamaChatRequestTranslator;
|
|
28
|
+
this.ollamaEmbedRequestTranslator = ollamaEmbedRequestTranslator;
|
|
25
29
|
this.ollamaMessageTranslator = ollamaMessageTranslator;
|
|
26
30
|
this.ollamaChatResponseTranslator = ollamaChatResponseTranslator;
|
|
27
31
|
this.ollamaGenerateResponseTranslator = ollamaGenerateResponseTranslator;
|
|
32
|
+
this.ollamaEmbedResponseTranslator = ollamaEmbedResponseTranslator;
|
|
28
33
|
this.ollamaStreamTranslator = ollamaStreamTranslator;
|
|
29
34
|
}
|
|
30
35
|
static instance() {
|
|
31
36
|
const messageTranslator = new OllamaMessageTranslator();
|
|
32
37
|
const toolTranslator = new OllamaToolTranslator();
|
|
33
38
|
const optionsTranslator = new OllamaOptionsTranslator();
|
|
39
|
+
const usageTranslator = new OllamaUsageTranslator();
|
|
34
40
|
const generateRequestTranslator = new OllamaGenerateRequestTranslator();
|
|
35
41
|
const chatRequestTranslator = new OllamaChatRequestTranslator(messageTranslator, toolTranslator, optionsTranslator);
|
|
36
|
-
const
|
|
37
|
-
const
|
|
42
|
+
const embedRequestTranslator = new OllamaEmbedRequestTranslator();
|
|
43
|
+
const generateResponseTranslator = new OllamaGenerateResponseTranslator(usageTranslator);
|
|
44
|
+
const chatResponseTranslator = new OllamaChatResponseTranslator(messageTranslator, usageTranslator);
|
|
45
|
+
const embedResponseTranslator = new OllamaEmbedResponseTranslator(usageTranslator);
|
|
38
46
|
const contentDeltaTranslator = new OllamaContentDeltaTranslator();
|
|
39
|
-
const messageDeltaTranslator = new OllamaMessageDeltaTranslator();
|
|
47
|
+
const messageDeltaTranslator = new OllamaMessageDeltaTranslator(usageTranslator);
|
|
40
48
|
const messageStopTranslator = new OllamaMessageStopTranslator();
|
|
41
49
|
const streamTranslator = new OllamaStreamTranslator(contentDeltaTranslator, messageDeltaTranslator, messageStopTranslator);
|
|
42
|
-
return new OllamaTranslator_1(generateRequestTranslator, chatRequestTranslator, messageTranslator, chatResponseTranslator, generateResponseTranslator, streamTranslator);
|
|
50
|
+
return new OllamaTranslator_1(generateRequestTranslator, chatRequestTranslator, embedRequestTranslator, messageTranslator, chatResponseTranslator, generateResponseTranslator, embedResponseTranslator, streamTranslator);
|
|
43
51
|
}
|
|
44
52
|
async fromHoloResponse(response) {
|
|
45
|
-
|
|
53
|
+
if (response.protocol === 'ollama.generate') {
|
|
54
|
+
return this.ollamaGenerateResponseTranslator.fromHolo(response);
|
|
55
|
+
}
|
|
56
|
+
if (response.protocol === 'ollama.embed') {
|
|
57
|
+
return this.ollamaEmbedResponseTranslator.fromHolo(response);
|
|
58
|
+
}
|
|
46
59
|
return this.ollamaChatResponseTranslator.fromHolo(response);
|
|
47
60
|
}
|
|
48
61
|
async toHoloResponse(response) {
|
|
49
|
-
|
|
62
|
+
if (isEmbedResponse(response)) {
|
|
63
|
+
return this.ollamaEmbedResponseTranslator.toHolo(response);
|
|
64
|
+
}
|
|
50
65
|
if (isGenerateResponse(response)) {
|
|
51
66
|
return this.ollamaGenerateResponseTranslator.toHolo(response);
|
|
52
67
|
}
|
|
53
|
-
|
|
54
|
-
return this.ollamaChatResponseTranslator.toHolo(response);
|
|
55
|
-
}
|
|
68
|
+
return this.ollamaChatResponseTranslator.toHolo(response);
|
|
56
69
|
}
|
|
57
70
|
async fromHoloRequest(request) {
|
|
71
|
+
if (request.protocol === 'ollama.generate') {
|
|
72
|
+
return this.ollamaGenerateRequestTranslator.fromHolo(request);
|
|
73
|
+
}
|
|
74
|
+
if (request.protocol === 'ollama.embed') {
|
|
75
|
+
return this.ollamaEmbedRequestTranslator.fromHolo(request);
|
|
76
|
+
}
|
|
58
77
|
return this.ollamaChatRequestTranslator.fromHolo(request);
|
|
59
78
|
}
|
|
60
79
|
async toHoloRequest(request) {
|
|
80
|
+
if (isEmbedRequest(request)) {
|
|
81
|
+
return this.ollamaEmbedRequestTranslator.toHolo(request);
|
|
82
|
+
}
|
|
61
83
|
if (isGenerateRequest(request)) {
|
|
62
84
|
return this.ollamaGenerateRequestTranslator.toHolo(request);
|
|
63
85
|
}
|
|
@@ -69,8 +91,11 @@ let OllamaTranslator = OllamaTranslator_1 = class OllamaTranslator {
|
|
|
69
91
|
async toHoloMessages(messages) {
|
|
70
92
|
return this.ollamaMessageTranslator.toHoloArray(messages);
|
|
71
93
|
}
|
|
72
|
-
|
|
73
|
-
return this.ollamaStreamTranslator.
|
|
94
|
+
fromHoloStream(source) {
|
|
95
|
+
return this.ollamaStreamTranslator.fromHoloStream(source);
|
|
96
|
+
}
|
|
97
|
+
toHoloStream(source) {
|
|
98
|
+
return this.ollamaStreamTranslator.toHoloStream(source);
|
|
74
99
|
}
|
|
75
100
|
async fromHoloGenerateRequest(request) {
|
|
76
101
|
return {
|
|
@@ -87,17 +112,29 @@ let OllamaTranslator = OllamaTranslator_1 = class OllamaTranslator {
|
|
|
87
112
|
}
|
|
88
113
|
async toHoloEmbedResponse(response) {
|
|
89
114
|
const model = response?.model ?? '';
|
|
90
|
-
|
|
115
|
+
const embeddings = (response?.embeddings ?? []);
|
|
116
|
+
const usage = response?.prompt_eval_count != null
|
|
117
|
+
? { input_tokens: response.prompt_eval_count, total_tokens: response.prompt_eval_count }
|
|
118
|
+
: undefined;
|
|
119
|
+
return usage ? { model, embeddings, usage } : { model, embeddings };
|
|
91
120
|
}
|
|
92
121
|
};
|
|
93
122
|
OllamaTranslator = OllamaTranslator_1 = __decorate([
|
|
94
123
|
injectable(),
|
|
95
124
|
__metadata("design:paramtypes", [OllamaGenerateRequestTranslator,
|
|
96
125
|
OllamaChatRequestTranslator,
|
|
126
|
+
OllamaEmbedRequestTranslator,
|
|
97
127
|
OllamaMessageTranslator,
|
|
98
128
|
OllamaChatResponseTranslator,
|
|
99
129
|
OllamaGenerateResponseTranslator,
|
|
130
|
+
OllamaEmbedResponseTranslator,
|
|
100
131
|
OllamaStreamTranslator])
|
|
101
132
|
], OllamaTranslator);
|
|
102
133
|
export { OllamaTranslator };
|
|
134
|
+
function isEmbedRequest(req) {
|
|
135
|
+
return !!req && typeof req === 'object' && 'input' in req && !('messages' in req) && !('prompt' in req);
|
|
136
|
+
}
|
|
137
|
+
function isEmbedResponse(res) {
|
|
138
|
+
return 'embeddings' in res && Array.isArray(res.embeddings);
|
|
139
|
+
}
|
|
103
140
|
//# sourceMappingURL=ollama.translator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.translator.js","sourceRoot":"","sources":["../src/ollama.translator.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.translator.js","sourceRoot":"","sources":["../src/ollama.translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { BaseWireAdapter } from "@holokai/holo-sdk/provider";
|
|
2
|
+
import type { ProviderEvent } from "@holokai/holo-types/provider";
|
|
2
3
|
export declare class OllamaWireAdapter extends BaseWireAdapter {
|
|
3
4
|
formatWire(data: any): string;
|
|
4
5
|
protected streamingHeaders(): Record<string, string>;
|
|
6
|
+
/**
|
|
7
|
+
* Native Ollama streaming terminates with a `done:true` chunk whose
|
|
8
|
+
* `message.content` is empty (the content was already streamed via
|
|
9
|
+
* intermediate chunks), but with usage stats and `done_reason`. The
|
|
10
|
+
* non-streaming response, by contrast, carries the full accumulated
|
|
11
|
+
* `message.content`. When `fromHoloResponse` renders the trailing
|
|
12
|
+
* message for streaming we still get the full text — strip it here
|
|
13
|
+
* to match Ollama's wire convention.
|
|
14
|
+
*/
|
|
15
|
+
protected defaultDoneStreamFormatter(ev: Extract<ProviderEvent, {
|
|
16
|
+
type: 'done';
|
|
17
|
+
}>): Promise<string>;
|
|
5
18
|
}
|
|
6
19
|
//# sourceMappingURL=ollama.wire.adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.wire.adapter.d.ts","sourceRoot":"","sources":["../src/ollama.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.wire.adapter.d.ts","sourceRoot":"","sources":["../src/ollama.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAEhE,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAIpC,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKpD;;;;;;;;OAQG;cACa,0BAA0B,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ5G"}
|
|
@@ -7,5 +7,22 @@ export class OllamaWireAdapter extends BaseWireAdapter {
|
|
|
7
7
|
// Ollama streams NDJSON
|
|
8
8
|
return { "Content-Type": "application/x-ndjson" };
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Native Ollama streaming terminates with a `done:true` chunk whose
|
|
12
|
+
* `message.content` is empty (the content was already streamed via
|
|
13
|
+
* intermediate chunks), but with usage stats and `done_reason`. The
|
|
14
|
+
* non-streaming response, by contrast, carries the full accumulated
|
|
15
|
+
* `message.content`. When `fromHoloResponse` renders the trailing
|
|
16
|
+
* message for streaming we still get the full text — strip it here
|
|
17
|
+
* to match Ollama's wire convention.
|
|
18
|
+
*/
|
|
19
|
+
async defaultDoneStreamFormatter(ev) {
|
|
20
|
+
const msg = ev.message;
|
|
21
|
+
if (msg && typeof msg === 'object' && 'message' in msg && msg.message && typeof msg.message === 'object') {
|
|
22
|
+
const cleaned = { ...msg, message: { ...msg.message, content: '' } };
|
|
23
|
+
return this.formatWire(cleaned);
|
|
24
|
+
}
|
|
25
|
+
return this.formatWire(msg);
|
|
26
|
+
}
|
|
10
27
|
}
|
|
11
28
|
//# sourceMappingURL=ollama.wire.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.wire.adapter.js","sourceRoot":"","sources":["../src/ollama.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.wire.adapter.js","sourceRoot":"","sources":["../src/ollama.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAG3D,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAC3C,UAAU,CAAC,IAAS;QACvB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;IACvC,CAAC;IAES,gBAAgB;QACtB,wBAAwB;QACxB,OAAO,EAAC,cAAc,EAAE,sBAAsB,EAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,0BAA0B,CAAC,EAA4C;QACnF,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;QACvB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvG,MAAM,OAAO,GAAG,EAAC,GAAG,GAAG,EAAE,OAAO,EAAE,EAAC,GAAI,GAAG,CAAC,OAAmC,EAAE,OAAO,EAAE,EAAE,EAAC,EAAC,CAAC;YAC9F,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ"}
|