feat: autogen CLI + hermes - #1
Merged
Merged
Conversation
Utkarsh Dixit (utkarsh-dixit)
pushed a commit
that referenced
this pull request
Jun 20, 2024
chore: add action IDs
Utkarsh Dixit (utkarsh-dixit)
added a commit
that referenced
this pull request
Jun 20, 2024
feat: add langchain framework
| COMPOSIO_TOKEN = 'ghp_1J2g3h4i5j6k7l8m9n0o33' | ||
| BASE_URL = "https://hermes-production-6901.up.railway.app/api" | ||
|
|
||
| ACCESS_TOKEN = "COMPOSIO-X3125-ZUA-1" |
There was a problem hiding this comment.
Great addition to the codebase!
This was referenced Jan 28, 2026
Aishwarya thakur (aishwarya2005thakur)
pushed a commit
to aishwarya2005thakur/composio
that referenced
this pull request
Jan 29, 2026
feat: add langchain framework
Aishwarya thakur (aishwarya2005thakur)
pushed a commit
to aishwarya2005thakur/composio
that referenced
this pull request
Jan 29, 2026
chore: add action IDs
This was referenced Jan 29, 2026
This was referenced Feb 5, 2026
This was referenced Feb 18, 2026
10 tasks
This was referenced Apr 28, 2026
Shane Holloman (shaneholloman)
pushed a commit
to shaneholloman/composio
that referenced
this pull request
May 1, 2026
…nitization Addresses review on PR ComposioHQ#3302: P2 ComposioHQ#1 — `CustomTool.__call__` now raises `TypeError` if `user_id` appears in `**kwargs` rather than silently dropping it. Silent drop expanded the blast radius (a tenant registered as `user_id="default"` would have absorbed those calls) and swallowed prompt-injection signals. The trusted entry point is `CustomTools.execute(slug, request, user_id=...)`. P2 ComposioHQ#2 — `CustomTools.execute` now sanitizes via an *allowlist* of fields declared on the tool's Pydantic `request_model` (canonical names + aliases), not a denylist of just `"user_id"`. Future identity-bearing keys (`tenant_id`, `org_id`, `connected_account_id`, …) cannot reopen CWE-639 by being smuggled through `request`. P3 — also: - Renamed `CustomTool._invoke` to `invoke_trusted` so the security contract is in the name, not just the docstring. - Tightened `CustomTools.execute` return type from `t.Dict` to `t.Any` (the user's tool function can return anything; `_invoke` already had `t.Any`). - Consolidated repeated SEC-365/CWE-639 docstring blocks into a single module-level note in `custom_tools.py`. - Added a load-bearing security-invariant note to `custom_tool_execution.py` (the parallel session/tool-router path): on that path `user_id` arrives via `SessionContext`, never via `arguments`. Tests: - New: `test_execute_strips_unexpected_fields_via_allowlist` — pins the durable allowlist behaviour against future identity kwargs. - New: `test_execute_keeps_aliases_declared_on_request_model` — ensures Pydantic field aliases are honoured. - New: `test_invoke_trusted_uses_explicit_user_id_over_smuggled_one` — pins the `invoke_trusted` defense-in-depth contract when a `user_id` is smuggled inside `request_kwargs`. - New: `test_tools_execute_e2e_strips_user_id_through_full_stack` — E2E through `Tools.execute → _execute_custom_tool → CustomTools.execute`. - Updated: `test_call_raises_typeerror_when_user_id_smuggled_in_kwargs` (previously codified the silent-drop behaviour). - Refactored shared mock-client/tool wiring into pytest fixtures. 639 → 642 Python tests pass. Lint, format, mypy clean on changed files. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: srujan <srujan@composio.dev>
|
Composio validation test comment |
4 tasks
This was referenced Jul 4, 2026
Closed
This was referenced Jul 16, 2026
This was referenced Jul 28, 2026
This was referenced Aug 5, 2026
Kshitij Jhunjhunwala (KJ-11)
added a commit
that referenced
this pull request
Aug 11, 2026
## Summary - publish the first-party `composio` skill from the SDK repository - route first by product (Composio For You or Composio Platform), then by the requested job - preserve progressive disclosure, credential safety, and a strict evidence boundary - explain exactly what the CLI, raw MCP, OpenAI/Codex plugin, and Claude Code plugin make discoverable ## Starting point This keeps Palash's generic router design and Soumya's canonical-link and cross-language corrections from temporary-repository PRs [#1](composio-temp/composio-skill#1) ([Glen](https://app.tryglen.com/composio-temp/composio-skill/pull/1)) and [#2](composio-temp/composio-skill#2) ([Glen](https://app.tryglen.com/composio-temp/composio-skill/pull/2)). The maintained copy now lives with Composio's SDK, CLI, and docs source instead of the temporary evaluation repository. ## Installation and discovery Project-scoped, with agent selection when needed: ```bash npx skills add ComposioHQ/composio --skill composio ``` Global, non-interactive install for the detected agent: ```bash npx skills add ComposioHQ/composio --skill composio --global --yes ``` This public skill is installed explicitly. A raw MCP connection exposes tools but does not install a skill. The CLI-owned `composio-cli` skill and the OpenAI plugin-owned `composio-runtime` skill remain separate because they own current CLI operation and hosted-versus-local runtime routing, respectively. The Claude Code plugin does not bundle another skill. ## Dashboard handoff Dashboard Getting Started is one context handled by the generic Platform route, not the skill's identity. When the developer already has the Step 1 `COMPOSIO_API_KEY`, the skill uses that existing project key, never creates or replaces it, avoids `composio dev init`, and inspects the real agent path and user identity before proposing code. ## Forward evaluation Four blind requests were run through fresh agents: 1. Personal Cursor access to Gmail and Google Calendar passed the For You/MCP route and avoided Platform credentials. 2. First-time Python setup initially overexposed advanced options; after progressive-disclosure rules, the replay stayed on the minimum SDK/session/auth path. 3. A GitHub 401 with a working project key remained a narrow provider-auth debugging task and did not restart onboarding. 4. A TypeScript dashboard handoff initially invented repository facts; after the evidence boundary, the replay preserved the key and requested the actual framework and entrypoint. These are manual routing and response-quality evaluations, not reusable eval infrastructure. A live provider/OAuth run remains part of the separate dashboard E2E gate. ## Validation - skill-creator validator: passed - canonical repository validator: 18 skills passed before this documentation-only follow-up - routing smoke test: 18/18 probes passed - isolated local `skills add --copy`: passed - current head CI: pending after the discovery clarification - no SDK package, backend, CLI, database, or release-metadata changes
This was referenced Aug 14, 2026
This was referenced Aug 18, 2026
This was referenced Aug 25, 2026
This was referenced Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.