Class: BrainzLab::Vision::Client
- Inherits:
-
Object
- Object
- BrainzLab::Vision::Client
- Defined in:
- lib/brainzlab/vision/client.rb
Instance Method Summary collapse
-
#ai_action(session_id:, instruction:, model: nil) ⇒ Object
Perform an AI-powered action.
-
#close_session(session_id:) ⇒ Object
Close a session.
-
#create_session(url: nil, viewport: nil, browser_provider: nil) ⇒ Object
Create a browser session.
-
#execute_task(instruction:, start_url:, model: nil, browser_provider: nil, max_steps: 50, timeout: 300) ⇒ Object
Execute an autonomous AI task.
-
#extract(session_id:, schema:, instruction: nil) ⇒ Object
Extract structured data.
-
#initialize(config) ⇒ Client
constructor
A new instance of Client.
-
#perform(session_id:, action:, selector: nil, value: nil) ⇒ Object
Perform a direct browser action.
-
#screenshot(session_id:, full_page: true) ⇒ Object
Take a screenshot.
Constructor Details
#initialize(config) ⇒ Client
Returns a new instance of Client.
10 11 12 |
# File 'lib/brainzlab/vision/client.rb', line 10 def initialize(config) @config = config end |
Instance Method Details
#ai_action(session_id:, instruction:, model: nil) ⇒ Object
Perform an AI-powered action
39 40 41 42 43 44 45 46 47 |
# File 'lib/brainzlab/vision/client.rb', line 39 def ai_action(session_id:, instruction:, model: nil) payload = { session_id: session_id, instruction: instruction } payload[:model] = model if model post('/mcp/tools/vision_ai_action', payload) end |
#close_session(session_id:) ⇒ Object
Close a session
73 74 75 |
# File 'lib/brainzlab/vision/client.rb', line 73 def close_session(session_id:) post('/mcp/tools/vision_session_close', { session_id: session_id }) end |
#create_session(url: nil, viewport: nil, browser_provider: nil) ⇒ Object
Create a browser session
29 30 31 32 33 34 35 36 |
# File 'lib/brainzlab/vision/client.rb', line 29 def create_session(url: nil, viewport: nil, browser_provider: nil) payload = {} payload[:url] = url if url payload[:viewport] = if payload[:browser_provider] = browser_provider if browser_provider post('/mcp/tools/vision_session_create', payload) end |
#execute_task(instruction:, start_url:, model: nil, browser_provider: nil, max_steps: 50, timeout: 300) ⇒ Object
Execute an autonomous AI task
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/brainzlab/vision/client.rb', line 15 def execute_task(instruction:, start_url:, model: nil, browser_provider: nil, max_steps: 50, timeout: 300) payload = { instruction: instruction, start_url: start_url, max_steps: max_steps, timeout: timeout } payload[:model] = model if model payload[:browser_provider] = browser_provider if browser_provider post('/mcp/tools/vision_task', payload) end |
#extract(session_id:, schema:, instruction: nil) ⇒ Object
Extract structured data
62 63 64 65 66 67 68 69 70 |
# File 'lib/brainzlab/vision/client.rb', line 62 def extract(session_id:, schema:, instruction: nil) payload = { session_id: session_id, schema: schema } payload[:instruction] = instruction if instruction post('/mcp/tools/vision_extract', payload) end |
#perform(session_id:, action:, selector: nil, value: nil) ⇒ Object
Perform a direct browser action
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/brainzlab/vision/client.rb', line 50 def perform(session_id:, action:, selector: nil, value: nil) payload = { session_id: session_id, action: action.to_s } payload[:selector] = selector if selector payload[:value] = value if value post('/mcp/tools/vision_perform', payload) end |
#screenshot(session_id:, full_page: true) ⇒ Object
Take a screenshot
78 79 80 81 82 83 |
# File 'lib/brainzlab/vision/client.rb', line 78 def screenshot(session_id:, full_page: true) post('/mcp/tools/vision_screenshot', { session_id: session_id, full_page: full_page }) end |