@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.
- package/README.md +314 -834
- package/claude_desktop_config_example.json +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +8 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +5 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/image-viewer/image-viewer-app.html +180 -0
- package/dist/image-viewer/src/ui/image-viewer.html +324 -0
- package/dist/index-new.d.ts +3 -0
- package/dist/index-new.d.ts.map +1 -0
- package/dist/index-new.js +7 -0
- package/dist/index-new.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -172
- package/dist/index.js.map +1 -1
- package/dist/landing-page-viewer/src/ui/landing-page-viewer.html +330 -0
- package/dist/services/gemini/export.d.ts +5 -0
- package/dist/services/gemini/export.d.ts.map +1 -0
- package/dist/services/gemini/export.js +5 -0
- package/dist/services/gemini/export.js.map +1 -0
- package/dist/services/gemini/image-service.d.ts +45 -0
- package/dist/services/gemini/image-service.d.ts.map +1 -0
- package/dist/services/gemini/image-service.js +248 -0
- package/dist/services/gemini/image-service.js.map +1 -0
- package/dist/services/gemini/index.d.ts +7 -2
- package/dist/services/gemini/index.d.ts.map +1 -1
- package/dist/services/gemini/index.js +132 -56
- package/dist/services/gemini/index.js.map +1 -1
- package/dist/services/gemini/types.d.ts +32 -0
- package/dist/services/gemini/types.d.ts.map +1 -1
- package/dist/services/gemini/video-service.d.ts +58 -0
- package/dist/services/gemini/video-service.d.ts.map +1 -0
- package/dist/services/gemini/video-service.js +325 -0
- package/dist/services/gemini/video-service.js.map +1 -0
- package/dist/services/media-server.d.ts +28 -0
- package/dist/services/media-server.d.ts.map +1 -0
- package/dist/services/media-server.js +195 -0
- package/dist/services/media-server.js.map +1 -0
- package/dist/svg-viewer/src/ui/svg-viewer.html +325 -0
- package/dist/tools/gemini-chat.d.ts.map +1 -1
- package/dist/tools/gemini-chat.js +7 -1
- package/dist/tools/gemini-chat.js.map +1 -1
- package/dist/tools/gemini-deep-research.d.ts +1 -2
- package/dist/tools/gemini-deep-research.d.ts.map +1 -1
- package/dist/tools/gemini-deep-research.js +11 -51
- package/dist/tools/gemini-deep-research.js.map +1 -1
- package/dist/tools/gemini-help.d.ts +3 -0
- package/dist/tools/gemini-help.d.ts.map +1 -0
- package/dist/tools/gemini-help.js +534 -0
- package/dist/tools/gemini-help.js.map +1 -0
- package/dist/tools/gemini-prompt-assistant.d.ts +20 -0
- package/dist/tools/gemini-prompt-assistant.d.ts.map +1 -0
- package/dist/tools/gemini-prompt-assistant.js +129 -0
- package/dist/tools/gemini-prompt-assistant.js.map +1 -0
- package/dist/tools/generate-landing-page.d.ts +15 -0
- package/dist/tools/generate-landing-page.d.ts.map +1 -0
- package/dist/tools/generate-landing-page.js +66 -0
- package/dist/tools/generate-landing-page.js.map +1 -0
- package/dist/tools/generate-svg.d.ts +14 -0
- package/dist/tools/generate-svg.d.ts.map +1 -0
- package/dist/tools/generate-svg.js +106 -0
- package/dist/tools/generate-svg.js.map +1 -0
- package/dist/tools/generate-video.d.ts +24 -0
- package/dist/tools/generate-video.d.ts.map +1 -0
- package/dist/tools/generate-video.js +163 -0
- package/dist/tools/generate-video.js.map +1 -0
- package/dist/tools/image-prompt-assistant.d.ts +3 -0
- package/dist/tools/image-prompt-assistant.d.ts.map +1 -0
- package/dist/tools/image-prompt-assistant.js +790 -0
- package/dist/tools/image-prompt-assistant.js.map +1 -0
- package/dist/tools/load-image-from-path.d.ts +11 -0
- package/dist/tools/load-image-from-path.d.ts.map +1 -0
- package/dist/tools/load-image-from-path.js +100 -0
- package/dist/tools/load-image-from-path.js.map +1 -0
- package/dist/tools/prompt-library/charts.d.ts +325 -0
- package/dist/tools/prompt-library/charts.d.ts.map +1 -0
- package/dist/tools/prompt-library/charts.js +384 -0
- package/dist/tools/prompt-library/charts.js.map +1 -0
- package/dist/tools/prompt-library/index.d.ts +8 -0
- package/dist/tools/prompt-library/index.d.ts.map +1 -0
- package/dist/tools/prompt-library/index.js +10 -0
- package/dist/tools/prompt-library/index.js.map +1 -0
- package/dist/tools/register-analyze-image.d.ts +3 -0
- package/dist/tools/register-analyze-image.d.ts.map +1 -0
- package/dist/tools/register-analyze-image.js +67 -0
- package/dist/tools/register-analyze-image.js.map +1 -0
- package/dist/tools/register-chat.d.ts +3 -0
- package/dist/tools/register-chat.d.ts.map +1 -0
- package/dist/tools/register-chat.js +71 -0
- package/dist/tools/register-chat.js.map +1 -0
- package/dist/tools/register-deep-research.d.ts +3 -0
- package/dist/tools/register-deep-research.d.ts.map +1 -0
- package/dist/tools/register-deep-research.js +59 -0
- package/dist/tools/register-deep-research.js.map +1 -0
- package/dist/tools/register-describe-image.d.ts +3 -0
- package/dist/tools/register-describe-image.d.ts.map +1 -0
- package/dist/tools/register-describe-image.js +59 -0
- package/dist/tools/register-describe-image.js.map +1 -0
- package/dist/tools/register-image-gen.d.ts +3 -0
- package/dist/tools/register-image-gen.d.ts.map +1 -0
- package/dist/tools/register-image-gen.js +235 -0
- package/dist/tools/register-image-gen.js.map +1 -0
- package/dist/tools/register-landing-page.d.ts +3 -0
- package/dist/tools/register-landing-page.d.ts.map +1 -0
- package/dist/tools/register-landing-page.js +79 -0
- package/dist/tools/register-landing-page.js.map +1 -0
- package/dist/tools/register-list-models.d.ts +3 -0
- package/dist/tools/register-list-models.d.ts.map +1 -0
- package/dist/tools/register-list-models.js +33 -0
- package/dist/tools/register-list-models.js.map +1 -0
- package/dist/tools/register-load-image.d.ts +3 -0
- package/dist/tools/register-load-image.d.ts.map +1 -0
- package/dist/tools/register-load-image.js +66 -0
- package/dist/tools/register-load-image.js.map +1 -0
- package/dist/tools/register-svg.d.ts +3 -0
- package/dist/tools/register-svg.d.ts.map +1 -0
- package/dist/tools/register-svg.js +84 -0
- package/dist/tools/register-svg.js.map +1 -0
- package/dist/tools/register-video.d.ts +3 -0
- package/dist/tools/register-video.d.ts.map +1 -0
- package/dist/tools/register-video.js +118 -0
- package/dist/tools/register-video.js.map +1 -0
- package/dist/tools/register-viewers.d.ts +8 -0
- package/dist/tools/register-viewers.d.ts.map +1 -0
- package/dist/tools/register-viewers.js +89 -0
- package/dist/tools/register-viewers.js.map +1 -0
- package/dist/tools/schemas.d.ts +33 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +39 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/types.d.ts +12 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/ui/image-viewer.d.ts +2 -0
- package/dist/ui/image-viewer.d.ts.map +1 -0
- package/dist/ui/image-viewer.js +42 -0
- package/dist/ui/image-viewer.js.map +1 -0
- package/dist/utils/chart-design-system.d.ts +92 -0
- package/dist/utils/chart-design-system.d.ts.map +1 -0
- package/dist/utils/chart-design-system.js +235 -0
- package/dist/utils/chart-design-system.js.map +1 -0
- package/dist/utils/image-compress.d.ts +9 -0
- package/dist/utils/image-compress.d.ts.map +1 -0
- package/dist/utils/image-compress.js +43 -0
- package/dist/utils/image-compress.js.map +1 -0
- package/dist/utils/image-utils.d.ts +9 -0
- package/dist/utils/image-utils.d.ts.map +1 -0
- package/dist/utils/image-utils.js +257 -0
- package/dist/utils/image-utils.js.map +1 -0
- package/dist/utils/resolve-images.d.ts +29 -0
- package/dist/utils/resolve-images.d.ts.map +1 -0
- package/dist/utils/resolve-images.js +56 -0
- package/dist/utils/resolve-images.js.map +1 -0
- package/dist/utils/tool-wrapper.d.ts +13 -0
- package/dist/utils/tool-wrapper.d.ts.map +1 -0
- package/dist/utils/tool-wrapper.js +22 -0
- package/dist/utils/tool-wrapper.js.map +1 -0
- package/dist/utils/video-utils.d.ts +16 -0
- package/dist/utils/video-utils.d.ts.map +1 -0
- package/dist/utils/video-utils.js +319 -0
- package/dist/utils/video-utils.js.map +1 -0
- package/dist/video-viewer/src/ui/video-viewer.html +310 -0
- package/package.json +21 -7
- 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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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-
|
|
127
|
-
displayName: 'Gemini
|
|
128
|
-
description: '
|
|
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-
|
|
133
|
-
displayName: 'Gemini
|
|
134
|
-
description: 'Gemini
|
|
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-
|
|
139
|
-
displayName: 'Gemini
|
|
140
|
-
description: 'Gemini
|
|
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-
|
|
145
|
-
displayName: 'Gemini
|
|
146
|
-
description: 'Gemini
|
|
147
|
-
contextWindow:
|
|
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
|
-
//
|
|
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
|
|
236
|
-
maxOutputTokens: request.maxTokens ?? this.config.maxTokens
|
|
260
|
+
temperature,
|
|
261
|
+
maxOutputTokens: request.maxTokens ?? this.config.maxTokens,
|
|
237
262
|
};
|
|
238
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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"}
|