"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetStepSchemaToolDefinition = exports.getStepSchemaResponseSchema = exports.getStepSchemaParamsSchema = void 0;
var zod_1 = require("zod");
var toolDefinition_js_1 = require("../toolDefinition.js");
var agentToolNames_js_1 = require("../shared/agentToolNames.js");
exports.getStepSchemaParamsSchema = zod_1.z.object({
    step_type: zod_1.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.',
    }),
});
exports.getStepSchemaResponseSchema = zod_1.z.object({
    step_types: zod_1.z.array(zod_1.z.string()).optional().meta({
        description: 'All available step type names. Returned when step_type is omitted.',
    }),
    schema: zod_1.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: zod_1.z.string().optional(),
});
exports.GetStepSchemaToolDefinition = (0, toolDefinition_js_1.defineTool)({
    name: agentToolNames_js_1.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: exports.getStepSchemaParamsSchema,
    responseSchema: exports.getStepSchemaResponseSchema,
});
//# sourceMappingURL=GetStepSchemaDefinition.js.map