@holokai/holo-provider-ollama 1.3.1 → 1.4.4
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 +10 -10
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +3 -5
- package/dist/manifest.js.map +1 -1
- package/dist/ollama.auditor.d.ts +8 -5
- package/dist/ollama.auditor.d.ts.map +1 -1
- package/dist/ollama.auditor.js +41 -15
- package/dist/ollama.auditor.js.map +1 -1
- package/dist/ollama.provider.d.ts +4 -2
- package/dist/ollama.provider.d.ts.map +1 -1
- package/dist/ollama.provider.js +44 -2
- 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.translator.d.ts +9 -2
- package/dist/ollama.translator.d.ts.map +1 -1
- package/dist/ollama.translator.js +17 -0
- package/dist/ollama.translator.js.map +1 -1
- package/dist/ollama.wire.adapter.d.ts +1 -1
- package/dist/ollama.wire.adapter.d.ts.map +1 -1
- package/dist/ollama.wire.adapter.js +1 -1
- package/dist/ollama.wire.adapter.js.map +1 -1
- package/dist/plugin.d.ts +7 -7
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +8 -4
- package/dist/plugin.js.map +1 -1
- package/dist/translators/ollama.chat.request.translator.d.ts +2 -2
- package/dist/translators/ollama.chat.request.translator.d.ts.map +1 -1
- package/dist/translators/ollama.chat.request.translator.js +2 -2
- package/dist/translators/ollama.chat.request.translator.js.map +1 -1
- package/dist/translators/ollama.chat.response.translator.d.ts +2 -2
- package/dist/translators/ollama.chat.response.translator.d.ts.map +1 -1
- package/dist/translators/ollama.chat.response.translator.js +2 -2
- package/dist/translators/ollama.chat.response.translator.js.map +1 -1
- package/dist/translators/ollama.generate.request.translator.d.ts +2 -2
- package/dist/translators/ollama.generate.request.translator.d.ts.map +1 -1
- package/dist/translators/ollama.generate.request.translator.js +2 -2
- package/dist/translators/ollama.generate.request.translator.js.map +1 -1
- package/dist/translators/ollama.generate.response.translator.d.ts +2 -2
- package/dist/translators/ollama.generate.response.translator.d.ts.map +1 -1
- package/dist/translators/ollama.generate.response.translator.js +2 -2
- package/dist/translators/ollama.generate.response.translator.js.map +1 -1
- package/dist/translators/ollama.message.translators.d.ts +2 -2
- package/dist/translators/ollama.message.translators.d.ts.map +1 -1
- package/dist/translators/ollama.message.translators.js +2 -2
- package/dist/translators/ollama.message.translators.js.map +1 -1
- package/dist/translators/ollama.options.translators.d.ts +2 -2
- package/dist/translators/ollama.options.translators.d.ts.map +1 -1
- package/dist/translators/ollama.options.translators.js +2 -2
- package/dist/translators/ollama.options.translators.js.map +1 -1
- package/dist/translators/ollama.tool.translators.d.ts +2 -2
- package/dist/translators/ollama.tool.translators.d.ts.map +1 -1
- package/dist/translators/ollama.tool.translators.js +2 -2
- package/dist/translators/ollama.tool.translators.js.map +1 -1
- package/dist/translators/streaming/ollama.content.delta.translator.d.ts +2 -2
- package/dist/translators/streaming/ollama.content.delta.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.content.delta.translator.js +2 -2
- package/dist/translators/streaming/ollama.content.delta.translator.js.map +1 -1
- package/dist/translators/streaming/ollama.message.delta.translator.d.ts +2 -2
- package/dist/translators/streaming/ollama.message.delta.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.message.delta.translator.js +2 -2
- package/dist/translators/streaming/ollama.message.delta.translator.js.map +1 -1
- package/dist/translators/streaming/ollama.message.stop.translator.d.ts +2 -2
- package/dist/translators/streaming/ollama.message.stop.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.message.stop.translator.js +2 -2
- package/dist/translators/streaming/ollama.message.stop.translator.js.map +1 -1
- package/dist/translators/streaming/ollama.stream.translator.d.ts +2 -2
- package/dist/translators/streaming/ollama.stream.translator.d.ts.map +1 -1
- package/dist/translators/streaming/ollama.stream.translator.js +1 -1
- package/dist/translators/streaming/ollama.stream.translator.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ providing complete bidirectional translation between Ollama's native API and the
|
|
|
15
15
|
|
|
16
16
|
### Key Features
|
|
17
17
|
|
|
18
|
-
- ✅ **Full Holo SDK Integration** - Uses `@holokai/sdk` types for strict type safety
|
|
18
|
+
- ✅ **Full Holo SDK Integration** - Uses `@holokai/holo-sdk` types for strict type safety
|
|
19
19
|
- ✅ **Bidirectional Translation** - Ollama ↔ Holo format with lossless core fields
|
|
20
20
|
- ✅ **Dual Mode Support** - Both Chat and Generate endpoints
|
|
21
21
|
- ✅ **Streaming Support** - Frame-based streaming with proper orchestration
|
|
@@ -36,7 +36,7 @@ npm install @holokai/holo-provider-ollama
|
|
|
36
36
|
|
|
37
37
|
This plugin requires:
|
|
38
38
|
|
|
39
|
-
- `@holokai/sdk` ^0.1.0 - Holo universal format types and plugin contracts
|
|
39
|
+
- `@holokai/holo-sdk` ^0.1.0 - Holo universal format types and plugin contracts
|
|
40
40
|
- `ollama` ^0.6.3 - Official Ollama JavaScript SDK
|
|
41
41
|
|
|
42
42
|
### Prerequisites
|
|
@@ -74,7 +74,7 @@ Add a provider configuration to your Holo deployment:
|
|
|
74
74
|
### Usage in Code
|
|
75
75
|
|
|
76
76
|
```typescript
|
|
77
|
-
import {HoloRequest, HoloResponse} from '@holokai/sdk';
|
|
77
|
+
import {HoloRequest, HoloResponse} from '@holokai/holo-sdk';
|
|
78
78
|
|
|
79
79
|
const request: HoloRequest = {
|
|
80
80
|
model: 'llama2',
|
|
@@ -132,7 +132,7 @@ src/providers/ollama/
|
|
|
132
132
|
|
|
133
133
|
### Breaking Changes
|
|
134
134
|
|
|
135
|
-
- **Import paths changed**: Use `@holokai/sdk` for types instead of `../../types`
|
|
135
|
+
- **Import paths changed**: Use `@holokai/holo-sdk` for types instead of `../../types`
|
|
136
136
|
- **Configuration schema**: Now validated via plugin manifest
|
|
137
137
|
- **Dependency injection**: Uses plugin container instead of core DI
|
|
138
138
|
|
|
@@ -518,7 +518,7 @@ The plugin translates Ollama frames to Holo streaming events:
|
|
|
518
518
|
### Streaming Example
|
|
519
519
|
|
|
520
520
|
```typescript
|
|
521
|
-
import { HoloStreamChunk } from '@holokai/sdk';
|
|
521
|
+
import { HoloStreamChunk } from '@holokai/holo-sdk';
|
|
522
522
|
|
|
523
523
|
const stream = await ollamaProvider.streamChat(request);
|
|
524
524
|
|
|
@@ -623,7 +623,7 @@ import type {
|
|
|
623
623
|
HoloMessage,
|
|
624
624
|
HoloTool,
|
|
625
625
|
HoloJsonSchema
|
|
626
|
-
} from '@holokai/sdk';
|
|
626
|
+
} from '@holokai/holo-sdk';
|
|
627
627
|
|
|
628
628
|
// ❌ NO: Record<string, unknown>
|
|
629
629
|
// ✅ YES: Proper SDK types
|
|
@@ -644,7 +644,7 @@ interface HoloTool {
|
|
|
644
644
|
**After** (Plugin SDK):
|
|
645
645
|
|
|
646
646
|
```typescript
|
|
647
|
-
import type {HoloTool, HoloJsonSchema} from '@holokai/sdk';
|
|
647
|
+
import type {HoloTool, HoloJsonSchema} from '@holokai/holo-sdk';
|
|
648
648
|
|
|
649
649
|
interface HoloTool {
|
|
650
650
|
parameters?: HoloJsonSchema; // ✅ Strict JSON Schema Draft 7
|
|
@@ -653,7 +653,7 @@ interface HoloTool {
|
|
|
653
653
|
|
|
654
654
|
### Type Safety
|
|
655
655
|
|
|
656
|
-
All interfaces use strict TypeScript types from `@holokai/sdk` for compile-time validation.
|
|
656
|
+
All interfaces use strict TypeScript types from `@holokai/holo-sdk` for compile-time validation.
|
|
657
657
|
|
|
658
658
|
---
|
|
659
659
|
|
|
@@ -762,7 +762,7 @@ chunks in a session.
|
|
|
762
762
|
|
|
763
763
|
### SDK Documentation
|
|
764
764
|
|
|
765
|
-
- [SDK README](../sdk/README.md) - Plugin development guide and templates
|
|
765
|
+
- [SDK README](../holo-sdk/README.md) - Plugin development guide and templates
|
|
766
766
|
|
|
767
767
|
### Ollama Documentation
|
|
768
768
|
|
|
@@ -782,7 +782,7 @@ chunks in a session.
|
|
|
782
782
|
|
|
783
783
|
### Adding Features
|
|
784
784
|
|
|
785
|
-
1. Update types in `@holokai/sdk` first (if needed)
|
|
785
|
+
1. Update types in `@holokai/holo-sdk` first (if needed)
|
|
786
786
|
2. Implement translator logic
|
|
787
787
|
3. Write tests (unit + integration)
|
|
788
788
|
4. Update this README
|
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,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAa,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,QAAQ,EAAE,cAOtB,CAAC"}
|
package/dist/manifest.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { PluginType } from "@holokai/types/plugin";
|
|
2
|
-
import {
|
|
3
|
-
const require = createRequire(import.meta.url);
|
|
4
|
-
const { version } = require('../package.json');
|
|
1
|
+
import { PluginType } from "@holokai/holo-types/plugin";
|
|
2
|
+
import { VERSION } from './version';
|
|
5
3
|
export const manifest = {
|
|
6
4
|
name: '@holokai/provider-ollama',
|
|
7
|
-
version,
|
|
5
|
+
version: VERSION,
|
|
8
6
|
pluginType: PluginType.PROVIDER,
|
|
9
7
|
family: 'ollama',
|
|
10
8
|
displayName: 'Ollama Provider',
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtE,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.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { BaseAuditor } from "@holokai/sdk/provider";
|
|
2
|
-
import type { HoloWorkerRequest, WorkerResponseEnvelope } from "@holokai/types/worker";
|
|
3
|
-
import type { ProviderDoneEvent, ProviderEvent } from "@holokai/types/provider";
|
|
4
|
-
import type { ProviderEnvelope, ProviderResponseMetrics } from "@holokai/types/entities";
|
|
5
|
-
import { FinishReason } from "@holokai/types/entities";
|
|
1
|
+
import { BaseAuditor } from "@holokai/holo-sdk/provider";
|
|
2
|
+
import type { HoloWorkerRequest, WorkerResponseEnvelope } from "@holokai/holo-types/worker";
|
|
3
|
+
import type { ProviderDoneEvent, ProviderEvent } from "@holokai/holo-types/provider";
|
|
4
|
+
import type { ProviderEnvelope, ProviderResponseMetrics } from "@holokai/holo-types/entities";
|
|
5
|
+
import { FinishReason } from "@holokai/holo-types/entities";
|
|
6
|
+
import type { HoloFinishReason, HoloUsage } from "@holokai/holo-types/holo";
|
|
6
7
|
export declare class OllamaAuditor extends BaseAuditor {
|
|
7
8
|
readonly provider = "ollama";
|
|
9
|
+
mapFinishReason(nativeResponse: any, _protocolName?: string): HoloFinishReason;
|
|
10
|
+
mapUsage(nativeResponse: any, _protocolName?: string): HoloUsage;
|
|
8
11
|
protected extractRequestOptions(workerRequest: HoloWorkerRequest): Promise<Record<string, any>>;
|
|
9
12
|
protected mapProviderResponseMetrics(providerEvent: ProviderDoneEvent): Promise<Partial<ProviderResponseMetrics>>;
|
|
10
13
|
protected extractFinishReason(providerEvent: ProviderEvent, _envelope: WorkerResponseEnvelope): Promise<FinishReason | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.auditor.d.ts","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAyD,MAAM,
|
|
1
|
+
{"version":3,"file":"ollama.auditor.d.ts","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAyD,MAAM,4BAA4B,CAAC;AAE/G,OAAO,KAAK,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAC,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAC,gBAAgB,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAI1E,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;IAEpB,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAe9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS;cAkBzD,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;cAMrF,0BAA0B,CAAC,aAAa,EAAE,iBAAiB;cAwB3D,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;cAMvH,sBAAsB,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAgCtG"}
|
package/dist/ollama.auditor.js
CHANGED
|
@@ -5,12 +5,48 @@ 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 { BaseAuditor, extractPromptByRole, extractTextContent, normalizeText } from "@holokai/sdk/provider";
|
|
9
|
-
import { nsToMs, pickDefined } from "@holokai/sdk";
|
|
10
|
-
import { FinishReason } from "@holokai/types/entities";
|
|
8
|
+
import { BaseAuditor, extractPromptByRole, extractTextContent, normalizeText } from "@holokai/holo-sdk/provider";
|
|
9
|
+
import { nsToMs, pickDefined } from "@holokai/holo-sdk";
|
|
10
|
+
import { FinishReason } from "@holokai/holo-types/entities";
|
|
11
11
|
import { OllamaProtocols } from "./plugin";
|
|
12
12
|
let OllamaAuditor = class OllamaAuditor extends BaseAuditor {
|
|
13
13
|
provider = 'ollama';
|
|
14
|
+
mapFinishReason(nativeResponse, _protocolName) {
|
|
15
|
+
if (!nativeResponse)
|
|
16
|
+
return 'stop';
|
|
17
|
+
const doneReason = nativeResponse.done_reason;
|
|
18
|
+
switch (doneReason) {
|
|
19
|
+
case 'stop':
|
|
20
|
+
return 'stop';
|
|
21
|
+
case 'load':
|
|
22
|
+
return 'error';
|
|
23
|
+
case 'length':
|
|
24
|
+
return 'length';
|
|
25
|
+
default:
|
|
26
|
+
return 'stop';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
mapUsage(nativeResponse, _protocolName) {
|
|
30
|
+
if (!nativeResponse)
|
|
31
|
+
return {};
|
|
32
|
+
const { prompt_eval_count, eval_count, load_duration, prompt_eval_duration, total_duration } = nativeResponse;
|
|
33
|
+
const usage = pickDefined({
|
|
34
|
+
input_tokens: prompt_eval_count,
|
|
35
|
+
output_tokens: eval_count,
|
|
36
|
+
total_tokens: (eval_count ?? 0) + (prompt_eval_count ?? 0) || undefined,
|
|
37
|
+
});
|
|
38
|
+
if (load_duration != null || total_duration != null) {
|
|
39
|
+
const timings = {};
|
|
40
|
+
if (total_duration != null)
|
|
41
|
+
timings.total = Math.round(nsToMs(total_duration));
|
|
42
|
+
if (load_duration != null)
|
|
43
|
+
timings.load = Math.round(nsToMs(load_duration));
|
|
44
|
+
if (prompt_eval_duration != null)
|
|
45
|
+
timings.prompt_eval = Math.round(nsToMs(prompt_eval_duration));
|
|
46
|
+
usage.timings = timings;
|
|
47
|
+
}
|
|
48
|
+
return usage;
|
|
49
|
+
}
|
|
14
50
|
async extractRequestOptions(workerRequest) {
|
|
15
51
|
return {
|
|
16
52
|
...workerRequest.payload.options
|
|
@@ -22,7 +58,7 @@ let OllamaAuditor = class OllamaAuditor extends BaseAuditor {
|
|
|
22
58
|
return pickDefined({
|
|
23
59
|
input_tokens: prompt_eval_count,
|
|
24
60
|
output_tokens: eval_count,
|
|
25
|
-
total_tokens: eval_count + prompt_eval_count,
|
|
61
|
+
total_tokens: (eval_count ?? 0) + (prompt_eval_count ?? 0) || undefined,
|
|
26
62
|
time_to_first_token: load_duration != null && prompt_eval_duration != null ? Math.round(nsToMs(load_duration + prompt_eval_duration)) : undefined,
|
|
27
63
|
total_processing_time: total_duration != null ? Math.round(nsToMs(total_duration)) : undefined,
|
|
28
64
|
usage_raw: {
|
|
@@ -43,17 +79,7 @@ let OllamaAuditor = class OllamaAuditor extends BaseAuditor {
|
|
|
43
79
|
return FinishReason.ERROR;
|
|
44
80
|
if (providerEvent.type !== 'done')
|
|
45
81
|
return undefined;
|
|
46
|
-
|
|
47
|
-
switch (doneReason) {
|
|
48
|
-
case 'stop':
|
|
49
|
-
return FinishReason.STOP;
|
|
50
|
-
case 'load':
|
|
51
|
-
return FinishReason.ERROR;
|
|
52
|
-
case 'length':
|
|
53
|
-
return FinishReason.LENGTH;
|
|
54
|
-
default:
|
|
55
|
-
return FinishReason.STOP;
|
|
56
|
-
}
|
|
82
|
+
return this.mapFinishReason(providerEvent.message);
|
|
57
83
|
}
|
|
58
84
|
async createProviderEnvelope(workerRequest) {
|
|
59
85
|
const payload = workerRequest.payload;
|
|
@@ -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;AAEpC,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ollama.auditor.js","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ChatRequest, EmbedRequest, ErrorResponse, GenerateRequest, ListResponse, Ollama } from 'ollama';
|
|
2
|
-
import { BaseProvider } from '@holokai/sdk/provider';
|
|
3
|
-
import type { IAuditor, IProviderTranslator, IResponseFactory, ProviderContext, RunHandle } from '@holokai/types/provider';
|
|
2
|
+
import { BaseProvider } from '@holokai/holo-sdk/provider';
|
|
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
5
|
getModelNameFromRequest(payload: EmbedRequest | GenerateRequest | ChatRequest): Promise<string>;
|
|
6
|
+
discoverModels(): Promise<DiscoveredModel[]>;
|
|
6
7
|
getModels(allowedModels: string[] | true): Promise<ListResponse>;
|
|
7
8
|
ollamaEmbed(payload: EmbedRequest): Promise<{
|
|
8
9
|
start: () => Promise<import("ollama").EmbedResponse>;
|
|
@@ -14,6 +15,7 @@ export declare class OllamaProvider extends BaseProvider<Ollama, EmbedRequest |
|
|
|
14
15
|
protected handleError(error: Error): Promise<ErrorResponse>;
|
|
15
16
|
protected createRequestRunner(payload: GenerateRequest | ChatRequest | EmbedRequest, ctx: ProviderContext): Promise<RunHandle<any>>;
|
|
16
17
|
private ollamaGenerate;
|
|
18
|
+
private emitOllamaToolCalls;
|
|
17
19
|
private ollamaChat;
|
|
18
20
|
}
|
|
19
21
|
//# sourceMappingURL=ollama.provider.d.ts.map
|
|
@@ -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;AACvG,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
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;AACvG,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,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,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,5 +1,5 @@
|
|
|
1
1
|
import { Ollama } from 'ollama';
|
|
2
|
-
import { BaseProvider } from '@holokai/sdk/provider';
|
|
2
|
+
import { BaseProvider } from '@holokai/holo-sdk/provider';
|
|
3
3
|
import { OllamaAuditor } from './ollama.auditor';
|
|
4
4
|
import { OllamaTranslator } from './ollama.translator';
|
|
5
5
|
import { OllamaResponseFactory } from './ollama.response.factory';
|
|
@@ -8,6 +8,25 @@ export class OllamaProvider extends BaseProvider {
|
|
|
8
8
|
async getModelNameFromRequest(payload) {
|
|
9
9
|
return payload.model;
|
|
10
10
|
}
|
|
11
|
+
async discoverModels() {
|
|
12
|
+
const response = await this.client.list();
|
|
13
|
+
return response.models.map(m => {
|
|
14
|
+
const name = m.name;
|
|
15
|
+
const modelName = name.split(':')[0];
|
|
16
|
+
return {
|
|
17
|
+
name,
|
|
18
|
+
accessModel: name,
|
|
19
|
+
description: `${modelName} (Model ID: ${name})`,
|
|
20
|
+
version: name.match(/-(\d+\.\d+(?:\.\d+)?)/)?.[1] ?? '1.0',
|
|
21
|
+
metadata: {
|
|
22
|
+
name: m.name,
|
|
23
|
+
size: m.size,
|
|
24
|
+
digest: m.digest,
|
|
25
|
+
details: m.details,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
11
30
|
async getModels(allowedModels) {
|
|
12
31
|
const response = await this.client.list();
|
|
13
32
|
if (allowedModels === true) {
|
|
@@ -77,12 +96,25 @@ export class OllamaProvider extends BaseProvider {
|
|
|
77
96
|
}
|
|
78
97
|
};
|
|
79
98
|
}
|
|
99
|
+
emitOllamaToolCalls(toolCalls, ctx) {
|
|
100
|
+
for (let i = 0; i < toolCalls.length; i++) {
|
|
101
|
+
const fn = toolCalls[i].function;
|
|
102
|
+
if (!fn)
|
|
103
|
+
continue;
|
|
104
|
+
const argsStr = typeof fn.arguments === 'string' ? fn.arguments : JSON.stringify(fn.arguments);
|
|
105
|
+
ctx.emitToolCallDelta(i, { name: fn.name });
|
|
106
|
+
ctx.emitToolCallDelta(i, { arguments_delta: argsStr });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
80
109
|
async ollamaChat(request, ctx) {
|
|
81
110
|
if (!request.stream) {
|
|
82
111
|
return {
|
|
83
112
|
start: async () => {
|
|
84
113
|
const result = await this.client.chat({ ...request, stream: false });
|
|
85
114
|
ctx.emitTextDelta(result.message.content);
|
|
115
|
+
if (result.message.tool_calls?.length) {
|
|
116
|
+
this.emitOllamaToolCalls(result.message.tool_calls, ctx);
|
|
117
|
+
}
|
|
86
118
|
return result;
|
|
87
119
|
},
|
|
88
120
|
};
|
|
@@ -91,9 +123,19 @@ export class OllamaProvider extends BaseProvider {
|
|
|
91
123
|
start: async () => {
|
|
92
124
|
const streamResp = await this.client.chat({ ...request, stream: true });
|
|
93
125
|
for await (const chunk of streamResp) {
|
|
94
|
-
if (chunk.done)
|
|
126
|
+
if (chunk.done) {
|
|
127
|
+
const finalToken = chunk.message?.content ?? '';
|
|
128
|
+
if (finalToken)
|
|
129
|
+
ctx.emitTextDelta(finalToken);
|
|
130
|
+
if (chunk.message?.tool_calls?.length) {
|
|
131
|
+
this.emitOllamaToolCalls(chunk.message.tool_calls, ctx);
|
|
132
|
+
}
|
|
95
133
|
return chunk;
|
|
134
|
+
}
|
|
96
135
|
ctx.emitStreamEvent(chunk);
|
|
136
|
+
if (chunk.message?.tool_calls?.length) {
|
|
137
|
+
this.emitOllamaToolCalls(chunk.message.tool_calls, ctx);
|
|
138
|
+
}
|
|
97
139
|
const token = chunk.message.content ?? '';
|
|
98
140
|
if (token)
|
|
99
141
|
ctx.emitTextDelta(token);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.provider.js","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0E,MAAM,EAAC,MAAM,QAAQ,CAAC;AACvG,OAAO,EAAC,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ollama.provider.js","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IResponseFactory } from "@holokai/types/provider";
|
|
1
|
+
import type { IResponseFactory } from "@holokai/holo-types/provider";
|
|
2
2
|
import { ErrorResponse } from "ollama";
|
|
3
3
|
export declare class OllamaResponseFactory implements IResponseFactory {
|
|
4
4
|
static instance(): OllamaResponseFactory;
|
|
@@ -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,
|
|
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;AAErC,qBAAa,qBAAsB,YAAW,gBAAgB;IAC1D,MAAM,CAAC,QAAQ,IAAI,qBAAqB;IAIxC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;CAG9C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
-
import type { IProviderTranslator } from "@holokai/types/provider";
|
|
3
|
-
import { HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/types/holo";
|
|
2
|
+
import type { IProviderTranslator } from "@holokai/holo-types/provider";
|
|
3
|
+
import { HoloEmbedParams, HoloGenerateParams, HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/holo-types/holo";
|
|
4
4
|
import { OllamaChatRequestTranslator, OllamaChatResponseTranslator, OllamaGenerateRequestTranslator, OllamaGenerateResponseTranslator, OllamaMessageTranslator, OllamaStreamTranslator } from "./translators";
|
|
5
5
|
import { OllamaChatRequest, OllamaGenerateRequest, OllamaMessage, OllamaResponse } from "./types";
|
|
6
6
|
export declare class OllamaTranslator implements IProviderTranslator {
|
|
@@ -19,5 +19,12 @@ export declare class OllamaTranslator implements IProviderTranslator {
|
|
|
19
19
|
fromHoloMessages(messages: HoloMessage[]): Promise<Partial<OllamaMessage>[]>;
|
|
20
20
|
toHoloMessages(messages: OllamaMessage[]): Promise<Partial<HoloMessage>[]>;
|
|
21
21
|
fromHoloStreamChunks(chunks: HoloStreamChunk[]): Promise<unknown>;
|
|
22
|
+
fromHoloGenerateRequest(request: HoloGenerateParams): Promise<any>;
|
|
23
|
+
fromHoloEmbedRequest(request: HoloEmbedParams): Promise<any>;
|
|
24
|
+
toHoloEmbedResponse(response: any): Promise<{
|
|
25
|
+
model: string;
|
|
26
|
+
embeddings: number[][];
|
|
27
|
+
usage?: any;
|
|
28
|
+
}>;
|
|
22
29
|
}
|
|
23
30
|
//# sourceMappingURL=ollama.translator.d.ts.map
|
|
@@ -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,
|
|
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,EACf,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAE5B,+BAA+B,EAC/B,gCAAgC,EAGhC,uBAAuB,EAEvB,sBAAsB,EAEzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAGH,iBAAiB,EAEjB,qBAAqB,EAErB,aAAa,EACb,cAAc,EACjB,MAAM,SAAS,CAAC;AAEjB,qBACa,gBAAiB,YAAW,mBAAmB;IAEpD,OAAO,CAAC,+BAA+B;IACvC,OAAO,CAAC,2BAA2B;IACnC,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,gCAAgC;IACxC,OAAO,CAAC,sBAAsB;gBALtB,+BAA+B,EAAE,+BAA+B,EAChE,2BAA2B,EAAE,2BAA2B,EACxD,uBAAuB,EAAE,uBAAuB,EAChD,4BAA4B,EAAE,4BAA4B,EAC1D,gCAAgC,EAAE,gCAAgC,EAClE,sBAAsB,EAAE,sBAAsB;IAK1D,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IA+BhC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAK1E,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IASxE,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAI1E,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAOhG,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;IAI1E,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjE,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;IAQlE,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAO5D,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;CAI5G"}
|
|
@@ -72,6 +72,23 @@ let OllamaTranslator = OllamaTranslator_1 = class OllamaTranslator {
|
|
|
72
72
|
async fromHoloStreamChunks(chunks) {
|
|
73
73
|
return this.ollamaStreamTranslator.fromHoloManyArray(chunks);
|
|
74
74
|
}
|
|
75
|
+
async fromHoloGenerateRequest(request) {
|
|
76
|
+
return {
|
|
77
|
+
model: request.model,
|
|
78
|
+
prompt: request.prompt,
|
|
79
|
+
stream: request.stream ?? false,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async fromHoloEmbedRequest(request) {
|
|
83
|
+
return {
|
|
84
|
+
model: request.model,
|
|
85
|
+
input: request.input,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
async toHoloEmbedResponse(response) {
|
|
89
|
+
const model = response?.model ?? '';
|
|
90
|
+
return { model, embeddings: response?.embeddings ?? [] };
|
|
91
|
+
}
|
|
75
92
|
};
|
|
76
93
|
OllamaTranslator = OllamaTranslator_1 = __decorate([
|
|
77
94
|
injectable(),
|
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import { BaseWireAdapter } from "@holokai/sdk/provider";
|
|
1
|
+
import { BaseWireAdapter } from "@holokai/holo-sdk/provider";
|
|
2
2
|
export declare class OllamaWireAdapter extends BaseWireAdapter {
|
|
3
3
|
formatWire(data: any): string;
|
|
4
4
|
protected streamingHeaders(): Record<string, string>;
|
|
@@ -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,
|
|
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;AAE3D,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAIpC,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAIvD"}
|
|
@@ -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,
|
|
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;AAE3D,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;CACJ"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements IProviderPlugin contract for Ollama API
|
|
5
5
|
*/
|
|
6
|
-
import { BasePlugin } from '@holokai/sdk/plugin';
|
|
7
|
-
import type { IProviderPlugin, PluginContext, PluginPricingSheet } from '@holokai/types/plugin';
|
|
8
|
-
import type { IProvider, IWireAdapter, ProviderCapabilities, WireAdapterParams } from "@holokai/types/provider";
|
|
9
|
-
import type { RouteDefinition } from "@holokai/types/routing";
|
|
10
|
-
import { ProtocolCapability } from "@holokai/types/entities";
|
|
6
|
+
import { BasePlugin } from '@holokai/holo-sdk/plugin';
|
|
7
|
+
import type { IProviderPlugin, PluginContext, PluginPricingSheet } from '@holokai/holo-types/plugin';
|
|
8
|
+
import type { IProvider, IWireAdapter, ProviderCapabilities, WireAdapterParams } from "@holokai/holo-types/provider";
|
|
9
|
+
import type { RouteDefinition } from "@holokai/holo-types/routing";
|
|
10
|
+
import { ProtocolCapability } from "@holokai/holo-types/entities";
|
|
11
11
|
export declare const OllamaProtocols: {
|
|
12
12
|
readonly EMBED: "ollama.embed";
|
|
13
13
|
readonly CHAT: "ollama.chat";
|
|
@@ -16,8 +16,8 @@ export declare const OllamaProtocols: {
|
|
|
16
16
|
};
|
|
17
17
|
export type OllamaProtocols = typeof OllamaProtocols[keyof typeof OllamaProtocols];
|
|
18
18
|
export declare class OllamaProviderPlugin extends BasePlugin implements IProviderPlugin {
|
|
19
|
-
manifest: import("@holokai/types/plugin").PluginManifest;
|
|
20
|
-
translator: import("@holokai/types/provider").IProviderTranslator;
|
|
19
|
+
manifest: import("@holokai/holo-types/plugin").PluginManifest;
|
|
20
|
+
translator: import("@holokai/holo-types/provider").IProviderTranslator;
|
|
21
21
|
defaultRouteHandler: "passthrough";
|
|
22
22
|
protocols: {
|
|
23
23
|
readonly EMBED: "ollama.embed";
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAEnG,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAGnH,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGnF,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,eAAe;IAC3E,QAAQ,sDAAY;IACpB,UAAU,6DAA+B;IACzC,mBAAmB,gBAA4B;IAC/C,SAAS;;;;;MAAmB;IAC5B,eAAe,gBAAwB;IAEjC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IASzE,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzE,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAK3E,eAAe,IAAI,oBAAoB;IAUvC,SAAS,IAAI,eAAe,EAAE;IA8C9B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAKnD,iBAAiB,IAAI,kBAAkB;IA8BvC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG;;;;IAI5E,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvC"}
|
package/dist/plugin.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements IProviderPlugin contract for Ollama API
|
|
5
5
|
*/
|
|
6
|
-
import { BasePlugin } from '@holokai/sdk/plugin';
|
|
6
|
+
import { BasePlugin } from '@holokai/holo-sdk/plugin';
|
|
7
7
|
import { manifest } from "./manifest.js";
|
|
8
8
|
import { OllamaProvider } from "./ollama.provider";
|
|
9
9
|
import { OllamaWireAdapter } from "./ollama.wire.adapter";
|
|
10
|
-
import { RouteHandler } from "@holokai/types/routing";
|
|
10
|
+
import { RouteHandler } from "@holokai/holo-types/routing";
|
|
11
11
|
import { OllamaTranslator } from "./ollama.translator";
|
|
12
|
-
import { ProtocolCapability } from "@holokai/types/entities";
|
|
12
|
+
import { ProtocolCapability } from "@holokai/holo-types/entities";
|
|
13
13
|
export const OllamaProtocols = {
|
|
14
14
|
EMBED: 'ollama.embed',
|
|
15
15
|
CHAT: 'ollama.chat',
|
|
@@ -49,7 +49,11 @@ export class OllamaProviderPlugin extends BasePlugin {
|
|
|
49
49
|
handler: RouteHandler.REQUEST,
|
|
50
50
|
protocol: {
|
|
51
51
|
name: OllamaProtocols.CHAT,
|
|
52
|
-
capability: ProtocolCapability.CHAT
|
|
52
|
+
capability: ProtocolCapability.CHAT,
|
|
53
|
+
streamEventSequence: {
|
|
54
|
+
ordered: ['content_delta', 'message_delta', 'message_stop'],
|
|
55
|
+
repeatable: ['content_delta'],
|
|
56
|
+
}
|
|
53
57
|
}
|
|
54
58
|
},
|
|
55
59
|
{
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { OllamaChatRequest } from "../types";
|
|
|
3
3
|
import { OllamaToolTranslator } from "./ollama.tool.translators";
|
|
4
4
|
import { OllamaOptionsTranslator } from "./ollama.options.translators";
|
|
5
5
|
import { OllamaMessageTranslator } from "./ollama.message.translators";
|
|
6
|
-
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
7
|
-
import type { HoloRequest } from "@holokai/types/holo";
|
|
6
|
+
import { BaseTranslator } from "@holokai/holo-sdk/provider";
|
|
7
|
+
import type { HoloRequest } from "@holokai/holo-types/holo";
|
|
8
8
|
export declare class OllamaChatRequestTranslator extends BaseTranslator<HoloRequest, OllamaChatRequest> {
|
|
9
9
|
private readonly messageTranslator;
|
|
10
10
|
private readonly toolTranslator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.chat.request.translator.d.ts","sourceRoot":"","sources":["../../src/translators/ollama.chat.request.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAA2C,MAAM,UAAU,CAAC;AACrF,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAC,cAAc,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ollama.chat.request.translator.d.ts","sourceRoot":"","sources":["../../src/translators/ollama.chat.request.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAA2C,MAAM,UAAU,CAAC;AACrF,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,EAAC,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAE9E,qBACa,2BAA4B,SAAQ,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAKvF,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IANtC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAuB;IACnE,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAA6B;gBAG9D,iBAAiB,EAAE,uBAAuB,EAC1C,cAAc,EAAE,oBAAoB,EACpC,iBAAiB,EAAE,uBAAuB;cAK/C,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;cAwBtE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAkCpF,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,aAAa;CAMxB"}
|
|
@@ -13,8 +13,8 @@ import { OllamaToolTranslator } from "./ollama.tool.translators";
|
|
|
13
13
|
import { OllamaOptionsTranslator } from "./ollama.options.translators";
|
|
14
14
|
import { OllamaMessageTranslator } from "./ollama.message.translators";
|
|
15
15
|
import { injectable } from 'tsyringe';
|
|
16
|
-
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
17
|
-
import { HoloRequestDefaults, pickDefined } from "@holokai/sdk";
|
|
16
|
+
import { BaseTranslator } from "@holokai/holo-sdk/provider";
|
|
17
|
+
import { HoloRequestDefaults, pickDefined } from "@holokai/holo-sdk";
|
|
18
18
|
let OllamaChatRequestTranslator = class OllamaChatRequestTranslator extends BaseTranslator {
|
|
19
19
|
messageTranslator;
|
|
20
20
|
toolTranslator;
|