robot_lab-a2a 0.1.0

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.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.envrc +1 -0
  3. data/.github/workflows/deploy-github-pages.yml +52 -0
  4. data/.rubocop.yml +26 -0
  5. data/CHANGELOG.md +24 -0
  6. data/COMMITS.md +196 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +106 -0
  9. data/Rakefile +104 -0
  10. data/docs/assets/images/architecture.png +0 -0
  11. data/docs/assets/images/architecture.svg +258 -0
  12. data/docs/examples.md +116 -0
  13. data/docs/getting-started.md +103 -0
  14. data/docs/index.md +23 -0
  15. data/docs/interactive-modes.md +104 -0
  16. data/docs/server-api.md +118 -0
  17. data/examples/01_sync_robot/client.rb +94 -0
  18. data/examples/01_sync_robot/server.rb +45 -0
  19. data/examples/02_interactive_a2a_tool/client.rb +144 -0
  20. data/examples/02_interactive_a2a_tool/server.rb +78 -0
  21. data/examples/03_robot_network/client.rb +83 -0
  22. data/examples/03_robot_network/server.rb +77 -0
  23. data/examples/04_io_bridge/client.rb +140 -0
  24. data/examples/04_io_bridge/server.rb +64 -0
  25. data/examples/05_multi_agent/client.rb +97 -0
  26. data/examples/05_multi_agent/server.rb +76 -0
  27. data/examples/06_rack_mount/client.rb +90 -0
  28. data/examples/06_rack_mount/config.ru +44 -0
  29. data/examples/06_rack_mount/server.rb +72 -0
  30. data/examples/common_config.rb +9 -0
  31. data/examples/run +112 -0
  32. data/lib/robot_lab/a2a/ask_user_tool.rb +43 -0
  33. data/lib/robot_lab/a2a/io_bridge.rb +75 -0
  34. data/lib/robot_lab/a2a/network_adapter.rb +38 -0
  35. data/lib/robot_lab/a2a/registry.rb +36 -0
  36. data/lib/robot_lab/a2a/robot_adapter.rb +183 -0
  37. data/lib/robot_lab/a2a/server.rb +128 -0
  38. data/lib/robot_lab/a2a/version.rb +7 -0
  39. data/lib/robot_lab/a2a.rb +39 -0
  40. data/mkdocs.yml +153 -0
  41. metadata +128 -0
