import { z } from 'zod';
import { defineTool, } from '../toolDefinition.js';
import { AgentToolNames } from '../shared/agentToolNames.js';
export const getStepSchemaParamsSchema = z.object({
    step_type: z.string().optional().meta({
        description: 'The step type to fetch the JSON schema for (e.g. "Click", "EnterText", "AssertContains"). Omit to list every available step type name.',
    }),
});
export const getStepSchemaResponseSchema = z.object({
    step_types: z.array(z.string()).optional().meta({
        description: 'All available step type names. Returned when step_type is omitted.',
    }),
    schema: z.string().optional().meta({
        description: 'JSON-encoded JSON Schema for the requested step type, including its find descriptor. Returned when step_type is provided.',
    }),
    note: z.string().optional(),
});
export const GetStepSchemaToolDefinition = defineTool({
    name: AgentToolNames.GetStepSchema,
    description: 'Returns the json_steps JSON Schema for a step type so you know how to shape a step (and its find) when authoring or editing with execute_edit_steps. Call with no step_type to list every available step type, then call again with a step_type to get that step\'s full schema. Keep finds in the recorded trained selector shape — do not author a top-level "locator" field even though the schema permits it.',
    argumentsSchema: getStepSchemaParamsSchema,
    responseSchema: getStepSchemaResponseSchema,
});
//# sourceMappingURL=GetStepSchemaDefinition.js.map