mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-22 02:54:31 -07:00
Enable generalist.
This commit is contained in:
@@ -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',
|
||||||
|
|||||||
@@ -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 () => {
|
||||||
|
|||||||
@@ -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 },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user