@holokai/holo-provider-ollama 0.1.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/LICENSE +21 -0
- package/README.md +750 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +3 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +136 -0
- package/dist/manifest.js.map +1 -0
- package/dist/ollama.auditor.d.ts +22 -0
- package/dist/ollama.auditor.d.ts.map +1 -0
- package/dist/ollama.auditor.js +151 -0
- package/dist/ollama.auditor.js.map +1 -0
- package/dist/ollama.provider.d.ts +14 -0
- package/dist/ollama.provider.d.ts.map +1 -0
- package/dist/ollama.provider.js +88 -0
- package/dist/ollama.provider.js.map +1 -0
- package/dist/ollama.response.factory.d.ts +7 -0
- package/dist/ollama.response.factory.d.ts.map +1 -0
- package/dist/ollama.response.factory.js +9 -0
- package/dist/ollama.response.factory.js.map +1 -0
- package/dist/ollama.translator.d.ts +22 -0
- package/dist/ollama.translator.d.ts.map +1 -0
- package/dist/ollama.translator.js +90 -0
- package/dist/ollama.translator.js.map +1 -0
- package/dist/ollama.wire.adapter.d.ts +6 -0
- package/dist/ollama.wire.adapter.d.ts.map +1 -0
- package/dist/ollama.wire.adapter.js +11 -0
- package/dist/ollama.wire.adapter.js.map +1 -0
- package/dist/plugin.d.ts +19 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +57 -0
- package/dist/plugin.js.map +1 -0
- package/dist/translators/index.d.ts +9 -0
- package/dist/translators/index.d.ts.map +1 -0
- package/dist/translators/index.js +9 -0
- package/dist/translators/index.js.map +1 -0
- package/dist/translators/ollama.chat.request.translator.d.ts +20 -0
- package/dist/translators/ollama.chat.request.translator.d.ts.map +1 -0
- package/dist/translators/ollama.chat.request.translator.js +100 -0
- package/dist/translators/ollama.chat.request.translator.js.map +1 -0
- package/dist/translators/ollama.chat.response.translator.d.ts +22 -0
- package/dist/translators/ollama.chat.response.translator.d.ts.map +1 -0
- package/dist/translators/ollama.chat.response.translator.js +127 -0
- package/dist/translators/ollama.chat.response.translator.js.map +1 -0
- package/dist/translators/ollama.generate.request.translator.d.ts +13 -0
- package/dist/translators/ollama.generate.request.translator.d.ts.map +1 -0
- package/dist/translators/ollama.generate.request.translator.js +90 -0
- package/dist/translators/ollama.generate.request.translator.js.map +1 -0
- package/dist/translators/ollama.generate.response.translator.d.ts +20 -0
- package/dist/translators/ollama.generate.response.translator.d.ts.map +1 -0
- package/dist/translators/ollama.generate.response.translator.js +104 -0
- package/dist/translators/ollama.generate.response.translator.js.map +1 -0
- package/dist/translators/ollama.message.translators.d.ts +14 -0
- package/dist/translators/ollama.message.translators.d.ts.map +1 -0
- package/dist/translators/ollama.message.translators.js +117 -0
- package/dist/translators/ollama.message.translators.js.map +1 -0
- package/dist/translators/ollama.options.translators.d.ts +11 -0
- package/dist/translators/ollama.options.translators.d.ts.map +1 -0
- package/dist/translators/ollama.options.translators.js +37 -0
- package/dist/translators/ollama.options.translators.js.map +1 -0
- package/dist/translators/ollama.tool.translators.d.ts +13 -0
- package/dist/translators/ollama.tool.translators.d.ts.map +1 -0
- package/dist/translators/ollama.tool.translators.js +62 -0
- package/dist/translators/ollama.tool.translators.js.map +1 -0
- package/dist/translators/streaming/index.d.ts +5 -0
- package/dist/translators/streaming/index.d.ts.map +1 -0
- package/dist/translators/streaming/index.js +5 -0
- package/dist/translators/streaming/index.js.map +1 -0
- package/dist/translators/streaming/ollama.content.delta.translator.d.ts +14 -0
- package/dist/translators/streaming/ollama.content.delta.translator.d.ts.map +1 -0
- package/dist/translators/streaming/ollama.content.delta.translator.js +76 -0
- package/dist/translators/streaming/ollama.content.delta.translator.js.map +1 -0
- package/dist/translators/streaming/ollama.message.delta.translator.d.ts +15 -0
- package/dist/translators/streaming/ollama.message.delta.translator.d.ts.map +1 -0
- package/dist/translators/streaming/ollama.message.delta.translator.js +116 -0
- package/dist/translators/streaming/ollama.message.delta.translator.js.map +1 -0
- package/dist/translators/streaming/ollama.message.stop.translator.d.ts +16 -0
- package/dist/translators/streaming/ollama.message.stop.translator.d.ts.map +1 -0
- package/dist/translators/streaming/ollama.message.stop.translator.js +87 -0
- package/dist/translators/streaming/ollama.message.stop.translator.js.map +1 -0
- package/dist/translators/streaming/ollama.stream.translator.d.ts +20 -0
- package/dist/translators/streaming/ollama.stream.translator.d.ts.map +1 -0
- package/dist/translators/streaming/ollama.stream.translator.js +82 -0
- package/dist/translators/streaming/ollama.stream.translator.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/request.types.d.ts +13 -0
- package/dist/types/request.types.d.ts.map +1 -0
- package/dist/types/request.types.js +8 -0
- package/dist/types/request.types.js.map +1 -0
- package/dist/types/response.types.d.ts +40 -0
- package/dist/types/response.types.d.ts.map +1 -0
- package/dist/types/response.types.js +9 -0
- package/dist/types/response.types.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.translator.js","sourceRoot":"","sources":["../src/ollama.translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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,cAAc,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,eAAe;IAClD,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAK7C,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;CAGvC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseWireAdapter } from "@holokai/sdk";
|
|
2
|
+
export class OllamaWireAdapter extends BaseWireAdapter {
|
|
3
|
+
streamingHeaders() {
|
|
4
|
+
// Ollama streams NDJSON
|
|
5
|
+
return { "Content-Type": "application/x-ndjson" };
|
|
6
|
+
}
|
|
7
|
+
formatWire(data) {
|
|
8
|
+
return `${JSON.stringify(data)}\n`;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ollama.wire.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.wire.adapter.js","sourceRoot":"","sources":["../src/ollama.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IACxC,gBAAgB;QACtB,wBAAwB;QACxB,OAAO,EAAC,cAAc,EAAE,sBAAsB,EAAC,CAAC;IACpD,CAAC;IAEM,UAAU,CAAC,IAAS;QACvB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;IACvC,CAAC;CACJ"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider Plugin Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements IProviderPlugin contract for Ollama API
|
|
5
|
+
*/
|
|
6
|
+
import { BasePlugin, IProviderPlugin, PluginContext } from '@holokai/sdk/plugin';
|
|
7
|
+
import { IProvider, IWireAdapter, ProviderCapabilities, WireAdapterParams } from "@holokai/sdk/provider";
|
|
8
|
+
import { RouteTree } from "@holokai/sdk";
|
|
9
|
+
export declare class OllamaProviderPlugin extends BasePlugin implements IProviderPlugin {
|
|
10
|
+
manifest: import("@holokai/sdk").PluginManifest;
|
|
11
|
+
translator: import("@holokai/sdk").IProviderTranslator;
|
|
12
|
+
createProvider(config: any): Promise<IProvider>;
|
|
13
|
+
createWireAdapter(params: WireAdapterParams): IWireAdapter;
|
|
14
|
+
getCapabilities(): ProviderCapabilities;
|
|
15
|
+
getRoutes(): RouteTree;
|
|
16
|
+
protected onInitialize(_context: PluginContext): Promise<void>;
|
|
17
|
+
protected onDestroy(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAGvG,OAAO,EAA4B,SAAS,EAAC,MAAM,cAAc,CAAC;AAGlE,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,eAAe;IAC3E,QAAQ,wCAAY;IACpB,UAAU,6CAA+B;IAEnC,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IASrD,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY;IAI1D,eAAe,IAAI,oBAAoB;IAUvC,SAAS,IAAI,SAAS;IAqBtB,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
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider Plugin Implementation
|
|
3
|
+
*
|
|
4
|
+
* Implements IProviderPlugin contract for Ollama API
|
|
5
|
+
*/
|
|
6
|
+
import { BasePlugin } from '@holokai/sdk/plugin';
|
|
7
|
+
import { manifest } from "./manifest.js";
|
|
8
|
+
import { OllamaProvider } from "./ollama.provider";
|
|
9
|
+
import { OllamaWireAdapter } from "./ollama.wire.adapter";
|
|
10
|
+
import { RequestType, RouteHandler } from "@holokai/sdk";
|
|
11
|
+
import { OllamaTranslator } from "./ollama.translator";
|
|
12
|
+
export class OllamaProviderPlugin extends BasePlugin {
|
|
13
|
+
manifest = manifest;
|
|
14
|
+
translator = OllamaTranslator.instance();
|
|
15
|
+
async createProvider(config) {
|
|
16
|
+
return new OllamaProvider(this.name, this.family, this.version, config);
|
|
17
|
+
}
|
|
18
|
+
createWireAdapter(params) {
|
|
19
|
+
return new OllamaWireAdapter(params.requestId, params.isStreaming);
|
|
20
|
+
}
|
|
21
|
+
getCapabilities() {
|
|
22
|
+
return {
|
|
23
|
+
streaming: true,
|
|
24
|
+
tools: false,
|
|
25
|
+
vision: false,
|
|
26
|
+
functionCalling: false,
|
|
27
|
+
maxTokens: 128000
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
getRoutes() {
|
|
31
|
+
return {
|
|
32
|
+
api: {
|
|
33
|
+
tags: {
|
|
34
|
+
method: 'GET',
|
|
35
|
+
handler: RouteHandler.MODELS
|
|
36
|
+
},
|
|
37
|
+
chat: {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
requestType: RequestType.CHAT,
|
|
40
|
+
handler: RouteHandler.REQUEST
|
|
41
|
+
},
|
|
42
|
+
generate: {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
requestType: RequestType.GENERATE,
|
|
45
|
+
handler: RouteHandler.REQUEST
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
onInitialize(_context) {
|
|
51
|
+
return Promise.resolve();
|
|
52
|
+
}
|
|
53
|
+
onDestroy() {
|
|
54
|
+
return Promise.resolve();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAiC,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAE,YAAY,EAAY,MAAM,cAAc,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAChD,QAAQ,GAAG,QAAQ,CAAC;IACpB,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IAEzC,KAAK,CAAC,cAAc,CAAC,MAAW;QAC5B,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,MAAM,CACT,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,MAAyB;QACvC,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,eAAe;QACX,OAAO;YACH,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,MAAM;SACpB,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO;YACH,GAAG,EAAE;gBACD,IAAI,EAAE;oBACF,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,YAAY,CAAC,MAAM;iBAC/B;gBACD,IAAI,EAAE;oBACF,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,WAAW,CAAC,IAAI;oBAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;iBAChC;gBACD,QAAQ,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,WAAW,CAAC,QAAQ;oBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;iBAChC;aACJ;SACJ,CAAA;IACL,CAAC;IAES,YAAY,CAAC,QAAuB;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,SAAS;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CAEJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './ollama.chat.request.translator';
|
|
2
|
+
export * from './ollama.generate.request.translator';
|
|
3
|
+
export * from './ollama.message.translators';
|
|
4
|
+
export * from './ollama.chat.response.translator';
|
|
5
|
+
export * from './ollama.generate.response.translator';
|
|
6
|
+
export * from './ollama.options.translators';
|
|
7
|
+
export * from './ollama.tool.translators';
|
|
8
|
+
export * from './streaming';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './ollama.chat.request.translator';
|
|
2
|
+
export * from './ollama.generate.request.translator';
|
|
3
|
+
export * from './ollama.message.translators';
|
|
4
|
+
export * from './ollama.chat.response.translator';
|
|
5
|
+
export * from './ollama.generate.response.translator';
|
|
6
|
+
export * from './ollama.options.translators';
|
|
7
|
+
export * from './ollama.tool.translators';
|
|
8
|
+
export * from './streaming';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { OllamaChatRequest } from "../types";
|
|
3
|
+
import { OllamaToolTranslator } from "./ollama.tool.translators";
|
|
4
|
+
import { OllamaOptionsTranslator } from "./ollama.options.translators";
|
|
5
|
+
import { OllamaMessageTranslator } from "./ollama.message.translators";
|
|
6
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
7
|
+
import { HoloRequest } from "@holokai/sdk";
|
|
8
|
+
export declare class OllamaChatRequestTranslator extends BaseTranslator<HoloRequest, OllamaChatRequest> {
|
|
9
|
+
private readonly messageTranslator;
|
|
10
|
+
private readonly toolTranslator;
|
|
11
|
+
private readonly optionsTranslator;
|
|
12
|
+
protected holoDefaults: Partial<HoloRequest>;
|
|
13
|
+
protected providerDefaults: Partial<OllamaChatRequest>;
|
|
14
|
+
constructor(messageTranslator: OllamaMessageTranslator, toolTranslator: OllamaToolTranslator, optionsTranslator: OllamaOptionsTranslator);
|
|
15
|
+
protected fromHoloImpl(source: HoloRequest): Promise<Partial<OllamaChatRequest>>;
|
|
16
|
+
protected toHoloImpl(target: OllamaChatRequest): Promise<Partial<HoloRequest>>;
|
|
17
|
+
private mapResponseFormat;
|
|
18
|
+
private mapFromFormat;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ollama.chat.request.translator.d.ts.map
|
|
@@ -0,0 +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,uBAAuB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAuD,MAAM,cAAc,CAAC;AAE/F,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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { OllamaChatRequestDefaults } from "../types";
|
|
12
|
+
import { OllamaToolTranslator } from "./ollama.tool.translators";
|
|
13
|
+
import { OllamaOptionsTranslator } from "./ollama.options.translators";
|
|
14
|
+
import { OllamaMessageTranslator } from "./ollama.message.translators";
|
|
15
|
+
import { injectable } from 'tsyringe';
|
|
16
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
17
|
+
import { HoloRequestDefaults, pickDefined } from "@holokai/sdk";
|
|
18
|
+
let OllamaChatRequestTranslator = class OllamaChatRequestTranslator extends BaseTranslator {
|
|
19
|
+
messageTranslator;
|
|
20
|
+
toolTranslator;
|
|
21
|
+
optionsTranslator;
|
|
22
|
+
holoDefaults = HoloRequestDefaults;
|
|
23
|
+
providerDefaults = OllamaChatRequestDefaults;
|
|
24
|
+
constructor(messageTranslator, toolTranslator, optionsTranslator) {
|
|
25
|
+
super();
|
|
26
|
+
this.messageTranslator = messageTranslator;
|
|
27
|
+
this.toolTranslator = toolTranslator;
|
|
28
|
+
this.optionsTranslator = optionsTranslator;
|
|
29
|
+
}
|
|
30
|
+
async fromHoloImpl(source) {
|
|
31
|
+
const [msgOut, toolsOut, optionsOut] = await Promise.all([
|
|
32
|
+
source.messages ? this.messageTranslator.fromHoloArray(source.messages) : Promise.resolve([]),
|
|
33
|
+
source.tools ? this.toolTranslator.fromHoloArray(source.tools) : Promise.resolve(undefined),
|
|
34
|
+
this.optionsTranslator.fromHolo(source),
|
|
35
|
+
]);
|
|
36
|
+
const messages = source.system
|
|
37
|
+
? [{ role: 'system', content: source.system }, ...msgOut]
|
|
38
|
+
: msgOut;
|
|
39
|
+
const format = this.mapResponseFormat(source.response_format);
|
|
40
|
+
return pickDefined({
|
|
41
|
+
model: source.model,
|
|
42
|
+
messages: messages.length ? messages : undefined,
|
|
43
|
+
tools: toolsOut?.length ? toolsOut : undefined,
|
|
44
|
+
stream: source.stream,
|
|
45
|
+
options: Object.keys(optionsOut).length ? optionsOut : undefined,
|
|
46
|
+
format,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async toHoloImpl(target) {
|
|
50
|
+
const translated = target.messages
|
|
51
|
+
? await this.messageTranslator.toHoloArray(target.messages)
|
|
52
|
+
: undefined;
|
|
53
|
+
let system;
|
|
54
|
+
let messages = translated;
|
|
55
|
+
if (target.messages?.length && target.messages[0].role === 'system') {
|
|
56
|
+
system = target.messages[0].content;
|
|
57
|
+
messages = translated?.slice(1);
|
|
58
|
+
}
|
|
59
|
+
const [tools, holoOptions] = await Promise.all([
|
|
60
|
+
target.tools ? this.toolTranslator.toHoloArray(target.tools) : Promise.resolve(undefined),
|
|
61
|
+
target.options ? this.optionsTranslator.toHolo(target.options) : Promise.resolve({}),
|
|
62
|
+
]);
|
|
63
|
+
const response_format = this.mapFromFormat(target.format);
|
|
64
|
+
const base = pickDefined({
|
|
65
|
+
model: target.model,
|
|
66
|
+
messages: messages?.length ? messages : undefined,
|
|
67
|
+
tools: tools?.length ? tools : undefined,
|
|
68
|
+
stream: target.stream,
|
|
69
|
+
system,
|
|
70
|
+
response_format,
|
|
71
|
+
});
|
|
72
|
+
return Object.keys(holoOptions).length ? { ...base, ...holoOptions } : base;
|
|
73
|
+
}
|
|
74
|
+
mapResponseFormat(response_format) {
|
|
75
|
+
if (!response_format)
|
|
76
|
+
return undefined;
|
|
77
|
+
return response_format.type === 'json_object'
|
|
78
|
+
? 'json'
|
|
79
|
+
: response_format.type === 'json_schema'
|
|
80
|
+
? response_format.schema
|
|
81
|
+
: undefined;
|
|
82
|
+
}
|
|
83
|
+
mapFromFormat(format) {
|
|
84
|
+
if (!format)
|
|
85
|
+
return undefined;
|
|
86
|
+
if (format === 'json')
|
|
87
|
+
return { type: 'json_object' };
|
|
88
|
+
if (typeof format === 'object')
|
|
89
|
+
return { type: 'json_schema', schema: format };
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
OllamaChatRequestTranslator = __decorate([
|
|
94
|
+
injectable(),
|
|
95
|
+
__metadata("design:paramtypes", [OllamaMessageTranslator,
|
|
96
|
+
OllamaToolTranslator,
|
|
97
|
+
OllamaOptionsTranslator])
|
|
98
|
+
], OllamaChatRequestTranslator);
|
|
99
|
+
export { OllamaChatRequestTranslator };
|
|
100
|
+
//# sourceMappingURL=ollama.chat.request.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.chat.request.translator.js","sourceRoot":"","sources":["../../src/translators/ollama.chat.request.translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { OllamaChatResponse } from "../types";
|
|
3
|
+
import { OllamaMessageTranslator } from "./ollama.message.translators";
|
|
4
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
import { HoloResponse } from "@holokai/sdk";
|
|
6
|
+
/**
|
|
7
|
+
* Translator for Ollama Chat API responses.
|
|
8
|
+
* Uses `message: OllamaMessage` (no `context` field).
|
|
9
|
+
*/
|
|
10
|
+
export declare class OllamaChatResponseTranslator extends BaseTranslator<HoloResponse, OllamaChatResponse> {
|
|
11
|
+
private readonly messageTranslator;
|
|
12
|
+
protected holoDefaults: Partial<HoloResponse>;
|
|
13
|
+
protected providerDefaults: Partial<OllamaChatResponse>;
|
|
14
|
+
constructor(messageTranslator: OllamaMessageTranslator);
|
|
15
|
+
protected fromHoloImpl(source: HoloResponse): Promise<Partial<OllamaChatResponse>>;
|
|
16
|
+
protected toHoloImpl(source: OllamaChatResponse): Promise<Partial<HoloResponse>>;
|
|
17
|
+
private mapUsageFromHolo;
|
|
18
|
+
private mapUsageToHolo;
|
|
19
|
+
private mapFinishReasonFromHolo;
|
|
20
|
+
private mapFinishReasonToHolo;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ollama.chat.response.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.chat.response.translator.d.ts","sourceRoot":"","sources":["../../src/translators/ollama.chat.response.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAgC,YAAY,EAAyB,MAAM,cAAc,CAAC;AAEjG;;;GAGG;AACH,qBACa,4BAA6B,SAAQ,cAAc,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAIlF,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAH9C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAM;IACnD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAM;gBAEhC,iBAAiB,EAAE,uBAAuB;cAKvD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;cAuBxE,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAsBtF,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,qBAAqB;CAYhC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { OllamaMessageTranslator } from "./ollama.message.translators";
|
|
13
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
14
|
+
import { pickDefined } from "@holokai/sdk";
|
|
15
|
+
/**
|
|
16
|
+
* Translator for Ollama Chat API responses.
|
|
17
|
+
* Uses `message: OllamaMessage` (no `context` field).
|
|
18
|
+
*/
|
|
19
|
+
let OllamaChatResponseTranslator = class OllamaChatResponseTranslator extends BaseTranslator {
|
|
20
|
+
messageTranslator;
|
|
21
|
+
holoDefaults = {};
|
|
22
|
+
providerDefaults = {};
|
|
23
|
+
constructor(messageTranslator) {
|
|
24
|
+
super();
|
|
25
|
+
this.messageTranslator = messageTranslator;
|
|
26
|
+
}
|
|
27
|
+
// ---------- Implementations ----------
|
|
28
|
+
async fromHoloImpl(source) {
|
|
29
|
+
// Build a single assistant message from the last assistant message in Holo (or synthesize empty)
|
|
30
|
+
const holoMsgs = source.messages ?? [];
|
|
31
|
+
const lastAssistant = [...holoMsgs].reverse().find(m => m.role === 'assistant');
|
|
32
|
+
// Reuse your message translator rather than duplicating content/image/tool parsing
|
|
33
|
+
const message = lastAssistant
|
|
34
|
+
? await this.messageTranslator.fromHolo(lastAssistant)
|
|
35
|
+
: { role: 'assistant', content: '' };
|
|
36
|
+
const usageFields = this.mapUsageFromHolo(source.usage);
|
|
37
|
+
return pickDefined({
|
|
38
|
+
model: source.model,
|
|
39
|
+
created_at: source.created ? new Date(source.created).toISOString() : undefined,
|
|
40
|
+
message,
|
|
41
|
+
done_reason: this.mapFinishReasonFromHolo(source.finish_reason ?? null),
|
|
42
|
+
done: true,
|
|
43
|
+
...usageFields,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async toHoloImpl(source) {
|
|
47
|
+
// Convert provider message back to Holo via your message translator
|
|
48
|
+
const holoAssistant = await this.messageTranslator.toHolo(source.message);
|
|
49
|
+
// Ensure we produce a Holo message array; omit empty content when possible
|
|
50
|
+
const messages = [];
|
|
51
|
+
if (Object.keys(holoAssistant).length) {
|
|
52
|
+
messages.push(holoAssistant);
|
|
53
|
+
}
|
|
54
|
+
const usage = this.mapUsageToHolo(source);
|
|
55
|
+
return pickDefined({
|
|
56
|
+
model: source.model,
|
|
57
|
+
messages: messages.length ? messages : undefined,
|
|
58
|
+
created: source.created_at ? new Date(source.created_at).getTime() : undefined,
|
|
59
|
+
finish_reason: this.mapFinishReasonToHolo(source.done_reason),
|
|
60
|
+
usage,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
// ---------- Usage mapping ----------
|
|
64
|
+
mapUsageFromHolo(usage) {
|
|
65
|
+
if (!usage)
|
|
66
|
+
return {};
|
|
67
|
+
const t = usage.timings ?? {};
|
|
68
|
+
return pickDefined({
|
|
69
|
+
prompt_eval_count: usage.input_tokens,
|
|
70
|
+
eval_count: usage.output_tokens,
|
|
71
|
+
total_duration: t.total,
|
|
72
|
+
load_duration: t.load,
|
|
73
|
+
prompt_eval_duration: t.prompt_eval,
|
|
74
|
+
eval_duration: t.eval,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
mapUsageToHolo(resp) {
|
|
78
|
+
const timings = pickDefined({
|
|
79
|
+
total: resp.total_duration,
|
|
80
|
+
load: resp.load_duration,
|
|
81
|
+
prompt_eval: resp.prompt_eval_duration,
|
|
82
|
+
eval: resp.eval_duration,
|
|
83
|
+
});
|
|
84
|
+
return pickDefined({
|
|
85
|
+
input_tokens: resp.prompt_eval_count,
|
|
86
|
+
output_tokens: resp.eval_count,
|
|
87
|
+
total_tokens: resp.prompt_eval_count != null && resp.eval_count != null
|
|
88
|
+
? resp.prompt_eval_count + resp.eval_count
|
|
89
|
+
: undefined,
|
|
90
|
+
timings: Object.keys(timings).length ? timings : undefined,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// ---------- Finish reason mapping ----------
|
|
94
|
+
mapFinishReasonFromHolo(reason) {
|
|
95
|
+
if (!reason)
|
|
96
|
+
return undefined;
|
|
97
|
+
switch (reason) {
|
|
98
|
+
case 'stop':
|
|
99
|
+
case 'length':
|
|
100
|
+
case 'content_filter':
|
|
101
|
+
return reason;
|
|
102
|
+
case 'tool_calls':
|
|
103
|
+
case 'function_call':
|
|
104
|
+
return 'tool_calls';
|
|
105
|
+
default:
|
|
106
|
+
return undefined; // unknowns omitted (safer than guessing)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
mapFinishReasonToHolo(reason) {
|
|
110
|
+
switch (reason) {
|
|
111
|
+
case 'stop':
|
|
112
|
+
case 'length':
|
|
113
|
+
case 'content_filter':
|
|
114
|
+
return reason;
|
|
115
|
+
case 'tool_calls':
|
|
116
|
+
return 'tool_calls';
|
|
117
|
+
default:
|
|
118
|
+
return null; // unknown → null
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
OllamaChatResponseTranslator = __decorate([
|
|
123
|
+
injectable(),
|
|
124
|
+
__metadata("design:paramtypes", [OllamaMessageTranslator])
|
|
125
|
+
], OllamaChatResponseTranslator);
|
|
126
|
+
export { OllamaChatResponseTranslator };
|
|
127
|
+
//# sourceMappingURL=ollama.chat.response.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.chat.response.translator.js","sourceRoot":"","sources":["../../src/translators/ollama.chat.response.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAyD,WAAW,EAAC,MAAM,cAAc,CAAC;AAEjG;;;GAGG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,cAAgD;IAIjE;IAHnB,YAAY,GAA0B,EAAE,CAAC;IACzC,gBAAgB,GAAgC,EAAE,CAAC;IAE7D,YAA6B,iBAA0C;QACnE,KAAK,EAAE,CAAC;QADiB,sBAAiB,GAAjB,iBAAiB,CAAyB;IAEvE,CAAC;IAED,wCAAwC;IAC9B,KAAK,CAAC,YAAY,CAAC,MAAoB;QAC7C,iGAAiG;QACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,MAAM,aAAa,GACf,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAE9D,mFAAmF;QACnF,MAAM,OAAO,GAAG,aAAa;YACzB,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtD,CAAC,CAAC,EAAC,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAExD,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YAC/E,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC;YACvE,IAAI,EAAE,IAAI;YACV,GAAG,WAAW;SACjB,CAAgC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,MAA0B;QACjD,oEAAoE;QACpE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1E,2EAA2E;QAC3E,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,aAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE1C,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAChD,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;YAC9E,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7D,KAAK;SACR,CAA0B,CAAC;IAChC,CAAC;IAED,sCAAsC;IAC9B,gBAAgB,CAAC,KAAiB;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC;YACf,iBAAiB,EAAE,KAAK,CAAC,YAAY;YACrC,UAAU,EAAE,KAAK,CAAC,aAAa;YAC/B,cAAc,EAAE,CAAC,CAAC,KAAK;YACvB,aAAa,EAAE,CAAC,CAAC,IAAI;YACrB,oBAAoB,EAAE,CAAC,CAAC,WAAW;YACnC,aAAa,EAAE,CAAC,CAAC,IAAI;SACxB,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,IAAwB;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,WAAW,EAAE,IAAI,CAAC,oBAAoB;YACtC,IAAI,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;YACf,YAAY,EAAE,IAAI,CAAC,iBAAiB;YACpC,aAAa,EAAE,IAAI,CAAC,UAAU;YAC9B,YAAY,EACR,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;gBACrD,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU;gBAC1C,CAAC,CAAC,SAAS;YACnB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC7D,CAAoC,CAAC;IAC1C,CAAC;IAED,8CAA8C;IACtC,uBAAuB,CAAC,MAAgC;QAC5D,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,gBAAgB;gBACjB,OAAO,MAAM,CAAC;YAClB,KAAK,YAAY,CAAC;YAClB,KAAK,eAAe;gBAChB,OAAO,YAAY,CAAC;YACxB;gBACI,OAAO,SAAS,CAAC,CAAC,yCAAyC;QACnE,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,MAAe;QACzC,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,gBAAgB;gBACjB,OAAO,MAAM,CAAC;YAClB,KAAK,YAAY;gBACb,OAAO,YAAY,CAAC;YACxB;gBACI,OAAO,IAAI,CAAC,CAAC,iBAAiB;QACtC,CAAC;IACL,CAAC;CACJ,CAAA;AAlHY,4BAA4B;IADxC,UAAU,EAAE;qCAKuC,uBAAuB;GAJ9D,4BAA4B,CAkHxC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { OllamaGenerateRequest } from "../types";
|
|
3
|
+
import { HoloRequest } from "@holokai/sdk";
|
|
4
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
export declare class OllamaGenerateRequestTranslator extends BaseTranslator<HoloRequest, OllamaGenerateRequest> {
|
|
6
|
+
protected holoDefaults: Partial<HoloRequest>;
|
|
7
|
+
protected providerDefaults: Partial<import("ollama").GenerateRequest>;
|
|
8
|
+
constructor();
|
|
9
|
+
protected fromHoloImpl(source: HoloRequest): Promise<Partial<OllamaGenerateRequest>>;
|
|
10
|
+
protected toHoloImpl(source: OllamaGenerateRequest): Promise<Partial<HoloRequest>>;
|
|
11
|
+
private extractPromptAndImages;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ollama.generate.request.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.generate.request.translator.d.ts","sourceRoot":"","sources":["../../src/translators/ollama.generate.request.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,qBAAqB,EAAgC,MAAM,UAAU,CAAC;AAE9E,OAAO,EAAc,WAAW,EAAkE,MAAM,cAAc,CAAC;AACvH,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,qBACa,+BAAgC,SAAQ,cAAc,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAEnG,SAAS,CAAC,YAAY,uBAAuB;IAC7C,SAAS,CAAC,gBAAgB,4CAAiC;;cAM3C,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;cAiC1E,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IA4BxF,OAAO,CAAC,sBAAsB;CAgBjC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { OllamaGenerateRequestDefaults } from "../types";
|
|
12
|
+
import { injectable } from 'tsyringe';
|
|
13
|
+
import { HoloRequestDefaults, isImageContent, isTextContent, pickDefined } from "@holokai/sdk";
|
|
14
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
15
|
+
let OllamaGenerateRequestTranslator = class OllamaGenerateRequestTranslator extends BaseTranslator {
|
|
16
|
+
holoDefaults = HoloRequestDefaults;
|
|
17
|
+
providerDefaults = OllamaGenerateRequestDefaults;
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
async fromHoloImpl(source) {
|
|
22
|
+
const first = source.messages?.[0];
|
|
23
|
+
const { prompt, images } = this.extractPromptAndImages(first);
|
|
24
|
+
const options = pickDefined({
|
|
25
|
+
temperature: source.temperature,
|
|
26
|
+
top_p: source.top_p,
|
|
27
|
+
top_k: source.top_k,
|
|
28
|
+
num_predict: source.max_tokens,
|
|
29
|
+
stop: source.stop_sequences,
|
|
30
|
+
frequency_penalty: source.frequency_penalty,
|
|
31
|
+
presence_penalty: source.presence_penalty,
|
|
32
|
+
seed: source.seed,
|
|
33
|
+
});
|
|
34
|
+
const format = source.response_format?.type === "json_object"
|
|
35
|
+
? "json"
|
|
36
|
+
: source.response_format?.type === "json_schema"
|
|
37
|
+
? source.response_format.schema
|
|
38
|
+
: undefined;
|
|
39
|
+
return pickDefined({
|
|
40
|
+
model: source.model,
|
|
41
|
+
stream: source.stream,
|
|
42
|
+
system: source.system,
|
|
43
|
+
prompt,
|
|
44
|
+
images,
|
|
45
|
+
options: Object.keys(options).length ? options : undefined,
|
|
46
|
+
format
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async toHoloImpl(source) {
|
|
50
|
+
const o = source.options ?? {};
|
|
51
|
+
const stop_sequences = o.stop == null ? undefined : Array.isArray(o.stop) ? o.stop : [o.stop];
|
|
52
|
+
return pickDefined({
|
|
53
|
+
model: source.model,
|
|
54
|
+
stream: source.stream,
|
|
55
|
+
system: source.system,
|
|
56
|
+
messages: source.prompt ? [{ role: "user", content: source.prompt }] : undefined,
|
|
57
|
+
temperature: o.temperature,
|
|
58
|
+
top_p: o.top_p,
|
|
59
|
+
top_k: o.top_k,
|
|
60
|
+
max_tokens: o.num_predict,
|
|
61
|
+
frequency_penalty: o.frequency_penalty,
|
|
62
|
+
presence_penalty: o.presence_penalty,
|
|
63
|
+
seed: o.seed,
|
|
64
|
+
stop_sequences,
|
|
65
|
+
response_format: typeof source.format === "string"
|
|
66
|
+
? (source.format === "json" ? { type: "json_object" } : undefined)
|
|
67
|
+
: typeof source.format === "object"
|
|
68
|
+
? { type: "json_schema", schema: source.format }
|
|
69
|
+
: undefined,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
extractPromptAndImages(msg) {
|
|
73
|
+
if (!msg?.content)
|
|
74
|
+
return {};
|
|
75
|
+
if (typeof msg.content === "string") {
|
|
76
|
+
return { prompt: msg.content };
|
|
77
|
+
}
|
|
78
|
+
const parts = msg.content; // HoloContent[]
|
|
79
|
+
const prompt = parts.filter(isTextContent).map(p => p.text).join("\n") || undefined;
|
|
80
|
+
const imagesArr = parts.filter(isImageContent).map(p => p.url);
|
|
81
|
+
const images = imagesArr.length ? imagesArr : undefined;
|
|
82
|
+
return pickDefined({ prompt, images });
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
OllamaGenerateRequestTranslator = __decorate([
|
|
86
|
+
injectable(),
|
|
87
|
+
__metadata("design:paramtypes", [])
|
|
88
|
+
], OllamaGenerateRequestTranslator);
|
|
89
|
+
export { OllamaGenerateRequestTranslator };
|
|
90
|
+
//# sourceMappingURL=ollama.generate.request.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.generate.request.translator.js","sourceRoot":"","sources":["../../src/translators/ollama.generate.request.translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { OllamaGenerateResponse } from "../types";
|
|
3
|
+
import { HoloResponse } from "@holokai/sdk";
|
|
4
|
+
import { BaseTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
/**
|
|
6
|
+
* Translator for Ollama Generate API responses.
|
|
7
|
+
* Uses `response: string` and `context: number[]` (context omitted when reconstructing from Holo).
|
|
8
|
+
*/
|
|
9
|
+
export declare class OllamaGenerateResponseTranslator extends BaseTranslator<HoloResponse, OllamaGenerateResponse> {
|
|
10
|
+
protected holoDefaults: Partial<HoloResponse>;
|
|
11
|
+
protected providerDefaults: Partial<OllamaGenerateResponse>;
|
|
12
|
+
constructor();
|
|
13
|
+
protected fromHoloImpl(source: HoloResponse): Promise<Partial<OllamaGenerateResponse>>;
|
|
14
|
+
protected toHoloImpl(source: OllamaGenerateResponse): Promise<Partial<HoloResponse>>;
|
|
15
|
+
private mapUsageFromHolo;
|
|
16
|
+
private mapUsageToHolo;
|
|
17
|
+
private mapFinishReasonFromHolo;
|
|
18
|
+
private mapFinishReasonToHolo;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ollama.generate.response.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.generate.response.translator.d.ts","sourceRoot":"","sources":["../../src/translators/ollama.generate.response.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,sBAAsB,EAAC,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAgC,YAAY,EAAyB,MAAM,cAAc,CAAC;AACjG,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD;;;GAGG;AACH,qBACa,gCAAiC,SAAQ,cAAc,CAAC,YAAY,EAAE,sBAAsB,CAAC;IACtG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAM;IACnD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAM;;cAMjD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;cAoB5E,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAiB1F,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,qBAAqB;CAKhC"}
|