Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

feat(mcp): discovery-based OAuth, credential vault, and recorder onboarding without a terminal

merged#2623CedarCopilot

CedarCopilot wants to merge 12 commits into staging from feat/mcp-oauth-foundation

113 files changed

Libra does not show diffs here. View the full diff on GitHub.

  • modifiedapps/mail/app/(full-width)/onboarding/page.tsx+4-6
  • modifiedapps/mail/app/(routes)/playground/components/IntegrationsTabContent.tsx+2-6
  • modifiedapps/mail/app/(routes)/settings/connections/page.tsx+11-12
  • modifiedapps/mail/docs/agent-workspace.md+3-3
  • modifiedapps/mail/jest.config.cjs+3-0
  • addedapps/mail/modules/integrations/__tests__/meeting-integration-card-oauth.test.tsx+159-0
  • removedapps/mail/modules/integrations/mcp-integration-card.tsx+0-349
  • modifiedapps/mail/modules/integrations/meeting-integration-card.tsx+101-24
  • removedapps/mail/modules/integrations/oauth-mcp-integration-card.tsx+0-284
  • addedapps/mail/modules/integrations/systems/__tests__/add-mcp-step.test.tsx+187-0
  • addedapps/mail/modules/integrations/systems/add-mcp-step.tsx+684-0
  • addedapps/mail/modules/integrations/systems/add-system-dialog.tsx+229-0
  • addedapps/mail/modules/integrations/systems/credential-form.tsx+345-0
  • addedapps/mail/modules/integrations/systems/scope-select.tsx+68-0
  • addedapps/mail/modules/integrations/systems/system-row.tsx+209-0
  • addedapps/mail/modules/integrations/systems/systems-and-credentials-section.tsx+346-0
  • addedapps/mail/modules/integrations/systems/types.ts+212-0
  • modifiedapps/server/.claude/skills/external-systems/SKILL.md+88-29
  • modifiedapps/server/docs/customer-feedback-loop.md+1-1
  • modifiedapps/server/docs/design/mcp-tool-allowlist.md+5-4
  • modifiedapps/server/scripts/circleback-mcp-probe.ts+4-2
  • modifiedapps/server/src/env.ts+17-14
  • modifiedapps/server/src/http/app.ts+87-41
  • modifiedapps/server/src/mastra/agents/automation-agent.ts+1-1
  • modifiedapps/server/src/mastra/agents/chat-agent.ts+1-1
  • addedapps/server/src/mastra/skills/__tests__/external-systems.test.ts+151-0
  • modifiedapps/server/src/mastra/skills/account-config/tools/readConnectionSettingsTool.ts+10-3
  • modifiedapps/server/src/mastra/skills/integrations/external-systems.ts+93-20
  • addedapps/server/src/mastra/skills/kb/__tests__/kb-mcp-connections.test.ts+92-0
  • modifiedapps/server/src/mastra/skills/kb/kb-management.ts+25-13
  • modifiedapps/server/src/mastra/tools/config/__tests__/configTool.test.ts+189-0
  • modifiedapps/server/src/mastra/tools/config/config-read-tool.ts+80-16
  • addedapps/server/src/mastra/tools/integrations/__tests__/callMcpTool.background-gate.test.ts+252-0
  • addedapps/server/src/mastra/tools/integrations/__tests__/provider-credentials-vault.test.ts+179-0
  • modifiedapps/server/src/mastra/tools/integrations/callMcpTool.ts+48-11
  • modifiedapps/server/src/mastra/tools/integrations/getProviderCredentialsTool.ts+61-20
  • modifiedapps/server/src/mastra/tools/subagent-tool-allowlists.ts+38-0
  • modifiedapps/server/src/mastra/tools/tool-names.ts+5-2
  • addedapps/server/src/mastra/utils/credential-surface.ts+43-0
  • modifiedapps/server/src/mastra/workflows/chat/chat-org-rules.ts+12-7
  • modifiedapps/server/src/mastra/workflows/chat/harness/__tests__/user-mcp-servers.test.ts+116-19
  • modifiedapps/server/src/mastra/workflows/chat/harness/user-mcp-servers.ts+17-12
  • addedapps/server/src/services/integrations/__tests__/mcp-connection-external-id.test.ts+216-0
  • modifiedapps/server/src/services/integrations/connections.ts+80-4
  • modifiedapps/server/src/services/integrations/constants.ts+9-3
  • addedapps/server/src/services/integrations/credentials/__tests__/fake-db.ts+228-0
  • addedapps/server/src/services/integrations/credentials/__tests__/refresh.test.ts+125-0
  • addedapps/server/src/services/integrations/credentials/__tests__/resolve.test.ts+564-0
  • addedapps/server/src/services/integrations/credentials/__tests__/response-body-disclosure.test.ts+214-0
  • addedapps/server/src/services/integrations/credentials/__tests__/token-refresh.test.ts+622-0
  • addedapps/server/src/services/integrations/credentials/__tests__/token-url-guard.test.ts+130-0
  • addedapps/server/src/services/integrations/credentials/__tests__/unified.test.ts+430-0
  • addedapps/server/src/services/integrations/credentials/__tests__/vault.test.ts+600-0
  • addedapps/server/src/services/integrations/credentials/compiled-providers.ts+37-0
  • addedapps/server/src/services/integrations/credentials/index.ts+54-0
  • addedapps/server/src/services/integrations/credentials/provider-id.ts+18-0
  • addedapps/server/src/services/integrations/credentials/refresh.ts+160-0
  • addedapps/server/src/services/integrations/credentials/resolve.ts+237-0
  • addedapps/server/src/services/integrations/credentials/token-refresh.ts+516-0
  • addedapps/server/src/services/integrations/credentials/token-url-guard.ts+163-0
  • addedapps/server/src/services/integrations/credentials/types.ts+169-0
  • addedapps/server/src/services/integrations/credentials/unified.ts+293-0
  • addedapps/server/src/services/integrations/credentials/vault.ts+504-0
  • addedapps/server/src/services/integrations/mcp/__tests__/callability.test.ts+407-0
  • addedapps/server/src/services/integrations/mcp/__tests__/mcp-backfill.test.ts+284-0
  • modifiedapps/server/src/services/integrations/mcp/__tests__/mcp-token-refresh.test.ts+231-6
  • addedapps/server/src/services/integrations/mcp/__tests__/oauth-discovery.test.ts+526-0
  • modifiedapps/server/src/services/integrations/mcp/__tests__/oauth-drivers.test.ts+342-68
  • addedapps/server/src/services/integrations/mcp/__tests__/oauth-state.test.ts+142-0
  • addedapps/server/src/services/integrations/mcp/callability.ts+289-0
  • modifiedapps/server/src/services/integrations/mcp/index.ts+50-3
  • addedapps/server/src/services/integrations/mcp/mcp-backfill.ts+336-0
  • modifiedapps/server/src/services/integrations/mcp/mcp-token-refresh.ts+88-30
  • addedapps/server/src/services/integrations/mcp/oauth-discovery.ts+365-0
  • modifiedapps/server/src/services/integrations/mcp/oauth-driver.ts+14-1
  • addedapps/server/src/services/integrations/mcp/oauth-state.ts+113-0
  • modifiedapps/server/src/services/integrations/mcp/provider-ids.ts+9-3
  • addedapps/server/src/services/integrations/mcp/providers/caretta.ts+11-0
  • addedapps/server/src/services/integrations/mcp/providers/circleback.ts+10-0
  • addedapps/server/src/services/integrations/mcp/providers/clari.ts+8-0
  • removedapps/server/src/services/integrations/mcp/providers/dcr-pkce-driver.ts+0-173
  • addedapps/server/src/services/integrations/mcp/providers/discovered-driver.ts+281-0
  • addedapps/server/src/services/integrations/mcp/providers/fireflies.ts+7-0
  • addedapps/server/src/services/integrations/mcp/providers/gong.ts+9-0
  • addedapps/server/src/services/integrations/mcp/providers/granola.ts+11-0
  • addedapps/server/src/services/integrations/mcp/providers/krisp.ts+12-0
  • modifiedapps/server/src/services/integrations/mcp/providers/mintlify.ts+5-10
  • modifiedapps/server/src/services/integrations/mcp/providers/notion.ts+2-8
  • modifiedapps/server/src/services/integrations/mcp/providers/pylon.ts+5-9
  • addedapps/server/src/services/integrations/mcp/server-url.ts+85-0
  • modifiedapps/server/src/services/integrations/mcp/types.ts+53-0
  • addedapps/server/src/services/integrations/meetings/__tests__/caretta-mcp.test.ts+258-0
  • addedapps/server/src/services/integrations/meetings/__tests__/circleback-mcp.test.ts+449-0
  • modifiedapps/server/src/services/integrations/meetings/__tests__/circleback-search.test.ts+63-61
  • addedapps/server/src/services/integrations/meetings/__tests__/krisp-mcp.test.ts+330-0
  • modifiedapps/server/src/services/integrations/meetings/caretta.ts+112-270
  • modifiedapps/server/src/services/integrations/meetings/circleback-search.ts+21-65
  • modifiedapps/server/src/services/integrations/meetings/circleback.ts+223-169
  • modifiedapps/server/src/services/integrations/meetings/driver.ts+17-0
  • modifiedapps/server/src/services/integrations/meetings/index.ts+4-16
  • modifiedapps/server/src/services/integrations/meetings/krisp.ts+139-107
  • addedapps/server/src/services/integrations/meetings/provider-ids.ts+28-0
  • addedapps/server/src/services/integrations/meetings/recorder-mcp-access.ts+215-0
  • modifiedapps/server/src/services/integrations/provider-credentials.ts+34-5
  • modifiedapps/server/src/trpc/index.ts+2-0
  • addedapps/server/src/trpc/routes/__tests__/credential-vault-org-admin.test.ts+161-0
  • addedapps/server/src/trpc/routes/__tests__/integrations-mcp-delete.test.ts+228-0
  • addedapps/server/src/trpc/routes/__tests__/integrations-mcp-org-scope.test.ts+214-0
  • addedapps/server/src/trpc/routes/credential-vault.ts+187-0
  • modifiedapps/server/src/trpc/routes/integrations.ts+532-240
  • modifiedapps/server/src/trpc/routes/org-admin.ts+55-45
  • modifiedaws/lib/runtime-contract.ts+12-9
  • modifieddocs/design/mcp-oauth-pylon-mintlify.md+11-8