import { z } from 'zod';
import { defineTool, } from '../toolDefinition.js';
import { AgentToolNames } from './agentToolNames.js';
import { snippetInfoSchema } from './schemas.js';
const MAX_TASK_DESCRIPTIONS = 10;
export const snippetSearchToolParamsSchema = z.object({
    task_descriptions: z.array(z.string()).meta({
        description: `List of task descriptions to search for. Maximum of ${MAX_TASK_DESCRIPTIONS} task descriptions will be processed. If more are provided, only the first ${MAX_TASK_DESCRIPTIONS} will be used.`,
    }),
});
const snippetSearchResultSchema = z.object({
    task_description: z.string(),
    snippet_summaries: z.array(snippetInfoSchema),
});
/**
 * Response is a list of search results, each containing a task_description and its corresponding snippet summaries
 */
export const snippetSearchToolResponseSchema = z.object({
    search_results: z.array(snippetSearchResultSchema),
});
export const SnippetSearchToolDefinition = defineTool({
    name: AgentToolNames.SnippetSearch,
    description: 'Search for snippets by multiple tasks',
    argumentsSchema: snippetSearchToolParamsSchema,
    responseSchema: snippetSearchToolResponseSchema,
});
//# sourceMappingURL=SnippetSearchDefinition.js.map