@houtini/gemini-mcp 1.4.5 → 2.2.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 (167) hide show
  1. package/README.md +314 -834
  2. package/claude_desktop_config_example.json +1 -0
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/index.js +8 -4
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/config/types.d.ts +5 -0
  7. package/dist/config/types.d.ts.map +1 -1
  8. package/dist/image-viewer/image-viewer-app.html +180 -0
  9. package/dist/image-viewer/src/ui/image-viewer.html +324 -0
  10. package/dist/index-new.d.ts +3 -0
  11. package/dist/index-new.d.ts.map +1 -0
  12. package/dist/index-new.js +7 -0
  13. package/dist/index-new.js.map +1 -0
  14. package/dist/index.d.ts +3 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +70 -172
  17. package/dist/index.js.map +1 -1
  18. package/dist/landing-page-viewer/src/ui/landing-page-viewer.html +330 -0
  19. package/dist/services/gemini/export.d.ts +5 -0
  20. package/dist/services/gemini/export.d.ts.map +1 -0
  21. package/dist/services/gemini/export.js +5 -0
  22. package/dist/services/gemini/export.js.map +1 -0
  23. package/dist/services/gemini/image-service.d.ts +45 -0
  24. package/dist/services/gemini/image-service.d.ts.map +1 -0
  25. package/dist/services/gemini/image-service.js +248 -0
  26. package/dist/services/gemini/image-service.js.map +1 -0
  27. package/dist/services/gemini/index.d.ts +7 -2
  28. package/dist/services/gemini/index.d.ts.map +1 -1
  29. package/dist/services/gemini/index.js +132 -56
  30. package/dist/services/gemini/index.js.map +1 -1
  31. package/dist/services/gemini/types.d.ts +32 -0
  32. package/dist/services/gemini/types.d.ts.map +1 -1
  33. package/dist/services/gemini/video-service.d.ts +58 -0
  34. package/dist/services/gemini/video-service.d.ts.map +1 -0
  35. package/dist/services/gemini/video-service.js +325 -0
  36. package/dist/services/gemini/video-service.js.map +1 -0
  37. package/dist/services/media-server.d.ts +28 -0
  38. package/dist/services/media-server.d.ts.map +1 -0
  39. package/dist/services/media-server.js +195 -0
  40. package/dist/services/media-server.js.map +1 -0
  41. package/dist/svg-viewer/src/ui/svg-viewer.html +325 -0
  42. package/dist/tools/gemini-chat.d.ts.map +1 -1
  43. package/dist/tools/gemini-chat.js +7 -1
  44. package/dist/tools/gemini-chat.js.map +1 -1
  45. package/dist/tools/gemini-deep-research.d.ts +1 -2
  46. package/dist/tools/gemini-deep-research.d.ts.map +1 -1
  47. package/dist/tools/gemini-deep-research.js +11 -51
  48. package/dist/tools/gemini-deep-research.js.map +1 -1
  49. package/dist/tools/gemini-help.d.ts +3 -0
  50. package/dist/tools/gemini-help.d.ts.map +1 -0
  51. package/dist/tools/gemini-help.js +534 -0
  52. package/dist/tools/gemini-help.js.map +1 -0
  53. package/dist/tools/gemini-prompt-assistant.d.ts +20 -0
  54. package/dist/tools/gemini-prompt-assistant.d.ts.map +1 -0
  55. package/dist/tools/gemini-prompt-assistant.js +129 -0
  56. package/dist/tools/gemini-prompt-assistant.js.map +1 -0
  57. package/dist/tools/generate-landing-page.d.ts +15 -0
  58. package/dist/tools/generate-landing-page.d.ts.map +1 -0
  59. package/dist/tools/generate-landing-page.js +66 -0
  60. package/dist/tools/generate-landing-page.js.map +1 -0
  61. package/dist/tools/generate-svg.d.ts +14 -0
  62. package/dist/tools/generate-svg.d.ts.map +1 -0
  63. package/dist/tools/generate-svg.js +106 -0
  64. package/dist/tools/generate-svg.js.map +1 -0
  65. package/dist/tools/generate-video.d.ts +24 -0
  66. package/dist/tools/generate-video.d.ts.map +1 -0
  67. package/dist/tools/generate-video.js +163 -0
  68. package/dist/tools/generate-video.js.map +1 -0
  69. package/dist/tools/image-prompt-assistant.d.ts +3 -0
  70. package/dist/tools/image-prompt-assistant.d.ts.map +1 -0
  71. package/dist/tools/image-prompt-assistant.js +790 -0
  72. package/dist/tools/image-prompt-assistant.js.map +1 -0
  73. package/dist/tools/load-image-from-path.d.ts +11 -0
  74. package/dist/tools/load-image-from-path.d.ts.map +1 -0
  75. package/dist/tools/load-image-from-path.js +100 -0
  76. package/dist/tools/load-image-from-path.js.map +1 -0
  77. package/dist/tools/prompt-library/charts.d.ts +325 -0
  78. package/dist/tools/prompt-library/charts.d.ts.map +1 -0
  79. package/dist/tools/prompt-library/charts.js +384 -0
  80. package/dist/tools/prompt-library/charts.js.map +1 -0
  81. package/dist/tools/prompt-library/index.d.ts +8 -0
  82. package/dist/tools/prompt-library/index.d.ts.map +1 -0
  83. package/dist/tools/prompt-library/index.js +10 -0
  84. package/dist/tools/prompt-library/index.js.map +1 -0
  85. package/dist/tools/register-analyze-image.d.ts +3 -0
  86. package/dist/tools/register-analyze-image.d.ts.map +1 -0
  87. package/dist/tools/register-analyze-image.js +67 -0
  88. package/dist/tools/register-analyze-image.js.map +1 -0
  89. package/dist/tools/register-chat.d.ts +3 -0
  90. package/dist/tools/register-chat.d.ts.map +1 -0
  91. package/dist/tools/register-chat.js +71 -0
  92. package/dist/tools/register-chat.js.map +1 -0
  93. package/dist/tools/register-deep-research.d.ts +3 -0
  94. package/dist/tools/register-deep-research.d.ts.map +1 -0
  95. package/dist/tools/register-deep-research.js +59 -0
  96. package/dist/tools/register-deep-research.js.map +1 -0
  97. package/dist/tools/register-describe-image.d.ts +3 -0
  98. package/dist/tools/register-describe-image.d.ts.map +1 -0
  99. package/dist/tools/register-describe-image.js +59 -0
  100. package/dist/tools/register-describe-image.js.map +1 -0
  101. package/dist/tools/register-image-gen.d.ts +3 -0
  102. package/dist/tools/register-image-gen.d.ts.map +1 -0
  103. package/dist/tools/register-image-gen.js +235 -0
  104. package/dist/tools/register-image-gen.js.map +1 -0
  105. package/dist/tools/register-landing-page.d.ts +3 -0
  106. package/dist/tools/register-landing-page.d.ts.map +1 -0
  107. package/dist/tools/register-landing-page.js +79 -0
  108. package/dist/tools/register-landing-page.js.map +1 -0
  109. package/dist/tools/register-list-models.d.ts +3 -0
  110. package/dist/tools/register-list-models.d.ts.map +1 -0
  111. package/dist/tools/register-list-models.js +33 -0
  112. package/dist/tools/register-list-models.js.map +1 -0
  113. package/dist/tools/register-load-image.d.ts +3 -0
  114. package/dist/tools/register-load-image.d.ts.map +1 -0
  115. package/dist/tools/register-load-image.js +66 -0
  116. package/dist/tools/register-load-image.js.map +1 -0
  117. package/dist/tools/register-svg.d.ts +3 -0
  118. package/dist/tools/register-svg.d.ts.map +1 -0
  119. package/dist/tools/register-svg.js +84 -0
  120. package/dist/tools/register-svg.js.map +1 -0
  121. package/dist/tools/register-video.d.ts +3 -0
  122. package/dist/tools/register-video.d.ts.map +1 -0
  123. package/dist/tools/register-video.js +118 -0
  124. package/dist/tools/register-video.js.map +1 -0
  125. package/dist/tools/register-viewers.d.ts +8 -0
  126. package/dist/tools/register-viewers.d.ts.map +1 -0
  127. package/dist/tools/register-viewers.js +89 -0
  128. package/dist/tools/register-viewers.js.map +1 -0
  129. package/dist/tools/schemas.d.ts +33 -0
  130. package/dist/tools/schemas.d.ts.map +1 -0
  131. package/dist/tools/schemas.js +39 -0
  132. package/dist/tools/schemas.js.map +1 -0
  133. package/dist/tools/types.d.ts +12 -0
  134. package/dist/tools/types.d.ts.map +1 -0
  135. package/dist/tools/types.js +2 -0
  136. package/dist/tools/types.js.map +1 -0
  137. package/dist/ui/image-viewer.d.ts +2 -0
  138. package/dist/ui/image-viewer.d.ts.map +1 -0
  139. package/dist/ui/image-viewer.js +42 -0
  140. package/dist/ui/image-viewer.js.map +1 -0
  141. package/dist/utils/chart-design-system.d.ts +92 -0
  142. package/dist/utils/chart-design-system.d.ts.map +1 -0
  143. package/dist/utils/chart-design-system.js +235 -0
  144. package/dist/utils/chart-design-system.js.map +1 -0
  145. package/dist/utils/image-compress.d.ts +9 -0
  146. package/dist/utils/image-compress.d.ts.map +1 -0
  147. package/dist/utils/image-compress.js +43 -0
  148. package/dist/utils/image-compress.js.map +1 -0
  149. package/dist/utils/image-utils.d.ts +9 -0
  150. package/dist/utils/image-utils.d.ts.map +1 -0
  151. package/dist/utils/image-utils.js +257 -0
  152. package/dist/utils/image-utils.js.map +1 -0
  153. package/dist/utils/resolve-images.d.ts +29 -0
  154. package/dist/utils/resolve-images.d.ts.map +1 -0
  155. package/dist/utils/resolve-images.js +56 -0
  156. package/dist/utils/resolve-images.js.map +1 -0
  157. package/dist/utils/tool-wrapper.d.ts +13 -0
  158. package/dist/utils/tool-wrapper.d.ts.map +1 -0
  159. package/dist/utils/tool-wrapper.js +22 -0
  160. package/dist/utils/tool-wrapper.js.map +1 -0
  161. package/dist/utils/video-utils.d.ts +16 -0
  162. package/dist/utils/video-utils.d.ts.map +1 -0
  163. package/dist/utils/video-utils.js +319 -0
  164. package/dist/utils/video-utils.js.map +1 -0
  165. package/dist/video-viewer/src/ui/video-viewer.html +310 -0
  166. package/package.json +21 -7
  167. package/server.json +30 -29
