execute method

  1. @override
Future<ToolResult> execute(
  1. Map<String, dynamic> input
)
override

Execute the tool with the given input.

Implementation

@override
Future<ToolResult> execute(Map<String, dynamic> input) async {
  final parsed = SkillInput.fromJson(input);
  if (resolver != null) {
    return resolver!(parsed.skillName, parsed.args);
  }
  // Default stub when no resolver is wired up.
  return ToolResult.success(
    'Skill "${parsed.skillName}" dispatched'
    '${parsed.args != null ? " with args: ${parsed.args}" : ""}',
    metadata: {'skill_name': parsed.skillName, 'skill_loaded': true},
  );
}