@mastra/voice-google-gemini-live 0.0.0-roamin-openaivoice-speak-options-passing-20250926163614 → 0.0.0-safe-stringify-telemetry-20251205024938
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 +154 -3
- 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 +14 -9
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
|
@@ -1509,7 +1509,8 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
1509
1509
|
let wsUrl;
|
|
1510
1510
|
let headers = {};
|
|
1511
1511
|
if (this.options.vertexAI) {
|
|
1512
|
-
|
|
1512
|
+
const location = this.getVertexLocation();
|
|
1513
|
+
wsUrl = `wss://${location}-aiplatform.googleapis.com/ws/google.cloud.aiplatform.v1beta1.LlmBidiService/BidiGenerateContent`;
|
|
1513
1514
|
await this.authManager.initialize();
|
|
1514
1515
|
const accessToken = await this.authManager.getAccessToken();
|
|
1515
1516
|
headers = { headers: { Authorization: `Bearer ${accessToken}` } };
|
|
@@ -2267,6 +2268,18 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2267
2268
|
role: "assistant"
|
|
2268
2269
|
});
|
|
2269
2270
|
}
|
|
2271
|
+
if (part.functionCall) {
|
|
2272
|
+
this.log("Found function call in serverContent.modelTurn.parts", part.functionCall);
|
|
2273
|
+
const toolCallData = {
|
|
2274
|
+
toolCall: {
|
|
2275
|
+
name: part.functionCall.name,
|
|
2276
|
+
args: part.functionCall.args || {},
|
|
2277
|
+
id: part.functionCall.id || randomUUID()
|
|
2278
|
+
}
|
|
2279
|
+
};
|
|
2280
|
+
void this.handleToolCall(toolCallData);
|
|
2281
|
+
continue;
|
|
2282
|
+
}
|
|
2270
2283
|
if (part.inlineData?.mimeType?.includes("audio") && typeof part.inlineData.data === "string") {
|
|
2271
2284
|
try {
|
|
2272
2285
|
const audioData = part.inlineData.data;
|
|
@@ -2341,9 +2354,24 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2341
2354
|
if (!data.toolCall) {
|
|
2342
2355
|
return;
|
|
2343
2356
|
}
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2357
|
+
let toolCalls = [];
|
|
2358
|
+
if (data.toolCall.functionCalls && Array.isArray(data.toolCall.functionCalls)) {
|
|
2359
|
+
toolCalls = data.toolCall.functionCalls;
|
|
2360
|
+
} else if (data.toolCall.name) {
|
|
2361
|
+
toolCalls = [{ name: data.toolCall.name, args: data.toolCall.args, id: data.toolCall.id }];
|
|
2362
|
+
}
|
|
2363
|
+
for (const toolCall of toolCalls) {
|
|
2364
|
+
const toolName = toolCall.name || "";
|
|
2365
|
+
const toolArgs = toolCall.args || {};
|
|
2366
|
+
const toolId = toolCall.id || randomUUID();
|
|
2367
|
+
await this.processSingleToolCall(toolName, toolArgs, toolId);
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
/**
|
|
2371
|
+
* Process a single tool call
|
|
2372
|
+
* @private
|
|
2373
|
+
*/
|
|
2374
|
+
async processSingleToolCall(toolName, toolArgs, toolId) {
|
|
2347
2375
|
this.log("Processing tool call", { toolName, toolArgs, toolId });
|
|
2348
2376
|
this.emit("toolCall", {
|
|
2349
2377
|
name: toolName,
|
|
@@ -2376,23 +2404,31 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2376
2404
|
result = { error: "Tool has no execute function" };
|
|
2377
2405
|
}
|
|
2378
2406
|
const toolResultMessage = {
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2407
|
+
toolResponse: {
|
|
2408
|
+
functionResponses: [
|
|
2409
|
+
{
|
|
2410
|
+
id: toolId,
|
|
2411
|
+
response: result
|
|
2412
|
+
}
|
|
2413
|
+
]
|
|
2382
2414
|
}
|
|
2383
2415
|
};
|
|
2384
|
-
this.sendEvent("
|
|
2416
|
+
this.sendEvent("toolResponse", toolResultMessage);
|
|
2385
2417
|
this.log("Tool result sent", { toolName, toolId, result });
|
|
2386
2418
|
} catch (error) {
|
|
2387
2419
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
2388
2420
|
this.log("Tool execution failed", { toolName, error: errorMessage });
|
|
2389
2421
|
const errorResultMessage = {
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2422
|
+
toolResponse: {
|
|
2423
|
+
functionResponses: [
|
|
2424
|
+
{
|
|
2425
|
+
id: toolId,
|
|
2426
|
+
response: { error: errorMessage }
|
|
2427
|
+
}
|
|
2428
|
+
]
|
|
2393
2429
|
}
|
|
2394
2430
|
};
|
|
2395
|
-
this.sendEvent("
|
|
2431
|
+
this.sendEvent("toolResponse", errorResultMessage);
|
|
2396
2432
|
this.createAndEmitError("tool_execution_error" /* TOOL_EXECUTION_ERROR */, `Tool execution failed: ${errorMessage}`, {
|
|
2397
2433
|
toolName,
|
|
2398
2434
|
toolArgs,
|
|
@@ -2452,6 +2488,31 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2452
2488
|
}
|
|
2453
2489
|
return "text";
|
|
2454
2490
|
}
|
|
2491
|
+
/**
|
|
2492
|
+
* Resolve Vertex AI location with sensible default
|
|
2493
|
+
* @private
|
|
2494
|
+
*/
|
|
2495
|
+
getVertexLocation() {
|
|
2496
|
+
return this.options.location?.trim() || "us-central1";
|
|
2497
|
+
}
|
|
2498
|
+
/**
|
|
2499
|
+
* Resolve the correct model identifier for Gemini API or Vertex AI
|
|
2500
|
+
* @private
|
|
2501
|
+
*/
|
|
2502
|
+
resolveModelIdentifier() {
|
|
2503
|
+
const model = this.options.model ?? DEFAULT_MODEL;
|
|
2504
|
+
if (!this.options.vertexAI) {
|
|
2505
|
+
return `models/${model}`;
|
|
2506
|
+
}
|
|
2507
|
+
if (!this.options.project) {
|
|
2508
|
+
throw this.createAndEmitError(
|
|
2509
|
+
"project_id_missing" /* PROJECT_ID_MISSING */,
|
|
2510
|
+
"Google Cloud project ID is required when using Vertex AI."
|
|
2511
|
+
);
|
|
2512
|
+
}
|
|
2513
|
+
const location = this.getVertexLocation();
|
|
2514
|
+
return `projects/${this.options.project}/locations/${location}/publishers/google/models/${model}`;
|
|
2515
|
+
}
|
|
2455
2516
|
/**
|
|
2456
2517
|
* Send initial configuration to Gemini Live API
|
|
2457
2518
|
* @private
|
|
@@ -2462,7 +2523,7 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2462
2523
|
}
|
|
2463
2524
|
const setupMessage = {
|
|
2464
2525
|
setup: {
|
|
2465
|
-
model:
|
|
2526
|
+
model: this.resolveModelIdentifier()
|
|
2466
2527
|
}
|
|
2467
2528
|
};
|
|
2468
2529
|
if (this.options.instructions) {
|
|
@@ -2611,6 +2672,8 @@ var GeminiLiveVoice = class _GeminiLiveVoice extends MastraVoice {
|
|
|
2611
2672
|
message = data;
|
|
2612
2673
|
} else if (type === "realtime_input" && data.realtime_input) {
|
|
2613
2674
|
message = data;
|
|
2675
|
+
} else if (type === "toolResponse" && data.toolResponse) {
|
|
2676
|
+
message = data;
|
|
2614
2677
|
} else if (type === "session.update" && data.session) {
|
|
2615
2678
|
message = data;
|
|
2616
2679
|
} else {
|