import { z } from 'zod';
import { defineTool, } from '../toolDefinition.js';
import { AgentToolNames } from './agentToolNames.js';
export const testChunksSearchToolParamsSchema = z.object({
    task_descriptions: z.array(z.string()),
});
const testStepChunkMatchSchema = z.object({
    annotated_step_descriptions: z.string().meta({
        description: 'Detailed description of the steps in this chunk',
    }),
    context: z.string().meta({
        description: 'A brief summary of what this chunk does',
    }),
});
const testChunksSearchResultSchema = z.object({
    task_description: z.string().meta({
        description: 'The task description that was searched for',
    }),
    test_chunk_summaries: z.array(testStepChunkMatchSchema).meta({
        description: 'The test chunk summaries that were found',
    }),
});
/**
 * Response is a list of search results, each containing a task_description and its corresponding test chunk summaries
 */
export const testChunksSearchToolResponseSchema = z.object({
    search_results: z.array(testChunksSearchResultSchema),
});
export const TestChunksSearchToolDefinition = defineTool({
    name: AgentToolNames.TestChunksSearch,
    description: 'Search for test chunks by multiple tasks. This will return chunks of test steps from other tests that are similar to the searched-for tasks, and can be used to learn how to accomplish similar tasks.',
    argumentsSchema: testChunksSearchToolParamsSchema,
    responseSchema: testChunksSearchToolResponseSchema,
});
//# sourceMappingURL=TestChunksSearchDefinition.js.map