@holokai/holo-provider-gemini 1.2.2

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 (101) hide show
  1. package/dist/gemini.auditor.d.ts +24 -0
  2. package/dist/gemini.auditor.d.ts.map +1 -0
  3. package/dist/gemini.auditor.js +117 -0
  4. package/dist/gemini.auditor.js.map +1 -0
  5. package/dist/gemini.pricing.d.ts +3 -0
  6. package/dist/gemini.pricing.d.ts.map +1 -0
  7. package/dist/gemini.pricing.js +251 -0
  8. package/dist/gemini.pricing.js.map +1 -0
  9. package/dist/gemini.provider.d.ts +18 -0
  10. package/dist/gemini.provider.d.ts.map +1 -0
  11. package/dist/gemini.provider.js +112 -0
  12. package/dist/gemini.provider.js.map +1 -0
  13. package/dist/gemini.response.factory.d.ts +42 -0
  14. package/dist/gemini.response.factory.d.ts.map +1 -0
  15. package/dist/gemini.response.factory.js +94 -0
  16. package/dist/gemini.response.factory.js.map +1 -0
  17. package/dist/gemini.translator.d.ts +28 -0
  18. package/dist/gemini.translator.d.ts.map +1 -0
  19. package/dist/gemini.translator.js +74 -0
  20. package/dist/gemini.translator.js.map +1 -0
  21. package/dist/gemini.wire.adapter.d.ts +5 -0
  22. package/dist/gemini.wire.adapter.d.ts.map +1 -0
  23. package/dist/gemini.wire.adapter.js +7 -0
  24. package/dist/gemini.wire.adapter.js.map +1 -0
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +4 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/manifest.d.ts +3 -0
  30. package/dist/manifest.d.ts.map +1 -0
  31. package/dist/manifest.js +13 -0
  32. package/dist/manifest.js.map +1 -0
  33. package/dist/plugin.d.ts +46 -0
  34. package/dist/plugin.d.ts.map +1 -0
  35. package/dist/plugin.js +104 -0
  36. package/dist/plugin.js.map +1 -0
  37. package/dist/translators/gemini.content.translator.d.ts +12 -0
  38. package/dist/translators/gemini.content.translator.d.ts.map +1 -0
  39. package/dist/translators/gemini.content.translator.js +67 -0
  40. package/dist/translators/gemini.content.translator.js.map +1 -0
  41. package/dist/translators/gemini.message.translator.d.ts +14 -0
  42. package/dist/translators/gemini.message.translator.d.ts.map +1 -0
  43. package/dist/translators/gemini.message.translator.js +115 -0
  44. package/dist/translators/gemini.message.translator.js.map +1 -0
  45. package/dist/translators/gemini.request.translator.d.ts +24 -0
  46. package/dist/translators/gemini.request.translator.d.ts.map +1 -0
  47. package/dist/translators/gemini.request.translator.js +112 -0
  48. package/dist/translators/gemini.request.translator.js.map +1 -0
  49. package/dist/translators/gemini.response.content.translator.d.ts +12 -0
  50. package/dist/translators/gemini.response.content.translator.d.ts.map +1 -0
  51. package/dist/translators/gemini.response.content.translator.js +40 -0
  52. package/dist/translators/gemini.response.content.translator.js.map +1 -0
  53. package/dist/translators/gemini.response.message.translator.d.ts +14 -0
  54. package/dist/translators/gemini.response.message.translator.d.ts.map +1 -0
  55. package/dist/translators/gemini.response.message.translator.js +90 -0
  56. package/dist/translators/gemini.response.message.translator.js.map +1 -0
  57. package/dist/translators/gemini.response.translator.d.ts +16 -0
  58. package/dist/translators/gemini.response.translator.d.ts.map +1 -0
  59. package/dist/translators/gemini.response.translator.js +70 -0
  60. package/dist/translators/gemini.response.translator.js.map +1 -0
  61. package/dist/translators/gemini.tool.translator.d.ts +19 -0
  62. package/dist/translators/gemini.tool.translator.d.ts.map +1 -0
  63. package/dist/translators/gemini.tool.translator.js +84 -0
  64. package/dist/translators/gemini.tool.translator.js.map +1 -0
  65. package/dist/translators/gemini.usage.translator.d.ts +12 -0
  66. package/dist/translators/gemini.usage.translator.d.ts.map +1 -0
  67. package/dist/translators/gemini.usage.translator.js +45 -0
  68. package/dist/translators/gemini.usage.translator.js.map +1 -0
  69. package/dist/translators/index.d.ts +10 -0
  70. package/dist/translators/index.d.ts.map +1 -0
  71. package/dist/translators/index.js +10 -0
  72. package/dist/translators/index.js.map +1 -0
  73. package/dist/translators/streaming/gemini.content.delta.translator.d.ts +12 -0
  74. package/dist/translators/streaming/gemini.content.delta.translator.d.ts.map +1 -0
  75. package/dist/translators/streaming/gemini.content.delta.translator.js +85 -0
  76. package/dist/translators/streaming/gemini.content.delta.translator.js.map +1 -0
  77. package/dist/translators/streaming/gemini.message.delta.translator.d.ts +14 -0
  78. package/dist/translators/streaming/gemini.message.delta.translator.d.ts.map +1 -0
  79. package/dist/translators/streaming/gemini.message.delta.translator.js +73 -0
  80. package/dist/translators/streaming/gemini.message.delta.translator.js.map +1 -0
  81. package/dist/translators/streaming/gemini.message.start.translator.d.ts +14 -0
  82. package/dist/translators/streaming/gemini.message.start.translator.d.ts.map +1 -0
  83. package/dist/translators/streaming/gemini.message.start.translator.js +62 -0
  84. package/dist/translators/streaming/gemini.message.start.translator.js.map +1 -0
  85. package/dist/translators/streaming/gemini.message.stop.translator.d.ts +12 -0
  86. package/dist/translators/streaming/gemini.message.stop.translator.d.ts.map +1 -0
  87. package/dist/translators/streaming/gemini.message.stop.translator.js +57 -0
  88. package/dist/translators/streaming/gemini.message.stop.translator.js.map +1 -0
  89. package/dist/translators/streaming/gemini.stream.translator.d.ts +22 -0
  90. package/dist/translators/streaming/gemini.stream.translator.d.ts.map +1 -0
  91. package/dist/translators/streaming/gemini.stream.translator.js +90 -0
  92. package/dist/translators/streaming/gemini.stream.translator.js.map +1 -0
  93. package/dist/translators/streaming/index.d.ts +6 -0
  94. package/dist/translators/streaming/index.d.ts.map +1 -0
  95. package/dist/translators/streaming/index.js +6 -0
  96. package/dist/translators/streaming/index.js.map +1 -0
  97. package/dist/utils/finish.reason.mapper.d.ts +4 -0
  98. package/dist/utils/finish.reason.mapper.d.ts.map +1 -0
  99. package/dist/utils/finish.reason.mapper.js +25 -0
  100. package/dist/utils/finish.reason.mapper.js.map +1 -0
  101. package/package.json +72 -0
