"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CompleteSessionToolDefinition = void 0;
var zod_1 = require("zod");
var toolDefinition_js_1 = require("../toolDefinition.js");
var agentToolNames_js_1 = require("./agentToolNames.js");
var completeSessionArgumentsSchema = zod_1.z.object({
    summary: zod_1.z.string().describe('A summary of what was accomplished in this session.'),
    source_filenames: zod_1.z
        .array(zod_1.z.string())
        .describe('Filenames of files produced during this session that contain the results.'),
});
var completeSessionResponseSchema = zod_1.z.object({
    success: zod_1.z.boolean(),
    message: zod_1.z.string().optional(),
});
exports.CompleteSessionToolDefinition = (0, toolDefinition_js_1.defineTool)({
    name: agentToolNames_js_1.AgentToolNames.CompleteSession,
    description: 'Signals that the agent has finished its work and the session is complete. Call this after saving all output files. For cloud-only agents this terminates the session. For interactive agents this returns control to the user.',
    argumentsSchema: completeSessionArgumentsSchema,
    responseSchema: completeSessionResponseSchema,
});
//# sourceMappingURL=CompleteSessionDefinition.js.map