import { z } from 'zod';
import { defineTool, } from '../toolDefinition.js';
import { AgentToolNames } from '../shared/agentToolNames.js';
export const getStepJsonParamsSchema = z.object({
    step_ids: z.array(z.string()).min(1).meta({
        description: 'Stable canonical step ids (from get_test_context) of the steps to read. Returns each step as raw json_steps so you can edit a field while preserving the rest of the descriptor — in particular the recorded find with all its captured attributes.',
    }),
});
export const getStepJsonResponseSchema = z.object({
    steps: z.array(z.object({
        step_id: z.string(),
        found: z.boolean().meta({
            description: 'False when no root-level step with this id exists.',
        }),
        json: z.string().optional().meta({
            description: 'The step in json_steps form (single-key object keyed by step type), JSON-encoded. Present only when found.',
        }),
    })),
});
export const GetStepJsonToolDefinition = defineTool({
    name: AgentToolNames.GetStepJson,
    description: 'Returns the raw json_steps JSON for existing steps by step_id, so you can read a step before editing it with execute_edit_steps. Read the step first whenever you are changing one field (e.g. a find/selector or entered text) so you can edit in place and keep the recorded find descriptor and its captured attributes intact rather than re-authoring a thinner selector. Root-level steps only.',
    argumentsSchema: getStepJsonParamsSchema,
    responseSchema: getStepJsonResponseSchema,
});
//# sourceMappingURL=GetStepJsonDefinition.js.map