docs/content/changelog/01-20-26-file-modifier-anyof-support.mdx
@composio/core and provider packages0.5.3+composio and provider packages0.10.8+The file handling modifiers now properly handle file_uploadable and file_downloadable properties nested within anyOf, oneOf, and allOf JSON Schema declarations. Previously, only direct child properties (and partial allOf support) were detected for file upload/download transformations.
File properties inside anyOf, oneOf, or allOf were not detected:
// @noErrors
// This schema's file_uploadable was NOT being processed
inputParameters: {
type: 'object',
properties: {
fileInput: {
anyOf: [
{
type: 'string',
file_uploadable: true // ❌ Not detected
},
{
type: 'null'
}
]
}
}
}
File properties are now correctly detected and processed at any nesting level:
// @noErrors
// Now properly detected and transformed
inputParameters: {
type: 'object',
properties: {
fileInput: {
anyOf: [
{
type: 'string',
file_uploadable: true // ✅ Detected and processed
},
{
type: 'null'
}
]
}
}
}
| Scenario | Before | After |
|---|---|---|
file_uploadable in anyOf | Not detected | ✅ Works |
file_uploadable in oneOf | Not detected | ✅ Works |
file_uploadable in allOf | Not detected | ✅ Works |
file_downloadable in anyOf | Not detected | ✅ Works |
file_downloadable in oneOf | Not detected | ✅ Works |
file_downloadable in allOf | Not detected | ✅ Works |
| Nested objects inside union types | Not detected | ✅ Works |
| Array items with union types | Not detected | ✅ Works |
<Tabs items={['npm', 'pnpm', 'yarn']}> <Tab value="npm">
npm update @composio/core@latest
<Tabs items={['pip', 'uv', 'poetry']}> <Tab value="pip">
pip install --upgrade composio
This release is fully backward compatible:
| Change | Runtime Breaking | TypeScript Breaking | Migration Required |
|---|---|---|---|
anyOf support for file uploads | No | No | No |
oneOf support for file uploads | No | No | No |
allOf support for file uploads | No | No | No |
anyOf support for file downloads | No | No | No |
oneOf support for file downloads | No | No | No |
allOf support for file downloads | No | No | No |