Skip to content

feat: add Composio connected apps - #150

Merged
jerelvelarde merged 1 commit into
CopilotKit:mainfrom
olearycrew:feat/composio-connected-apps
Oct 14, 2026
Merged

jerelvelarde merged 1 commit into
CopilotKit:mainfrom
olearycrew:feat/composio-connected-apps

Conversation

@olearycrew

Copy link
Copy Markdown
Contributor

Summary

  • add optional Composio sessions and tools for connected apps
  • require both global and per-Dot permission, with optional toolkit restrictions
  • cache sessions by Dot and recreate them when the toolkit policy changes
  • expose setup controls, persist configuration, and stop active work when permission is revoked
  • document configuration, permission defaults, data flow, and a safe verification path
  • fall back when crypto.randomUUID is unavailable on a non-HTTPS development origin

Testing

  • npm run check-format
  • npm run lint
  • npm run typecheck
  • npm test (307 tests)
  • npm run build
  • live Composio Gmail connection flow

@jerelvelarde

jerelvelarde commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Reviewed head 268772f8a395ad92f98ff33698f90713f1aca756. Found two non-blocking follow-ups, now tracked in #152. Proceeding with approval and merge with these accepted limitations; connected apps are opt-in and disabled by default:

  1. [P2] Composio startup can outlive the turn timeout. In src/server/dot-agent.ts:339–347, session creation and tool discovery run before the inner agent exists and receive no abort signal. If either request stalls, the 90-second timeout aborts the controller but cannot finish the turn. A targeted test mocking pending session creation reproduced this: after advancing fake timers by 91 seconds, the stream remained open. Pass cancellation through the SDK requests and ensure abort completes the stream.

  2. [P2] Connected apps cannot be enabled through the supplied Docker Compose setup. src/server/index.ts:44 reads COMPOSIO_API_KEY, but compose.yml never forwards it into the app container. Adding it to .env as documented therefore leaves the feature disabled and its controls hidden. Add COMPOSIO_API_KEY to the app service’s environment.

Validation: Typecheck and all 307 existing tests passed at the reviewed head. The added timeout regression probe failed. Review and probe were run in an isolated temporary copy; no source changes were made to the PR.

@jerelvelarde jerelvelarde left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 268772f. Typecheck and all 307 existing tests passed locally. Approving with the startup timeout/cancellation and Docker Compose configuration limitations accepted as non-blocking follow-ups tracked in #152.

@jerelvelarde
jerelvelarde merged commit 4650232 into CopilotKit:main Oct 14, 2026
superops-team pushed a commit to superops-team/OpenMPA that referenced this pull request Oct 29, 2026
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.

2 participants