refactor(policy): consolidate workspacePoliciesDir into PolicySettings

Simplified createPolicyEngineConfig signature by moving workspacePoliciesDir into the PolicySettings interface. Updated all core and CLI call sites and tests to align with the consolidated settings structure.
This commit is contained in:
Abhijit Balaji
2026-02-18 14:34:58 -08:00
parent 662654c5d2
commit c95e05454c
6 changed files with 38 additions and 33 deletions
-3
View File
@@ -3199,7 +3199,6 @@ describe('Policy Engine Integration in loadCliConfig', () => {
}),
expect.anything(),
undefined,
undefined,
);
});
@@ -3222,7 +3221,6 @@ describe('Policy Engine Integration in loadCliConfig', () => {
}),
expect.anything(),
undefined,
undefined,
);
});
@@ -3244,7 +3242,6 @@ describe('Policy Engine Integration in loadCliConfig', () => {
}),
expect.anything(),
undefined,
undefined,
);
});
});
+2 -6
View File
@@ -27,14 +27,10 @@ export async function createPolicyEngineConfig(
tools: settings.tools,
mcpServers: settings.mcpServers,
policyPaths: settings.policyPaths,
workspacePoliciesDir,
};
return createCorePolicyEngineConfig(
policySettings,
approvalMode,
undefined,
workspacePoliciesDir,
);
return createCorePolicyEngineConfig(policySettings, approvalMode);
}
export function createPolicyUpdater(
@@ -81,10 +81,13 @@ describe('Workspace-Level Policy CLI Integration', () => {
await loadCliConfig(settings, 'test-session', argv, { cwd: MOCK_CWD });
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.anything(),
expect.objectContaining({
workspacePoliciesDir: expect.stringContaining(
path.join('.gemini', 'policies'),
),
}),
expect.anything(),
undefined,
expect.stringContaining(path.join('.gemini', 'policies')),
);
});
@@ -100,9 +103,10 @@ describe('Workspace-Level Policy CLI Integration', () => {
await loadCliConfig(settings, 'test-session', argv, { cwd: MOCK_CWD });
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.objectContaining({
workspacePoliciesDir: undefined,
}),
expect.anything(),
expect.anything(),
undefined,
undefined,
);
});
@@ -124,9 +128,10 @@ describe('Workspace-Level Policy CLI Integration', () => {
await loadCliConfig(settings, 'test-session', argv, { cwd: MOCK_CWD });
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.objectContaining({
workspacePoliciesDir: undefined,
}),
expect.anything(),
expect.anything(),
undefined,
undefined,
);
});
@@ -152,9 +157,10 @@ describe('Workspace-Level Policy CLI Integration', () => {
expect.stringContaining('Workspace policies changed or are new'),
);
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.objectContaining({
workspacePoliciesDir: undefined,
}),
expect.anything(),
expect.anything(),
undefined,
undefined, // Should NOT load policies
);
});
@@ -181,10 +187,13 @@ describe('Workspace-Level Policy CLI Integration', () => {
'new-hash',
);
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.anything(),
expect.objectContaining({
workspacePoliciesDir: expect.stringContaining(
path.join('.gemini', 'policies'),
),
}),
expect.anything(),
undefined,
expect.stringContaining(path.join('.gemini', 'policies')),
);
});
@@ -220,9 +229,10 @@ describe('Workspace-Level Policy CLI Integration', () => {
// so it currently DOES NOT pass the directory to createPolicyEngineConfig yet.
// The UI will handle the confirmation and reload/update.
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.objectContaining({
workspacePoliciesDir: undefined,
}),
expect.anything(),
expect.anything(),
undefined,
undefined,
);
});
@@ -254,9 +264,10 @@ describe('Workspace-Level Policy CLI Integration', () => {
});
expect(ServerConfig.createPolicyEngineConfig).toHaveBeenCalledWith(
expect.objectContaining({
workspacePoliciesDir: undefined,
}),
expect.anything(),
expect.anything(),
undefined,
undefined,
);
});