





















@@ -421,7 +421,10 @@ describe("createMusicGenerateTool", () => {
421421config: asConfig({
422422agents: {
423423defaults: {
424-musicGenerationModel: { primary: "google/lyria-3-clip-preview" },
424+musicGenerationModel: {
425+primary: "google/lyria-3-clip-preview",
426+timeoutMs: 1000,
427+},
425428},
426429},
427430}),
@@ -432,25 +435,24 @@ describe("createMusicGenerateTool", () => {
432435433436const result = await tool.execute("call-1", {
434437prompt: "night-drive synthwave",
435-timeoutMs: 1000,
436438});
437439const text = (result.content?.[0] as { text: string } | undefined)?.text ?? "";
438440439441expect(generateSpy).toHaveBeenCalledTimes(1);
440442expect(generateMusicOptions().autoProviderFallback).toBe(false);
441-expect(generateMusicOptions().timeoutMs).toBe(10_000);
442-expect(text).toContain("Timeout normalized: requested 1000ms; used 10000ms.");
443+expect(generateMusicOptions().timeoutMs).toBe(120_000);
444+expect(text).toContain("Timeout normalized: requested 1000ms; used 120000ms.");
443445const details = detailsOf(result);
444-expect(details.timeoutMs).toBe(10_000);
446+expect(details.timeoutMs).toBe(120_000);
445447expect(details.requestedTimeoutMs).toBe(1000);
446448expect(details.timeoutNormalization).toEqual({
447449requested: 1000,
448-applied: 10_000,
449-minimum: 10_000,
450+applied: 120_000,
451+minimum: 120_000,
450452});
451453});
452454453-it("uses configured timeoutMs for music generation and lets calls override it", async () => {
455+it("uses configured timeoutMs for music generation and ignores call-provided timeoutMs", async () => {
454456vi.spyOn(musicGenerationRuntime, "generateMusic").mockResolvedValue({
455457provider: "google",
456458model: "lyria-3-clip-preview",
@@ -492,13 +494,13 @@ describe("createMusicGenerateTool", () => {
492494});
493495const overrideResult = await tool.execute("call-timeout-override", {
494496prompt: "night-drive synthwave",
495-timeoutMs: 12_345,
497+timeoutMs: 240_000,
496498});
497499498500expect(generateMusicOptions(0).timeoutMs).toBe(180_000);
499-expect(generateMusicOptions(1).timeoutMs).toBe(12_345);
501+expect(generateMusicOptions(1).timeoutMs).toBe(180_000);
500502expect(detailsOf(defaultResult).timeoutMs).toBe(180_000);
501-expect(detailsOf(overrideResult).timeoutMs).toBe(12_345);
503+expect(detailsOf(overrideResult).timeoutMs).toBe(180_000);
502504});
503505504506it("starts background generation and wakes the session with MEDIA lines", async () => {
@@ -543,7 +545,10 @@ describe("createMusicGenerateTool", () => {
543545config: asConfig({
544546agents: {
545547defaults: {
546-musicGenerationModel: { primary: "google/lyria-3-clip-preview" },
548+musicGenerationModel: {
549+primary: "google/lyria-3-clip-preview",
550+timeoutMs: 1000,
551+},
547552},
548553},
549554}),
@@ -563,31 +568,30 @@ describe("createMusicGenerateTool", () => {
563568const result = await tool.execute("call-1", {
564569prompt: "night-drive synthwave",
565570instrumental: true,
566-timeoutMs: 1000,
567571});
568572const text = (result.content?.[0] as { text: string } | undefined)?.text ?? "";
569573570574expect(text).toContain("Background task started for music generation (task-123).");
571575expect(text).toContain("Do not call music_generate again for this request.");
572-expect(text).toContain("Timeout normalized: requested 1000ms; used 10000ms.");
576+expect(text).toContain("Timeout normalized: requested 1000ms; used 120000ms.");
573577const details = detailsOf(result);
574578expect(details.async).toBe(true);
575579expect(details.status).toBe("started");
576580expect((details.task as { taskId?: unknown }).taskId).toBe("task-123");
577581expect(details.instrumental).toBe(true);
578-expect(details.timeoutMs).toBe(10_000);
582+expect(details.timeoutMs).toBe(120_000);
579583expect(details.requestedTimeoutMs).toBe(1000);
580584expect(details.timeoutNormalization).toEqual({
581585requested: 1000,
582-applied: 10_000,
583-minimum: 10_000,
586+applied: 120_000,
587+minimum: 120_000,
584588});
585589if (!scheduledWork) {
586590throw new Error("expected scheduled music generation work");
587591}
588592await scheduledWork();
589593expect(generateMusicOptions().autoProviderFallback).toBe(false);
590-expect(generateMusicOptions().timeoutMs).toBe(10_000);
594+expect(generateMusicOptions().timeoutMs).toBe(120_000);
591595const progress = taskProgressCall();
592596expect(String(progress.runId)).toMatch(/^tool:music_generate:/);
593597expect(progress.progressSummary).toBe("Generating music");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。