Download packages/test-utils/src/fixtures/agents.ts from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 4.72 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/test-utils/src/fixtures/agents.ts
- Command line
-
hf download hf://SaylorTwift/gemini-cli/packages/test-utils/src/fixtures/agents.ts
-
curl -L -o agents.ts https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/test-utils/src/fixtures/agents.ts
4.72 kB
| /** | |
| * @license | |
| * Copyright 2026 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| /** | |
| * Represents a test agent used in evaluations and tests. | |
| */ | |
| export interface TestAgent { | |
| /** The unique name of the agent. */ | |
| readonly name: string; | |
| /** The full YAML/Markdown definition of the agent. */ | |
| readonly definition: string; | |
| /** The standard path where this agent should be saved in a test project. */ | |
| readonly path: string; | |
| /** A helper to spread this agent directly into a 'files' object for evalTest. */ | |
| readonly asFile: () => Record<string, string>; | |
| } | |
| /** | |
| * Helper to create a TestAgent with consistent formatting and pathing. | |
| */ | |
| function createAgent(options: { | |
| name: string; | |
| description: string; | |
| tools: string[]; | |
| body: string; | |
| }): TestAgent { | |
| const definition = `--- | |
| name: ${options.name} | |
| description: ${options.description} | |
| tools: | |
| ${options.tools.map((t) => ` - ${t}`).join('\n')} | |
| --- | |
| ${options.body} | |
| `; | |
| const path = `.gemini/agents/${options.name}.md`; | |
| return { | |
| name: options.name, | |
| definition, | |
| path, | |
| asFile: () => ({ [path]: definition }), | |
| }; | |
| } | |
| /** | |
| * A collection of predefined test agents for use in evaluations and tests. | |
| */ | |
| export const TEST_AGENTS = { | |
| /** | |
| * An agent with expertise in updating documentation. | |
| */ | |
| DOCS_AGENT: createAgent({ | |
| name: 'docs-agent', | |
| description: 'An agent with expertise in updating documentation.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the docs agent. Update documentation clearly and accurately.', | |
| }), | |
| /** | |
| * An agent with expertise in writing and updating tests. | |
| */ | |
| TESTING_AGENT: createAgent({ | |
| name: 'testing-agent', | |
| description: 'An agent with expertise in writing and updating tests.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the test agent. Add or update tests.', | |
| }), | |
| /** | |
| * An agent with expertise in database schemas, SQL, and creating database migrations. | |
| */ | |
| DATABASE_AGENT: createAgent({ | |
| name: 'database-agent', | |
| description: | |
| 'An expert in database schemas, SQL, and creating database migrations.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the database agent. Create and update SQL migrations.', | |
| }), | |
| /** | |
| * An agent with expertise in CSS, styling, and UI design. | |
| */ | |
| CSS_AGENT: createAgent({ | |
| name: 'css-agent', | |
| description: 'An expert in CSS, styling, and UI design.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the CSS agent.', | |
| }), | |
| /** | |
| * An agent with expertise in internationalization and translations. | |
| */ | |
| I18N_AGENT: createAgent({ | |
| name: 'i18n-agent', | |
| description: 'An expert in internationalization and translations.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the i18n agent.', | |
| }), | |
| /** | |
| * An agent with expertise in security audits and vulnerability patches. | |
| */ | |
| SECURITY_AGENT: createAgent({ | |
| name: 'security-agent', | |
| description: 'An expert in security audits and vulnerability patches.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the security agent.', | |
| }), | |
| /** | |
| * An agent with expertise in CI/CD, Docker, and deployment scripts. | |
| */ | |
| DEVOPS_AGENT: createAgent({ | |
| name: 'devops-agent', | |
| description: 'An expert in CI/CD, Docker, and deployment scripts.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the devops agent.', | |
| }), | |
| /** | |
| * An agent with expertise in tracking, analytics, and metrics. | |
| */ | |
| ANALYTICS_AGENT: createAgent({ | |
| name: 'analytics-agent', | |
| description: 'An expert in tracking, analytics, and metrics.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the analytics agent.', | |
| }), | |
| /** | |
| * An agent with expertise in web accessibility and ARIA roles. | |
| */ | |
| ACCESSIBILITY_AGENT: createAgent({ | |
| name: 'accessibility-agent', | |
| description: 'An expert in web accessibility and ARIA roles.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the accessibility agent.', | |
| }), | |
| /** | |
| * An agent with expertise in React Native and mobile app development. | |
| */ | |
| MOBILE_AGENT: createAgent({ | |
| name: 'mobile-agent', | |
| description: 'An expert in React Native and mobile app development.', | |
| tools: ['read_file', 'write_file', 'list_directory', 'grep_search', 'glob'], | |
| body: 'You are the mobile agent.', | |
| }), | |
| } as const; | |