@@ -0,0 +1,84 @@
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 { BaseTranslator } from "@holokai/sdk/provider";
13
+ import { pickDefined } from "@holokai/sdk";
14
+ import { FunctionCallingConfigMode } from "@google/genai";
15
+ let GeminiToolTranslator = class GeminiToolTranslator extends BaseTranslator {
16
+ holoDefaults = {};
17
+ providerDefaults = {};
18
+ constructor() {
19
+ super();
20
+ }
21
+ async fromHoloImpl(source) {
22
+ return pickDefined({
23
+ name: source.name,
24
+ description: source.description,
25
+ parameters: source.parameters ?? { type: "OBJECT", properties: {} }
26
+ });
27
+ }
28
+ async toHoloImpl(source) {
29
+ return pickDefined({
30
+ name: source.name,
31
+ description: source.description,
32
+ parameters: source.parameters
33
+ });
34
+ }
35
+ };
36
+ GeminiToolTranslator = __decorate([
37
+ injectable(),
38
+ __metadata("design:paramtypes", [])
39
+ ], GeminiToolTranslator);
40
+ export { GeminiToolTranslator };
41
+ let GeminiToolChoiceTranslator = class GeminiToolChoiceTranslator extends BaseTranslator {
42
+ holoDefaults = {};
43
+ providerDefaults = {};
44
+ constructor() {
45
+ super();
46
+ }
47
+ async fromHoloImpl(source) {
48
+ switch (source.type) {
49
+ case 'auto':
50
+ return { mode: FunctionCallingConfigMode.AUTO };
51
+ case 'none':
52
+ return { mode: FunctionCallingConfigMode.NONE };
53
+ case 'required':
54
+ return { mode: FunctionCallingConfigMode.ANY };
55
+ case 'specific':
56
+ return pickDefined({
57
+ mode: FunctionCallingConfigMode.ANY,
58
+ allowedFunctionNames: source.name ? [source.name] : undefined
59
+ });
60
+ default:
61
+ return { mode: FunctionCallingConfigMode.AUTO };
62
+ }
63
+ }
64
+ async toHoloImpl(source) {
65
+ switch (source.mode) {
66
+ case 'NONE':
67
+ return { type: 'none' };
68
+ case 'ANY':
69
+ if (source.allowedFunctionNames?.length) {
70
+ return { type: 'specific', name: source.allowedFunctionNames[0] };
71
+ }
72
+ return { type: 'required' };
73
+ case 'AUTO':
74
+ default:
75
+ return { type: 'auto' };
76
+ }
77
+ }
78
+ };
79
+ GeminiToolChoiceTranslator = __decorate([
80
+ injectable(),
81
+ __metadata("design:paramtypes", [])
82
+ ], GeminiToolChoiceTranslator);
83
+ export { GeminiToolChoiceTranslator };
84
+ //# sourceMappingURL=gemini.tool.translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.tool.translator.js","sourceRoot":"","sources":["../../src/translators/gemini.tool.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,eAAe,CAAC;AAIjD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,cAA6C;IACzE,YAAY,GAAsB,EAAE,CAAC;IACrC,gBAAgB,GAAiC,EAAE,CAAC;IAE9D;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,MAAgB;QACzC,OAAO,WAAW,CAAC;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAC;SACpE,CAAiC,CAAC;IACvC,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,MAA2B;QAClD,OAAO,WAAW,CAAC;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC,CAAsB,CAAC;IAC5B,CAAC;CACJ,CAAA;AAvBY,oBAAoB;IADhC,UAAU,EAAE;;GACA,oBAAoB,CAuBhC;;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,cAAqD;IACvF,YAAY,GAA4B,EAAE,CAAC;IAC3C,gBAAgB,GAAmC,EAAE,CAAC;IAEhE;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,MAAsB;QAC/C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACP,OAAO,EAAC,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAC,CAAC;YAClD,KAAK,MAAM;gBACP,OAAO,EAAC,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAC,CAAC;YAClD,KAAK,UAAU;gBACX,OAAO,EAAC,IAAI,EAAE,yBAAyB,CAAC,GAAG,EAAC,CAAC;YACjD,KAAK,UAAU;gBACX,OAAO,WAAW,CAAC;oBACf,IAAI,EAAE,yBAAyB,CAAC,GAAG;oBACnC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;iBAChE,CAAmC,CAAC;YACzC;gBACI,OAAO,EAAC,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,MAA6B;QACpD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACP,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;YAC1B,KAAK,KAAK;gBACN,IAAI,MAAM,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;oBACtC,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;YAC9B,KAAK,MAAM,CAAC;YACZ;gBACI,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ,CAAA;AAxCY,0BAA0B;IADtC,UAAU,EAAE;;GACA,0BAA0B,CAwCtC"}
@@ -0,0 +1,12 @@
1
+ import 'reflect-metadata';
2
+ import { BaseTranslator } from "@holokai/sdk/provider";
3
+ import type { HoloUsage } from "@holokai/types/holo";
4
+ import type { GenerateContentResponseUsageMetadata } from "@google/genai";
5
+ export declare class GeminiUsageTranslator extends BaseTranslator<HoloUsage, GenerateContentResponseUsageMetadata> {
6
+ protected holoDefaults: Partial<HoloUsage>;
7
+ protected providerDefaults: Partial<GenerateContentResponseUsageMetadata>;
8
+ constructor();
9
+ protected fromHoloImpl(source: HoloUsage): Promise<Partial<GenerateContentResponseUsageMetadata>>;
10
+ protected toHoloImpl(source: GenerateContentResponseUsageMetadata): Promise<Partial<HoloUsage>>;
11
+ }
12
+ //# sourceMappingURL=gemini.usage.translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.usage.translator.d.ts","sourceRoot":"","sources":["../../src/translators/gemini.usage.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAC,oCAAoC,EAAC,MAAM,eAAe,CAAC;AAExE,qBACa,qBAAsB,SAAQ,cAAc,CAAC,SAAS,EAAE,oCAAoC,CAAC;IACtG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAM;IAChD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAM;;cAM/D,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;cASvF,UAAU,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;CAWxG"}
@@ -0,0 +1,45 @@
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 { BaseTranslator } from "@holokai/sdk/provider";
13
+ import { pickDefined } from "@holokai/sdk";
14
+ let GeminiUsageTranslator = class GeminiUsageTranslator extends BaseTranslator {
15
+ holoDefaults = {};
16
+ providerDefaults = {};
17
+ constructor() {
18
+ super();
19
+ }
20
+ async fromHoloImpl(source) {
21
+ return pickDefined({
22
+ promptTokenCount: source.input_tokens,
23
+ candidatesTokenCount: source.output_tokens,
24
+ totalTokenCount: source.total_tokens,
25
+ cachedContentTokenCount: source.cache_read_tokens
26
+ });
27
+ }
28
+ async toHoloImpl(source) {
29
+ return pickDefined({
30
+ input_tokens: source.promptTokenCount,
31
+ output_tokens: source.candidatesTokenCount,
32
+ total_tokens: source.totalTokenCount
33
+ ?? (source.promptTokenCount && source.candidatesTokenCount
34
+ ? source.promptTokenCount + source.candidatesTokenCount
35
+ : undefined),
36
+ cache_read_tokens: source.cachedContentTokenCount || undefined
37
+ });
38
+ }
39
+ };
40
+ GeminiUsageTranslator = __decorate([
41
+ injectable(),
42
+ __metadata("design:paramtypes", [])
43
+ ], GeminiUsageTranslator);
44
+ export { GeminiUsageTranslator };
45
+ //# sourceMappingURL=gemini.usage.translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.usage.translator.js","sourceRoot":"","sources":["../../src/translators/gemini.usage.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAKlC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,cAA+D;IAC5F,YAAY,GAAuB,EAAE,CAAC;IACtC,gBAAgB,GAAkD,EAAE,CAAC;IAE/E;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,MAAiB;QAC1C,OAAO,WAAW,CAAC;YACf,gBAAgB,EAAE,MAAM,CAAC,YAAY;YACrC,oBAAoB,EAAE,MAAM,CAAC,aAAa;YAC1C,eAAe,EAAE,MAAM,CAAC,YAAY;YACpC,uBAAuB,EAAE,MAAM,CAAC,iBAAiB;SACpD,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,MAA4C;QACnE,OAAO,WAAW,CAAC;YACf,YAAY,EAAE,MAAM,CAAC,gBAAgB;YACrC,aAAa,EAAE,MAAM,CAAC,oBAAoB;YAC1C,YAAY,EAAE,MAAM,CAAC,eAAe;mBAC7B,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,oBAAoB;oBACtD,CAAC,CAAC,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB;oBACvD,CAAC,CAAC,SAAS,CAAC;YACpB,iBAAiB,EAAE,MAAM,CAAC,uBAAuB,IAAI,SAAS;SACjE,CAAuB,CAAC;IAC7B,CAAC;CACJ,CAAA;AA5BY,qBAAqB;IADjC,UAAU,EAAE;;GACA,qBAAqB,CA4BjC"}
@@ -0,0 +1,10 @@
1
+ export * from './gemini.content.translator';
2
+ export * from './gemini.message.translator';
3
+ export * from './gemini.request.translator';
4
+ export * from './gemini.response.message.translator';
5
+ export * from './gemini.response.translator';
6
+ export * from './gemini.response.content.translator';
7
+ export * from './gemini.tool.translator';
8
+ export * from './gemini.usage.translator';
9
+ export * from './streaming';
10
+ //# 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,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from './gemini.content.translator';
2
+ export * from './gemini.message.translator';
3
+ export * from './gemini.request.translator';
4
+ export * from './gemini.response.message.translator';
5
+ export * from './gemini.response.translator';
6
+ export * from './gemini.response.content.translator';
7
+ export * from './gemini.tool.translator';
8
+ export * from './gemini.usage.translator';
9
+ export * from './streaming';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ import 'reflect-metadata';
2
+ import type { HoloStreamChunk } from "@holokai/types/holo";
3
+ import { StreamTranslator } from "@holokai/sdk/provider";
4
+ import type { GenerateContentResponse } from "@google/genai";
5
+ export declare class GeminiContentDeltaTranslator extends StreamTranslator<HoloStreamChunk, GenerateContentResponse> {
6
+ protected holoDefaults: Partial<HoloStreamChunk>;
7
+ protected providerDefaults: Partial<GenerateContentResponse>;
8
+ constructor();
9
+ protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<GenerateContentResponse>[]>;
10
+ protected toHoloManyImpl(source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
11
+ }
12
+ //# sourceMappingURL=gemini.content.delta.translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.content.delta.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.content.delta.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAE3D,qBACa,4BAA6B,SAAQ,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;IACxG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAM;;cAMlD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;cAmBtF,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CA6CvG"}
@@ -0,0 +1,85 @@
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 { StreamTranslator } from "@holokai/sdk/provider";
13
+ let GeminiContentDeltaTranslator = class GeminiContentDeltaTranslator extends StreamTranslator {
14
+ holoDefaults = {};
15
+ providerDefaults = {};
16
+ constructor() {
17
+ super();
18
+ }
19
+ async fromHoloManyImpl(source) {
20
+ const d = source.delta;
21
+ if (!d)
22
+ return [];
23
+ if (d.type === 'content_delta' && typeof d.delta?.content === 'string') {
24
+ return [{
25
+ candidates: [{
26
+ content: {
27
+ role: 'model',
28
+ parts: [{ text: d.delta.content }]
29
+ },
30
+ index: 0
31
+ }]
32
+ }];
33
+ }
34
+ return [];
35
+ }
36
+ async toHoloManyImpl(source) {
37
+ const out = [];
38
+ const candidate = source.candidates?.[0];
39
+ if (!candidate?.content?.parts)
40
+ return out;
41
+ for (const part of candidate.content.parts) {
42
+ if (part.text !== undefined) {
43
+ out.push({
44
+ delta: {
45
+ provider: 'gemini',
46
+ type: 'content_delta',
47
+ index: candidate.index ?? 0,
48
+ delta: {
49
+ content: part.text
50
+ },
51
+ provider_delta: source
52
+ }
53
+ });
54
+ }
55
+ if (part.functionCall) {
56
+ out.push({
57
+ delta: {
58
+ provider: 'gemini',
59
+ type: 'message_delta',
60
+ index: candidate.index ?? 0,
61
+ delta: {
62
+ role: 'assistant',
63
+ tool_calls: [{
64
+ id: part.functionCall.name || '',
65
+ type: 'function',
66
+ function: {
67
+ name: part.functionCall.name || '',
68
+ arguments: part.functionCall.args || {}
69
+ }
70
+ }]
71
+ },
72
+ provider_delta: source
73
+ }
74
+ });
75
+ }
76
+ }
77
+ return out;
78
+ }
79
+ };
80
+ GeminiContentDeltaTranslator = __decorate([
81
+ injectable(),
82
+ __metadata("design:paramtypes", [])
83
+ ], GeminiContentDeltaTranslator);
84
+ export { GeminiContentDeltaTranslator };
85
+ //# sourceMappingURL=gemini.content.delta.translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.content.delta.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.content.delta.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAIhD,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gBAA0D;IAC9F,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAqC,EAAE,CAAC;IAElE;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAElB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrE,OAAO,CAAC;oBACJ,UAAU,EAAE,CAAC;4BACT,OAAO,EAAE;gCACL,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC;6BACnC;4BACD,KAAK,EAAE,CAAC;yBACX,CAAC;iBACL,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAA+B;QAC1D,MAAM,GAAG,GAA+B,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK;YAAE,OAAO,GAAG,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC;oBACL,KAAK,EAAE;wBACH,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,eAAwB;wBAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;wBAC3B,KAAK,EAAE;4BACH,OAAO,EAAE,IAAI,CAAC,IAAI;yBACrB;wBACD,cAAc,EAAE,MAAM;qBACzB;iBACJ,CAAC,CAAC;YACP,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC;oBACL,KAAK,EAAE;wBACH,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,eAAwB;wBAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;wBAC3B,KAAK,EAAE;4BACH,IAAI,EAAE,WAAoB;4BAC1B,UAAU,EAAE,CAAC;oCACT,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;oCAChC,IAAI,EAAE,UAAmB;oCACzB,QAAQ,EAAE;wCACN,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;wCAClC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAA+B,IAAI,EAAE;qCACrE;iCACJ,CAAC;yBACL;wBACD,cAAc,EAAE,MAAM;qBACzB;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ,CAAA;AAxEY,4BAA4B;IADxC,UAAU,EAAE;;GACA,4BAA4B,CAwExC"}
@@ -0,0 +1,14 @@
1
+ import 'reflect-metadata';
2
+ import type { HoloStreamChunk } from '@holokai/types/holo';
3
+ import { StreamTranslator } from "@holokai/sdk/provider";
4
+ import type { GenerateContentResponse } from "@google/genai";
5
+ import { GeminiUsageTranslator } from '../gemini.usage.translator';
6
+ export declare class GeminiMessageDeltaTranslator extends StreamTranslator<HoloStreamChunk, GenerateContentResponse> {
7
+ private readonly usageTranslator;
8
+ protected holoDefaults: Partial<HoloStreamChunk>;
9
+ protected providerDefaults: Partial<GenerateContentResponse>;
10
+ constructor(usageTranslator: GeminiUsageTranslator);
11
+ protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<GenerateContentResponse>[]>;
12
+ protected toHoloManyImpl(source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
13
+ }
14
+ //# sourceMappingURL=gemini.message.delta.translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.message.delta.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.message.delta.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAEjE,qBACa,4BAA6B,SAAQ,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAI5F,OAAO,CAAC,QAAQ,CAAC,eAAe;IAH5C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAM;gBAErC,eAAe,EAAE,qBAAqB;cAInD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;cA0BtF,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAsBvG"}
@@ -0,0 +1,73 @@
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 { pickDefined } from '@holokai/sdk';
13
+ import { toHoloFinishReason, toGeminiFinishReason } from '../../utils/finish.reason.mapper.js';
14
+ import { StreamTranslator } from "@holokai/sdk/provider";
15
+ import { GeminiUsageTranslator } from '../gemini.usage.translator';
16
+ let GeminiMessageDeltaTranslator = class GeminiMessageDeltaTranslator extends StreamTranslator {
17
+ usageTranslator;
18
+ holoDefaults = {};
19
+ providerDefaults = {};
20
+ constructor(usageTranslator) {
21
+ super();
22
+ this.usageTranslator = usageTranslator;
23
+ }
24
+ async fromHoloManyImpl(source) {
25
+ const d = source.delta;
26
+ if (!d || d.type !== 'message_delta')
27
+ return [];
28
+ const finishReason = toGeminiFinishReason(source.finish_reason ?? undefined);
29
+ const usage = d.usage
30
+ ? pickDefined({
31
+ promptTokenCount: d.usage.input_tokens,
32
+ candidatesTokenCount: d.usage.output_tokens,
33
+ totalTokenCount: d.usage.total_tokens
34
+ })
35
+ : undefined;
36
+ if (!finishReason && !usage)
37
+ return [];
38
+ return [{
39
+ candidates: [{
40
+ content: { role: 'model', parts: [] },
41
+ ...(finishReason ? { finishReason: finishReason } : {}),
42
+ index: 0
43
+ }],
44
+ ...(usage ? { usageMetadata: usage } : {})
45
+ }];
46
+ }
47
+ async toHoloManyImpl(source) {
48
+ const candidate = source.candidates?.[0];
49
+ if (!candidate)
50
+ return [];
51
+ const usage = source.usageMetadata
52
+ ? await this.usageTranslator.toHolo(source.usageMetadata)
53
+ : undefined;
54
+ const chunk = pickDefined({
55
+ delta: {
56
+ provider: 'gemini',
57
+ type: 'message_delta',
58
+ choice: 0,
59
+ delta: {},
60
+ usage: usage ?? undefined,
61
+ provider_delta: source
62
+ },
63
+ finish_reason: toHoloFinishReason(candidate.finishReason)
64
+ });
65
+ return [chunk];
66
+ }
67
+ };
68
+ GeminiMessageDeltaTranslator = __decorate([
69
+ injectable(),
70
+ __metadata("design:paramtypes", [GeminiUsageTranslator])
71
+ ], GeminiMessageDeltaTranslator);
72
+ export { GeminiMessageDeltaTranslator };
73
+ //# sourceMappingURL=gemini.message.delta.translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.message.delta.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.message.delta.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAC,kBAAkB,EAAE,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AAC7F,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAG1D,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gBAA0D;IAI3E;IAHnB,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAqC,EAAE,CAAC;IAElE,YAA6B,eAAsC;QAC/D,KAAK,EAAE,CAAC;QADiB,oBAAe,GAAf,eAAe,CAAuB;IAEnE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;YACjB,CAAC,CAAC,WAAW,CAAC;gBACV,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;gBACtC,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;gBAC3C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;aACxC,CAAC;YACF,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEvC,OAAO,CAAC;gBACJ,UAAU,EAAE,CAAC;wBACT,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;wBACnC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,YAAY,EAAE,YAA4B,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,KAAK,EAAE,CAAC;qBACX,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,aAAa,EAAE,KAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAA+B;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;YAC9B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,KAAK,GAA6B,WAAW,CAAC;YAChD,KAAK,EAAE;gBACH,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,eAAwB;gBAC9B,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,KAAK,IAAI,SAAS;gBACzB,cAAc,EAAE,MAAM;aACzB;YACD,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC,YAAkC,CAAC;SAClF,CAA6B,CAAC;QAE/B,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CACJ,CAAA;AAxDY,4BAA4B;IADxC,UAAU,EAAE;qCAKqC,qBAAqB;GAJ1D,4BAA4B,CAwDxC"}
@@ -0,0 +1,14 @@
1
+ import 'reflect-metadata';
2
+ import { GeminiUsageTranslator } from '../gemini.usage.translator';
3
+ import { StreamTranslator } from "@holokai/sdk/provider";
4
+ import type { HoloStreamChunk } from "@holokai/types/holo";
5
+ import type { GenerateContentResponse } from "@google/genai";
6
+ export declare class GeminiMessageStartTranslator extends StreamTranslator<HoloStreamChunk, GenerateContentResponse> {
7
+ private readonly usageTranslator;
8
+ protected holoDefaults: Partial<HoloStreamChunk>;
9
+ protected providerDefaults: Partial<GenerateContentResponse>;
10
+ constructor(usageTranslator: GeminiUsageTranslator);
11
+ protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<GenerateContentResponse>[]>;
12
+ protected toHoloManyImpl(source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
13
+ }
14
+ //# sourceMappingURL=gemini.message.start.translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.message.start.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.message.start.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAE3D,qBACa,4BAA6B,SAAQ,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAI5F,OAAO,CAAC,QAAQ,CAAC,eAAe;IAH5C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAM;gBAErC,eAAe,EAAE,qBAAqB;cAInD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;cAetF,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAoBvG"}
@@ -0,0 +1,62 @@
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 { v4 as uuidv4 } from 'uuid';
13
+ import { GeminiUsageTranslator } from '../gemini.usage.translator';
14
+ import { StreamTranslator } from "@holokai/sdk/provider";
15
+ let GeminiMessageStartTranslator = class GeminiMessageStartTranslator extends StreamTranslator {
16
+ usageTranslator;
17
+ holoDefaults = {};
18
+ providerDefaults = {};
19
+ constructor(usageTranslator) {
20
+ super();
21
+ this.usageTranslator = usageTranslator;
22
+ }
23
+ async fromHoloManyImpl(source) {
24
+ const d = source.delta;
25
+ if (!d || d.type !== 'message_start')
26
+ return [];
27
+ if (!source.model)
28
+ return [];
29
+ return [{
30
+ candidates: [{
31
+ content: { role: 'model', parts: [] },
32
+ index: 0
33
+ }],
34
+ modelVersion: source.model
35
+ }];
36
+ }
37
+ async toHoloManyImpl(source) {
38
+ const usage = source.usageMetadata
39
+ ? await this.usageTranslator.toHolo(source.usageMetadata)
40
+ : null;
41
+ return [{
42
+ id: uuidv4(),
43
+ ...(source.modelVersion ? { model: source.modelVersion } : {}),
44
+ delta: {
45
+ provider: 'gemini',
46
+ type: 'message_start',
47
+ choice: 0,
48
+ delta: {
49
+ role: 'assistant'
50
+ },
51
+ usage,
52
+ provider_delta: source
53
+ }
54
+ }];
55
+ }
56
+ };
57
+ GeminiMessageStartTranslator = __decorate([
58
+ injectable(),
59
+ __metadata("design:paramtypes", [GeminiUsageTranslator])
60
+ ], GeminiMessageStartTranslator);
61
+ export { GeminiMessageStartTranslator };
62
+ //# sourceMappingURL=gemini.message.start.translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.message.start.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.message.start.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAKhD,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gBAA0D;IAI3E;IAHnB,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAqC,EAAE,CAAC;IAElE,YAA6B,eAAsC;QAC/D,KAAK,EAAE,CAAC;QADiB,oBAAe,GAAf,eAAe,CAAuB;IAEnE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAE7B,OAAO,CAAC;gBACJ,UAAU,EAAE,CAAC;wBACT,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;wBACnC,KAAK,EAAE,CAAC;qBACX,CAAC;gBACF,YAAY,EAAE,MAAM,CAAC,KAAK;aAC7B,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAA+B;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;YAC9B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC;QAEX,OAAO,CAAC;gBACJ,EAAE,EAAE,MAAM,EAAE;gBACZ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,eAAwB;oBAC9B,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE;wBACH,IAAI,EAAE,WAAoB;qBAC7B;oBACD,KAAK;oBACL,cAAc,EAAE,MAAM;iBACzB;aACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA3CY,4BAA4B;IADxC,UAAU,EAAE;qCAKqC,qBAAqB;GAJ1D,4BAA4B,CA2CxC"}
@@ -0,0 +1,12 @@
1
+ import 'reflect-metadata';
2
+ import type { HoloStreamChunk } from "@holokai/types/holo";
3
+ import { StreamTranslator } from "@holokai/sdk/provider";
4
+ import type { GenerateContentResponse } from "@google/genai";
5
+ export declare class GeminiMessageStopTranslator extends StreamTranslator<HoloStreamChunk, GenerateContentResponse> {
6
+ protected holoDefaults: Partial<HoloStreamChunk>;
7
+ protected providerDefaults: Partial<GenerateContentResponse>;
8
+ constructor();
9
+ protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<GenerateContentResponse>[]>;
10
+ protected toHoloManyImpl(source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
11
+ }
12
+ //# sourceMappingURL=gemini.message.stop.translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.message.stop.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.message.stop.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAE3D,qBACa,2BAA4B,SAAQ,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;IACvG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAM;;cAMlD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;cAuBtF,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAWvG"}
@@ -0,0 +1,57 @@
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 { StreamTranslator } from "@holokai/sdk/provider";
13
+ import { FinishReason } from "@google/genai";
14
+ let GeminiMessageStopTranslator = class GeminiMessageStopTranslator extends StreamTranslator {
15
+ holoDefaults = {};
16
+ providerDefaults = {};
17
+ constructor() {
18
+ super();
19
+ }
20
+ async fromHoloManyImpl(source) {
21
+ const d = source.delta;
22
+ if (!d)
23
+ return [];
24
+ if (d.provider_delta) {
25
+ if (d.provider === 'gemini') {
26
+ return [d.provider_delta];
27
+ }
28
+ }
29
+ if (d.type === 'message_stop') {
30
+ return [{
31
+ candidates: [{
32
+ content: { role: 'model', parts: [] },
33
+ finishReason: FinishReason.STOP,
34
+ index: 0
35
+ }]
36
+ }];
37
+ }
38
+ return [];
39
+ }
40
+ async toHoloManyImpl(source) {
41
+ return [{
42
+ delta: {
43
+ provider: 'gemini',
44
+ type: 'message_stop',
45
+ delta: {},
46
+ provider_delta: source
47
+ },
48
+ done: true
49
+ }];
50
+ }
51
+ };
52
+ GeminiMessageStopTranslator = __decorate([
53
+ injectable(),
54
+ __metadata("design:paramtypes", [])
55
+ ], GeminiMessageStopTranslator);
56
+ export { GeminiMessageStopTranslator };
57
+ //# sourceMappingURL=gemini.message.stop.translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.message.stop.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.message.stop.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAIpC,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,gBAA0D;IAC7F,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAqC,EAAE,CAAC;IAElE;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAElB,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO,CAAC;oBACJ,UAAU,EAAE,CAAC;4BACT,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;4BACnC,YAAY,EAAE,YAAY,CAAC,IAAI;4BAC/B,KAAK,EAAE,CAAC;yBACX,CAAC;iBACL,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAA+B;QAC1D,OAAO,CAAC;gBACJ,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,cAAuB;oBAC7B,KAAK,EAAE,EAAE;oBACT,cAAc,EAAE,MAAM;iBACzB;gBACD,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA1CY,2BAA2B;IADvC,UAAU,EAAE;;GACA,2BAA2B,CA0CvC"}
@@ -0,0 +1,22 @@
1
+ import 'reflect-metadata';
2
+ import { GeminiMessageStartTranslator } from './gemini.message.start.translator';
3
+ import { GeminiMessageDeltaTranslator } from './gemini.message.delta.translator';
4
+ import { GeminiMessageStopTranslator } from './gemini.message.stop.translator';
5
+ import { GeminiContentDeltaTranslator } from './gemini.content.delta.translator';
6
+ import { StreamTranslator } from "@holokai/sdk/provider";
7
+ import type { HoloStreamChunk } from "@holokai/types/holo";
8
+ import type { GenerateContentResponse } from "@google/genai";
9
+ export declare class GeminiStreamTranslator extends StreamTranslator<HoloStreamChunk, GenerateContentResponse> {
10
+ private readonly messageStartTranslator;
11
+ private readonly messageDeltaTranslator;
12
+ private readonly messageStopTranslator;
13
+ private readonly contentDeltaTranslator;
14
+ protected holoDefaults: Partial<HoloStreamChunk>;
15
+ protected providerDefaults: Partial<GenerateContentResponse>;
16
+ private isFirstChunk;
17
+ private hasEmittedStop;
18
+ constructor(messageStartTranslator: GeminiMessageStartTranslator, messageDeltaTranslator: GeminiMessageDeltaTranslator, messageStopTranslator: GeminiMessageStopTranslator, contentDeltaTranslator: GeminiContentDeltaTranslator);
19
+ protected toHoloManyImpl(source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
20
+ protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<GenerateContentResponse>[]>;
21
+ }
22
+ //# sourceMappingURL=gemini.stream.translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.stream.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.stream.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAE3D,qBACa,sBAAuB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAQ9F,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAV3C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAM;IAElE,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAS;gBAGV,sBAAsB,EAAE,4BAA4B,EACpD,sBAAsB,EAAE,4BAA4B,EACpD,qBAAqB,EAAE,2BAA2B,EAClD,sBAAsB,EAAE,4BAA4B;cAKzD,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;cAyBpF,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;CAmCzG"}