feat(credential-groups): add personal MCP OAuth connections #29726
ci.yml
on: pull_request
Detect Version
Migrate Dev DB
/
Apply Database Migrations
Detect Desktop Changes
Matrix: Build AMD64
Matrix: Build ARM64 (GHCR Only)
Test and Build
/
Lint and Test
4m 35s
Test and Build
/
Build App
2m 22s
Check Docs Changes
Matrix: Build Dev ECR
Deploy Trigger.dev (Dev)
Matrix: Create GHCR Manifests
Process Docs
/
Process Documentation Embeddings
Prune Desktop Prereleases
0s
Desktop Release
/
Build, Sign, Notarize
Annotations
10 errors and 6 warnings
|
Test and Build / Lint and Test
Process completed with exit code 1.
|
|
app/workspace/[workspaceId]/settings/[section]/prefetch.test.ts > credential-groups prefetch > hydrates the key the panel subscribes to, through the authorized use case:
apps/sim/app/workspace/[workspaceId]/settings/[section]/prefetch.test.ts#L104
AssertionError: expected undefined to deeply equal { Object (credentialGroups, availableProviders) }
- Expected:
{
"availableProviders": [
"gmail",
],
"credentialGroups": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"description": null,
"id": "g1",
"name": "Engineering",
"options": [],
"status": "active",
"updatedAt": "2026-01-01T00:00:00.000Z",
"workspaceId": "w1",
},
],
}
+ Received:
undefined
❯ app/workspace/[workspaceId]/settings/[section]/prefetch.test.ts:104:70
|
|
lib/credentials/application/service-account.test.ts > credential service-account application operations > preserves env_workspace deletion audit and analytics dimensions:
apps/sim/lib/credentials/application/service-account.ts#L186
Error: [vitest] No "requireOrdinaryCredentialType" export is defined on the "@/lib/credentials/access" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
vi.mock(import("@/lib/credentials/access"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ Object.afterSuccess lib/credentials/application/service-account.ts:186:26
❯ Object.execute lib/core/application/authorized-workspace-use-case.ts:215:24
❯ lib/credentials/application/service-account.test.ts:325:5
|
|
lib/credentials/application/service-account.test.ts > credential service-account application operations > preserves env_personal deletion audit and analytics dimensions:
apps/sim/lib/credentials/application/service-account.ts#L186
Error: [vitest] No "requireOrdinaryCredentialType" export is defined on the "@/lib/credentials/access" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
vi.mock(import("@/lib/credentials/access"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ Object.afterSuccess lib/credentials/application/service-account.ts:186:26
❯ Object.execute lib/core/application/authorized-workspace-use-case.ts:215:24
❯ lib/credentials/application/service-account.test.ts:325:5
|
|
lib/credentials/application/service-account.test.ts > credential service-account application operations > deletes every type through the record manager so secret sources are torn down:
apps/sim/lib/credentials/application/service-account.ts#L186
Error: [vitest] No "requireOrdinaryCredentialType" export is defined on the "@/lib/credentials/access" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
vi.mock(import("@/lib/credentials/access"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ Object.afterSuccess lib/credentials/application/service-account.ts:186:26
❯ Object.execute lib/core/application/authorized-workspace-use-case.ts:215:24
❯ lib/credentials/application/service-account.test.ts:281:20
|
|
lib/credentials/application/service-account.test.ts > credential service-account application operations > disconnects an administered credential:
apps/sim/lib/credentials/application/service-account.ts#L186
Error: [vitest] No "requireOrdinaryCredentialType" export is defined on the "@/lib/credentials/access" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
vi.mock(import("@/lib/credentials/access"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ Object.afterSuccess lib/credentials/application/service-account.ts:186:26
❯ Object.execute lib/core/application/authorized-workspace-use-case.ts:215:24
❯ lib/credentials/application/service-account.test.ts:257:20
|
|
lib/credentials/application/service-account.test.ts > credential service-account application operations > allows an explicit credential admin with workspace read access to disconnect:
apps/sim/lib/credentials/application/service-account.test.ts#L226
AssertionError: promise rejected "Error: [vitest] No "requireOrdinaryCreden… { codeFrame: '…' }" instead of resolving
❯ lib/credentials/application/service-account.test.ts:226:5
Caused by: Caused by: Error: [vitest] No "requireOrdinaryCredentialType" export is defined on the "@/lib/credentials/access" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
vi.mock(import("@/lib/credentials/access"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ Object.afterSuccess lib/credentials/application/service-account.ts:186:26
❯ Object.execute lib/core/application/authorized-workspace-use-case.ts:215:24
❯ lib/credentials/application/service-account.test.ts:221:5
|
|
hooks/mcp/use-mcp-oauth-popup.test.tsx > useMcpOauthPopup > clears the label when the popup closes but still honors a late completion:
apps/sim/hooks/mcp/use-mcp-oauth-popup.ts#L91
TypeError: mcpKeys.managedCatalogList is not a function
❯ hooks/mcp/use-mcp-oauth-popup.ts:91:57
❯ channel.onmessage hooks/mcp/use-mcp-oauth-popup.ts:150:9
❯ hooks/mcp/use-mcp-oauth-popup.test.tsx:294:9
❯ Proxy.process.env.NODE_ENV.exports.act ../../node_modules/react/cjs/react.development.js:814:22
❯ hooks/mcp/use-mcp-oauth-popup.test.tsx:293:13
|
|
Test and Build / Lint and Test
@sim/app#test: command (/home/runner/_work/sim/sim/apps/sim) /home/runner/.bun/bin/bun run test exited (1)
|
|
Test and Build / Lint and Test
Process completed with exit code 1.
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|