@holokai/holo-provider-gemini 1.3.1 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +153 -0
  2. package/dist/gemini.auditor.d.ts +8 -5
  3. package/dist/gemini.auditor.d.ts.map +1 -1
  4. package/dist/gemini.auditor.js +46 -30
  5. package/dist/gemini.auditor.js.map +1 -1
  6. package/dist/gemini.pricing.d.ts +1 -1
  7. package/dist/gemini.pricing.d.ts.map +1 -1
  8. package/dist/gemini.provider.d.ts +4 -2
  9. package/dist/gemini.provider.d.ts.map +1 -1
  10. package/dist/gemini.provider.js +51 -6
  11. package/dist/gemini.provider.js.map +1 -1
  12. package/dist/gemini.response.factory.d.ts +2 -2
  13. package/dist/gemini.response.factory.d.ts.map +1 -1
  14. package/dist/gemini.response.factory.js +1 -1
  15. package/dist/gemini.response.factory.js.map +1 -1
  16. package/dist/gemini.translator.d.ts +9 -3
  17. package/dist/gemini.translator.d.ts.map +1 -1
  18. package/dist/gemini.translator.js +18 -1
  19. package/dist/gemini.translator.js.map +1 -1
  20. package/dist/gemini.wire.adapter.d.ts +1 -1
  21. package/dist/gemini.wire.adapter.d.ts.map +1 -1
  22. package/dist/gemini.wire.adapter.js +1 -1
  23. package/dist/gemini.wire.adapter.js.map +1 -1
  24. package/dist/manifest.d.ts +1 -1
  25. package/dist/manifest.d.ts.map +1 -1
  26. package/dist/manifest.js +3 -5
  27. package/dist/manifest.js.map +1 -1
  28. package/dist/plugin.d.ts +9 -8
  29. package/dist/plugin.d.ts.map +1 -1
  30. package/dist/plugin.js +16 -5
  31. package/dist/plugin.js.map +1 -1
  32. package/dist/translators/gemini.content.translator.d.ts +2 -2
  33. package/dist/translators/gemini.content.translator.d.ts.map +1 -1
  34. package/dist/translators/gemini.content.translator.js +1 -1
  35. package/dist/translators/gemini.content.translator.js.map +1 -1
  36. package/dist/translators/gemini.message.translator.d.ts +2 -2
  37. package/dist/translators/gemini.message.translator.d.ts.map +1 -1
  38. package/dist/translators/gemini.message.translator.js +1 -1
  39. package/dist/translators/gemini.message.translator.js.map +1 -1
  40. package/dist/translators/gemini.request.translator.d.ts +2 -2
  41. package/dist/translators/gemini.request.translator.d.ts.map +1 -1
  42. package/dist/translators/gemini.request.translator.js +2 -2
  43. package/dist/translators/gemini.request.translator.js.map +1 -1
  44. package/dist/translators/gemini.response.content.translator.d.ts +2 -2
  45. package/dist/translators/gemini.response.content.translator.d.ts.map +1 -1
  46. package/dist/translators/gemini.response.content.translator.js +1 -1
  47. package/dist/translators/gemini.response.content.translator.js.map +1 -1
  48. package/dist/translators/gemini.response.message.translator.d.ts +2 -2
  49. package/dist/translators/gemini.response.message.translator.d.ts.map +1 -1
  50. package/dist/translators/gemini.response.message.translator.js +2 -2
  51. package/dist/translators/gemini.response.message.translator.js.map +1 -1
  52. package/dist/translators/gemini.response.translator.d.ts +2 -2
  53. package/dist/translators/gemini.response.translator.d.ts.map +1 -1
  54. package/dist/translators/gemini.response.translator.js +2 -2
  55. package/dist/translators/gemini.response.translator.js.map +1 -1
  56. package/dist/translators/gemini.tool.translator.d.ts +2 -2
  57. package/dist/translators/gemini.tool.translator.d.ts.map +1 -1
  58. package/dist/translators/gemini.tool.translator.js +2 -2
  59. package/dist/translators/gemini.tool.translator.js.map +1 -1
  60. package/dist/translators/gemini.usage.translator.d.ts +2 -2
  61. package/dist/translators/gemini.usage.translator.d.ts.map +1 -1
  62. package/dist/translators/gemini.usage.translator.js +2 -2
  63. package/dist/translators/gemini.usage.translator.js.map +1 -1
  64. package/dist/translators/streaming/gemini.content.delta.translator.d.ts +2 -2
  65. package/dist/translators/streaming/gemini.content.delta.translator.d.ts.map +1 -1
  66. package/dist/translators/streaming/gemini.content.delta.translator.js +1 -1
  67. package/dist/translators/streaming/gemini.content.delta.translator.js.map +1 -1
  68. package/dist/translators/streaming/gemini.message.delta.translator.d.ts +2 -2
  69. package/dist/translators/streaming/gemini.message.delta.translator.d.ts.map +1 -1
  70. package/dist/translators/streaming/gemini.message.delta.translator.js +2 -2
  71. package/dist/translators/streaming/gemini.message.delta.translator.js.map +1 -1
  72. package/dist/translators/streaming/gemini.message.start.translator.d.ts +2 -2
  73. package/dist/translators/streaming/gemini.message.start.translator.d.ts.map +1 -1
  74. package/dist/translators/streaming/gemini.message.start.translator.js +1 -1
  75. package/dist/translators/streaming/gemini.message.start.translator.js.map +1 -1
  76. package/dist/translators/streaming/gemini.message.stop.translator.d.ts +2 -2
  77. package/dist/translators/streaming/gemini.message.stop.translator.d.ts.map +1 -1
  78. package/dist/translators/streaming/gemini.message.stop.translator.js +1 -1
  79. package/dist/translators/streaming/gemini.message.stop.translator.js.map +1 -1
  80. package/dist/translators/streaming/gemini.stream.translator.d.ts +2 -2
  81. package/dist/translators/streaming/gemini.stream.translator.d.ts.map +1 -1
  82. package/dist/translators/streaming/gemini.stream.translator.js +1 -1
  83. package/dist/translators/streaming/gemini.stream.translator.js.map +1 -1
  84. package/dist/utils/finish.reason.mapper.d.ts +1 -1
  85. package/dist/utils/finish.reason.mapper.d.ts.map +1 -1
  86. package/dist/version.d.ts +2 -0
  87. package/dist/version.d.ts.map +1 -0
  88. package/dist/version.js +3 -0
  89. package/dist/version.js.map +1 -0
  90. package/package.json +4 -4
