feat: gate code tools by task mode
This commit is contained in:
+17
-1
@@ -97,14 +97,30 @@ test('buildAgentExtensionPolicy filters developer tools', () => {
|
||||
);
|
||||
});
|
||||
|
||||
test('buildAgentExtensionPolicy includes aider and openhands when granted', () => {
|
||||
test('buildAgentExtensionPolicy keeps aider and openhands out of chat mode when granted', () => {
|
||||
const policy = buildAgentExtensionPolicy({
|
||||
...DEFAULT_USER_CAPABILITIES,
|
||||
aider: true,
|
||||
openhands: true,
|
||||
});
|
||||
assert.equal(policy.extensionOverrides.some((ext) => ext.name === 'aider'), false);
|
||||
assert.equal(policy.extensionOverrides.some((ext) => ext.name === 'openhands'), false);
|
||||
});
|
||||
|
||||
test('buildAgentExtensionPolicy includes aider and openhands only for code tool mode', () => {
|
||||
const policy = buildAgentExtensionPolicy({
|
||||
...DEFAULT_USER_CAPABILITIES,
|
||||
aider: true,
|
||||
openhands: true,
|
||||
}, { toolMode: 'code' });
|
||||
assert.ok(policy.extensionOverrides.some((ext) => ext.name === 'aider'));
|
||||
assert.ok(policy.extensionOverrides.some((ext) => ext.name === 'openhands'));
|
||||
const aider = policy.extensionOverrides.find((ext) => ext.name === 'aider');
|
||||
const openhands = policy.extensionOverrides.find((ext) => ext.name === 'openhands');
|
||||
assert.equal(aider?.metadata?.runtime_scope, 'code_tool_task');
|
||||
assert.equal(openhands?.metadata?.runtime_scope, 'code_tool_task');
|
||||
assert.equal(typeof aider?.timeout_ms, 'number');
|
||||
assert.equal(typeof openhands?.timeout_ms, 'number');
|
||||
});
|
||||
|
||||
test('normalizeCapabilityPatch ignores unknown keys', () => {
|
||||
|
||||
Reference in New Issue
Block a user