Skip to content

feat(composio-direct): add Composio direct integration plugin#106

Merged
xlabtg merged 2 commits intoxlabtg:mainfrom
konard:issue-105-230e04a2e13f
Apr 5, 2026
Merged

feat(composio-direct): add Composio direct integration plugin#106
xlabtg merged 2 commits intoxlabtg:mainfrom
konard:issue-105-230e04a2e13f

Conversation

@konard
Copy link
Copy Markdown

@konard konard commented Apr 5, 2026

Summary

Implements the composio-direct plugin as specified in #105.

  • 4 tools for direct Composio API access without MCP/SSE transport:

    • composio_search_tools — discover tools by query or toolkit name
    • composio_execute_tool — execute a single tool; returns structured auth_required error with connect_url on 401/403
    • composio_multi_execute — parallel batch execution with fail_fast and configurable concurrency
    • composio_auth_link — generate OAuth connect links (dynamic URL from Composio initiate endpoint with fallback)
  • Retry logic — 3 attempts with exponential backoff (1 s, 2 s, 4 s) for network errors and 5xx responses

  • Securitycomposio_api_key and OAuth tokens are never written to logs; action tools scoped to dm-only

  • 30 automated tests (23 unit + 7 integration) covering success paths, auth errors, retries, batching, fail_fast, and validation

How to reproduce the issue and verify the fix

Prerequisite: Set COMPOSIO_API_KEY env var or configure composio_api_key secret in Teleton.

Manual verification checklist:

[ ] Plugin loads without errors
[ ] composio_search_tools query="github" returns a list of tools
[ ] composio_auth_link service="github" returns a valid connect URL
[ ] composio_execute_tool with unknown slug returns a helpful error
[ ] Auth errors (401) return { success: false, error: "auth_required", auth: { connect_url } }
[ ] composio_multi_execute with 2+ tools returns results in original order
[ ] Timeouts and retries: observable via debug logs

Test plan

  • Run unit tests: node --test plugins/composio-direct/test/unit/composio-direct.test.js
  • Run integration tests: node --test plugins/composio-direct/test/integration/composio-api.test.js
  • All 30 tests pass (0 failures)
  • Manual end-to-end test with a real COMPOSIO_API_KEY

🤖 Generated with Claude Code

Fixes #105

konard and others added 2 commits April 5, 2026 19:18
Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: xlabtg#105
Implements the composio-direct plugin as specified in issue xlabtg#105.
Provides direct access to 1000+ Composio automation tools without MCP transport.

4 tools:
- composio_search_tools: search tools by query/toolkit with limit and param schema options
- composio_execute_tool: execute a single tool; returns structured auth error with connect_url on 401/403
- composio_multi_execute: parallel batch execution with fail_fast and configurable concurrency
- composio_auth_link: generate OAuth connect links with dynamic URL from Composio initiate endpoint

Technical:
- 3-retry exponential backoff (1s, 2s, 4s) for network and 5xx errors
- 30s configurable default timeout per request
- API key and OAuth tokens never written to logs
- composio_execute_tool and composio_multi_execute scoped to dm-only
- 30 unit + integration tests covering success, auth errors, retries, batching, and validation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@konard konard changed the title [WIP] 🚀 Профессиональный плагин composio-direct: Прямая интеграция с 1000+ инструментами Composio feat(composio-direct): add Composio direct integration plugin Apr 5, 2026
@konard konard marked this pull request as ready for review April 5, 2026 19:27
@konard
Copy link
Copy Markdown
Author

konard commented Apr 5, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $1.307586
  • Calculated by Anthropic: $1.307586 USD
  • Difference: $0.000000 (+0.00%)

📊 Context and tokens usage:

Claude Sonnet 4.6:

  • Max context window: 65.1K / 1M input tokens (7%)
  • Max output tokens: 25.1K / 64K output tokens (39%)

Total input tokens: 54.8K + 1.8M cached
Total output tokens: 25.1K output
Cost: $1.127724

Claude Haiku 4.5:

  • Context window: 320.6K / 200K tokens (160%)
  • Max output tokens: 16.0K / 64K output tokens (25%)

Total input tokens: 60.1K + 260.4K cached
Total output tokens: 16.0K output
Cost: $0.179862

🤖 Models used:

  • Tool: Anthropic Claude Code
  • Requested: sonnet
  • Main model: Claude Sonnet 4.6 (claude-sonnet-4-6)
  • Additional models:
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)

📎 Log file uploaded as Gist (1034KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@xlabtg xlabtg merged commit 534d24e into xlabtg:main Apr 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🚀 Профессиональный плагин composio-direct: Прямая интеграция с 1000+ инструментами Composio

2 participants