From eb83f513a1374cfa4f54c83589a1091e210340ca Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sun, 1 Nov 2026 15:18:24 +0100 Subject: [PATCH] test(server): a patch key is resolved against nested configured defaults --- .../src/server/agent/agent-manager.test.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/packages/server/src/server/agent/agent-manager.test.ts b/packages/server/src/server/agent/agent-manager.test.ts index 4a5431b28f..c18b56ff2d 100644 --- a/packages/server/src/server/agent/agent-manager.test.ts +++ b/packages/server/src/server/agent/agent-manager.test.ts @@ -58,6 +58,7 @@ import type { } from "./agent-sdk-types.js"; import type { PaseoToolCatalog } from "./tools/types.js"; import type { ProviderDefinition } from "./provider-registry.js"; +import { mergeProviderOptions } from "./provider-options.js"; import { OpenCodeV2AgentClient } from "./providers/opencode/v2/agent.js"; import { V2Harness } from "./providers/opencode/test-utils/v2-harness.js"; @@ -13010,6 +13011,38 @@ describe("agent options", () => { }); }); + test("a patch key is resolved against the configured defaults, merging nested objects", async () => { + const workdir = mkdtempSync(join(tmpdir(), "agent-manager-options-")); + const client = new OptionsClient(); + client.effectiveOptions = (own) => + mergeProviderOptions({ sandbox: { enabled: true, failIfUnavailable: true } }, own) ?? {}; + const manager = new AgentManager({ + clients: { codex: client }, + registry: new AgentStorage(join(workdir, "agents"), logger), + logger, + }); + const agent = await manager.createAgent({ provider: "codex", cwd: workdir }, undefined, { + workspaceId: undefined, + }); + + await manager.setAgentOptions(agent.id, { + sandbox: { network: { allowedDomains: ["a.test"] } }, + }); + + expect(client.session?.applied).toEqual([ + { + sandbox: { + enabled: true, + failIfUnavailable: true, + network: { allowedDomains: ["a.test"] }, + }, + }, + ]); + expect(manager.getAgent(agent.id)?.config.providerOptions).toEqual({ + sandbox: { network: { allowedDomains: ["a.test"] } }, + }); + }); + test("setAgentOptions sends a removal to the provider like any change, as the default it falls back to", async () => { const { manager, client, agentId } = await createOptionsAgent({ service_tier: "fast" });