From 62df2f3253059fcbf0934ba23fc817509607d551 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 47b4c5eea4..b0f6d42cf4 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"; const DESKTOP_OPEN_AGENT_TAB_LABEL = getOpenAgentTabLabel("desktop-client"); const MOBILE_OPEN_AGENT_TAB_LABEL = getOpenAgentTabLabel("mobile-client"); @@ -12785,6 +12786,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" });