"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExecuteAskForHelpToolDefinition = exports.executeAskForHelpResponseSchema = exports.executeAskForHelpArgumentsSchema = void 0;
var zod_1 = require("zod");
var toolDefinition_js_1 = require("../toolDefinition.js");
var agentToolNames_js_1 = require("../shared/agentToolNames.js");
exports.executeAskForHelpArgumentsSchema = zod_1.z.object({
    question: zod_1.z.string().describe('The question or request for the user, written in natural language.'),
});
exports.executeAskForHelpResponseSchema = zod_1.z.object({
    success: zod_1.z.boolean(),
    message: zod_1.z.string().optional(),
});
exports.ExecuteAskForHelpToolDefinition = (0, toolDefinition_js_1.defineTool)({
    name: agentToolNames_js_1.AgentToolNames.ExecuteAskForHelp,
    description: "Ask for help from the user when you need assistance. Use this tool when:\n- You need to perform an action that you don't have a tool for\n- You need information to complete your task\n- The current task cannot be completed and there are no appropriate actions to take\n- You're uncertain about how to proceed\n- You have already tried all possible actions and are stuck\n- You appear to be stuck in a loop without making progress\n\nDo your best to complete your task independently before asking for help, but do not allow yourself to get stuck in a loop without making progress for very long.",
    argumentsSchema: exports.executeAskForHelpArgumentsSchema,
    responseSchema: exports.executeAskForHelpResponseSchema,
});
//# sourceMappingURL=ExecuteAskForHelpDefinition.js.map