headless_browser_tool 0.1.1 → 0.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8de5258869d3947a9922ab74f204fc3fc88c130004f89edcaf27890638dc17c9
4
- data.tar.gz: a077e65a53fd7bd0c83db2d59608ad6d9f4a619757f7d05fe4157271d0ee41af
3
+ metadata.gz: 290c3d1595365bb41070457d7ba8026f8abbfc771aba7fabd0409b740d7d5f7d
4
+ data.tar.gz: 0454c5c97401fcd82070719031361d3627a3240c3142fc485585a66f49ddf79d
5
5
  SHA512:
6
- metadata.gz: 1b0f10bdc0f8f1e6884980c0aeffa01774d618e838606677d99c67f14764add4ad55ae4782aac7e603aa7a453085a8a3a286a2709d6f73cda2c737cf3195c2dd
7
- data.tar.gz: 7828e19fa201427591c2db07f1cd64168998e347976dbf2b57aa5a616eaad97dbbb3e51baa6d79e475b141fd0b3f376fc45abc2fcfdc3a935598433d576412c4
6
+ metadata.gz: c9b91e594463aad6541c01f7431e382a0028ec4d566d68fcc825b7c0ecf8ec7392b7dd6ada719de62955c2d39848aa6c191362df492b007334852435b9a005f5
7
+ data.tar.gz: 37efabbfc4c278f126f97fce97f40656ce99e2eee0814da95cc15c068c89707e6a7aa4997a13aee21145851672a2ae0f8e5a37c7ea709cc9b325f257843cb6c8
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.4.2
1
+ ruby-3.4.5
data/CHANGELOG.md CHANGED
@@ -1,4 +1,5 @@
1
- ## [Unreleased]
1
+ ## [0.1.2]
2
+ - Use fast-mcp-annotations
2
3
 
3
4
  ## [0.1.1] - 2025-05-23
4
5
 
data/README.md CHANGED
@@ -358,7 +358,13 @@ All tools are available through the MCP protocol. Here's a complete reference:
358
358
  | `maximize_window` | Maximize window | None | `{size_before: {width, height}, size_after: {width, height}, status}` |
359
359
  | `resize_window` | Resize window | `width`, `height` (required) | `{requested_size, size_before, size_after, status}` |
360
360
 
361
- #### AI-Assisted Tools
361
+ #### Session Management Tools
362
+
363
+ | Tool | Description | Returns |
364
+ |------|-------------|---------|
365
+ | `get_session_info` | Get session information | Session details |
366
+
367
+ #### Smart Tools (experimental)
362
368
 
363
369
  | Tool | Description | Parameters |
364
370
  |------|-------------|------------|
@@ -366,12 +372,6 @@ All tools are available through the MCP protocol. Here's a complete reference:
366
372
  | `get_narration_history` | Get narration history | None |
367
373
  | `visual_diff` | Compare screenshots | `before_path`, `after_path` (required) |
368
374
 
369
- #### Session Management Tools
370
-
371
- | Tool | Description | Returns |
372
- |------|-------------|---------|
373
- | `get_session_info` | Get session information | Session details |
374
-
375
375
  ### Tool Response Structure
376
376
 
377
377
  All tools now return structured data instead of simple strings. This makes it easier to:
data/claude-swarm.yml ADDED
@@ -0,0 +1,37 @@
1
+ version: 1
2
+ swarm:
3
+ name: "Swarm Name"
4
+ main: lead_developer
5
+ instances:
6
+ lead_developer:
7
+ directory: .
8
+ model: sonnet
9
+ prompt: "You are the lead developer coordinating the team"
10
+ tools: [Read, Edit, Bash, Write]
11
+ connections: [frontend_dev, backend_dev]
12
+
13
+ # Example instances (uncomment and modify as needed):
14
+
15
+ frontend_dev:
16
+ directory: .
17
+ model: sonnet
18
+ prompt: "You specialize in frontend development with React, TypeScript, and modern web technologies"
19
+ tools: [Read, Edit, Write, "Bash(npm:*)", "Bash(yarn:*)", "Bash(pnpm:*)"]
20
+
21
+ backend_dev:
22
+ directory: .
23
+ model: sonnet
24
+ prompt: "You specialize in backend development, APIs, databases, and server architecture"
25
+ tools: [Read, Edit, Write, Bash]
26
+
27
+ # devops_engineer:
28
+ # directory: .
29
+ # model: sonnet
30
+ # prompt: "You specialize in infrastructure, CI/CD, containerization, and deployment"
31
+ # tools: [Read, Edit, Write, "Bash(docker:*)", "Bash(kubectl:*)", "Bash(terraform:*)"]
32
+
33
+ # qa_engineer:
34
+ # directory: ./tests
35
+ # model: sonnet
36
+ # prompt: "You specialize in testing, quality assurance, and test automation"
37
+ # tools: [Read, Edit, Write, Bash]
@@ -326,6 +326,13 @@ module HeadlessBrowserTool
326
326
  }
327
327
  end
328
328
 
329
+ def get_window_size
330
+ size = @session.current_window.size
331
+ { width: size[0], height: size[1] }
332
+ rescue StandardError
333
+ { width: nil, height: nil }
334
+ end
335
+
329
336
  private
330
337
 
331
338
  def extract_attributes(element)
@@ -338,13 +345,6 @@ module HeadlessBrowserTool
338
345
  attrs
339
346
  end
340
347
 
341
- def get_window_size
342
- size = @session.current_window.size
343
- { width: size[0], height: size[1] }
344
- rescue StandardError
345
- { width: nil, height: nil }
346
- end
347
-
348
348
  def get_window_position
349
349
  # Try to get window position, but this might not be supported by all drivers
350
350
 
@@ -10,12 +10,12 @@ module HeadlessBrowserTool
10
10
 
11
11
  def execute
12
12
  # Get window size before maximizing
13
- size_before = browser.current_window_size
13
+ size_before = browser.get_window_size
14
14
 
15
15
  browser.maximize_window
16
16
 
17
17
  # Get window size after maximizing
18
- size_after = browser.current_window_size
18
+ size_after = browser.get_window_size
19
19
 
20
20
  {
21
21
  size_before: {
@@ -15,12 +15,12 @@ module HeadlessBrowserTool
15
15
 
16
16
  def execute(width:, height:)
17
17
  # Get window size before resizing
18
- size_before = browser.current_window_size
18
+ size_before = browser.get_window_size
19
19
 
20
20
  browser.resize_window(width, height)
21
21
 
22
22
  # Get actual window size after resizing
23
- size_after = browser.current_window_size
23
+ size_after = browser.get_window_size
24
24
 
25
25
  {
26
26
  requested_size: {
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HeadlessBrowserTool
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: headless_browser_tool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo Arruda
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-05-24 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: capybara
@@ -24,19 +24,19 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: fast-mcp
27
+ name: fast-mcp-annotations
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - ">="
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '0'
32
+ version: '1.5'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0'
39
+ version: '1.5'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: json
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -166,6 +166,7 @@ files:
166
166
  - LICENSE.md
167
167
  - README.md
168
168
  - Rakefile
169
+ - claude-swarm.yml
169
170
  - config.ru
170
171
  - exe/hbt
171
172
  - lib/headless_browser_tool.rb
@@ -250,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
251
  - !ruby/object:Gem::Version
251
252
  version: '0'
252
253
  requirements: []
253
- rubygems_version: 3.6.2
254
+ rubygems_version: 3.6.9
254
255
  specification_version: 4
255
256
  summary: A headless browser control tool with MCP server
256
257
  test_files: []