{"version":3,"sources":["jsdelivr-header.js","/npm/@theagent/core@0.1.0/dist/index.js"],"names":[],"mappings":"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","file":"/npm/@theagent/core@0.1.0/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@theagent/core@0.1.0/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.executionStream = exports.ExecutionStream = exports.UnifiedPlanner = exports.ActionEngine = exports.AIEngine = exports.PuppeteerAdapter = exports.PlaywrightAdapter = exports.BrowserAdapterRegistry = exports.BrowserAutomation = void 0;\nconst ai_engine_1 = require(\"./ai/ai-engine\");\nconst action_engine_1 = require(\"./engine/action-engine\");\nconst browser_manager_1 = require(\"./managers/browser-manager\");\nconst types_1 = require(\"./types\");\n/**\n * Main Browser Automation Framework class\n */\nclass BrowserAutomation {\n    constructor(config) {\n        this.browserManager = new browser_manager_1.BrowserManagerImpl();\n        this.registry = this.browserManager.getRegistry();\n        this.config = {\n            adapter: 'auto',\n            browserType: types_1.BrowserType.CHROMIUM,\n            headless: true,\n            viewport: { width: 1280, height: 720 },\n            fallbackAdapters: ['playwright', 'puppeteer'],\n            ...config\n        };\n        if (config?.ai) {\n            this.aiConfig = config.ai;\n        }\n    }\n    /**\n     * Initialize the framework with the specified configuration\n     */\n    async initialize() {\n        // Auto-select adapter if needed\n        if (this.config.adapter === 'auto') {\n            const adapter = await this.registry.autoSelectAdapter({\n                browserType: this.config.browserType,\n                features: [],\n                crossBrowser: false\n            });\n            this.config.adapter = adapter.name;\n        }\n        // Set up browser launch options\n        const launchOptions = {\n            headless: this.config.headless || false,\n            viewport: this.config.viewport\n        };\n        // Add optional launch options\n        if (this.config.userAgent)\n            launchOptions.userAgent = this.config.userAgent;\n        if (this.config.locale)\n            launchOptions.locale = this.config.locale;\n        if (this.config.timezone)\n            launchOptions.timezone = this.config.timezone;\n        if (this.config.proxy)\n            launchOptions.proxy = this.config.proxy;\n        await this.browserManager.launchBrowser(launchOptions);\n        // Create an initial blank page to ensure we have an active page\n        await this.browserManager.createPage();\n        console.log('📄 Initial page created successfully');\n        // Initialize AI engine if configuration is provided\n        if (this.aiConfig && this.aiConfig.model) {\n            console.log('🤖 Initializing AI engine with config:', this.aiConfig);\n            this.aiEngine = new ai_engine_1.AIEngine();\n            // Use the provider specified in the config, fallback to 'ollama'\n            const providerName = this.aiConfig.provider || 'ollama';\n            this.aiEngine.addProvider(providerName, this.aiConfig);\n            this.actionEngine = new action_engine_1.ActionEngine(this.browserManager, this.aiEngine);\n            console.log('✅ ActionEngine initialized successfully');\n        }\n        else {\n            console.log('⚠️  No AI configuration found or model not specified, ActionEngine will not be available');\n        }\n    }\n    /**\n     * Execute a natural language task\n     */\n    async execute(instruction, options) {\n        if (!this.browserManager.isReady()) {\n            await this.initialize();\n        }\n        console.log(`📝 Using BrowserAutomation.execute() for instruction: \"${instruction}\"`);\n        // If we have an ActionEngine (AI is configured), use it for intelligent planning\n        if (this.actionEngine) {\n            console.log('🎯 Using ActionEngine with hierarchical planning (unified approach)');\n            try {\n                // Use executeTask for hierarchical planning (same as executeTask method)\n                return await this.actionEngine.executeTask(instruction);\n            }\n            catch (error) {\n                console.error('❌ AI execution failed, falling back to basic execution:', error);\n                // Fall through to basic execution\n            }\n        }\n        else {\n            console.log('⚠️  No ActionEngine available, using basic execution');\n        }\n        // Fallback to basic execution for simple commands\n        const result = {\n            success: true,\n            steps: [],\n            extractedData: null,\n            screenshots: [],\n            duration: 0\n        };\n        try {\n            // Parse instruction and execute basic commands\n            await this.executeBasicInstruction(instruction);\n            result.success = true;\n        }\n        catch (error) {\n            result.success = false;\n            result.error = error instanceof Error ? error.message : String(error);\n        }\n        return result;\n    }\n    /**\n     * Execute a task using the smart ActionEngine (same as execute())\n     * This method is identical to execute() - both use hierarchical planning\n     * Kept for backward compatibility with existing code\n     */\n    async executeTask(instruction) {\n        if (this.actionEngine) {\n            console.log('🎯 Using ActionEngine.executeTask for intelligent task planning');\n            console.log('🧠 ActionEngine will use UnifiedPlanner for hierarchical planning');\n            console.log(`📝 Task instruction: \"${instruction}\"`);\n            return await this.actionEngine.executeTask(instruction);\n        }\n        else {\n            console.log('⚠️ No ActionEngine available, falling back to basic execute');\n            return await this.execute(instruction);\n        }\n    }\n    /**\n     * Navigate to a URL\n     */\n    async navigate(url) {\n        await this.browserManager.navigate(url);\n    }\n    /**\n     * Click an element\n     */\n    async click(selector) {\n        await this.browserManager.click(selector);\n    }\n    /**\n     * Type text into an element\n     */\n    async type(selector, text) {\n        await this.browserManager.type(selector, text);\n    }\n    /**\n     * Take a screenshot\n     */\n    async screenshot(path) {\n        const options = { fullPage: true };\n        if (path)\n            options.path = path;\n        return await this.browserManager.takeScreenshot(options);\n    }\n    /**\n     * Get page content\n     */\n    async getContent() {\n        return await this.browserManager.getPageContent();\n    }\n    /**\n     * Switch to a different browser adapter\n     */\n    async switchAdapter(adapterName) {\n        const adapter = this.registry.get(adapterName);\n        if (!adapter) {\n            throw new Error(`Adapter '${adapterName}' not found`);\n        }\n        await this.browserManager.closeBrowser();\n        this.browserManager.setAdapter(adapter);\n        await this.initialize();\n    }\n    /**\n     * Switch to a different browser type\n     */\n    async switchBrowser(browserType) {\n        this.config.browserType = browserType;\n        await this.browserManager.switchBrowser(browserType);\n    }\n    /**\n     * Register a custom adapter\n     */\n    registerAdapter(adapter) {\n        this.registry.register(adapter);\n    }\n    /**\n     * Get available adapters\n     */\n    getAvailableAdapters() {\n        return this.registry.getAdapterNames();\n    }\n    /**\n     * Get current browser information\n     */\n    getBrowserInfo() {\n        return this.browserManager.getBrowserInfo();\n    }\n    /**\n     * Get the browser manager instance (for advanced usage)\n     */\n    getBrowserManager() {\n        return this.browserManager;\n    }\n    /**\n     * Close the browser and cleanup\n     */\n    async close() {\n        await this.browserManager.closeBrowser();\n    }\n    /**\n     * Execute basic instruction parsing (simplified)\n     */\n    async executeBasicInstruction(instruction) {\n        const lowerInstruction = instruction.toLowerCase();\n        if (lowerInstruction.includes('go to') || lowerInstruction.includes('navigate to')) {\n            const urlMatch = instruction.match(/(?:go to|navigate to)\\s+(.+)/i);\n            if (urlMatch) {\n                let url = urlMatch[1].trim();\n                // Add protocol if missing\n                if (!url.startsWith('http')) {\n                    url = `https://${url}`;\n                }\n                await this.navigate(url);\n            }\n        }\n        else if (lowerInstruction.includes('click')) {\n            // Extract selector or text to click\n            const clickMatch = instruction.match(/click\\s+(?:on\\s+)?(.+)/i);\n            if (clickMatch) {\n                const target = clickMatch[1].trim();\n                // Try as selector first, then as text\n                try {\n                    await this.click(target);\n                }\n                catch {\n                    // If selector fails, try clicking by text\n                    await this.click(`text=${target}`);\n                }\n            }\n        }\n        else if (lowerInstruction.includes('type') || lowerInstruction.includes('enter')) {\n            const typeMatch = instruction.match(/(?:type|enter)\\s+\"([^\"]+)\"\\s+(?:in|into)\\s+(.+)/i);\n            if (typeMatch) {\n                const text = typeMatch[1];\n                const selector = typeMatch[2].trim();\n                await this.type(selector, text);\n            }\n        }\n        // Add small delay for stability\n        await new Promise(resolve => setTimeout(resolve, 100));\n    }\n}\nexports.BrowserAutomation = BrowserAutomation;\n// Export main class and types\nvar adapter_registry_1 = require(\"./adapters/adapter-registry\");\nObject.defineProperty(exports, \"BrowserAdapterRegistry\", { enumerable: true, get: function () { return adapter_registry_1.BrowserAdapterRegistry; } });\nvar adapter_1 = require(\"./adapters/playwright/adapter\");\nObject.defineProperty(exports, \"PlaywrightAdapter\", { enumerable: true, get: function () { return adapter_1.PlaywrightAdapter; } });\nvar adapter_2 = require(\"./adapters/puppeteer/adapter\");\nObject.defineProperty(exports, \"PuppeteerAdapter\", { enumerable: true, get: function () { return adapter_2.PuppeteerAdapter; } });\nvar ai_engine_2 = require(\"./ai/ai-engine\");\nObject.defineProperty(exports, \"AIEngine\", { enumerable: true, get: function () { return ai_engine_2.AIEngine; } });\nvar action_engine_2 = require(\"./engine/action-engine\");\nObject.defineProperty(exports, \"ActionEngine\", { enumerable: true, get: function () { return action_engine_2.ActionEngine; } });\nvar unified_planner_1 = require(\"./engine/planning/unified-planner\");\nObject.defineProperty(exports, \"UnifiedPlanner\", { enumerable: true, get: function () { return unified_planner_1.UnifiedPlanner; } });\nvar execution_stream_1 = require(\"./streaming/execution-stream\");\nObject.defineProperty(exports, \"ExecutionStream\", { enumerable: true, get: function () { return execution_stream_1.ExecutionStream; } });\nObject.defineProperty(exports, \"executionStream\", { enumerable: true, get: function () { return execution_stream_1.executionStream; } });\n__exportStar(require(\"./types\"), exports);\n"]}