@holokai/holo-provider-gemini 1.4.5 → 1.5.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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/dist/gemini.provider.d.ts +0 -1
  3. package/dist/gemini.provider.d.ts.map +1 -1
  4. package/dist/gemini.provider.js +0 -3
  5. package/dist/gemini.provider.js.map +1 -1
  6. package/dist/gemini.translator.d.ts +2 -1
  7. package/dist/gemini.translator.d.ts.map +1 -1
  8. package/dist/gemini.translator.js +5 -2
  9. package/dist/gemini.translator.js.map +1 -1
  10. package/dist/plugin.d.ts +3 -1
  11. package/dist/plugin.d.ts.map +1 -1
  12. package/dist/plugin.js +16 -0
  13. package/dist/plugin.js.map +1 -1
  14. package/dist/translators/gemini.content.translator.d.ts.map +1 -1
  15. package/dist/translators/gemini.content.translator.js +10 -6
  16. package/dist/translators/gemini.content.translator.js.map +1 -1
  17. package/dist/translators/gemini.message.translator.d.ts.map +1 -1
  18. package/dist/translators/gemini.message.translator.js +41 -14
  19. package/dist/translators/gemini.message.translator.js.map +1 -1
  20. package/dist/translators/gemini.request.translator.d.ts.map +1 -1
  21. package/dist/translators/gemini.request.translator.js +88 -9
  22. package/dist/translators/gemini.request.translator.js.map +1 -1
  23. package/dist/translators/gemini.response.message.translator.d.ts.map +1 -1
  24. package/dist/translators/gemini.response.message.translator.js +19 -9
  25. package/dist/translators/gemini.response.message.translator.js.map +1 -1
  26. package/dist/translators/gemini.response.translator.d.ts.map +1 -1
  27. package/dist/translators/gemini.response.translator.js +40 -15
  28. package/dist/translators/gemini.response.translator.js.map +1 -1
  29. package/dist/translators/gemini.tool.id.d.ts +16 -0
  30. package/dist/translators/gemini.tool.id.d.ts.map +1 -0
  31. package/dist/translators/gemini.tool.id.js +26 -0
  32. package/dist/translators/gemini.tool.id.js.map +1 -0
  33. package/dist/translators/gemini.tool.translator.d.ts.map +1 -1
  34. package/dist/translators/gemini.tool.translator.js +8 -3
  35. package/dist/translators/gemini.tool.translator.js.map +1 -1
  36. package/dist/translators/streaming/gemini.content.delta.translator.d.ts +2 -0
  37. package/dist/translators/streaming/gemini.content.delta.translator.d.ts.map +1 -1
  38. package/dist/translators/streaming/gemini.content.delta.translator.js +155 -10
  39. package/dist/translators/streaming/gemini.content.delta.translator.js.map +1 -1
  40. package/dist/translators/streaming/gemini.message.start.translator.d.ts.map +1 -1
  41. package/dist/translators/streaming/gemini.message.start.translator.js +13 -15
  42. package/dist/translators/streaming/gemini.message.start.translator.js.map +1 -1
  43. package/dist/translators/streaming/gemini.message.stop.translator.js +2 -2
  44. package/dist/translators/streaming/gemini.message.stop.translator.js.map +1 -1
  45. package/dist/translators/streaming/gemini.stream.translator.d.ts +17 -4
  46. package/dist/translators/streaming/gemini.stream.translator.d.ts.map +1 -1
  47. package/dist/translators/streaming/gemini.stream.translator.js +99 -16
  48. package/dist/translators/streaming/gemini.stream.translator.js.map +1 -1
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/package.json +1 -1
@@ -1 +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,4BAA4B,CAAC;AAE5D,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAGpC,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"}
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,4BAA4B,CAAC;AAE5D,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAGpC,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,CAAC;oBACR,KAAK,EAAE,EAAE;oBACT,cAAc,EAAE,MAAM;iBACzB;aACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA1CY,2BAA2B;IADvC,UAAU,EAAE;;GACA,2BAA2B,CA0CvC"}
@@ -5,7 +5,7 @@ import { GeminiMessageStopTranslator } from './gemini.message.stop.translator';
5
5
  import { GeminiContentDeltaTranslator } from './gemini.content.delta.translator';
6
6
  import { StreamTranslator } from "@holokai/holo-sdk/provider";
7
7
  import type { HoloStreamChunk } from "@holokai/holo-types/holo";
