@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.
Files changed (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +750 -0
  3. package/dist/index.d.ts +17 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +17 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/manifest.d.ts +3 -0
  8. package/dist/manifest.d.ts.map +1 -0
  9. package/dist/manifest.js +136 -0
  10. package/dist/manifest.js.map +1 -0
  11. package/dist/ollama.auditor.d.ts +22 -0
  12. package/dist/ollama.auditor.d.ts.map +1 -0
  13. package/dist/ollama.auditor.js +151 -0
  14. package/dist/ollama.auditor.js.map +1 -0
  15. package/dist/ollama.provider.d.ts +14 -0
  16. package/dist/ollama.provider.d.ts.map +1 -0
  17. package/dist/ollama.provider.js +88 -0
  18. package/dist/ollama.provider.js.map +1 -0
  19. package/dist/ollama.response.factory.d.ts +7 -0
  20. package/dist/ollama.response.factory.d.ts.map +1 -0
  21. package/dist/ollama.response.factory.js +9 -0
  22. package/dist/ollama.response.factory.js.map +1 -0
  23. package/dist/ollama.translator.d.ts +22 -0
  24. package/dist/ollama.translator.d.ts.map +1 -0
  25. package/dist/ollama.translator.js +90 -0
  26. package/dist/ollama.translator.js.map +1 -0
  27. package/dist/ollama.wire.adapter.d.ts +6 -0
  28. package/dist/ollama.wire.adapter.d.ts.map +1 -0
  29. package/dist/ollama.wire.adapter.js +11 -0
  30. package/dist/ollama.wire.adapter.js.map +1 -0
  31. package/dist/plugin.d.ts +19 -0
  32. package/dist/plugin.d.ts.map +1 -0
  33. package/dist/plugin.js +57 -0
  34. package/dist/plugin.js.map +1 -0
  35. package/dist/translators/index.d.ts +9 -0
  36. package/dist/translators/index.d.ts.map +1 -0
  37. package/dist/translators/index.js +9 -0
  38. package/dist/translators/index.js.map +1 -0
  39. package/dist/translators/ollama.chat.request.translator.d.ts +20 -0
  40. package/dist/translators/ollama.chat.request.translator.d.ts.map +1 -0
  41. package/dist/translators/ollama.chat.request.translator.js +100 -0
  42. package/dist/translators/ollama.chat.request.translator.js.map +1 -0
  43. package/dist/translators/ollama.chat.response.translator.d.ts +22 -0
  44. package/dist/translators/ollama.chat.response.translator.d.ts.map +1 -0
  45. package/dist/translators/ollama.chat.response.translator.js +127 -0
  46. package/dist/translators/ollama.chat.response.translator.js.map +1 -0
  47. package/dist/translators/ollama.generate.request.translator.d.ts +13 -0
  48. package/dist/translators/ollama.generate.request.translator.d.ts.map +1 -0
  49. package/dist/translators/ollama.generate.request.translator.js +90 -0
  50. package/dist/translators/ollama.generate.request.translator.js.map +1 -0
  51. package/dist/translators/ollama.generate.response.translator.d.ts +20 -0
  52. package/dist/translators/ollama.generate.response.translator.d.ts.map +1 -0
  53. package/dist/translators/ollama.generate.response.translator.js +104 -0
  54. package/dist/translators/ollama.generate.response.translator.js.map +1 -0
  55. package/dist/translators/ollama.message.translators.d.ts +14 -0
  56. package/dist/translators/ollama.message.translators.d.ts.map +1 -0
  57. package/dist/translators/ollama.message.translators.js +117 -0
  58. package/dist/translators/ollama.message.translators.js.map +1 -0
  59. package/dist/translators/ollama.options.translators.d.ts +11 -0
  60. package/dist/translators/ollama.options.translators.d.ts.map +1 -0
  61. package/dist/translators/ollama.options.translators.js +37 -0
  62. package/dist/translators/ollama.options.translators.js.map +1 -0
  63. package/dist/translators/ollama.tool.translators.d.ts +13 -0
  64. package/dist/translators/ollama.tool.translators.d.ts.map +1 -0
  65. package/dist/translators/ollama.tool.translators.js +62 -0
  66. package/dist/translators/ollama.tool.translators.js.map +1 -0
  67. package/dist/translators/streaming/index.d.ts +5 -0
  68. package/dist/translators/streaming/index.d.ts.map +1 -0
  69. package/dist/translators/streaming/index.js +5 -0
  70. package/dist/translators/streaming/index.js.map +1 -0
  71. package/dist/translators/streaming/ollama.content.delta.translator.d.ts +14 -0
  72. package/dist/translators/streaming/ollama.content.delta.translator.d.ts.map +1 -0
  73. package/dist/translators/streaming/ollama.content.delta.translator.js +76 -0
  74. package/dist/translators/streaming/ollama.content.delta.translator.js.map +1 -0
  75. package/dist/translators/streaming/ollama.message.delta.translator.d.ts +15 -0
  76. package/dist/translators/streaming/ollama.message.delta.translator.d.ts.map +1 -0
  77. package/dist/translators/streaming/ollama.message.delta.translator.js +116 -0
  78. package/dist/translators/streaming/ollama.message.delta.translator.js.map +1 -0
  79. package/dist/translators/streaming/ollama.message.stop.translator.d.ts +16 -0
  80. package/dist/translators/streaming/ollama.message.stop.translator.d.ts.map +1 -0
  81. package/dist/translators/streaming/ollama.message.stop.translator.js +87 -0
  82. package/dist/translators/streaming/ollama.message.stop.translator.js.map +1 -0
  83. package/dist/translators/streaming/ollama.stream.translator.d.ts +20 -0
  84. package/dist/translators/streaming/ollama.stream.translator.d.ts.map +1 -0
  85. package/dist/translators/streaming/ollama.stream.translator.js +82 -0
  86. package/dist/translators/streaming/ollama.stream.translator.js.map +1 -0
  87. package/dist/types/index.d.ts +6 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/index.js +11 -0
  90. package/dist/types/index.js.map +1 -0
  91. package/dist/types/request.types.d.ts +13 -0
  92. package/dist/types/request.types.d.ts.map +1 -0
  93. package/dist/types/request.types.js +8 -0
  94. package/dist/types/request.types.js.map +1 -0
  95. package/dist/types/response.types.d.ts +40 -0
  96. package/dist/types/response.types.d.ts.map +1 -0
  97. package/dist/types/response.types.js +9 -0
  98. package/dist/types/response.types.js.map +1 -0
  99. 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,6 @@
1
+ import { BaseWireAdapter } from "@holokai/sdk";
2
+ export declare class OllamaWireAdapter extends BaseWireAdapter {
3
+ protected streamingHeaders(): Record<string, string>;
4
+ formatWire(data: any): string;
5
+ }
6
+ //# sourceMappingURL=ollama.wire.adapter.d.ts.map
@@ -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"}
@@ -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":"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"}
@@ -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"}