fix(lifecycle): forward TaskID in the Docker create-instance request (#3612)

Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
This commit is contained in:
StoyKK
2026-09-15 18:14:50 +02:00
committed by GitHub
parent 21afb5ff16
commit 7f8781fef0
2 changed files with 21 additions and 0 deletions
@@ -97,6 +97,8 @@ func namespacesMCPToolsByServerFromAgent(agent agents.Agent) bool {
return rt != nil && rt.NamespacesMCPToolsByServer
}
// buildContainerCreateInstanceRequest builds the agentctl request for a fresh
// Docker instance, including the task and session identity used by MCP tools.
func buildContainerCreateInstanceRequest(
config ContainerConfig,
agentType string,
@@ -116,6 +118,7 @@ func buildContainerCreateInstanceRequest(
AutoStart: false,
McpServers: config.McpServers,
SessionID: config.SessionID,
TaskID: config.TaskID,
DisableAskQuestion: disableAskQuestion,
AssumeMcpSse: assumeMcpSse,
AssumeMcpHttp: assumeMcpHttp,
@@ -0,0 +1,18 @@
package lifecycle
import "testing"
// TestBuildContainerCreateInstanceRequestForwardsTaskAndSession verifies that a
// fresh Docker request preserves the identity required by task-bound MCP tools.
func TestBuildContainerCreateInstanceRequestForwardsTaskAndSession(t *testing.T) {
config := ContainerConfig{TaskID: "task-123", SessionID: "session-456"}
req := buildContainerCreateInstanceRequest(config, "claude-acp", false, false, false, false, nil)
if req.TaskID != "task-123" {
t.Fatalf("TaskID = %q, want %q", req.TaskID, "task-123")
}
if req.SessionID != "session-456" {
t.Fatalf("SessionID = %q, want %q", req.SessionID, "session-456")
}
}