data/mkdocs.yml ADDED
@@ -0,0 +1,153 @@
1
+ # MkDocs Configuration for robot_lab-a2a Documentation
2
+ site_name: robot_lab-a2a
3
+ site_description: Agent2Agent (A2A) protocol adapter for RobotLab
4
+ site_author: Dewayne VanHoozer
5
+ site_url: https://madbomber.github.io/robot_lab-a2a
6
+ copyright: Copyright © 2025 Dewayne VanHoozer
7
+
8
+ # Repository information
9
+ repo_name: madbomber/robot_lab-a2a
10
+ repo_url: https://github.com/MadBomber/robot_lab-a2a
11
+ edit_uri: edit/main/docs/
12
+
13
+ # Configuration
14
+ theme:
15
+ name: material
16
+
17
+ # Color scheme
18
+ palette:
19
+ - scheme: default
20
+ primary: deep purple
21
+ accent: amber
22
+ toggle:
23
+ icon: material/brightness-7
24
+ name: Switch to dark mode
25
+
26
+ - scheme: slate
27
+ primary: deep purple
28
+ accent: amber
29
+ toggle:
30
+ icon: material/brightness-4
31
+ name: Switch to light mode
32
+
33
+ # Typography
34
+ font:
35
+ text: Roboto
36
+ code: Roboto Mono
37
+
38
+ # Logo and icon
39
+ icon:
40
+ repo: fontawesome/brands/github
41
+ logo: material/robot
42
+
43
+ # Theme features
44
+ features:
45
+ - navigation.instant
46
+ - navigation.tracking
47
+ - navigation.tabs
48
+ - navigation.tabs.sticky
49
+ - navigation.path
50
+ - navigation.indexes
51
+ - navigation.top
52
+ - navigation.footer
53
+ - toc.follow
54
+ - search.suggest
55
+ - search.highlight
56
+ - search.share
57
+ - header.autohide
58
+ - content.code.copy
59
+ - content.code.annotate
60
+ - content.tabs.link
61
+ - content.tooltips
62
+ - content.action.edit
63
+ - content.action.view
64
+
65
+ # Plugins
66
+ plugins:
67
+ - search:
68
+ separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
69
+ - tags
70
+
71
+ # Extensions
72
+ markdown_extensions:
73
+ - abbr
74
+ - admonition
75
+ - attr_list
76
+ - def_list
77
+ - footnotes
78
+ - md_in_html
79
+ - tables
80
+ - toc:
81
+ permalink: true
82
+ title: On this page
83
+
84
+ - pymdownx.arithmatex:
85
+ generic: true
86
+ - pymdownx.betterem:
87
+ smart_enable: all
88
+ - pymdownx.caret
89
+ - pymdownx.critic
90
+ - pymdownx.details
91
+ - pymdownx.emoji:
92
+ emoji_generator: !!python/name:material.extensions.emoji.to_svg
93
+ emoji_index: !!python/name:material.extensions.emoji.twemoji
94
+ - pymdownx.highlight:
95
+ anchor_linenums: true
96
+ line_spans: __span
97
+ pygments_lang_class: true
98
+ - pymdownx.inlinehilite
99
+ - pymdownx.keys
100
+ - pymdownx.magiclink:
101
+ repo_url_shorthand: true
102
+ user: madbomber
103
+ repo: robot_lab-a2a
104
+ normalize_issue_symbols: true
105
+ - pymdownx.mark
106
+ - pymdownx.smartsymbols
107
+ - pymdownx.snippets:
108
+ check_paths: true
109
+ - pymdownx.superfences:
110
+ custom_fences:
111
+ - name: mermaid
112
+ class: mermaid
113
+ format: !!python/name:pymdownx.superfences.fence_code_format
114
+ - pymdownx.tabbed:
115
+ alternate_style: true
116
+ - pymdownx.tasklist:
117
+ custom_checkbox: true
118
+ - pymdownx.tilde
119
+
120
+ # Extra CSS
121
+ extra_css:
122
+ - assets/css/custom.css
123
+
124
+ # Social media and extra configuration
125
+ extra:
126
+ social:
127
+ - icon: fontawesome/brands/github
128
+ link: https://github.com/MadBomber/robot_lab-a2a
129
+ name: robot_lab-a2a on GitHub
130
+ - icon: fontawesome/solid/gem
131
+ link: https://rubygems.org/gems/robot_lab-a2a
132
+ name: robot_lab-a2a on RubyGems
133
+
134
+ analytics:
135
+ feedback:
136
+ title: Was this page helpful?
137
+ ratings:
138
+ - icon: material/emoticon-happy-outline
139
+ name: This page was helpful
140
+ data: 1
141
+ note: Thanks for your feedback!
142
+ - icon: material/emoticon-sad-outline
143
+ name: This page could be improved
144
+ data: 0
145
+ note: Thanks for your feedback! Help us improve by creating an issue.
146
+
147
+ # Navigation
148
+ nav:
149
+ - Home: index.md
150
+ - Getting Started: getting-started.md
151
+ - Interactive Modes: interactive-modes.md
152
+ - Server API: server-api.md
153
+ - Examples: examples.md
metadata ADDED
@@ -0,0 +1,128 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: robot_lab-a2a
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Dewayne VanHoozer
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rack
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: robot_lab
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: simple_a2a
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.3'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.3'
54
+ description: Exposes RobotLab robots and networks as A2A agents over HTTP+SSE. Implements
55
+ the Agent2Agent Protocol v1.0 (Linux Foundation) via the simple_a2a gem. Supports
56
+ sync and interactive execution modes, bridging RobotLab's AskUser tool to A2A's
57
+ input_required/resume lifecycle for multi-turn flows without a terminal dependency.
58
+ email:
59
+ - dvanhoozer@gmail.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - ".envrc"
65
+ - ".github/workflows/deploy-github-pages.yml"
66
+ - ".rubocop.yml"
67
+ - CHANGELOG.md
68
+ - COMMITS.md
69
+ - LICENSE.txt
70
+ - README.md
71
+ - Rakefile
72
+ - docs/assets/images/architecture.png
73
+ - docs/assets/images/architecture.svg
74
+ - docs/examples.md
75
+ - docs/getting-started.md
76
+ - docs/index.md
77
+ - docs/interactive-modes.md
78
+ - docs/server-api.md
79
+ - examples/01_sync_robot/client.rb
80
+ - examples/01_sync_robot/server.rb
81
+ - examples/02_interactive_a2a_tool/client.rb
82
+ - examples/02_interactive_a2a_tool/server.rb
83
+ - examples/03_robot_network/client.rb
84
+ - examples/03_robot_network/server.rb
85
+ - examples/04_io_bridge/client.rb
86
+ - examples/04_io_bridge/server.rb
87
+ - examples/05_multi_agent/client.rb
88
+ - examples/05_multi_agent/server.rb
89
+ - examples/06_rack_mount/client.rb
90
+ - examples/06_rack_mount/config.ru
91
+ - examples/06_rack_mount/server.rb
92
+ - examples/common_config.rb
93
+ - examples/run
94
+ - lib/robot_lab/a2a.rb
95
+ - lib/robot_lab/a2a/ask_user_tool.rb
96
+ - lib/robot_lab/a2a/io_bridge.rb
97
+ - lib/robot_lab/a2a/network_adapter.rb
98
+ - lib/robot_lab/a2a/registry.rb
99
+ - lib/robot_lab/a2a/robot_adapter.rb
100
+ - lib/robot_lab/a2a/server.rb
101
+ - lib/robot_lab/a2a/version.rb
102
+ - mkdocs.yml
103
+ homepage: https://github.com/MadBomber/robot_lab-a2a
104
+ licenses:
105
+ - MIT
106
+ metadata:
107
+ homepage_uri: https://github.com/MadBomber/robot_lab-a2a
108
+ source_code_uri: https://github.com/MadBomber/robot_lab-a2a
109
+ changelog_uri: https://github.com/MadBomber/robot_lab-a2a/blob/main/CHANGELOG.md
110
+ rubygems_mfa_required: 'true'
111
+ rdoc_options: []
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 3.2.0
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ requirements: []
125
+ rubygems_version: 4.0.11
126
+ specification_version: 4
127
+ summary: Agent2Agent (A2A) protocol adapter for RobotLab
128
+ test_files: []