feat: gate code tools by task mode
This commit is contained in:
+14
-5
@@ -295,7 +295,7 @@ function sandboxMcpEnvs(sandboxMcp, mcpTools) {
|
||||
*/
|
||||
export function buildAgentExtensionPolicy(
|
||||
capabilities,
|
||||
{ unrestricted = false, policies = null, sandboxMcp = null } = {},
|
||||
{ unrestricted = false, policies = null, sandboxMcp = null, toolMode = 'chat' } = {},
|
||||
) {
|
||||
if (unrestricted) {
|
||||
return { extensionOverrides: null, enableContextMemory: true, gooseMode: 'auto' };
|
||||
@@ -388,11 +388,20 @@ export function buildAgentExtensionPolicy(
|
||||
if (capabilities.charts) {
|
||||
extensions.push(makeExtension('builtin', 'autovisualiser', []));
|
||||
}
|
||||
if (capabilities.aider) {
|
||||
extensions.push(makeExtension('platform', 'aider', []));
|
||||
const codeToolMode = toolMode === 'code' || toolMode === 'code-task';
|
||||
if (codeToolMode && capabilities.aider) {
|
||||
extensions.push({
|
||||
...makeExtension('platform', 'aider', []),
|
||||
timeout_ms: Number(process.env.MEMIND_AIDER_TIMEOUT_MS ?? 600_000),
|
||||
metadata: { runtime_scope: 'code_tool_task' },
|
||||
});
|
||||
}
|
||||
if (capabilities.openhands) {
|
||||
extensions.push(makeExtension('platform', 'openhands', []));
|
||||
if (codeToolMode && capabilities.openhands) {
|
||||
extensions.push({
|
||||
...makeExtension('platform', 'openhands', []),
|
||||
timeout_ms: Number(process.env.MEMIND_OPENHANDS_TIMEOUT_MS ?? 900_000),
|
||||
metadata: { runtime_scope: 'code_tool_task' },
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user