From 528ed583e440bab0b96dddb6d68e28fc1fcd67f0 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Mon, 14 Sep 2026 17:28:52 -0400 Subject: [PATCH 1/4] feat: use declared attached project actions --- api/server/services/ToolService.js | 1 + .../Chat/Input/CodeWorkspaceMenu.tsx | 6 ++ .../__tests__/CodeWorkspaceMenu.spec.tsx | 16 ++++ packages/api/src/agents/execution.spec.ts | 17 +++++ packages/api/src/agents/execution.ts | 9 ++- packages/api/src/code/bridge.ts | 4 +- packages/api/src/code/capabilities.spec.ts | 22 ++++++ packages/api/src/code/capabilities.ts | 1 + packages/api/src/code/command.spec.ts | 31 ++++++++ packages/api/src/code/command.ts | 54 ++++++++++++-- .../api/src/code/environment.live.spec.ts | 74 +++++++++++++++++++ .../api/src/code/fixtures/environment.mjs | 55 ++++++++++++++ packages/api/src/code/workspace.ts | 1 + packages/data-provider/src/code/workspace.ts | 35 +++++++++ 14 files changed, 316 insertions(+), 10 deletions(-) create mode 100644 packages/api/src/code/environment.live.spec.ts create mode 100644 packages/api/src/code/fixtures/environment.mjs diff --git a/api/server/services/ToolService.js b/api/server/services/ToolService.js index 6994c106d3a..3afc2ba13ef 100644 --- a/api/server/services/ToolService.js +++ b/api/server/services/ToolService.js @@ -2280,6 +2280,7 @@ async function loadToolsForExecution({ authHeaders, baseUrl: codeExecutionContext.baseUrl, workspaceId: codeExecutionContext.codeWorkspace.workspaceId, + environment: codeExecutionContext.codeWorkspace.environment, gitIdentity: agent?.git_identity, maxTimeoutMs: resolveAttachedWorkspaceCommandTimeoutMax( codeExecutionContext.codeEnvironmentConfigSchema, diff --git a/client/src/components/Chat/Input/CodeWorkspaceMenu.tsx b/client/src/components/Chat/Input/CodeWorkspaceMenu.tsx index d71265f96c8..3d5dff843b5 100644 --- a/client/src/components/Chat/Input/CodeWorkspaceMenu.tsx +++ b/client/src/components/Chat/Input/CodeWorkspaceMenu.tsx @@ -123,6 +123,12 @@ function EnvironmentWorkspaces({ {descriptor.name && (

{descriptor.id}

)} + {descriptor.environment?.repo && ( +

+ {descriptor.environment.repo} + {descriptor.environment.ref ? ` · ${descriptor.environment.ref}` : ''} +

+ )} {selected && (