UNPKG

testgenius-ai

Version:

🚀 TestGenius AI - The Ultimate E2E Testing Framework for Everyone | No Coding Required • AI-Powered Automation • Beautiful Reports • Zero Complexity

198 lines 6.74 kB
/** * 🛠️ Smart Tools - Intelligent Browser Automation Tools * Provides LangChain tools for the Smart AI Agent * Adapted from Endorphin AI's sophisticated tool system for WebDriverIO */ import { z } from 'zod'; import { Browser } from 'webdriverio'; export interface SmartToolContext { browser: Browser; currentUrl?: string; pageTitle?: string; lastAction?: string; errorCount: number; successCount: number; } /** * Smart Navigation Tool - Enhanced with schema validation */ export declare function createSmartNavigationTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ url: z.ZodString; waitForLoad: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { url: string; waitForLoad?: boolean | undefined; }, { url: string; waitForLoad?: boolean | undefined; }>, { url: string; waitForLoad?: boolean; }, { url: string; waitForLoad?: boolean | undefined; }, string>; /** * Smart Click Tool - Enhanced with multiple strategies */ export declare function createSmartClickTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ selector: z.ZodString; strategy: z.ZodOptional<z.ZodEnum<["css", "text", "exact-text", "xpath", "id", "name"]>>; timeout: z.ZodOptional<z.ZodNumber>; force: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { selector: string; strategy?: "text" | "id" | "name" | "css" | "exact-text" | "xpath" | undefined; timeout?: number | undefined; force?: boolean | undefined; }, { selector: string; strategy?: "text" | "id" | "name" | "css" | "exact-text" | "xpath" | undefined; timeout?: number | undefined; force?: boolean | undefined; }>, { selector: string; strategy?: "css" | "text" | "exact-text" | "xpath" | "id" | "name"; timeout?: number; force?: boolean; }, { selector: string; strategy?: "text" | "id" | "name" | "css" | "exact-text" | "xpath" | undefined; timeout?: number | undefined; force?: boolean | undefined; }, string>; /** * Smart Fill Tool - Enhanced with field detection */ export declare function createSmartFillTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ selector: z.ZodString; value: z.ZodString; strategy: z.ZodOptional<z.ZodEnum<["fill", "type"]>>; clearFirst: z.ZodOptional<z.ZodBoolean>; pressEnter: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { selector: string; value: string; strategy?: "type" | "fill" | undefined; clearFirst?: boolean | undefined; pressEnter?: boolean | undefined; }, { selector: string; value: string; strategy?: "type" | "fill" | undefined; clearFirst?: boolean | undefined; pressEnter?: boolean | undefined; }>, { selector: string; value: string; strategy?: "fill" | "type"; clearFirst?: boolean; pressEnter?: boolean; }, { selector: string; value: string; strategy?: "type" | "fill" | undefined; clearFirst?: boolean | undefined; pressEnter?: boolean | undefined; }, string>; /** * Smart Verify Tool - Enhanced with multiple verification types */ export declare function createSmartVerifyTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ type: z.ZodEnum<["text", "element", "url", "title", "count"]>; selector: z.ZodOptional<z.ZodString>; expected: z.ZodUnion<[z.ZodString, z.ZodNumber]>; timeout: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "url" | "element" | "text" | "title" | "count"; expected: string | number; selector?: string | undefined; timeout?: number | undefined; }, { type: "url" | "element" | "text" | "title" | "count"; expected: string | number; selector?: string | undefined; timeout?: number | undefined; }>, { type: "text" | "element" | "url" | "title" | "count"; selector?: string; expected: string | number; timeout?: number; }, { type: "url" | "element" | "text" | "title" | "count"; expected: string | number; selector?: string | undefined; timeout?: number | undefined; }, string>; /** * Smart Wait Tool - Enhanced with multiple wait types */ export declare function createSmartWaitTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ type: z.ZodEnum<["element", "text", "time", "network"]>; selector: z.ZodOptional<z.ZodString>; value: z.ZodOptional<z.ZodString>; timeout: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "element" | "text" | "time" | "network"; selector?: string | undefined; timeout?: number | undefined; value?: string | undefined; }, { type: "element" | "text" | "time" | "network"; selector?: string | undefined; timeout?: number | undefined; value?: string | undefined; }>, { type: "element" | "text" | "time" | "network"; selector?: string; value?: string; timeout?: number; }, { type: "element" | "text" | "time" | "network"; selector?: string | undefined; timeout?: number | undefined; value?: string | undefined; }, string>; /** * Smart Screenshot Tool - Enhanced with intelligent naming */ export declare function createSmartScreenshotTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { description?: string | undefined; name?: string | undefined; }, { description?: string | undefined; name?: string | undefined; }>, { name?: string; description?: string; }, { description?: string | undefined; name?: string | undefined; }, string>; /** * Smart Get Content Tool - Enhanced content analysis */ export declare function createSmartGetContentTool(context: SmartToolContext): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{ type: z.ZodOptional<z.ZodEnum<["full", "text", "elements"]>>; selector: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type?: "text" | "full" | "elements" | undefined; selector?: string | undefined; }, { type?: "text" | "full" | "elements" | undefined; selector?: string | undefined; }>, { type?: "full" | "text" | "elements"; selector?: string; }, { type?: "text" | "full" | "elements" | undefined; selector?: string | undefined; }, string>; /** * Create all smart tools for the framework */ export declare function createAllSmartTools(browser: Browser): any[]; //# sourceMappingURL=SmartTools.d.ts.map