// Runtime dependency contracts for music generation provider execution. import type { AuthProfileStore } from "../agents/auth-profiles/types.js"; import type { FallbackAttempt } from "../agents/model-fallback.types.js"; import type { OpenClawConfig } from "../config/types.openclaw.js"; import type { GeneratedMusicAsset, MusicGenerationIgnoredOverride, MusicGenerationNormalization, MusicGenerationOutputFormat, MusicGenerationSourceImage, } from "./types.js"; /** * Runtime input/output contracts for music generation. * * These are separate from provider contracts because runtime results include * fallback attempts, normalized metadata, and selected provider/model identity. */ /** Parameters accepted by the core music generation runtime. */ export type GenerateMusicParams = { cfg: OpenClawConfig; prompt: string; agentDir?: string; authStore?: AuthProfileStore; modelOverride?: string; lyrics?: string; instrumental?: boolean; durationSeconds?: number; format?: MusicGenerationOutputFormat; inputImages?: MusicGenerationSourceImage[]; autoProviderFallback?: boolean; /** Optional per-request provider timeout in milliseconds. */ timeoutMs?: number; }; /** Result returned after a successful runtime provider attempt. */ export type GenerateMusicRuntimeResult = { tracks: GeneratedMusicAsset[]; provider: string; model: string; attempts: FallbackAttempt[]; lyrics?: string[]; normalization?: MusicGenerationNormalization; metadata?: Record; ignoredOverrides: MusicGenerationIgnoredOverride[]; };