- fd59eba: Update SDK and provider dependencies to compatible releases. Accept Anthropic SDK 0.132 and OpenAI Agents 0.20 in provider peer ranges, and add Pi coding-agent 1.x to the experimental provider's supported peer range.
- 7055914: Move published dependency ranges to their current upstream releases: zod 4.5, openai 7.10, typebox 1.3.27, @mastra/schema-compat 1.3.8, and @cloudflare/workers-types 5.20260905.
@composio/anthropicalso accepts@anthropic-ai/sdk0.124 as a peer, the line it is now tested against. - 20aaa95: Accept the upcoming core prerelease and the upstream versions already used to build and test providers.
-
9447932: Dereference internal $ref/$defs in tool input schemas before provider translation, so properties reachable only through a reference keep their types and validation instead of degrading to untyped (z.any) or being emitted as a dangling reference.
This changes the JSON Schema these providers emit for $ref-using tools. Downstream snapshot tests on tool definitions will see diffs. Schemas the Composio API ships with a $ref but no $defs block (e.g. GMAIL_FETCH_EMAILS) degrade to a permissive object schema rather than throwing. The strict-structured-outputs path of @composio/openai-agents is unchanged — OpenAI supports $defs/$ref natively, including recursion.
- db7b576: Declare Node.js 22.22.3 as the minimum supported runtime for every published TypeScript package so package managers surface incompatible runtimes before users encounter ESM loading failures.
-
ac6bbab: Register each tool with its complete schema, so root rules reach the Claude Agent SDK.
The provider used to register a raw property shape. A raw shape is only the map of named properties, so it cannot carry any root rule.
additionalPropertiesandpatternPropertieswere dropped before the SDK saw them.Two things went wrong because of that. Free-form object arguments lost their content. An argument the tool never declared was quietly removed, and the tool ran anyway.
Both are fixed. The provider now registers the whole object schema.
What no longer works
An undeclared argument no longer passes silently.
// The tool declares `to` and nothing else. The model also sends `hallucinated`. { to: 'someone@example.com', hallucinated: 'value' } // before: `hallucinated` was stripped, and the tool ran with { to: '...' } // now: the caller receives an error result, and the tool does not run
Tools with no input parameters behave the same way. They stay closed and reject every argument.
What to do instead
If the model should be allowed to send extra keys, say so in the tool schema:
{ "type": "object", "properties": { "to": { "type": "string" } }, "additionalProperties": true }If an argument is one the tool really accepts, declare it in
properties. Rejection is usually the better outcome, because the agent sees the error and can correct itself instead of running with a silently dropped argument.This brings the provider in line with
@composio/vercel,@composio/langchain, and@composio/llamaindex, which already registered complete schemas.
- 58bc93b: Refresh dependency ranges and lockfiles across the workspace.
- fa933a6: Fix the
homepagelinks in these packages'package.json. They pointed atgithub.com/ComposioHQ/composio/tree/main/..., but the default branch isnextand nomainbranch exists, so every link 404'd on npm and in editor tooltips. They now point attree/next/....
- 025a657: Drop CommonJS entrypoints and publish the TypeScript SDK packages as ESM-only packages. This is a breaking change within the existing 0.x release line: consumers must use Node.js 22.22.3 or newer. CommonJS callers can only rely on Node's native
require(esm)interop, and the SDK no longer ships custom CommonJS compatibility machinery or.cjsartifacts.
- cbbad15: Improve Zod compatibility at the SDK schema boundary. Custom tools now convert both
zod/v3and Zod v4 schemas to JSON Schema correctly instead of degrading Zod v4 object schemas to empty schemas.@composio/corenow exposesjsonSchemaToZodShapevia@composio/core/utils/json-schema, and the Claude Agent SDK provider uses that core subpath instead of converting to a full Zod object and casting.shapeout of it.
-
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 with
COMPOSIO_MULTI_EXECUTE_TOOLon the Vercel AI SDK), which broke downstream validation with errors liketool_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 typedComposioInvalidToolArgumentsErrorinstead 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.
- Updated dependencies [42ebff3]
- @composio/core@0.10.0
- Updated dependencies [84a3a07]
- Updated dependencies [c358ffa]
- @composio/core@0.9.1
- Bumped to align with
@composio/core@0.9.0for the Tool Router release train. No public-API change in this provider package.
- Updated dependencies [c9b6525]
- Updated dependencies [cc673b6]
- Updated dependencies [9f14971]
- Updated dependencies [81f8027]
- Updated dependencies [711a703]
- Updated dependencies [bccd32b]
- Updated dependencies [bccd32b]
- Updated dependencies [07c9bab]
- Updated dependencies [3ece424]
- @composio/core@0.9.0
- Updated dependencies [6b986cd]
- Updated dependencies [1c3276b]
- @composio/core@0.8.1
- Bumped to align with
@composio/core@0.8.0for the file-upload allowlist release train. No public-API change in this package.
- Updated dependencies [ebc9778]
- @composio/core@0.8.0
- Updated dependencies [27ed0c9]
- @composio/core@0.6.11
- Updated dependencies [670ecc9]
- @composio/core@0.6.10
- Updated dependencies [5b5723a]
- @composio/core@0.6.9
- Updated dependencies [2b19ae9]
- @composio/core@0.6.8
- Updated dependencies [8dc5568]
- @composio/core@0.6.7
- Updated dependencies [e1f6516]
- @composio/core@0.6.6
- Updated dependencies [476d451]
- Updated dependencies
- @composio/core@0.6.5
- Updated dependencies
- @composio/core@0.6.5-alpha.0
- Updated dependencies [e3f1f6c]
- @composio/core@0.6.4
- Updated dependencies [087385d]
- @composio/core@0.6.3
- @composio/core@0.6.2
- Updated dependencies [e746383]
- @composio/core@0.6.1
- Breaking: Fixes for cloudflare support, webhook verification and other fixes
- Updated dependencies
- @composio/core@0.6.0
- Updated dependencies [b132aad]
- @composio/core@0.5.5
- Updated dependencies [b3f5875]
- @composio/core@0.5.4
- Updated dependencies [498505d]
- @composio/core@0.5.3
- Updated dependencies [277f02b]
- @composio/core@0.5.2
- Updated dependencies [3055048]
- @composio/core@0.5.1
- d80f3e2: Bump core dependency to 0.5.0
- c7e1217: Add support for dedicated tools for tool router
- Updated dependencies [c7e1217]
- @composio/core@0.4.0
- Updated dependencies [019f54f]
- @composio/core@0.3.4
- eeb296b: Fix claude agent sdk type conversions
- Updated dependencies [a76b002]
- @composio/core@0.3.3
- Updated dependencies [69cfede]
- @composio/core@0.3.2