Patch Changes
-
ce4b213: fix(providers): normalize string tool-call arguments across all providers
Models occasionally emit tool-call arguments as a JSON string instead of an
object (most visibly withCOMPOSIO_MULTI_EXECUTE_TOOLon the Vercel AI SDK),
which broke downstream validation with errors like
tool_use.input: Input should be a valid dictionary.@composio/corenow exposes a singlenormalizeToolArgumentshelper, and every
provider routes model-supplied arguments through it. Object payloads pass
through unchanged, JSON strings are parsed, empty/nullpayloads become{},
and anything that cannot resolve to an object throws a typed
ComposioInvalidToolArgumentsErrorinstead of a rawSyntaxErroror a silently
forwarded malformed string. This replaces the inconsistent per-provider guards
that previously existed only in vercel, cloudflare and openai-agents.