Enable generalist.

This commit is contained in:
Christian Gunderman
2026-02-16 12:19:18 -08:00
parent 8d5a152d32
commit 02bf9db95c
5 changed files with 10 additions and 16 deletions
-9
View File
@@ -55,15 +55,6 @@ describe('subagent eval test cases', () => {
name: 'should fix linter errors in multiple projects using implicit parallelism', name: 'should fix linter errors in multiple projects using implicit parallelism',
prompt: 'Fix all linter errors.', prompt: 'Fix all linter errors.',
timeout: 600000, timeout: 600000,
params: {
settings: {
agents: {
overrides: {
generalist: { enabled: true },
},
},
},
},
files: { files: {
'project-a/eslint.config.js': ` 'project-a/eslint.config.js': `
module.exports = [ module.exports = [
@@ -27,7 +27,6 @@ export const GeneralistAgent = (
description: `A general-purpose AI agent with access to all tools. description: `A general-purpose AI agent with access to all tools.
- ALWAYS use it to break up and parallelize independent pieces of a larger task, when possible. - ALWAYS use it to break up and parallelize independent pieces of a larger task, when possible.
`, `,
experimental: true,
inputConfig: { inputConfig: {
inputSchema: { inputSchema: {
type: 'object', type: 'object',
+7 -5
View File
@@ -44,6 +44,7 @@ function makeMockedConfig(params?: Partial<ConfigParameters>): Config {
const config = makeFakeConfig(params); const config = makeFakeConfig(params);
vi.spyOn(config, 'getToolRegistry').mockReturnValue({ vi.spyOn(config, 'getToolRegistry').mockReturnValue({
getAllToolNames: () => ['tool1', 'tool2'], getAllToolNames: () => ['tool1', 'tool2'],
getAllTools: () => [{ name: 'tool1' }, { name: 'tool2' }],
} as unknown as ToolRegistry); } as unknown as ToolRegistry);
vi.spyOn(config, 'getAgentRegistry').mockReturnValue({ vi.spyOn(config, 'getAgentRegistry').mockReturnValue({
getDirectoryContext: () => 'mock directory context', getDirectoryContext: () => 'mock directory context',
@@ -259,6 +260,7 @@ describe('AgentRegistry', () => {
overrides: { overrides: {
codebase_investigator: { enabled: false }, codebase_investigator: { enabled: false },
cli_help: { enabled: false }, cli_help: { enabled: false },
generalist: { enabled: false },
}, },
}, },
}); });
@@ -296,20 +298,20 @@ describe('AgentRegistry', () => {
expect(registry.getDefinition('cli_help')).toBeUndefined(); expect(registry.getDefinition('cli_help')).toBeUndefined();
}); });
it('should NOT register generalist agent by default (because it is experimental)', async () => { it('should register generalist agent by default', async () => {
const config = makeMockedConfig(); const config = makeMockedConfig();
const registry = new TestableAgentRegistry(config); const registry = new TestableAgentRegistry(config);
await registry.initialize(); await registry.initialize();
expect(registry.getDefinition('generalist')).toBeUndefined(); expect(registry.getDefinition('generalist')).toBeDefined();
}); });
it('should register generalist agent if explicitly enabled via override', async () => { it('should NOT register generalist agent if explicitly disabled via override', async () => {
const config = makeMockedConfig({ const config = makeMockedConfig({
agents: { agents: {
overrides: { overrides: {
generalist: { enabled: true }, generalist: { enabled: false },
}, },
}, },
}); });
@@ -317,7 +319,7 @@ describe('AgentRegistry', () => {
await registry.initialize(); await registry.initialize();
expect(registry.getDefinition('generalist')).toBeDefined(); expect(registry.getDefinition('generalist')).toBeUndefined();
}); });
it('should NOT register a non-experimental agent if enabled is false', async () => { it('should NOT register a non-experimental agent if enabled is false', async () => {
+1
View File
@@ -1081,6 +1081,7 @@ describe('Server Config (config.ts)', () => {
overrides: { overrides: {
codebase_investigator: { enabled: false }, codebase_investigator: { enabled: false },
cli_help: { enabled: false }, cli_help: { enabled: false },
generalist: { enabled: false },
}, },
}, },
}; };
+2 -1
View File
@@ -2468,7 +2468,8 @@ export class Config {
if ( if (
this.isAgentsEnabled() || this.isAgentsEnabled() ||
agentsOverrides['codebase_investigator']?.enabled !== false || agentsOverrides['codebase_investigator']?.enabled !== false ||
agentsOverrides['cli_help']?.enabled !== false agentsOverrides['cli_help']?.enabled !== false ||
agentsOverrides['generalist']?.enabled !== false
) { ) {
const definitions = this.agentRegistry.getAllDefinitions(); const definitions = this.agentRegistry.getAllDefinitions();