/** * SWML Transfer Skill - Transfer calls between agents using SWML with pattern matching. * * Port of the Python `SWMLTransferSkill`. Supports the Python `transfers` * config (regex-keyed dict of per-destination configs with url/address, * message, return_message, post_process, final, from_addr) as well as the * TypeScript-native `patterns` array of friendly-named destinations. * * Either configuration shape works; when both are provided `transfers` * takes precedence (matching the Python API). */ import { SkillBase } from '../SkillBase.js'; import type { SkillToolDefinition, SkillPromptSection, SkillConfig, ParameterSchemaEntry } from '../SkillBase.js'; /** * Transfer calls between agents based on pattern matching. * * Multi-instance capable (distinguished by `tool_name`). * Accepts either Python-style `transfers` config (regex → per-entry config) * or TypeScript-style `patterns` array of named destinations. * * @example * ```ts * agent.addSkill('swml_transfer', { * patterns: [ * { name: 'sales', pattern: /sales|pricing|buy/i, to: '+15551112222' }, * { name: 'support', pattern: /help|support|broken/i, to: '+15553334444' }, * ], * }); * ``` */ export declare class SwmlTransferSkill extends SkillBase { static SKILL_NAME: string; static SKILL_DESCRIPTION: string; static SKILL_VERSION: string; static REQUIRED_PACKAGES: readonly string[]; static REQUIRED_ENV_VARS: readonly string[]; static SUPPORTS_MULTIPLE_INSTANCES: boolean; static getParameterSchema(): Record; private transfers; private patterns; private toolName; private toolDescription; private parameterName; private parameterDescription; private defaultMessage; private defaultPostProcess; private requiredFields; private allowArbitraryOverride; getInstanceKey(): string; setup(): Promise; getHints(): string[]; /** @returns A `transfer_call` tool, plus `list_transfer_destinations` when patterns are configured. */ getTools(): SkillToolDefinition[]; protected _getPromptSections(): SkillPromptSection[]; /** Build a FunctionResult for a Python-style TransferConfig. */ private _buildTransferResult; /** Build a FunctionResult for a TS-style named TransferPattern. */ private _buildPatternResult; private _buildTransferDescription; } /** * Factory function for creating SwmlTransferSkill instances. * @param config - Optional skill configuration. * @returns A new SwmlTransferSkill instance. */ export declare function createSkill(config?: SkillConfig): SwmlTransferSkill;