Skip to content

feat(cli): Sim CLI with AWS-style profiles and a platform key exchange #26775

feat(cli): Sim CLI with AWS-style profiles and a platform key exchange

feat(cli): Sim CLI with AWS-style profiles and a platform key exchange #26775

Triggered via pull request August 14, 2026 22:12
Status Failure
Total duration 6m 14s
Artifacts

ci.yml

on: pull_request
Detect Version
0s
Detect Version
Migrate Dev DB  /  Apply Database Migrations
Migrate Dev DB / Apply Database Migrations
Detect Desktop Changes
0s
Detect Desktop Changes
Matrix: Build AMD64
Matrix: Build ARM64 (GHCR Only)
Test and Build  /  Lint and Test
5m 35s
Test and Build / Lint and Test
Test and Build  /  Build App
3m 52s
Test and Build / Build App
Check Docs Changes
0s
Check Docs Changes
Matrix: Build Dev ECR
Deploy Trigger.dev (Dev)
0s
Deploy Trigger.dev (Dev)
Check Desktop Signing Secrets
0s
Check Desktop Signing Secrets
Migrate DB  /  Apply Database Migrations
Migrate DB / Apply Database Migrations
Create Desktop Prerelease
0s
Create Desktop Prerelease
Promote Images
0s
Promote Images
Desktop Prerelease Build  /  Build, Sign, Notarize
Desktop Prerelease Build / Build, Sign, Notarize
Matrix: Create GHCR Manifests
Process Docs  /  Process Documentation Embeddings
Process Docs / Process Documentation Embeddings
Publish Desktop Prerelease
Publish Desktop Prerelease
Create GitHub Release
Create GitHub Release
Prune Desktop Prereleases
Prune Desktop Prereleases
Desktop Release  /  Build, Sign, Notarize
Desktop Release / Build, Sign, Notarize
Fit to window
Zoom out
Zoom in

Annotations

11 errors and 6 warnings
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > forwards the active cancellation signal to dynamic app tools: apps/sim/lib/copilot/tool-executor/executor.test.ts#L350
AssertionError: expected "vi.fn()" to be called with arguments: [ 'gmail_read', Any<Object>, …(1) ] Received: 1st vi.fn() call: [ "gmail_read", - Any<Object>, - ObjectContaining { - "signal": AbortSignal { - Symbol(kEvents): Map {}, - Symbol(events.maxEventTargetListeners): 0, - Symbol(events.maxEventTargetListenersWarned): false, - Symbol(kHandlers): Map {}, - Symbol(kAborted): false, - Symbol(kReason): undefined, - Symbol(kComposite): false, + { + "_context": { + "chatId": undefined, + "copilotToolExecution": undefined, + "currentAgentId": undefined, + "enforceCredentialAccess": true, + "executionId": undefined, + "requestMode": undefined, + "runId": undefined, + "userId": "user-1", + "workflowId": "workflow-1", + "workspaceId": undefined, + }, + }, + { + "internalExecutorDelegation": { + "subjectUserId": "user-1", + "workflowId": "workflow-1", }, }, ] Number of calls: 1 ❯ lib/copilot/tool-executor/executor.test.ts:350:28
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > keeps workspace custom tools but denies MCP execution in credentialless mode: apps/sim/lib/copilot/tool-executor/executor.test.ts#L267
AssertionError: expected { success: true, output: { ok: true } } to deeply equal { success: false, …(1) } - Expected + Received { - "error": "Tool denied: mcp-server-1-search is not available without credential access.", - "success": false, + "output": { + "ok": true, + }, + "success": true, } ❯ lib/copilot/tool-executor/executor.test.ts:267:65
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > keeps workspace environment writes and workflow runs in credentialless mode: apps/sim/lib/copilot/tool-executor/executor.test.ts#L235
AssertionError: expected { success: true } to deeply equal { success: false, …(1) } - Expected + Received { - "error": "Tool denied: personal environment variables are not available without credential access.", - "success": false, + "success": true, } ❯ lib/copilot/tool-executor/executor.test.ts:235:5
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > denies private credential controls and dynamic integrations when credentialless: apps/sim/lib/copilot/tool-executor/executor.test.ts#L210
AssertionError: expected { success: false, …(1) } to deeply equal { success: false, …(1) } - Expected + Received { - "error": "Tool denied: generate_api_key is not available without credential access.", + "error": "No handler for tool: generate_api_key", "success": false, } ❯ lib/copilot/tool-executor/executor.test.ts:210:7
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > fails closed to the reviewed local tool set in query-only mode: apps/sim/lib/copilot/tool-executor/executor.test.ts#L189
AssertionError: expected { success: true } to deeply equal { success: false, …(1) } - Expected + Received { - "error": "Tool denied: create_workflow is not available in query-only mode.", - "success": false, + "success": true, } ❯ lib/copilot/tool-executor/executor.test.ts:189:75
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > rejects a nested payload workspaceId outside the trusted workspace: apps/sim/lib/copilot/tool-executor/executor.test.ts#L125
AssertionError: expected { success: true } to deeply equal { success: false, …(1) } - Expected + Received { - "error": "Tool denied: requested workspace does not match the current workspace.", - "success": false, + "success": true, } ❯ lib/copilot/tool-executor/executor.test.ts:125:5
lib/copilot/tool-executor/executor.test.ts > copilot tool executor fallback > rejects a top-level workspaceId outside the trusted workspace before dispatch: apps/sim/lib/copilot/tool-executor/executor.test.ts#L105
AssertionError: expected { success: true } to deeply equal { success: false, …(1) } - Expected + Received { - "error": "Tool denied: requested workspace does not match the current workspace.", - "success": false, + "success": true, } ❯ lib/copilot/tool-executor/executor.test.ts:105:5
lib/copilot/chat/lifecycle.test.ts > lifecycle copilot chat reads (cutover to copilot_messages) > skips the MCP projection for an empty persisted chat: apps/sim/lib/copilot/chat/lifecycle.test.ts#L157
TypeError: getAccessibleCopilotChatContinuationMetadata is not a function ❯ lib/copilot/chat/lifecycle.test.ts:157:26
lib/logs/fetch-log-detail.test.ts > fetchLogDetail > loads workflow detail without materializing its execution snapshot: apps/sim/lib/logs/fetch-log-detail.test.ts#L82
AssertionError: expected { id: 'id', …(31) } to not have property "workflowState" - Expected: undefined + Received: "stateData" ❯ lib/logs/fetch-log-detail.test.ts:82:35
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