Composio SDK.
Поддерживаемый клиент, совместимые версии и ограничения.
Для интеграции через SDK используйте Composio с base URL https://context4.me/compat/context4/v1 и API-ключом Context4. Отдельный Context4 SDK не требуется. SDK добавляет свой путь /api/v3.1/...; не добавляйте его к base URL второй раз.
Поддерживаемые группы версий
| Группа | Версии |
|---|---|
| Legacy | @composio/core@0.13.1, @composio/client@0.1.0-alpha.74 |
| Tool Router | @composio/core@0.14.0 |
| Sessions/Mastra | @composio/client@0.1.0-alpha.76, @composio/core@0.17.0, @composio/mastra@0.10.3, strict MastraProvider |
Совместимость конкретной группы не означает полную совместимость с любым будущим SDK. Реестр всех compat HTTP-маршрутов показывает методы, пути, полномочия и статусы. Нативные запросы /v1 описаны отдельным OpenAPI; не переносите между ними имена полей автоматически.
Discovery и выполнение
Каталог инструментов, toolkit/auth configs, жизненный цикл connected account, Tool Router sessions, session tools и direct execute используют контракты SDK. user_id — непрозрачный идентификатор конечного пользователя; не помещайте туда email или персональные данные. Explicit account должен быть доступен данному principal и tenant. Auth-config UUID фильтруется точно, несколько ID образуют union, пересечённый с toolkit-фильтром.
Обычное direct execute принимает SDK arguments, выбранный connected_account_id и при необходимости user_id. Tool slug получайте из discovery. Не подменяйте имена угаданным действием, если точный slug не найден. Сначала получите входную схему; сама доступность account не гарантирует право на действие.
Создание session без Idempotency-Key создаёт новую сессию при каждом запросе. Явный ключ повторяет исходную, сохраняя TTL и policy. Explicit idempotency key у direct execute сохраняет helper session на 24-часовое окно replay; тот же account и arguments возвращают исходный log_id. Изменённые аргументы конфликтуют. Без явного ключа выполнение независимо, lifetime helper — 15 минут.
Session search и execute ограничены session snapshot, флагами и read-only policy. Динамический MCP URL возвращается сессией; копируйте его из результата. Справочник MCP объясняет aliases и polling.
Конверт и отрицательное подтверждение
Проверяйте SDK-поля successful, error, data и log_id; HTTP 200 не является достаточным признаком успеха действия. Состояние и payload нативного Execution имеют другую форму.
Иногда terminal failure содержит data.failure_effect: not_applied и data.execution_id: это сохранённое подтверждение отсутствия применения. Сейчас оно ограничено single-attempt UPDATE lead amoCRM с явным отказом 400. Отсутствие поля ничего не доказывает: таймауты, неизвестный ответ и составные операции могут иметь внешний эффект. Не выводите «можно безопасно повторить» только из кода ошибки.
Proxy, файлы и ограничения
Raw proxy использует endpoint, method, parameters, необязательный body и выбранный connected account. У session proxy также действуют session gates. Файловый API предоставляет upload request/list и session mount URLs; содержимое загружается на возвращённый presigned URL, а не как произвольное большое тело public API. Доступность mounts зависит от конфигурации развёртывания.
Compat trigger discovery — намеренная заглушка: список пуст, retrieve даёт not-found, create/delete — 501 trigger_compat_not_implemented. Нативные provider-event subscriptions и syncs не превращают её в Composio trigger parity. Workbench/bash могут перечисляться при включённом флаге, но отвечают not_supported. Custom tools и подключение внешнего MCP-toolkit не следует считать завершёнными только из-за наличия конфигурационного ресурса.
Внешние endpoint-автоматизации first-party workflow engine используют отдельный платформенный контракт. Для клиентского приложения публичный вход в raw endpoint catalog — native discovery и mirror.