package/README.md ADDED
@@ -0,0 +1,153 @@
1
+ # @holokai/holo-provider-gemini
2
+
3
+ > **Google Gemini provider plugin for Holo LLM Gateway**
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ The Gemini provider plugin enables Holo to communicate with Google's Gemini API. It provides bidirectional translation
10
+ between Gemini's native API and the portable Holo format using the `@google/genai` SDK.
11
+
12
+ ### Key Features
13
+
14
+ - Full Holo SDK integration with strict type safety
15
+ - Bidirectional translation: Gemini native format <-> Holo universal format
16
+ - Streaming support via `streamGenerateContent`
17
+ - Tool calling / function calling
18
+ - Vision and multimodal input
19
+ - Embedding support via `embedContent`
20
+ - Built-in pricing dataset with cost calculation
21
+ - Thinking token and cache read cost tracking
22
+
23
+ ---
24
+
25
+ ## Installation
26
+
27
+ ```bash
28
+ npm install @holokai/holo-provider-gemini
29
+ ```
30
+
31
+ ### Peer Dependencies
32
+
33
+ - `@holokai/holo-sdk` ^1.2.2
34
+
35
+ ---
36
+
37
+ ## Quick Start
38
+
39
+ ### Automatic Discovery
40
+
41
+ When installed in a Holo worker environment, this plugin is automatically discovered and loaded. No manual registration
42
+ required.
43
+
44
+ ### Configuration
45
+
46
+ Add a provider configuration to your Holo deployment:
47
+
48
+ ```json
49
+ {
50
+ "provider_type": "gemini",
51
+ "plugin_id": "@holokai/holo-provider-gemini",
52
+ "api_key": "${GEMINI_API_KEY}",
53
+ "model": "gemini-2.0-flash",
54
+ "config": {
55
+ "defaultModel": "gemini-2.0-flash"
56
+ }
57
+ }
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Protocols
63
+
64
+ | Protocol | Capability | Route | Method |
65
+ |--------------------------------|------------------|-----------------------------------------------|--------|
66
+ | `gemini.generateContent` | Chat | `/v1beta/models/:model:generateContent` | POST |
67
+ | `gemini.streamGenerateContent` | Chat (streaming) | `/v1beta/models/:model:streamGenerateContent` | POST |
68
+ | `gemini.embedContent` | Embed | `/v1beta/models/:model:embedContent` | POST |
69
+ | `gemini.models` | Models | `/v1beta/models` | GET |
70
+
71
+ The default protocol is `gemini.generateContent`.
72
+
73
+ ---
74
+
75
+ ## Capabilities
76
+
77
+ ```typescript
78
+ {
79
+ streaming: true,
80
+ tools: true,
81
+ vision: true,
82
+ functionCalling: true,
83
+ maxTokens: 1_000_000
84
+ }
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Architecture
90
+
91
+ ```
92
+ plugins/holo-provider-gemini/
93
+ ├── src/
94
+ │ ├── index.ts Default export of plugin instance
95
+ │ ├── manifest.ts Plugin manifest (family: 'gemini')
96
+ │ ├── plugin.ts GeminiProviderPlugin — routes, capabilities, pricing
97
+ │ ├── gemini.provider.ts GeminiProvider — request execution via @google/genai
98
+ │ ├── gemini.auditor.ts Audit record construction
99
+ │ ├── gemini.translator.ts Holo <-> Gemini format translation
100
+ │ ├── gemini.wire.adapter.ts Event-to-wire serialization (SSE/JSON)
101
+ │ ├── gemini.response.factory.ts Response envelope construction
102
+ │ └── gemini.pricing.ts Built-in pricing dataset
103
+ ├── tests/
104
+ │ └── fixtures/ Conformance test fixtures
105
+ ├── package.json
106
+ └── tsconfig.json
107
+ ```
108
+
109
+ ---
110
+
111
+ ## Holo Format Mapping
112
+
113
+ ### Request Translation (Holo -> Gemini)
114
+
115
+ | Holo Field | Gemini Field |
116
+ |--------------------------------|------------------------------------|
117
+ | `messages[].role: 'user'` | `contents[].role: 'user'` |
118
+ | `messages[].role: 'assistant'` | `contents[].role: 'model'` |
119
+ | `messages[].content` (text) | `contents[].parts[].text` |
120
+ | `messages[].content` (image) | `contents[].parts[].inlineData` |
121
+ | `system` | `systemInstruction` |
122
+ | `max_tokens` | `generationConfig.maxOutputTokens` |
123
+ | `temperature` | `generationConfig.temperature` |
124
+ | `top_p` | `generationConfig.topP` |
125
+ | `top_k` | `generationConfig.topK` |
126
+ | `stop_sequences` | `generationConfig.stopSequences` |
127
+ | `tools` | `tools[].functionDeclarations` |
128
+
129
+ ### Response Translation (Gemini -> Holo)
130
+
131
+ | Gemini Field | Holo Field |
132
+ |--------------------------------------|------------------------------|
133
+ | `candidates[0].content.parts[].text` | `choices[0].message.content` |
134
+ | `candidates[0].finishReason` | `choices[0].finish_reason` |
135
+ | `usageMetadata.promptTokenCount` | `usage.prompt_tokens` |
136
+ | `usageMetadata.candidatesTokenCount` | `usage.completion_tokens` |
137
+ | `usageMetadata.totalTokenCount` | `usage.total_tokens` |
138
+
139
+ ---
140
+
141
+ ## Testing
142
+
143
+ Tests use the `@holokai/holo-test` conformance framework with fixture-driven testing:
144
+
145
+ ```bash
146
+ npm test
147
+ ```
148
+
149
+ ---
150
+
151
+ ## License
152
+
153
+ MIT
@@ -1,10 +1,13 @@
1
- import { BaseAuditor } from "@holokai/sdk/provider";
2
- import type { ProviderDoneEvent, ProviderEvent } from "@holokai/types/provider";
3
- import type { HoloWorkerRequest, WorkerResponseEnvelope } from "@holokai/types/worker";
4
- import type { ProviderEnvelope, ProviderResponseMetrics } from "@holokai/types/entities";
5
- import { FinishReason, ProviderResponseStatus } from "@holokai/types/entities";
1
+ import { BaseAuditor } from "@holokai/holo-sdk/provider";
2
+ import type { ProviderDoneEvent, ProviderEvent } from "@holokai/holo-types/provider";
3
+ import type { HoloWorkerRequest, WorkerResponseEnvelope } from "@holokai/holo-types/worker";
4
+ import type { ProviderEnvelope, ProviderResponseMetrics } from "@holokai/holo-types/entities";
5
+ import { FinishReason, ProviderResponseStatus } from "@holokai/holo-types/entities";
6
+ import type { HoloFinishReason, HoloUsage } from "@holokai/holo-types/holo";
6
7
  export declare class GeminiAuditor extends BaseAuditor {
7
8
  readonly provider = "gemini";
9
+ mapFinishReason(nativeResponse: any, _protocolName?: string): HoloFinishReason;
10
+ mapUsage(nativeResponse: any, protocolName?: string): HoloUsage;
8
11
  protected extractRequestOptions(workerRequest: HoloWorkerRequest): Promise<Record<string, any>>;
9
12
  protected mapProviderResponseMetrics(providerEvent: ProviderDoneEvent, protocolName: string): Promise<Partial<ProviderResponseMetrics>>;
10
13
  protected mapResponseStatus(providerEvent: ProviderEvent, envelope: WorkerResponseEnvelope): Promise<ProviderResponseStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.auditor.d.ts","sourceRoot":"","sources":["../src/gemini.auditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EAAC,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAC,YAAY,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAS7E,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;cAEb,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;cAMrF,0BAA0B,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM;cAiBjF,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;cAWlH,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;cAqBvH,sBAAsB,CAClC,aAAa,EAAE,iBAAiB,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAiB/B"}
1
+ {"version":3,"file":"gemini.auditor.d.ts","sourceRoot":"","sources":["../src/gemini.auditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAEvD,OAAO,KAAK,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,EAAC,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAC,YAAY,EAAE,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAC,gBAAgB,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAS1E,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;IAEpB,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAkB9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS;cAYxD,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;cAMrF,0BAA0B,CAAC,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM;cAgBjF,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;cAWlH,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;cAMvH,sBAAsB,CAClC,aAAa,EAAE,iBAAiB,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAiB/B"}
@@ -5,12 +5,45 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { injectable } from 'tsyringe';
8
- import { BaseAuditor } from "@holokai/sdk/provider";
9
- import { extractPromptByRole, extractTextParts, extractTopLevelPrompt, pickDefined } from "@holokai/sdk";
10
- import { FinishReason, ProviderResponseStatus } from "@holokai/types/entities";
8
+ import { BaseAuditor } from "@holokai/holo-sdk/provider";
9
+ import { extractPromptByRole, extractTextContent, extractTopLevelPrompt, pickDefined } from "@holokai/holo-sdk";
10
+ import { FinishReason, ProviderResponseStatus } from "@holokai/holo-types/entities";
11
11
  import { GeminiProtocols } from "./plugin";
12
12
  let GeminiAuditor = class GeminiAuditor extends BaseAuditor {
13
13
  provider = 'gemini';
14
+ mapFinishReason(nativeResponse, _protocolName) {
15
+ if (!nativeResponse)
16
+ return 'stop';
17
+ const candidates = nativeResponse.candidates;
18
+ if (!candidates || candidates.length === 0)
19
+ return 'stop';
20
+ const finishReason = candidates[0].finishReason;
21
+ switch (finishReason) {
22
+ case 'STOP':
23
+ return 'stop';
24
+ case 'MAX_TOKENS':
25
+ return 'length';
26
+ case 'SAFETY':
27
+ case 'RECITATION':
28
+ return 'content_filter';
29
+ default:
30
+ return 'stop';
31
+ }
32
+ }
33
+ mapUsage(nativeResponse, protocolName) {
34
+ if (!nativeResponse)
35
+ return {};
36
+ if (protocolName === GeminiProtocols.EMBED_CONTENT)
37
+ return {};
38
+ const usage = nativeResponse.usageMetadata;
39
+ if (!usage)
40
+ return {};
41
+ return pickDefined({
42
+ input_tokens: usage.promptTokenCount,
43
+ output_tokens: usage.candidatesTokenCount,
44
+ total_tokens: usage.totalTokenCount,
45
+ });
46
+ }
14
47
  async extractRequestOptions(workerRequest) {
15
48
  return {
16
49
  ...workerRequest.payload.config
@@ -22,16 +55,14 @@ let GeminiAuditor = class GeminiAuditor extends BaseAuditor {
22
55
  usage_raw: providerEvent.message.metadata
23
56
  };
24
57
  }
25
- else {
26
- const message = providerEvent.message;
27
- const usage = message.usageMetadata;
28
- return pickDefined({
29
- input_tokens: usage?.promptTokenCount,
30
- output_tokens: usage?.candidatesTokenCount,
31
- total_tokens: usage?.totalTokenCount,
32
- usage_raw: usage
33
- });
34
- }
58
+ const message = providerEvent.message;
59
+ const usage = message.usageMetadata;
60
+ return pickDefined({
61
+ input_tokens: usage?.promptTokenCount,
62
+ output_tokens: usage?.candidatesTokenCount,
63
+ total_tokens: usage?.totalTokenCount,
64
+ usage_raw: usage
65
+ });
35
66
  }
36
67
  async mapResponseStatus(providerEvent, envelope) {
37
68
  if (providerEvent.type === 'done') {
@@ -49,26 +80,11 @@ let GeminiAuditor = class GeminiAuditor extends BaseAuditor {
49
80
  return FinishReason.ERROR;
50
81
  if (providerEvent.type !== 'done')
51
82
  return undefined;
52
- const candidates = providerEvent.message?.candidates;
53
- if (!candidates || candidates.length === 0)
54
- return FinishReason.STOP;
55
- const finishReason = candidates[0].finishReason;
56
- switch (finishReason) {
57
- case 'STOP':
58
- return FinishReason.STOP;
59
- case 'MAX_TOKENS':
60
- return FinishReason.LENGTH;
61
- case 'SAFETY':
62
- return FinishReason.CONTENT_FILTER;
63
- case 'RECITATION':
64
- return FinishReason.CONTENT_FILTER;
65
- default:
66
- return FinishReason.STOP;
67
- }
83
+ return this.mapFinishReason(providerEvent.message);
68
84
  }
69
85
  async createProviderEnvelope(workerRequest) {
70
86
  const payload = workerRequest.payload;
71
- const last_user_prompt = extractPromptByRole(payload.contents, "user", "last", (msg) => extractTextParts(msg.parts));
87
+ const last_user_prompt = extractPromptByRole(payload.contents, "user", "last", (msg) => extractTextContent(msg.parts));
72
88
  const system_prompt = workerRequest.systemPrompt?.system_prompt ?? extractTopLevelPrompt(payload.config?.systemInstruction);
73
89
  return pickDefined({
74
90
  access_model: payload.model,
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.auditor.js","sourceRoot":"","sources":["../src/gemini.auditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.auditor.js","sourceRoot":"","sources":["../src/gemini.auditor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { PricingDataset } from '@holokai/types/plugin';
1
+ import type { PricingDataset } from '@holokai/holo-types/plugin';
2
2
  export declare const GEMINI_PRICING_DATASET: PricingDataset;
3
3
  //# sourceMappingURL=gemini.pricing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.pricing.d.ts","sourceRoot":"","sources":["../src/gemini.pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAI1D,eAAO,MAAM,sBAAsB,EAAE,cAqQpC,CAAC"}
1
+ {"version":3,"file":"gemini.pricing.d.ts","sourceRoot":"","sources":["../src/gemini.pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAI/D,eAAO,MAAM,sBAAsB,EAAE,cAqQpC,CAAC"}
@@ -1,9 +1,10 @@
1
- import { BaseProvider } from '@holokai/sdk/provider';
2
- import type { IAuditor, IProviderTranslator, IResponseFactory, ProviderContext } from '@holokai/types/provider';
1
+ import { BaseProvider } from '@holokai/holo-sdk/provider';
2
+ import type { DiscoveredModel, IAuditor, IProviderTranslator, IResponseFactory, ProviderContext } from '@holokai/holo-types/provider';
3
3
  import { EmbedContentParameters, GenerateContentParameters, GoogleGenAI } from '@google/genai';
4
4
  import { GeminiErrorResponse } from './gemini.response.factory.js';
5
5
  export declare class GeminiProvider extends BaseProvider<GoogleGenAI, any> {
6
6
  getModels(allowedModels: string[] | true): Promise<any>;
7
+ discoverModels(): Promise<DiscoveredModel[]>;
7
8
  getModelNameFromRequest(payload: EmbedContentParameters | GenerateContentParameters): Promise<string>;
8
9
  protected createAuditor(): IAuditor;
9
10
  protected createClient(): GoogleGenAI;
@@ -13,6 +14,7 @@ export declare class GeminiProvider extends BaseProvider<GoogleGenAI, any> {
13
14
  start: () => Promise<any>;
14
15
  }>;
15
16
  protected handleError(error: any): Promise<GeminiErrorResponse>;
17
+ private parseGeminiError;
16
18
  private mapHttpStatusToGeminiStatus;
17
19
  }
18
20
  //# sourceMappingURL=gemini.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.provider.d.ts","sourceRoot":"","sources":["../src/gemini.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAG7F,OAAO,EAAC,mBAAmB,EAA2C,MAAM,8BAA8B,CAAC;AAG3G,qBAAa,cAAe,SAAQ,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;IAExD,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAevD,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3G,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,WAAW;IAIrC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;cAInC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,yBAAyB,EAAE,GAAG,EAAE,eAAe;;;cAoDrG,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAarE,OAAO,CAAC,2BAA2B;CAkBtC"}
1
+ {"version":3,"file":"gemini.provider.d.ts","sourceRoot":"","sources":["../src/gemini.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EACR,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAG7F,OAAO,EAAC,mBAAmB,EAA2C,MAAM,8BAA8B,CAAC;AAG3G,qBAAa,cAAe,SAAQ,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;IAExD,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAevD,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAyB5C,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3G,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,WAAW;IAIrC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;cAInC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,yBAAyB,EAAE,GAAG,EAAE,eAAe;;;cAoDrG,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKrE,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,2BAA2B;CAkBtC"}
@@ -1,4 +1,4 @@
1
- import { BaseProvider } from '@holokai/sdk/provider';
1
+ import { BaseProvider } from '@holokai/holo-sdk/provider';
2
2
  import { GoogleGenAI } from '@google/genai';
3
3
  import { GeminiAuditor } from './gemini.auditor.js';
4
4
  import { GeminiTranslator } from './gemini.translator.js';
@@ -15,6 +15,29 @@ export class GeminiProvider extends BaseProvider {
15
15
  }
16
16
  return response.filter(model => allowedModels.includes(model.name?.replace('models/', '') ?? ''));
17
17
  }
18
+ async discoverModels() {
19
+ const url = `https://generativelanguage.googleapis.com/v1beta/models?key=${this._config.apiKey}`;
20
+ const res = await fetch(url);
21
+ const data = await res.json();
22
+ const models = data.models ?? [];
23
+ return models.map(m => {
24
+ const modelId = m.name ?? '';
25
+ const shortName = modelId.replace(/^models\//, '');
26
+ const displayName = m.displayName ?? shortName;
27
+ return {
28
+ name: displayName,
29
+ accessModel: modelId,
30
+ description: displayName !== modelId
31
+ ? `${displayName} (Model ID: ${modelId})`
32
+ : `AI Model: ${modelId}`,
33
+ version: shortName.match(/-(\d+\.\d+(?:\.\d+)?)/)?.[1]
34
+ ?? shortName.match(/-(\d{4})/)?.[1]
35
+ ?? '1.0',
36
+ contextLength: m.inputTokenLimit ?? undefined,
37
+ metadata: m,
38
+ };
39
+ });
40
+ }
18
41
  async getModelNameFromRequest(payload) {
19
42
  return payload.model;
20
43
  }
@@ -46,15 +69,15 @@ export class GeminiProvider extends BaseProvider {
46
69
  const stream = await this.client.models.generateContentStream(payload);
47
70
  let finalResponse;
48
71
  for await (const chunk of stream) {
49
- if (chunk.candidates?.[0]?.finishReason) {
50
- finalResponse = chunk;
51
- break;
52
- }
53
72
  ctx.emitStreamEvent(chunk);
54
73
  const text = chunk.candidates?.[0]?.content?.parts?.[0]?.text;
55
74
  if (text) {
56
75
  ctx.emitTextDelta(text);
57
76
  }
77
+ if (chunk.candidates?.[0]?.finishReason) {
78
+ finalResponse = chunk;
79
+ break;
80
+ }
58
81
  }
59
82
  return finalResponse;
60
83
  }
@@ -75,6 +98,10 @@ export class GeminiProvider extends BaseProvider {
75
98
  }
76
99
  }
77
100
  async handleError(error) {
101
+ return this.parseGeminiError(error)
102
+ ?? this.responseFactory.createError(error.message, 'api_error');
103
+ }
104
+ parseGeminiError(error) {
78
105
  if (error.status && error.statusText) {
79
106
  return {
80
107
  error: {
@@ -84,7 +111,25 @@ export class GeminiProvider extends BaseProvider {
84
111
  }
85
112
  };
86
113
  }
87
- return this.responseFactory.createError(error.message, 'api_error');
114
+ const match = error.message?.match(/^got status: (\d+)\s+[^.]*\.\s*(.*)/s);
115
+ if (match) {
116
+ const httpStatus = parseInt(match[1], 10);
117
+ let body;
118
+ try {
119
+ body = JSON.parse(match[2]);
120
+ }
121
+ catch { /* unparseable body */
122
+ }
123
+ const geminiError = body?.error;
124
+ return {
125
+ error: {
126
+ code: httpStatus,
127
+ message: geminiError?.message || error.message,
128
+ status: geminiError?.status || this.mapHttpStatusToGeminiStatus(httpStatus)
129
+ }
130
+ };
131
+ }
132
+ return undefined;
88
133
  }
89
134
  mapHttpStatusToGeminiStatus(status) {
90
135
  switch (status) {
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.provider.js","sourceRoot":"","sources":["../src/gemini.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.provider.js","sourceRoot":"","sources":["../src/gemini.provider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { IResponseFactory } from '@holokai/types/provider';
2
- import type { HoloErrorCode } from '@holokai/types/holo';
1
+ import type { IResponseFactory } from '@holokai/holo-types/provider';
2
+ import type { HoloErrorCode } from '@holokai/holo-types/holo';
3
3
  export type GeminiErrorStatus = 'INVALID_ARGUMENT' | 'NOT_FOUND' | 'PERMISSION_DENIED' | 'RESOURCE_EXHAUSTED' | 'UNAUTHENTICATED' | 'INTERNAL' | 'UNAVAILABLE';
4
4
  export interface GeminiErrorResponse {
5
5
  error: {
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.response.factory.d.ts","sourceRoot":"","sources":["../src/gemini.response.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAChB,WAAW,GACX,mBAAmB,GACnB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,aAAa,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,iBAAiB,CAAC;KAC7B,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE;QACL,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,EAAE,mBAAmB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAE1D,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO;IAgBzD,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkB5F,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYxE,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAc3D,MAAM,CAAC,mBAAmB,IAAI,mBAAmB;IAQjD,MAAM,CAAC,QAAQ,IAAI,qBAAqB;IAIxC,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB;IASnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,mBAAmB;IAWtE,OAAO,CAAC,gBAAgB;CAkB3B"}
1
+ {"version":3,"file":"gemini.response.factory.d.ts","sourceRoot":"","sources":["../src/gemini.response.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAChB,WAAW,GACX,mBAAmB,GACnB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,aAAa,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,iBAAiB,CAAC;KAC7B,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE;QACL,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,EAAE,mBAAmB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAE1D,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO;IAgBzD,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkB5F,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYxE,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAc3D,MAAM,CAAC,mBAAmB,IAAI,mBAAmB;IAQjD,MAAM,CAAC,QAAQ,IAAI,qBAAqB;IAIxC,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB;IASnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,mBAAmB;IAWtE,OAAO,CAAC,gBAAgB;CAkB3B"}
@@ -1,4 +1,4 @@
1
- import { pickDefined } from '@holokai/sdk';
1
+ import { pickDefined } from '@holokai/holo-sdk';
2
2
  export class GeminiResponseFactory {
3
3
  static streamResponseMessage(text = '') {
4
4
  const messages = [];
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.response.factory.js","sourceRoot":"","sources":["../src/gemini.response.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AA0CzC,MAAM,OAAO,qBAAqB;IAE9B,MAAM,CAAC,qBAAqB,CAAC,OAA0B,EAAE;QACrD,MAAM,QAAQ,GAAuC,EAAE,CAAC;QAExD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEvC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,OAA0B,EAAE;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QAEf,OAAO,WAAW,CAAC;YACf,UAAU,EAAE,CAAC;oBACT,OAAO,EAAE;wBACL,KAAK;wBACL,IAAI,EAAE,OAAO;qBAChB;oBACD,YAAY,EAAE,MAAM;oBACpB,KAAK,EAAE,CAAC;iBACX,CAAC;YACF,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE;SAC5C,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAY;QACjC,OAAO,WAAW,CAAC;YACf,UAAU,EAAE,CAAC;oBACT,OAAO,EAAE;wBACL,KAAK,EAAE,CAAC,EAAC,IAAI,EAAC,CAAC;wBACf,IAAI,EAAE,OAAO;qBAChB;oBACD,KAAK,EAAE,CAAC;iBACX,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,gBAAgB;QACnB,OAAO,WAAW,CAAC;YACf,UAAU,EAAE,CAAC;oBACT,OAAO,EAAE;wBACL,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;wBACnB,IAAI,EAAE,OAAO;qBAChB;oBACD,YAAY,EAAE,MAAM;oBACpB,KAAK,EAAE,CAAC;iBACX,CAAC;YACF,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE;SAC5C,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,mBAAmB;QACtB,OAAO;YACH,gBAAgB,EAAE,CAAC;YACnB,oBAAoB,EAAE,CAAC;YACvB,eAAe,EAAE,CAAC;SACrB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,IAAmB;QAC3B,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,eAAe;gBAChB,OAAO,kBAAkB,CAAC;YAC9B;gBACI,OAAO,kBAAkB,CAAC;QAClC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,IAAmB;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO;YACH,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACnC,OAAO;gBACP,MAAM;aACT;SACJ,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,MAAyB;QAC9C,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,kBAAkB;gBACnB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAiB;gBAClB,OAAO,GAAG,CAAC;YACf,KAAK,mBAAmB;gBACpB,OAAO,GAAG,CAAC;YACf,KAAK,WAAW;gBACZ,OAAO,GAAG,CAAC;YACf,KAAK,oBAAoB;gBACrB,OAAO,GAAG,CAAC;YACf,KAAK,UAAU;gBACX,OAAO,GAAG,CAAC;YACf,KAAK,aAAa;gBACd,OAAO,GAAG,CAAC;QACnB,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"gemini.response.factory.js","sourceRoot":"","sources":["../src/gemini.response.factory.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import 'reflect-metadata';
2
2
  import { GeminiMessageTranslator, GeminiRequestTranslator, GeminiResponseTranslator, GeminiStreamTranslator } from "./translators";
3
- import type { IProviderTranslator } from "@holokai/types/provider";
4
- import { ClassLogger } from "@holokai/sdk";
5
- import type { HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/types/holo";
3
+ import type { IProviderTranslator } from "@holokai/holo-types/provider";
4
+ import { ClassLogger } from "@holokai/holo-sdk";
5
+ import type { HoloEmbedParams, HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/holo-types/holo";
6
6
  import type { Content, GenerateContentConfig, GenerateContentResponse } from "@google/genai";
7
7
  interface GeminiRequest {
8
8
  model: string;
@@ -23,6 +23,12 @@ export declare class GeminiTranslator extends ClassLogger implements IProviderTr
23
23
  fromHoloResponse(message: HoloResponse): Promise<Partial<GenerateContentResponse>>;
24
24
  toHoloResponse(message: GenerateContentResponse): Promise<Partial<HoloResponse>>;
25
25
  fromHoloStreamChunks(chunks: HoloStreamChunk[]): Promise<unknown>;
26
+ fromHoloEmbedRequest(request: HoloEmbedParams): Promise<any>;
27
+ toHoloEmbedResponse(response: any): Promise<{
28
+ model: string;
29
+ embeddings: number[][];
30
+ usage?: any;
31
+ }>;
26
32
  }
27
33
  export {};
28
34
  //# sourceMappingURL=gemini.translator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.translator.d.ts","sourceRoot":"","sources":["../src/gemini.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAMH,uBAAuB,EACvB,uBAAuB,EAGvB,wBAAwB,EACxB,sBAAsB,EAIzB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAE3F,UAAU,aAAa;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,qBACa,gBAAiB,SAAQ,WAAY,YAAW,mBAAmB;IAExE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,iBAAiB,EAAE,uBAAuB,EAC1C,iBAAiB,EAAE,uBAAuB,EAC1C,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,sBAAsB;IAK7D,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IAgChC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAItE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAIpE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IAItE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAIpE,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAIlF,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAIhF,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1E"}
1
+ {"version":3,"file":"gemini.translator.d.ts","sourceRoot":"","sources":["../src/gemini.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAMH,uBAAuB,EACvB,uBAAuB,EAGvB,wBAAwB,EACxB,sBAAsB,EAIzB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAC,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACvH,OAAO,KAAK,EAAC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAE3F,UAAU,aAAa;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,qBACa,gBAAiB,SAAQ,WAAY,YAAW,mBAAmB;IAExE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,iBAAiB,EAAE,uBAAuB,EAC1C,iBAAiB,EAAE,uBAAuB,EAC1C,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,sBAAsB;IAK7D,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IAgChC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAItE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAIpE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IAItE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAIpE,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAIlF,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAIhF,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjE,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ5D,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAU5G"}
@@ -11,7 +11,7 @@ var GeminiTranslator_1;
11
11
  import 'reflect-metadata';
12
12
  import { injectable } from "tsyringe";
13
13
  import { GeminiContentDeltaTranslator, GeminiContentTranslator, GeminiMessageDeltaTranslator, GeminiMessageStartTranslator, GeminiMessageStopTranslator, GeminiMessageTranslator, GeminiRequestTranslator, GeminiResponseContentTranslator, GeminiResponseMessageTranslator, GeminiResponseTranslator, GeminiStreamTranslator, GeminiToolChoiceTranslator, GeminiToolTranslator, GeminiUsageTranslator } from "./translators";
14
- import { ClassLogger } from "@holokai/sdk";
14
+ import { ClassLogger } from "@holokai/holo-sdk";
15
15
  let GeminiTranslator = GeminiTranslator_1 = class GeminiTranslator extends ClassLogger {
16
16
  requestTranslator;
17
17
  messageTranslator;
@@ -62,6 +62,23 @@ let GeminiTranslator = GeminiTranslator_1 = class GeminiTranslator extends Class
62
62
  async fromHoloStreamChunks(chunks) {
63
63
  return this.streamTranslator.fromHoloManyArray(chunks);
64
64
  }
65
+ async fromHoloEmbedRequest(request) {
66
+ const text = Array.isArray(request.input) ? request.input.join(' ') : request.input;
67
+ return {
68
+ model: request.model,
69
+ contents: { parts: [{ text }] },
70
+ };
71
+ }
72
+ async toHoloEmbedResponse(response) {
73
+ const model = response?.model ?? '';
74
+ if (response?.embeddings?.[0]?.values) {
75
+ return { model, embeddings: response.embeddings.map((e) => e.values) };
76
+ }
77
+ if (response?.embedding?.values) {
78
+ return { model, embeddings: [response.embedding.values] };
79
+ }
80
+ return { model, embeddings: [] };
81
+ }
65
82
  };
66
83
  GeminiTranslator = GeminiTranslator_1 = __decorate([
67
84
  injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.translator.js","sourceRoot":"","sources":["../src/gemini.translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.translator.js","sourceRoot":"","sources":["../src/gemini.translator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseWireAdapter } from "@holokai/sdk/provider";
1
+ import { BaseWireAdapter } from "@holokai/holo-sdk/provider";
2
2
  export declare class GeminiWireAdapter extends BaseWireAdapter {
3
3
  formatWire(data: any): string;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.wire.adapter.d.ts","sourceRoot":"","sources":["../src/gemini.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAEtD,qBAAa,iBAAkB,SAAQ,eAAe;IAClD,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;CAGhC"}
1
+ {"version":3,"file":"gemini.wire.adapter.d.ts","sourceRoot":"","sources":["../src/gemini.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAE3D,qBAAa,iBAAkB,SAAQ,eAAe;IAClD,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;CAGhC"}
@@ -1,4 +1,4 @@
1
- import { BaseWireAdapter } from "@holokai/sdk/provider";
1
+ import { BaseWireAdapter } from "@holokai/holo-sdk/provider";
2
2
  export class GeminiWireAdapter extends BaseWireAdapter {
3
3
  formatWire(data) {
4
4
  return `data: ${JSON.stringify(data)}\n\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.wire.adapter.js","sourceRoot":"","sources":["../src/gemini.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAClD,UAAU,CAAC,IAAS;QAChB,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/C,CAAC;CACJ"}
1
+ {"version":3,"file":"gemini.wire.adapter.js","sourceRoot":"","sources":["../src/gemini.wire.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAE3D,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAClD,UAAU,CAAC,IAAS;QAChB,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/C,CAAC;CACJ"}
@@ -1,3 +1,3 @@
1
- import { PluginManifest } from "@holokai/types/plugin";
1
+ import { PluginManifest } from "@holokai/holo-types/plugin";
2
2
  export declare const manifest: PluginManifest;
3
3
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAa,MAAM,uBAAuB,CAAC;AAMjE,eAAO,MAAM,QAAQ,EAAE,cAOtB,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAa,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,QAAQ,EAAE,cAOtB,CAAC"}