@@ -1,6 +1,19 @@
1
1
  import { GoogleGenerativeAI, HarmCategory, HarmBlockThreshold } from '@google/generative-ai';
2
2
  import { BaseService } from '../base-service.js';
3
3
  import { GeminiError } from '../../utils/error-handler.js';
4
+ import { GeminiVideoService } from './video-service.js';
5
+ // Gemini 3+ models require temperature 1.0.
6
+ // Google's docs warn lower values cause looping or degraded reasoning.
7
+ // Gemini 3 also supports thinkingConfig.thinkingLevel.
8
+ const GEMINI3_MODEL_PREFIXES = [
9
+ 'gemini-3-pro',
10
+ 'gemini-3-flash',
11
+ 'gemini-3-pro-image',
12
+ 'gemini-3.1-pro',
13
+ ];
14
+ function isGemini3(modelName) {
15
+ return GEMINI3_MODEL_PREFIXES.some(prefix => modelName.startsWith(prefix));
16
+ }
4
17
  export class GeminiService extends BaseService {
5
18
  genAI;
6
19
  config;
@@ -8,7 +21,8 @@ export class GeminiService extends BaseService {
8
21
  defaultModel;
9
22
  modelsInitialized = false;
10
23
  initializationPromise = null;
11
- constructor(config) {
24
+ videoService;
25
+ constructor(config, outputDir) {
12
26
  super();
13
27
  this.config = config;
14
28
  if (!config.apiKey) {
@@ -17,6 +31,7 @@ export class GeminiService extends BaseService {
17
31
  this.genAI = new GoogleGenerativeAI(config.apiKey);
18
32
  this.defaultModel = config.defaultModel;
19
33
  this.availableModels = this.getFallbackModels();
34
+ this.videoService = new GeminiVideoService(config, outputDir);
20
35
  this.logInfo('Gemini service initialized');
21
36
  }
22
37
  async ensureModelsInitialized() {
@@ -81,11 +96,27 @@ export class GeminiService extends BaseService {
81
96
  if (models.length === 0) {
82
97
  return null;
83
98
  }
84
- let geminiModels = models.filter(m => m.name.toLowerCase().includes('gemini'));
99
+ // Configured default wins unconditionally - no experimental filter applied
100
+ if (this.config.defaultModel) {
101
+ const configured = models.find(m => m.name === this.config.defaultModel);
102
+ if (configured) {
103
+ return configured.name;
104
+ }
105
+ // Not in discovered list but configured explicitly - trust the config
106
+ return this.config.defaultModel;
107
+ }
108
+ // Only Gemini 3+ models supported
109
+ let geminiModels = models.filter(m => {
110
+ const name = m.name.toLowerCase();
111
+ if (!name.includes('gemini'))
112
+ return false;
113
+ const version = this.extractVersion(m.name);
114
+ return version >= 3;
115
+ });
85
116
  if (geminiModels.length === 0) {
86
117
  return models[0].name;
87
118
  }
88
- // Filter out experimental/preview models unless explicitly allowed
119
+ // Filter out experimental/preview models for auto-discovery fallback only
89
120
  if (!this.config.allowExperimentalModels) {
90
121
  const stableModels = geminiModels.filter(m => {
91
122
  const name = m.name.toLowerCase();
@@ -94,7 +125,6 @@ export class GeminiService extends BaseService {
94
125
  !name.includes('experimental') &&
95
126
  !name.includes('-thinking-');
96
127
  });
97
- // Use stable models if available, otherwise fall back to all models
98
128
  if (stableModels.length > 0) {
99
129
  geminiModels = stableModels;
100
130
  }
@@ -117,47 +147,38 @@ export class GeminiService extends BaseService {
117
147
  return sorted[0].name;
118
148
  }
119
149
  extractVersion(modelName) {
120
- const match = modelName.match(/(\d+\.?\d*)/);
150
+ // Match major.minor (e.g. 3.1) or major only (e.g. 3)
151
+ const match = modelName.match(/gemini-(\d+\.?\d*)/);
121
152
  return match ? parseFloat(match[1]) : 0;
122
153
  }
123
154
  getFallbackModels() {
124
155
  return [
156
+ // Gemini 3.1 family (newest)
125
157
  {
126
- name: 'gemini-2.5-flash',
127
- displayName: 'Gemini 2.5 Flash',
128
- description: 'Latest Gemini 2.5 Flash - Fast, versatile performance',
158
+ name: 'gemini-3.1-pro-preview',
159
+ displayName: 'Gemini 3.1 Pro Preview',
160
+ description: 'Gemini 3.1 Pro adaptive thinking, 1M context, agentic workflows (Feb 2026)',
129
161
  contextWindow: 1_000_000
130
162
  },
131
163
  {
132
- name: 'gemini-2.0-flash',
133
- displayName: 'Gemini 2.0 Flash',
134
- description: 'Gemini 2.0 Flash - Fast, efficient model',
164
+ name: 'gemini-3.1-pro-preview-customtools',
165
+ displayName: 'Gemini 3.1 Pro Preview (Custom Tools)',
166
+ description: 'Gemini 3.1 Pro optimised for custom tool usage',
135
167
  contextWindow: 1_000_000
136
168
  },
169
+ // Gemini 3 family
137
170
  {
138
- name: 'gemini-1.5-flash',
139
- displayName: 'Gemini 1.5 Flash',
140
- description: 'Gemini 1.5 Flash - Fast, efficient model',
171
+ name: 'gemini-3-pro-preview',
172
+ displayName: 'Gemini 3 Pro Preview',
173
+ description: 'Gemini 3 Pro advanced reasoning, 1M context',
141
174
  contextWindow: 1_000_000
142
175
  },
143
176
  {
144
- name: 'gemini-1.5-pro',
145
- displayName: 'Gemini 1.5 Pro',
146
- description: 'Gemini 1.5 Pro - Advanced reasoning',
147
- contextWindow: 2_000_000
148
- },
149
- {
150
- name: 'gemini-pro',
151
- displayName: 'Gemini Pro',
152
- description: 'Gemini Pro - Balanced performance',
153
- contextWindow: 32_000
177
+ name: 'gemini-3-flash-preview',
178
+ displayName: 'Gemini 3 Flash Preview',
179
+ description: 'Gemini 3 Flash frontier multimodal at Flash speed',
180
+ contextWindow: 1_000_000
154
181
  },
155
- {
156
- name: 'gemini-pro-vision',
157
- displayName: 'Gemini Pro Vision',
158
- description: 'Gemini Pro Vision - Multimodal understanding',
159
- contextWindow: 16_000
160
- }
161
182
  ];
162
183
  }
163
184
  getDefaultModel() {
@@ -222,50 +243,49 @@ export class GeminiService extends BaseService {
222
243
  async chat(request) {
223
244
  try {
224
245
  await this.ensureModelsInitialized();
225
- // Determine if grounding should be used
226
246
  const shouldUseGrounding = request.grounding ?? this.config.defaultGrounding;
227
247
  const modelName = request.model || this.defaultModel;
248
+ const gemini3 = isGemini3(modelName);
228
249
  this.logInfo(`Chat request to ${modelName}`, {
229
250
  messageLength: request.message.length,
230
251
  hasSystemPrompt: !!request.systemPrompt,
231
- grounding: shouldUseGrounding
252
+ grounding: shouldUseGrounding,
253
+ gemini3,
254
+ thinkingLevel: request.thinkingLevel,
232
255
  });
233
- // Configure generation parameters
256
+ // Gemini 3 docs: keep temperature at default 1.0.
257
+ // Values below 1.0 can cause looping or degraded reasoning.
258
+ const temperature = gemini3 ? 1.0 : (request.temperature ?? this.config.temperature);
234
259
  const generationConfig = {
235
- temperature: request.temperature ?? this.config.temperature,
236
- maxOutputTokens: request.maxTokens ?? this.config.maxTokens
260
+ temperature,
261
+ maxOutputTokens: request.maxTokens ?? this.config.maxTokens,
237
262
  };
238
- // Initialize model with safety settings and optional grounding
263
+ if (gemini3 && request.thinkingLevel) {
264
+ generationConfig.thinkingConfig = { thinkingLevel: request.thinkingLevel };
265
+ }
239
266
  const modelConfig = {
240
267
  model: modelName,
241
268
  safetySettings: this.mapSafetySettings(),
242
- generationConfig
269
+ generationConfig,
243
270
  };
244
- // Add grounding tool if enabled
245
271
  if (shouldUseGrounding) {
246
272
  modelConfig.tools = [{ googleSearch: {} }];
247
273
  }
248
274
  const model = this.genAI.getGenerativeModel(modelConfig);
249
- // Prepare prompt
250
275
  const prompt = request.systemPrompt
251
276
  ? `${request.systemPrompt}\n\nUser: ${request.message}\n\nAssistant:`
252
277
  : request.message;
253
- // Generate response
254
278
  const result = await model.generateContent(prompt);
255
279
  const response = result.response;
256
- // Check if response was blocked
257
280
  if (result.response.promptFeedback?.blockReason) {
258
- const blockReason = result.response.promptFeedback.blockReason;
259
- throw new GeminiError(`Response was blocked by safety filters. Reason: ${blockReason}. ` +
281
+ throw new GeminiError(`Response was blocked by safety filters. Reason: ${result.response.promptFeedback.blockReason}. ` +
260
282
  'Try rephrasing your query or using different parameters.');
261
283
  }
262
- // Extract response text
263
284
  let responseText;
264
285
  try {
265
286
  responseText = response.text();
266
287
  }
267
288
  catch {
268
- // Handle cases where content was filtered
269
289
  const candidate = response.candidates?.[0];
270
290
  if (candidate?.finishReason) {
271
291
  const finishReasonMap = {
@@ -273,7 +293,7 @@ export class GeminiService extends BaseService {
273
293
  '2': 'SAFETY - Content was filtered',
274
294
  '3': 'MAX_TOKENS - Hit token limit',
275
295
  '4': 'UNSPECIFIED',
276
- '5': 'OTHER'
296
+ '5': 'OTHER',
277
297
  };
278
298
  const reason = finishReasonMap[candidate.finishReason.toString()] ||
279
299
  `Unknown reason: ${candidate.finishReason}`;
@@ -282,29 +302,23 @@ export class GeminiService extends BaseService {
282
302
  }
283
303
  throw new GeminiError('No text content in response. The model may have filtered the content.');
284
304
  }
285
- // Extract grounding metadata if available
286
305
  const candidate = response.candidates?.[0];
287
306
  const groundingMetadata = candidate?.groundingMetadata;
288
- // Capture usage metadata from response
289
307
  const usageMetadata = response.usageMetadata;
290
- // Debug log the grounding metadata structure
291
308
  if (groundingMetadata) {
292
309
  this.logInfo('Raw grounding metadata structure', {
293
310
  keys: Object.keys(groundingMetadata),
294
311
  webSearchQueries: groundingMetadata.webSearchQueries,
295
- hasSearchQueries: !!groundingMetadata.webSearchQueries,
296
- searchQueriesLength: groundingMetadata.webSearchQueries?.length || 0
312
+ searchQueriesLength: groundingMetadata.webSearchQueries?.length || 0,
297
313
  });
298
314
  }
299
- // Log usage metadata
300
315
  if (usageMetadata) {
301
316
  this.logInfo('Token usage', {
302
317
  promptTokens: usageMetadata.promptTokenCount,
303
318
  candidatesTokens: usageMetadata.candidatesTokenCount,
304
- totalTokens: usageMetadata.totalTokenCount
319
+ totalTokens: usageMetadata.totalTokenCount,
305
320
  });
306
321
  }
307
- // Process inline citations if grounding metadata exists
308
322
  let processedContent = responseText;
309
323
  if (groundingMetadata) {
310
324
  processedContent = this.addInlineCitations(responseText, groundingMetadata);
@@ -315,14 +329,14 @@ export class GeminiService extends BaseService {
315
329
  timestamp: new Date().toISOString(),
316
330
  finishReason: response.candidates?.[0]?.finishReason?.toString(),
317
331
  groundingMetadata,
318
- usageMetadata
332
+ usageMetadata,
319
333
  };
320
334
  this.logInfo('Chat response generated successfully', {
321
335
  model: modelName,
322
336
  responseLength: responseText.length,
323
337
  finishReason: chatResponse.finishReason,
324
338
  hasGroundingMetadata: !!groundingMetadata,
325
- searchQueries: groundingMetadata?.webSearchQueries?.length || 0
339
+ searchQueries: groundingMetadata?.webSearchQueries?.length || 0,
326
340
  });
327
341
  return chatResponse;
328
342
  }
@@ -386,6 +400,62 @@ export class GeminiService extends BaseService {
386
400
  threshold: harmBlockThresholdMap[setting.threshold]
387
401
  }));
388
402
  }
403
+ async analyzeImages(request) {
404
+ try {
405
+ await this.ensureModelsInitialized();
406
+ const modelName = request.model || this.config.defaultImageAnalysisModel;
407
+ const prompt = request.prompt || 'Describe this image in detail.';
408
+ this.logInfo(`analyzeImages request to ${modelName}`, {
409
+ imageCount: request.images.length,
410
+ promptLength: prompt.length,
411
+ globalMediaResolution: request.globalMediaResolution
412
+ });
413
+ const generationConfig = {
414
+ temperature: request.temperature ?? this.config.temperature,
415
+ maxOutputTokens: request.maxTokens ?? 16384,
416
+ ...(request.globalMediaResolution && {
417
+ mediaResolution: request.globalMediaResolution
418
+ })
419
+ };
420
+ const model = this.genAI.getGenerativeModel({
421
+ model: modelName,
422
+ safetySettings: this.mapSafetySettings(),
423
+ generationConfig
424
+ });
425
+ const parts = request.images.map(img => {
426
+ const part = {
427
+ inlineData: {
428
+ data: img.data,
429
+ mimeType: img.mimeType
430
+ }
431
+ };
432
+ // Add per-image media resolution if specified
433
+ if (img.mediaResolution) {
434
+ part.mediaResolution = img.mediaResolution;
435
+ }
436
+ return part;
437
+ });
438
+ parts.push({ text: prompt });
439
+ const result = await model.generateContent({ contents: [{ role: 'user', parts }] });
440
+ const response = result.response;
441
+ if (response.promptFeedback?.blockReason) {
442
+ throw new GeminiError(`Response blocked: ${response.promptFeedback.blockReason}`);
443
+ }
444
+ const text = response.text();
445
+ this.logInfo('analyzeImages completed', {
446
+ model: modelName,
447
+ responseLength: text.length
448
+ });
449
+ return text;
450
+ }
451
+ catch (error) {
452
+ if (error instanceof GeminiError) {
453
+ throw error;
454
+ }
455
+ this.logError('analyzeImages failed', error);
456
+ throw new GeminiError(`Error analyzing images: ${error.message}`);
457
+ }
458
+ }
389
459
  getAvailableModels() {
390
460
  return this.availableModels.map(model => model.name);
391
461
  }
@@ -393,5 +463,11 @@ export class GeminiService extends BaseService {
393
463
  const model = this.availableModels.find(m => m.name === modelName);
394
464
  return model?.contextWindow || 32_000;
395
465
  }
466
+ async generateVideo(options) {
467
+ return this.videoService.generateVideo(options);
468
+ }
469
+ getVideoService() {
470
+ return this.videoService;
471
+ }
396
472
  }
397
473
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/gemini/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/gemini/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { GroundingMetadata } from '@google/generative-ai';
2
+ export type ThinkingLevel = 'LOW' | 'MEDIUM' | 'HIGH' | 'MINIMAL';
2
3
  export interface ChatRequest {
3
4
  message: string;
4
5
  model?: string;
@@ -6,6 +7,20 @@ export interface ChatRequest {
6
7
  maxTokens?: number;
7
8
  systemPrompt?: string;
8
9
  grounding?: boolean;
10
+ thinkingLevel?: ThinkingLevel;
11
+ }
12
+ export interface ImageAnalysisRequest {
13
+ prompt: string;
14
+ images: Array<{
15
+ data: string;
16
+ mimeType: string;
17
+ mediaResolution?: string;
18
+ }>;
19
+ model?: string;
20
+ temperature?: number;
21
+ maxTokens?: number;
22
+ systemPrompt?: string;
23
+ globalMediaResolution?: string;
9
24
  }
10
25
  export interface UsageMetadata {
11
26
  promptTokenCount: number;
@@ -37,4 +52,21 @@ export interface GeminiGenerationConfig {
37
52
  topP?: number;
38
53
  topK?: number;
39
54
  }
55
+ export interface ImageResponsePart {
56
+ type: 'image' | 'text';
57
+ mimeType?: string;
58
+ base64Data?: string;
59
+ text?: string;
60
+ thoughtSignature?: string;
61
+ }
62
+ export interface GeneratedImageResult {
63
+ parts: ImageResponsePart[];
64
+ mimeType: string;
65
+ base64Data: string;
66
+ description?: string;
67
+ groundingSources?: Array<{
68
+ url: string;
69
+ title: string;
70
+ }>;
71
+ }
40
72
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/gemini/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/gemini/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAE3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ"}
@@ -0,0 +1,58 @@
1
+ import { GeminiConfig } from '../../config/types.js';
2
+ import { BaseService } from '../base-service.js';
3
+ export declare const VIDEO_GENERATION_MODELS: readonly ["veo-3.1-generate-preview"];
4
+ export type VideoModel = typeof VIDEO_GENERATION_MODELS[number];
5
+ export type VideoAspectRatio = '16:9' | '9:16';
6
+ export type VideoResolution = '720p' | '1080p' | '4k';
7
+ export type VideoDuration = 4 | 6 | 8;
8
+ export interface VideoInput {
9
+ data: string;
10
+ mimeType: string;
11
+ }
12
+ export interface VideoReferenceImage {
13
+ referenceType: 'asset' | 'style';
14
+ image: VideoInput;
15
+ }
16
+ export interface GenerateVideoOptions {
17
+ prompt: string;
18
+ model?: string;
19
+ aspectRatio?: VideoAspectRatio;
20
+ resolution?: VideoResolution;
21
+ durationSeconds?: VideoDuration;
22
+ generateAudio?: boolean;
23
+ sampleCount?: number;
24
+ seed?: number;
25
+ firstFrameImage?: VideoInput;
26
+ referenceImages?: VideoReferenceImage[];
27
+ outputPath?: string;
28
+ }
29
+ export interface GeneratedVideoResult {
30
+ videoPath: string;
31
+ thumbnailPath?: string;
32
+ mimeType: string;
33
+ duration: number;
34
+ resolution: string;
35
+ aspectRatio: string;
36
+ }
37
+ export declare class GeminiVideoService extends BaseService {
38
+ private apiKey;
39
+ private defaultModel;
40
+ private outputDir;
41
+ private pollingIntervalMs;
42
+ private maxPollingTimeMs;
43
+ constructor(config: GeminiConfig, outputDir?: string);
44
+ /**
45
+ * Fetch with automatic retry on 429 (rate limit) responses.
46
+ * Uses exponential backoff starting at INITIAL_BACKOFF_MS.
47
+ */
48
+ private fetchWithRetry;
49
+ private validateModel;
50
+ private buildVeoRequest;
51
+ private pollOperation;
52
+ private downloadVideoFromUri;
53
+ private saveVideoFile;
54
+ generateVideo(options: GenerateVideoOptions): Promise<GeneratedVideoResult>;
55
+ getDefaultModel(): string;
56
+ getAllowedModels(): readonly string[];
57
+ }
58
+ //# sourceMappingURL=video-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-service.d.ts","sourceRoot":"","sources":["../../../src/services/gemini/video-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,eAAO,MAAM,uBAAuB,uCAE1B,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAGhE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAgFD,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM;IAsBpD;;;OAGG;YACW,cAAc;IAiC5B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;YAqDT,aAAa;YAyDb,oBAAoB;YA0CpB,aAAa;IA8BrB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+HjF,eAAe,IAAI,MAAM;IAIzB,gBAAgB,IAAI,SAAS,MAAM,EAAE;CAGtC"}