feat(cli): Sim CLI with AWS-style profiles and a platform key exchange #26775
ci.yml
on: pull_request
Detect Version
0s
Migrate Dev DB
/
Apply Database Migrations
Detect Desktop Changes
0s
Matrix: Build AMD64
Matrix: Build ARM64 (GHCR Only)
Test and Build
/
Lint and Test
5m 35s
Test and Build
/
Build App
3m 52s
Check Docs Changes
0s
Matrix: Build Dev ECR
Deploy Trigger.dev (Dev)
0s
Matrix: Create GHCR Manifests
Process Docs
/
Process Documentation Embeddings
Prune Desktop Prereleases
Desktop Release
/
Build, Sign, Notarize
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/copilot/chat/lifecycle.test.ts > lifecycle copilot chat reads (cutover to copilot_messages) > loads continuation metadata with a one-row probe and contexts-only MCP projection:
apps/sim/lib/copilot/chat/lifecycle.test.ts#L133
TypeError: getAccessibleCopilotChatContinuationMetadata is not a function
❯ lib/copilot/chat/lifecycle.test.ts:133: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
|