UNPKG

@auto-browse/auto-browse

Version:
37 lines (36 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.browser_choose_file = void 0; const tools_1 = require("@langchain/core/tools"); const zod_1 = require("zod"); const utils_1 = require("./utils"); const context_1 = require("../browser/context"); /** * Schema for choosing files to upload */ const chooseFileSchema = zod_1.z.object({ paths: zod_1.z .array(zod_1.z.string()) .describe("The absolute paths to the files to upload. Can be a single file or multiple files."), }); exports.browser_choose_file = (0, tools_1.tool)(async ({ paths }) => { try { console.log(`[Choose File Tool] Starting operation:`, { paths }); const result = await (0, utils_1.runAndWait)(context_1.context, `Chose files ${paths.join(", ")}`, async () => { console.log(`[Choose File Tool] Submitting file chooser`); await context_1.context.submitFileChooser(paths); console.log(`[Choose File Tool] Operation successful`); }, true); console.log(`[Choose File Tool] Operation completed`); return result; } catch (error) { const errorMessage = `Failed to choose files: ${error instanceof Error ? error.message : "Unknown error"}`; console.error(`[Choose File Tool] Error:`, errorMessage); return errorMessage; } }, { name: "chooseFile", description: "Choose one or multiple files to upload", schema: chooseFileSchema, });