@mastra/voice-google-gemini-live 0.11.0-beta.0 → 0.11.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/index.cjs +76 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -13
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -320,6 +320,11 @@ export declare class GeminiLiveVoice extends MastraVoice<GeminiLiveVoiceConfig,
|
|
|
320
320
|
* @private
|
|
321
321
|
*/
|
|
322
322
|
private handleToolCall;
|
|
323
|
+
/**
|
|
324
|
+
* Process a single tool call
|
|
325
|
+
* @private
|
|
326
|
+
*/
|
|
327
|
+
private processSingleToolCall;
|
|
323
328
|
/**
|
|
324
329
|
* Handle token usage information
|
|
325
330
|
* @private
|
|
@@ -340,6 +345,16 @@ export declare class GeminiLiveVoice extends MastraVoice<GeminiLiveVoiceConfig,
|
|
|
340
345
|
* @private
|
|
341
346
|
*/
|
|
342
347
|
private determineModality;
|
|
348
|
+
/**
|
|
349
|
+
* Resolve Vertex AI location with sensible default
|
|
350
|
+
* @private
|
|
351
|
+
*/
|
|
352
|
+
private getVertexLocation;
|
|
353
|
+
/**
|
|
354
|
+
* Resolve the correct model identifier for Gemini API or Vertex AI
|
|
355
|
+
* @private
|
|
356
|
+
*/
|
|
357
|
+
private resolveModelIdentifier;
|
|
343
358
|
/**
|
|
344
359
|
* Send initial configuration to Gemini Live API
|
|
345
360
|
* @private
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtE,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAMlB,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAYjB;;GAEG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,eAAgB,SAAQ,WAAW,CAC9C,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,CACnB;IACC,OAAO,CAAC,EAAE,CAAC,CAAS;IACpB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,KAAK,CAAiB;IAG9B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IAGjC,OAAO,CAAC,kBAAkB,CAAqB;IAG/C,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,sBAAsB,CAAC,CAAiB;IAGhD,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAM;IAG7B,OAAO,CAAC,OAAO,CAAwB;IAEvC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAwB9B;;;;OAIG;gBACS,MAAM,GAAE,WAAW,CAAC,qBAAqB,CAAC,GAAG,qBAA0B;IA0DnF;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,EAAE,CAAC,CAAC,SAAS,cAAc,EACzB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,IAAI,GAC7F,IAAI;IAUP;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,cAAc,EAC1B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,IAAI,GAC7F,IAAI;IASP;;;;OAIG;IACH,IAAI,CAAC,CAAC,SAAS,cAAc,EAC3B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,IAAI,GAC7F,IAAI;IAUP;;;OAGG;IACH,OAAO,CAAC,IAAI;IAoCZ;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;OAGG;IACH,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAS9C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACG,OAAO,CAAC,EAAE,cAAc,EAAE,GAAE;QAAE,cAAc,CAAC,EAAE,GAAG,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1508,7 +1508,8 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
1508
1508
|
let wsUrl;
|
|
1509
1509
|
let headers = {};
|
|
1510
1510
|
if (this.options.vertexAI) {
|
|
1511
|
-
|
|
1511
|
+
const location = this.getVertexLocation();
|
|
1512
|
+
wsUrl = `wss://${location}-aiplatform.googleapis.com/ws/google.cloud.aiplatform.v1beta1.LlmBidiService/BidiGenerateContent`;
|
|
1512
1513
|
await this.authManager.initialize();
|
|
1513
1514
|
const accessToken = await this.authManager.getAccessToken();
|
|
1514
1515
|
headers = { headers: { Authorization: `Bearer ${accessToken}` } };
|
|
@@ -2257,6 +2258,18 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2257
2258
|
role: "assistant"
|
|
2258
2259
|
});
|
|
2259
2260
|
}
|
|
2261
|
+
if (part.functionCall) {
|
|
2262
|
+
this.log("Found function call in serverContent.modelTurn.parts", part.functionCall);
|
|
2263
|
+
const toolCallData = {
|
|
2264
|
+
toolCall: {
|
|
2265
|
+
name: part.functionCall.name,
|
|
2266
|
+
args: part.functionCall.args || {},
|
|
2267
|
+
id: part.functionCall.id || randomUUID()
|
|
2268
|
+
}
|
|
2269
|
+
};
|
|
2270
|
+
void this.handleToolCall(toolCallData);
|
|
2271
|
+
continue;
|
|
2272
|
+
}
|
|
2260
2273
|
if (part.inlineData?.mimeType?.includes("audio") && typeof part.inlineData.data === "string") {
|
|
2261
2274
|
try {
|
|
2262
2275
|
const audioData = part.inlineData.data;
|
|
@@ -2331,9 +2344,24 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2331
2344
|
if (!data.toolCall) {
|
|
2332
2345
|
return;
|
|
2333
2346
|
}
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2347
|
+
let toolCalls = [];
|
|
2348
|
+
if (data.toolCall.functionCalls && Array.isArray(data.toolCall.functionCalls)) {
|
|
2349
|
+
toolCalls = data.toolCall.functionCalls;
|
|
2350
|
+
} else if (data.toolCall.name) {
|
|
2351
|
+
toolCalls = [{ name: data.toolCall.name, args: data.toolCall.args, id: data.toolCall.id }];
|
|
2352
|
+
}
|
|
2353
|
+
for (const toolCall of toolCalls) {
|
|
2354
|
+
const toolName = toolCall.name || "";
|
|
2355
|
+
const toolArgs = toolCall.args || {};
|
|
2356
|
+
const toolId = toolCall.id || randomUUID();
|
|
2357
|
+
await this.processSingleToolCall(toolName, toolArgs, toolId);
|
|
2358
|
+
}
|
|
2359
|
+
}
|
|
2360
|
+
/**
|
|
2361
|
+
* Process a single tool call
|
|
2362
|
+
* @private
|
|
2363
|
+
*/
|
|
2364
|
+
async processSingleToolCall(toolName, toolArgs, toolId) {
|
|
2337
2365
|
this.log("Processing tool call", { toolName, toolArgs, toolId });
|
|
2338
2366
|
this.emit("toolCall", {
|
|
2339
2367
|
name: toolName,
|
|
@@ -2360,23 +2388,31 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2360
2388
|
result = { error: "Tool has no execute function" };
|
|
2361
2389
|
}
|
|
2362
2390
|
const toolResultMessage = {
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2391
|
+
toolResponse: {
|
|
2392
|
+
functionResponses: [
|
|
2393
|
+
{
|
|
2394
|
+
id: toolId,
|
|
2395
|
+
response: result
|
|
2396
|
+
}
|
|
2397
|
+
]
|
|
2366
2398
|
}
|
|
2367
2399
|
};
|
|
2368
|
-
this.sendEvent("
|
|
2400
|
+
this.sendEvent("toolResponse", toolResultMessage);
|
|
2369
2401
|
this.log("Tool result sent", { toolName, toolId, result });
|
|
2370
2402
|
} catch (error) {
|
|
2371
2403
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
2372
2404
|
this.log("Tool execution failed", { toolName, error: errorMessage });
|
|
2373
2405
|
const errorResultMessage = {
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2406
|
+
toolResponse: {
|
|
2407
|
+
functionResponses: [
|
|
2408
|
+
{
|
|
2409
|
+
id: toolId,
|
|
2410
|
+
response: { error: errorMessage }
|
|
2411
|
+
}
|
|
2412
|
+
]
|
|
2377
2413
|
}
|
|
2378
2414
|
};
|
|
2379
|
-
this.sendEvent("
|
|
2415
|
+
this.sendEvent("toolResponse", errorResultMessage);
|
|
2380
2416
|
this.createAndEmitError("tool_execution_error" /* TOOL_EXECUTION_ERROR */, `Tool execution failed: ${errorMessage}`, {
|
|
2381
2417
|
toolName,
|
|
2382
2418
|
toolArgs,
|
|
@@ -2436,6 +2472,31 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2436
2472
|
}
|
|
2437
2473
|
return "text";
|
|
2438
2474
|
}
|
|
2475
|
+
/**
|
|
2476
|
+
* Resolve Vertex AI location with sensible default
|
|
2477
|
+
* @private
|
|
2478
|
+
*/
|
|
2479
|
+
getVertexLocation() {
|
|
2480
|
+
return this.options.location?.trim() || "us-central1";
|
|
2481
|
+
}
|
|
2482
|
+
/**
|
|
2483
|
+
* Resolve the correct model identifier for Gemini API or Vertex AI
|
|
2484
|
+
* @private
|
|
2485
|
+
*/
|
|
2486
|
+
resolveModelIdentifier() {
|
|
2487
|
+
const model = this.options.model ?? DEFAULT_MODEL;
|
|
2488
|
+
if (!this.options.vertexAI) {
|
|
2489
|
+
return `models/${model}`;
|
|
2490
|
+
}
|
|
2491
|
+
if (!this.options.project) {
|
|
2492
|
+
throw this.createAndEmitError(
|
|
2493
|
+
"project_id_missing" /* PROJECT_ID_MISSING */,
|
|
2494
|
+
"Google Cloud project ID is required when using Vertex AI."
|
|
2495
|
+
);
|
|
2496
|
+
}
|
|
2497
|
+
const location = this.getVertexLocation();
|
|
2498
|
+
return `projects/${this.options.project}/locations/${location}/publishers/google/models/${model}`;
|
|
2499
|
+
}
|
|
2439
2500
|
/**
|
|
2440
2501
|
* Send initial configuration to Gemini Live API
|
|
2441
2502
|
* @private
|
|
@@ -2446,7 +2507,7 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2446
2507
|
}
|
|
2447
2508
|
const setupMessage = {
|
|
2448
2509
|
setup: {
|
|
2449
|
-
model:
|
|
2510
|
+
model: this.resolveModelIdentifier()
|
|
2450
2511
|
}
|
|
2451
2512
|
};
|
|
2452
2513
|
if (this.options.instructions) {
|
|
@@ -2595,6 +2656,8 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2595
2656
|
message = data;
|
|
2596
2657
|
} else if (type === "realtime_input" && data.realtime_input) {
|
|
2597
2658
|
message = data;
|
|
2659
|
+
} else if (type === "toolResponse" && data.toolResponse) {
|
|
2660
|
+
message = data;
|
|
2598
2661
|
} else if (type === "session.update" && data.session) {
|
|
2599
2662
|
message = data;
|
|
2600
2663
|
} else {
|