8
- import type { GenerateContentResponse } from "@google/genai";
8
+ import { type GenerateContentResponse } from "@google/genai";
9
9
  export declare class GeminiStreamTranslator extends StreamTranslator<HoloStreamChunk, GenerateContentResponse> {
10
10
  private readonly messageStartTranslator;
11
11
  private readonly messageDeltaTranslator;
@@ -13,10 +13,23 @@ export declare class GeminiStreamTranslator extends StreamTranslator<HoloStreamC
13
13
  private readonly contentDeltaTranslator;
14
14
  protected holoDefaults: Partial<HoloStreamChunk>;
15
15
  protected providerDefaults: Partial<GenerateContentResponse>;
16
- private isFirstChunk;
17
- private hasEmittedStop;
18
16
  constructor(messageStartTranslator: GeminiMessageStartTranslator, messageDeltaTranslator: GeminiMessageDeltaTranslator, messageStopTranslator: GeminiMessageStopTranslator, contentDeltaTranslator: GeminiContentDeltaTranslator);
19
- protected toHoloManyImpl(source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
17
+ /**
18
+ * Streams Holo chunks → gemini chunks with cross-chunk state in the
19
+ * generator's closure. Merges consecutive functionCall-only chunks
20
+ * (gemini wire packs parallel calls into one chunk's parts[]) and
21
+ * synthesises a trailing finishReason if the source stream ended
22
+ * without one.
23
+ */
24
+ fromHoloStream(source: AsyncIterable<HoloStreamChunk>, validateTarget?: boolean): AsyncIterable<Partial<GenerateContentResponse>>;
25
+ /**
26
+ * Streams gemini chunks → Holo with first-chunk synthesis state in the
27
+ * generator's closure. The first chunk emits an additional `message_start`
28
+ * Holo chunk, and the chunk carrying `finishReason` emits one trailing
29
+ * `message_stop` (and `message_delta` if usage is present).
30
+ */
31
+ toHoloStream(source: AsyncIterable<GenerateContentResponse>, _validateTarget?: boolean): AsyncIterable<Partial<HoloStreamChunk>>;
32
+ protected toHoloManyImpl(_source: GenerateContentResponse): Promise<Partial<HoloStreamChunk>[]>;
20
33
  protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<GenerateContentResponse>[]>;
21
34
  }
22
35
  //# sourceMappingURL=gemini.stream.translator.d.ts.map
@@ -1 +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,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAC9D,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"}
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,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAe,KAAK,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAEzE,qBACa,sBAAuB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAK9F,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAP3C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAM;gBAG7C,sBAAsB,EAAE,4BAA4B,EACpD,sBAAsB,EAAE,4BAA4B,EACpD,qBAAqB,EAAE,2BAA2B,EAClD,sBAAsB,EAAE,4BAA4B;IAKzE;;;;;;OAMG;IACa,cAAc,CAC1B,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,EACtC,cAAc,UAAQ,GACvB,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAmDlD;;;;;OAKG;IACa,YAAY,CACxB,MAAM,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAC9C,eAAe,UAAQ,GACxB,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;cAoC1B,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;cAOrF,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;CAuCzG"}
@@ -15,6 +15,7 @@ import { GeminiMessageStopTranslator } from './gemini.message.stop.translator';
15
15
  import { GeminiContentDeltaTranslator } from './gemini.content.delta.translator';
16
16
  import { toGeminiFinishReason } from '../../utils/finish.reason.mapper';
17
17
  import { StreamTranslator } from "@holokai/holo-sdk/provider";
18
+ import { FinishReason } from "@google/genai";
18
19
  let GeminiStreamTranslator = class GeminiStreamTranslator extends StreamTranslator {
19
20
  messageStartTranslator;
20
21
  messageDeltaTranslator;
@@ -22,8 +23,6 @@ let GeminiStreamTranslator = class GeminiStreamTranslator extends StreamTranslat
22
23
  contentDeltaTranslator;
23
24
  holoDefaults = {};
24
25
  providerDefaults = {};
25
- isFirstChunk = true;
26
- hasEmittedStop = false;
27
26
  constructor(messageStartTranslator, messageDeltaTranslator, messageStopTranslator, contentDeltaTranslator) {
28
27
  super();
29
28
  this.messageStartTranslator = messageStartTranslator;
@@ -31,24 +30,104 @@ let GeminiStreamTranslator = class GeminiStreamTranslator extends StreamTranslat
31
30
  this.messageStopTranslator = messageStopTranslator;
32
31
  this.contentDeltaTranslator = contentDeltaTranslator;
33
32
  }
34
- async toHoloManyImpl(source) {
35
- const results = [];
36
- const candidate = source.candidates?.[0];
37
- if (this.isFirstChunk) {
38
- this.isFirstChunk = false;
39
- results.push(...await this.messageStartTranslator.toHoloMany(source));
33
+ /**
34
+ * Streams Holo chunks → gemini chunks with cross-chunk state in the
35
+ * generator's closure. Merges consecutive functionCall-only chunks
36
+ * (gemini wire packs parallel calls into one chunk's parts[]) and
37
+ * synthesises a trailing finishReason if the source stream ended
38
+ * without one.
39
+ */
40
+ async *fromHoloStream(source, validateTarget = false) {
41
+ this.contentDeltaTranslator.resetStreamState();
42
+ let pending = null;
43
+ let lastEmitted = null;
44
+ for await (const item of source) {
45
+ const raw = await this.fromHoloMany(item, validateTarget);
46
+ for (const chunk of raw) {
47
+ const candidate = chunk.candidates?.[0];
48
+ const parts = candidate?.content?.parts ?? [];
49
+ const isFnCallOnly = parts.length > 0
50
+ && parts.every(p => !!p.functionCall)
51
+ && !candidate?.finishReason;
52
+ if (isFnCallOnly) {
53
+ if (pending) {
54
+ pending.candidates[0].content.parts.push(...parts);
55
+ }
56
+ else {
57
+ pending = chunk;
58
+ }
59
+ continue;
60
+ }
61
+ if (pending) {
62
+ yield pending;
63
+ lastEmitted = pending;
64
+ pending = null;
65
+ }
66
+ yield chunk;
67
+ lastEmitted = chunk;
68
+ }
69
+ }
70
+ if (pending) {
71
+ yield pending;
72
+ lastEmitted = pending;
40
73
  }
41
- if (candidate?.content?.parts?.length) {
42
- results.push(...await this.contentDeltaTranslator.toHoloMany(source));
74
+ const lastHasFinishReason = !!lastEmitted?.candidates?.[0]?.finishReason;
75
+ if (!lastHasFinishReason) {
76
+ yield {
77
+ candidates: [{
78
+ content: { role: 'model', parts: [] },
79
+ finishReason: FinishReason.STOP,
80
+ index: 0,
81
+ }],
82
+ };
43
83
  }
44
- if (candidate?.finishReason) {
45
- results.push(...await this.messageDeltaTranslator.toHoloMany(source));
46
- if (!this.hasEmittedStop) {
47
- this.hasEmittedStop = true;
48
- results.push(...await this.messageStopTranslator.toHoloMany(source));
84
+ }
85
+ /**
86
+ * Streams gemini chunks → Holo with first-chunk synthesis state in the
87
+ * generator's closure. The first chunk emits an additional `message_start`
88
+ * Holo chunk, and the chunk carrying `finishReason` emits one trailing
89
+ * `message_stop` (and `message_delta` if usage is present).
90
+ */
91
+ async *toHoloStream(source, _validateTarget = false) {
92
+ let isFirstChunk = true;
93
+ let hasEmittedStop = false;
94
+ for await (const item of source) {
95
+ const candidate = item.candidates?.[0];
96
+ if (isFirstChunk) {
97
+ isFirstChunk = false;
98
+ for (const c of await this.messageStartTranslator.toHoloMany(item)) {
99
+ if (c && Object.keys(c).length > 0)
100
+ yield c;
101
+ }
102
+ }
103
+ if (candidate?.content?.parts?.length) {
104
+ for (const c of await this.contentDeltaTranslator.toHoloMany(item)) {
105
+ if (c && Object.keys(c).length > 0)
106
+ yield c;
107
+ }
108
+ }
109
+ if (candidate?.finishReason) {
110
+ if (item.usageMetadata) {
111
+ for (const c of await this.messageDeltaTranslator.toHoloMany(item)) {
112
+ if (c && Object.keys(c).length > 0)
113
+ yield c;
114
+ }
115
+ }
116
+ if (!hasEmittedStop) {
117
+ hasEmittedStop = true;
118
+ for (const c of await this.messageStopTranslator.toHoloMany(item)) {
119
+ if (c && Object.keys(c).length > 0)
120
+ yield c;
121
+ }
122
+ }
49
123
  }
50
124
  }
51
- return results;
125
+ }
126
+ async toHoloManyImpl(_source) {
127
+ // Stateless per-chunk implementation is not meaningful for gemini
128
+ // (first-chunk synthesis requires cross-chunk state). Streaming
129
+ // callers should use `toHoloStream`.
130
+ return [];
52
131
  }
53
132
  async fromHoloManyImpl(source) {
54
133
  const d = source.delta;
@@ -63,6 +142,9 @@ let GeminiStreamTranslator = class GeminiStreamTranslator extends StreamTranslat
63
142
  return this.messageStartTranslator.fromHoloMany(source);
64
143
  case 'message_delta': {
65
144
  const results = [];
145
+ if (d.delta?.tool_calls?.length) {
146
+ results.push(...await this.contentDeltaTranslator.fromHoloMany(source));
147
+ }
66
148
  results.push(...await this.messageDeltaTranslator.fromHoloMany(source));
67
149
  const geminiFinishReason = toGeminiFinishReason(source.finish_reason ?? undefined);
68
150
  if (geminiFinishReason) {
@@ -71,6 +153,7 @@ let GeminiStreamTranslator = class GeminiStreamTranslator extends StreamTranslat
71
153
  return results;
72
154
  }
73
155
  case 'content_delta':
156
+ case 'tool_arg_delta':
74
157
  return this.contentDeltaTranslator.fromHoloMany(source);
75
158
  case 'message_stop':
76
159
  return this.messageStopTranslator.fromHoloMany(source);
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.stream.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.stream.translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.stream.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/gemini.stream.translator.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.4.5";
1
+ export declare const VERSION = "1.5.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Auto-generated — do not edit
2
- export const VERSION = "1.4.5";
2
+ export const VERSION = "1.5.0";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holokai/holo-provider-gemini",
3
- "version": "1.4.5",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "description": "Google Gemini provider plugin for Holo LLM Gateway",
6
6
  "author": "Holokai",