3 Commits

  • fix(translator): resolve invalid function name errors by sanitizing Claude tool names
    This commit centralizes tool name sanitization in SanitizeFunctionName,
    applying character compliance, starting character rules, and length limits.
    It also fixes a regression in gemini_schema tests and preserves MCP-specific
    shortening logic while ensuring compliance.
    
    Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
  • fix(translator): address PR feedback for tool name sanitization
    - Pre-compile sanitization regex for better performance.
    - Optimize SanitizeFunctionName for conciseness and correctness.
    - Handle 64-char edge cases by truncating before prepending underscore.
    - Fix bug in Antigravity translator (incorrect join index).
    - Refactor Gemini translators to avoid redundant sanitization calls.
    - Add comprehensive unit tests including 64-char edge cases.
    
    Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
  • feat(translator): sanitize tool/function names for upstream provider compatibility
    Implemented SanitizeFunctionName utility to ensure Claude tool names meet
    Gemini/Upstream strict naming conventions (alphanumeric, starts with letter/underscore, max 64 chars).
    Applied sanitization to tool definitions and usage in all relevant translators.
    
    Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>