@minded-ai/mindedjs 2.0.2 → 2.0.4-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/agent.d.ts CHANGED
@@ -241,6 +241,16 @@ export declare class Agent {
241
241
  minScore?: number;
242
242
  }, timeoutMs?: number): Promise<Document[]>;
243
243
  onEnd(): void;
244
+ /**
245
+ * Process any queued messages for a session.
246
+ * If a message is found, it will be processed recursively.
247
+ * If no messages are found, checks if the graph was interrupted and resumes if needed.
248
+ * Only releases the lock when there's nothing left to process.
249
+ *
250
+ * @param sessionId - The session ID to check for queued messages
251
+ * @returns The result of processing the next message or resuming the graph, or undefined if nothing to process
252
+ */
253
+ private processQueuedMessages;
244
254
  }
245
255
  export {};
246
256
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -427,8 +427,8 @@ class Agent {
427
427
  if (handlerResult) {
428
428
  if (!handlerResult.isQualified) {
429
429
  logger_1.logger.debug({ message: '[Trigger] Disqualified', triggerName, triggerBody, sessionId });
430
- await this.interruptSessionManager.release(sessionId);
431
- return;
430
+ // Process any queued messages even when disqualified
431
+ return await this.processQueuedMessages(sessionId);
432
432
  }
433
433
  }
434
434
  // If no messages were set by handler or initial processing, create default message
@@ -471,24 +471,9 @@ class Agent {
471
471
  else {
472
472
  res = await this.compiledGraph.invoke(state, langgraphConfig);
473
473
  }
474
- const nextMessage = await this.interruptSessionManager.dequeue(sessionId);
475
- if (nextMessage) {
476
- // Dequeue the first message and process it recursively
477
- // Recursively process the next message with bypass flag
478
- const invokeParams = {
479
- triggerBody: nextMessage.triggerBody,
480
- triggerName: nextMessage.triggerName,
481
- bypassSessionCheck: true,
482
- };
483
- if (nextMessage.appName) {
484
- invokeParams.appName = nextMessage.appName;
485
- }
486
- logger_1.logger.debug({ msg: 'Invoking next message in the queue', invokeParams });
487
- return await this.invoke(invokeParams);
488
- }
489
- // Release the session lock
490
- await this.interruptSessionManager.release(sessionId);
491
- return res;
474
+ // Process any queued messages before returning
475
+ const queueResult = await this.processQueuedMessages(sessionId);
476
+ return queueResult !== undefined ? queueResult : res;
492
477
  }
493
478
  catch (err) {
494
479
  logger_1.logger.error({ msg: '[Trigger] Error', err, sessionId });
@@ -818,6 +803,58 @@ class Agent {
818
803
  onEnd() {
819
804
  mindedConnection.disconnect();
820
805
  }
806
+ /**
807
+ * Process any queued messages for a session.
808
+ * If a message is found, it will be processed recursively.
809
+ * If no messages are found, checks if the graph was interrupted and resumes if needed.
810
+ * Only releases the lock when there's nothing left to process.
811
+ *
812
+ * @param sessionId - The session ID to check for queued messages
813
+ * @returns The result of processing the next message or resuming the graph, or undefined if nothing to process
814
+ */
815
+ async processQueuedMessages(sessionId) {
816
+ var _a;
817
+ const nextMessage = await this.interruptSessionManager.dequeue(sessionId);
818
+ if (nextMessage) {
819
+ // Dequeue the first message and process it recursively
820
+ const invokeParams = {
821
+ triggerBody: nextMessage.triggerBody,
822
+ triggerName: nextMessage.triggerName,
823
+ bypassSessionCheck: true,
824
+ };
825
+ if (nextMessage.appName) {
826
+ invokeParams.appName = nextMessage.appName;
827
+ }
828
+ logger_1.logger.debug({
829
+ msg: 'Invoking next message in the queue',
830
+ invokeParams,
831
+ });
832
+ return await this.invoke(invokeParams);
833
+ }
834
+ // No more messages in queue - check if we need to resume an interrupted graph
835
+ const langgraphConfig = this.getLangraphConfig(sessionId);
836
+ const langgraphState = await this.compiledGraph.getState(langgraphConfig);
837
+ const lastTask = langgraphState.tasks[langgraphState.tasks.length - 1];
838
+ const hasInterrupt = ((_a = lastTask === null || lastTask === void 0 ? void 0 : lastTask.interrupts) === null || _a === void 0 ? void 0 : _a.length) > 0;
839
+ if (hasInterrupt) {
840
+ const interruptValue = lastTask.interrupts[0].value;
841
+ if ((interruptValue === null || interruptValue === void 0 ? void 0 : interruptValue.type) === BaseInterruptSessionManager_1.InterruptType.NEW_TRIGGERS) {
842
+ // Graph was interrupted by new triggers - resume it
843
+ logger_1.logger.debug({ msg: 'Resuming interrupted graph after processing queued messages', sessionId });
844
+ const state = langgraphState.values;
845
+ const resumeResult = await this.compiledGraph.invoke(new langgraph_1.Command({
846
+ update: state,
847
+ resume: '',
848
+ }), langgraphConfig);
849
+ // After resuming, check again for queued messages (recursive)
850
+ const queueResult = await this.processQueuedMessages(sessionId);
851
+ return queueResult !== undefined ? queueResult : resumeResult;
852
+ }
853
+ }
854
+ // No more messages and no interrupt to resume - release the session lock
855
+ await this.interruptSessionManager.release(sessionId);
856
+ return undefined;
857
+ }
821
858
  }
822
859
  exports.Agent = Agent;
823
860
  //# sourceMappingURL=agent.js.map
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,419 @@
1
+ # Browser Agent with CAPTCHA Bypass
2
+
3
+ This implementation replaces the CLI-based browser-use approach with the Python SDK, providing enhanced capabilities including automatic CAPTCHA detection and bypass functionality.
4
+
5
+ ## 🚀 Features
6
+
7
+ - **Python SDK Integration**: Uses browser-use Python SDK instead of CLI for better control
8
+ - **CAPTCHA Bypass**: Automatic detection and solving of text-based CAPTCHAs
9
+ - **Lifecycle Hooks**: Leverages browser-use lifecycle hooks for seamless operation
10
+ - **Advanced OCR**: Uses OpenCV and Tesseract for robust CAPTCHA text extraction
11
+ - **AI-Powered Solving**: Framework ready for LLM-based CAPTCHA solving (GPT-4V)
12
+ - **Error Handling**: Comprehensive error handling and logging
13
+ - **JSON Output**: Structured output format for better integration
14
+
15
+ ## 📁 File Structure
16
+
17
+ ```
18
+ browserTask/
19
+ ├── browserAgent.py # Main Python script with CAPTCHA bypass
20
+ ├── executeBrowserTask.ts # Updated TypeScript wrapper
21
+ ├── requirements.txt # Python dependencies
22
+ ├── setup.sh # Setup script for dependencies
23
+ └── README.md # This documentation
24
+ ```
25
+
26
+ ## 🛠️ Setup
27
+
28
+ ### 1. Run the Setup Script
29
+
30
+ The easiest way to get started is to run the setup script:
31
+
32
+ ```bash
33
+ cd mindedjs/src/browserTask
34
+ chmod +x setup.sh
35
+ ./setup.sh
36
+ ```
37
+
38
+ This will:
39
+
40
+ - Check Python 3.8+ installation
41
+ - Install Python dependencies
42
+ - Install Playwright browsers
43
+ - Install Tesseract OCR
44
+ - Make scripts executable
45
+
46
+ ### 2. Manual Setup (Alternative)
47
+
48
+ If you prefer manual setup:
49
+
50
+ ```bash
51
+ # Install uv (if not already installed)
52
+ curl -LsSf https://astral.sh/uv/install.sh | sh
53
+
54
+ # Create virtual environment
55
+ uv venv --python 3.11
56
+
57
+ # Activate virtual environment
58
+ source .venv/bin/activate
59
+
60
+ # Install Python dependencies
61
+ uv pip install -r requirements.txt
62
+
63
+ # Install Playwright browsers
64
+ uv run playwright install
65
+
66
+ # Install Tesseract OCR
67
+ # macOS:
68
+ brew install tesseract
69
+
70
+ # Ubuntu/Debian:
71
+ sudo apt-get install tesseract-ocr tesseract-ocr-eng
72
+
73
+ # CentOS/RHEL:
74
+ sudo yum install tesseract tesseract-langpack-eng
75
+ ```
76
+
77
+ ### 3. Configure API Keys
78
+
79
+ Set your OpenAI API key (required for LLM functionality):
80
+
81
+ ```bash
82
+ export OPENAI_API_KEY='your-api-key-here'
83
+ ```
84
+
85
+ ## 🎯 Usage
86
+
87
+ ### From TypeScript (MindedJS)
88
+
89
+ The `executeBrowserTask` function now uses the Python implementation automatically:
90
+
91
+ ```typescript
92
+ import { executeBrowserTask } from './browserTask/executeBrowserTask';
93
+
94
+ const result = await executeBrowserTask('Navigate to example.com and fill out the contact form');
95
+ console.log(result);
96
+ ```
97
+
98
+ ### Direct Python Usage
99
+
100
+ You can also run the Python script directly:
101
+
102
+ ```bash
103
+ # Activate virtual environment first
104
+ source .venv/bin/activate
105
+
106
+ # Basic usage
107
+ python browserAgent.py -p "Navigate to google.com and search for AI"
108
+ # Or with uv: uv run python browserAgent.py -p "Navigate to google.com and search for AI"
109
+
110
+ # Form with CAPTCHA - the agent will automatically handle the CAPTCHA
111
+ python browserAgent.py -p "Go to contact-form.com, fill out name as 'John Doe', email as 'john@example.com', message as 'Hello World', and submit the form"
112
+
113
+ # Registration with CAPTCHA
114
+ python browserAgent.py -p "Register on website.com with username 'testuser', email 'test@example.com', password 'securepass123', and complete the registration"
115
+
116
+ # With custom max steps
117
+ python browserAgent.py -p "Complete a multi-step process" --max-steps 50
118
+ ```
119
+
120
+ **Note**: In the above examples, if the forms have CAPTCHAs, they will be automatically detected, solved, and filled. The agent will then continue with filling the other fields and submitting as instructed.
121
+
122
+ ## 🔒 CAPTCHA Bypass Capabilities
123
+
124
+ ### Integration with Browser-Use
125
+
126
+ The CAPTCHA bypass is designed to work seamlessly with browser-use agents. When a CAPTCHA is detected:
127
+
128
+ 1. **CAPTCHA Detection**: Automatic detection on each page load
129
+ 2. **Silent Solving**: CAPTCHA is solved and filled in the background
130
+ 3. **Task Continuation**: Browser-use continues with your original prompt
131
+ 4. **No Interruption**: The user's task flow remains uninterrupted
132
+
133
+ **Perfect for forms like:**
134
+
135
+ - Registration forms with name + email + CAPTCHA
136
+ - Contact forms with message + CAPTCHA
137
+ - Login forms with credentials + CAPTCHA
138
+ - Multi-step forms with CAPTCHA verification
139
+
140
+ ### Supported CAPTCHA Types
141
+
142
+ 1. **Text CAPTCHAs**: Alphanumeric text challenges
143
+ 2. **Simple Math**: Basic arithmetic problems
144
+ 3. **Image-based**: Framework ready for image selection CAPTCHAs
145
+
146
+ ### How It Works
147
+
148
+ 1. **Automatic Detection**: Lifecycle hooks monitor each page for CAPTCHA indicators
149
+ 2. **Image Processing**: OpenCV extracts and preprocesses CAPTCHA images
150
+ 3. **OCR Recognition**: Tesseract performs text recognition
151
+ 4. **Smart Input**: Automatically finds and fills CAPTCHA input fields
152
+ 5. **Continue Task**: Lets browser-use continue with original instructions (other fields, submission, etc.)
153
+
154
+ ### CAPTCHA Detection Indicators
155
+
156
+ The system looks for these common CAPTCHA indicators:
157
+
158
+ - `captcha`
159
+ - `recaptcha`
160
+ - `hcaptcha`
161
+ - `verification`
162
+ - `security check`
163
+ - `prove you are human`
164
+
165
+ ## 🔧 Configuration
166
+
167
+ ### Environment Variables
168
+
169
+ ```bash
170
+ # Required
171
+ OPENAI_API_KEY=your-openai-api-key
172
+
173
+ # Optional
174
+ PYTHONPATH=/path/to/browserTask # Set automatically by TypeScript wrapper
175
+ ```
176
+
177
+ ### Python Script Arguments
178
+
179
+ ```bash
180
+ python3 browserAgent.py --help
181
+ ```
182
+
183
+ - `-p, --prompt`: Task prompt (required)
184
+ - `--max-steps`: Maximum number of steps (default: 30)
185
+ - `--output-format`: Output format (text|json, default: text)
186
+
187
+ ## 🏗️ Architecture
188
+
189
+ ### Lifecycle Hooks Integration
190
+
191
+ The implementation uses browser-use lifecycle hooks for seamless CAPTCHA handling:
192
+
193
+ ```python
194
+ async def captcha_detection_hook(agent):
195
+ """Runs before each step to check for CAPTCHAs"""
196
+ page = await agent.browser_session.get_current_page()
197
+
198
+ # 1. Check for CAPTCHA indicators on the page
199
+ # 2. If found, solve and fill the CAPTCHA field
200
+ # 3. Let browser-use continue with the original task
201
+ # 4. No interruption to the user's workflow
202
+ ```
203
+
204
+ **Flow Example:**
205
+
206
+ ```
207
+ User Task: "Fill out the contact form with my details and submit"
208
+
209
+ Step 1: Navigate to contact page
210
+ Step 2: [Hook detects CAPTCHA] → Solve CAPTCHA → Fill CAPTCHA field
211
+ Step 3: Fill name field (as per user instruction)
212
+ Step 4: Fill email field (as per user instruction)
213
+ Step 5: Fill message field (as per user instruction)
214
+ Step 6: Click submit button (as per user instruction)
215
+ ```
216
+
217
+ ### CAPTCHA Bypass Flow
218
+
219
+ ```mermaid
220
+ graph TD
221
+ A[Page Load] --> B[Lifecycle Hook Triggered]
222
+ B --> C{CAPTCHA Detected?}
223
+ C -->|No| D[Continue Normal Flow]
224
+ C -->|Yes| E[Take Screenshot]
225
+ E --> F[Extract CAPTCHA Region]
226
+ F --> G[OCR Text Recognition]
227
+ G --> H{Text Extracted?}
228
+ H -->|Yes| I[Fill CAPTCHA Field]
229
+ H -->|No| J[Try AI Solving]
230
+ J --> I
231
+ I --> K[Browser-use Continues Task]
232
+ ```
233
+
234
+ ### Tool Architecture
235
+
236
+ ```python
237
+ class CaptchaBypass(Tool):
238
+ """Advanced CAPTCHA detection and solving tool"""
239
+
240
+ async def use(self, page, input_text="") -> ActionResult:
241
+ # Main entry point for CAPTCHA solving
242
+
243
+ async def _detect_and_solve_captcha(self, cv_img, pil_img):
244
+ # OpenCV + OCR processing
245
+
246
+ async def _ai_solve_captcha(self, screenshot):
247
+ # AI-powered solving (extensible)
248
+
249
+ async def _fill_captcha_solution(self, page, solution):
250
+ # Find inputs and fill solution (no submission)
251
+ ```
252
+
253
+ ## 🧪 Testing
254
+
255
+ ### Test Basic Functionality
256
+
257
+ ```bash
258
+ # Activate virtual environment first
259
+ source .venv/bin/activate
260
+
261
+ # Test simple navigation
262
+ python browserAgent.py -p "Go to google.com"
263
+
264
+ # Test with potential CAPTCHA site
265
+ python browserAgent.py -p "Navigate to a form and fill it out"
266
+ ```
267
+
268
+ ### Test CAPTCHA Bypass
269
+
270
+ You can test the CAPTCHA bypass by:
271
+
272
+ 1. Finding a site with text CAPTCHAs
273
+ 2. Running the agent on that site
274
+ 3. Monitoring logs for CAPTCHA detection and solving
275
+
276
+ ### Debug Mode
277
+
278
+ Enable detailed logging by modifying the Python script:
279
+
280
+ ```python
281
+ logging.basicConfig(level=logging.DEBUG) # Change from INFO to DEBUG
282
+ ```
283
+
284
+ ## 🔍 Troubleshooting
285
+
286
+ ### Common Issues
287
+
288
+ 1. **Python Dependencies**
289
+
290
+ ```bash
291
+ # With virtual environment activated
292
+ uv pip install --upgrade browser-use opencv-python pytesseract pillow
293
+ # Or: pip install --upgrade browser-use opencv-python pytesseract pillow
294
+ ```
295
+
296
+ 2. **Tesseract Not Found**
297
+
298
+ ```bash
299
+ # Verify installation
300
+ tesseract --version
301
+
302
+ # Add to PATH if needed
303
+ export PATH="/usr/local/bin:$PATH"
304
+ ```
305
+
306
+ 3. **Playwright Browser Issues**
307
+
308
+ ```bash
309
+ uv run playwright install --with-deps
310
+ # Or with activated venv: playwright install --with-deps
311
+ ```
312
+
313
+ 4. **Permission Issues**
314
+ ```bash
315
+ chmod +x browserAgent.py
316
+ chmod +x setup.sh
317
+ ```
318
+
319
+ ### Debugging CAPTCHA Issues
320
+
321
+ 1. Check `captcha_isolated.png` for extracted CAPTCHA images
322
+ 2. Review logs for OCR results
323
+ 3. Verify Tesseract language packs: `tesseract --list-langs`
324
+
325
+ ## 🚀 Extending the Implementation
326
+
327
+ ### Adding New CAPTCHA Types
328
+
329
+ ```python
330
+ # Extend the CaptchaBypass class
331
+ class AdvancedCaptchaBypass(CaptchaBypass):
332
+ async def _solve_image_captcha(self, page):
333
+ # Implement image selection logic
334
+ pass
335
+
336
+ async def _solve_audio_captcha(self, page):
337
+ # Implement audio CAPTCHA solving
338
+ pass
339
+ ```
340
+
341
+ ### Custom Lifecycle Hooks
342
+
343
+ ```python
344
+ async def custom_hook(agent):
345
+ """Add custom logic to lifecycle hooks"""
346
+ page = await agent.browser_session.get_current_page()
347
+ # Your custom logic here
348
+
349
+ # Use in agent
350
+ agent.run(on_step_start=custom_hook)
351
+ ```
352
+
353
+ ### AI-Powered CAPTCHA Solving
354
+
355
+ The framework is ready for AI-powered CAPTCHA solving. Implement the `_ai_solve_captcha` method:
356
+
357
+ ```python
358
+ async def _ai_solve_captcha(self, screenshot: bytes) -> Dict[str, Any]:
359
+ # Convert screenshot to base64
360
+ screenshot_b64 = base64.b64encode(screenshot).decode('utf-8')
361
+
362
+ # Send to GPT-4V or similar vision model
363
+ response = await self.llm.ainvoke([
364
+ {"type": "text", "text": "Solve this CAPTCHA:"},
365
+ {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{screenshot_b64}"}}
366
+ ])
367
+
368
+ return {"success": True, "solution": response.content}
369
+ ```
370
+
371
+ ## 📝 Migration from CLI
372
+
373
+ The new implementation maintains the same interface as the original CLI version:
374
+
375
+ ### Before (CLI)
376
+
377
+ ```typescript
378
+ spawn('browser-use', ['-p', prompt]);
379
+ ```
380
+
381
+ ### After (Python SDK)
382
+
383
+ ```typescript
384
+ spawn('python3', [pythonScriptPath, '-p', prompt, '--output-format', 'json']);
385
+ ```
386
+
387
+ ### Benefits of Migration
388
+
389
+ 1. **Better Control**: Direct access to browser-use APIs
390
+ 2. **CAPTCHA Bypass**: Automatic CAPTCHA handling
391
+ 3. **Lifecycle Hooks**: Fine-grained control over browser behavior
392
+ 4. **Error Handling**: Structured error reporting
393
+ 5. **Extensibility**: Easy to add new features
394
+ 6. **Performance**: Reduced overhead compared to CLI spawning
395
+
396
+ ## 📄 License
397
+
398
+ This implementation follows the same license as the parent MindedJS project.
399
+
400
+ ## 🤝 Contributing
401
+
402
+ When contributing to the browser agent:
403
+
404
+ 1. Test with multiple CAPTCHA types
405
+ 2. Ensure proper error handling
406
+ 3. Add logging for debugging
407
+ 4. Update documentation
408
+ 5. Follow the existing code style
409
+
410
+ ## 🆘 Support
411
+
412
+ For issues and questions:
413
+
414
+ 1. Check the troubleshooting section
415
+ 2. Review logs for error details
416
+ 3. Test with the simplest possible case
417
+ 4. Verify all dependencies are installed
418
+
419
+ The browser agent with CAPTCHA bypass provides a robust foundation for automated web interactions while handling common anti-bot measures.