/** * Play Background File Skill - Controls background audio playback during calls. * * Tier 2 built-in skill: no external dependencies required. * Provides tools to play and stop background audio files (e.g., hold music, * ambient sounds) during a call using SWML playback actions. */ import { SkillBase } from '../SkillBase.js'; import type { SkillToolDefinition, SkillPromptSection, SkillConfig, ParameterSchemaEntry } from '../SkillBase.js'; /** * Controls background audio playback during calls via SWML actions. * * Tier 2 built-in skill with no external dependencies. Provides tools to play * and stop background audio files (e.g., hold music, ambient sounds). Supports * two configuration modes: * * - Pre-configured `files` array (matches the Python skill): emits a single * configurable tool whose `action` enum maps to `start_` / `stop` * values that trigger the corresponding file playback. * - Free-form `default_file_url` / `allowed_domains`: emits two tools, * `play_background` (arbitrary URL) and `stop_background`. * * @example * ```ts * agent.addSkill('play_background_file', { * files: [ * { key: 'hold', url: 'https://cdn.example.com/hold-music.mp3', description: 'Hold music' }, * ], * }); * ``` */ export declare class PlayBackgroundFileSkill extends SkillBase { static SKILL_NAME: string; static SKILL_DESCRIPTION: string; static SUPPORTS_MULTIPLE_INSTANCES: boolean; static getParameterSchema(): Record; /** * Produce a compound instance key so multiple copies of the skill with * distinct `tool_name` values can coexist in a single agent. */ getInstanceKey(): string; private _getFiles; /** * @returns Either a single enum-based tool (when pre-configured `files` are * supplied — matches Python), or two free-form tools (`play_background` * and `stop_background`) when only `default_file_url`/`allowed_domains` * are configured. */ getTools(): SkillToolDefinition[]; private _getPreConfiguredTools; private _getFreeFormTools; protected _getPromptSections(): SkillPromptSection[]; } /** * Factory function for creating PlayBackgroundFileSkill instances. * @param config - Optional skill configuration. * @returns A new PlayBackgroundFileSkill instance. */ export declare function createSkill(config?: SkillConfig): PlayBackgroundFileSkill;