robot_lab 0.2.1 → 0.2.7

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 (236) hide show
  1. checksums.yaml +4 -4
  2. data/.envrc +1 -0
  3. data/.loki +60 -0
  4. data/.quality/reek_baseline.txt +43 -0
  5. data/.rubocop.yml +5 -167
  6. data/CHANGELOG.md +54 -0
  7. data/README.md +185 -64
  8. data/Rakefile +28 -12
  9. data/docs/api/core/index.md +41 -14
  10. data/docs/api/core/memory.md +247 -29
  11. data/docs/api/core/network.md +285 -33
  12. data/docs/api/core/result.md +120 -32
  13. data/docs/api/core/robot.md +636 -60
  14. data/docs/api/core/state.md +87 -197
  15. data/docs/api/core/tool.md +165 -20
  16. data/docs/api/errors.md +152 -14
  17. data/docs/api/hooks.md +469 -0
  18. data/docs/api/index.md +83 -7
  19. data/docs/api/mcp/client.md +129 -35
  20. data/docs/api/mcp/index.md +164 -23
  21. data/docs/api/mcp/server.md +27 -3
  22. data/docs/api/mcp/transports.md +94 -22
  23. data/docs/api/messages/index.md +26 -3
  24. data/docs/api/messages/text-message.md +33 -11
  25. data/docs/api/messages/tool-call-message.md +27 -4
  26. data/docs/api/messages/tool-result-message.md +23 -4
  27. data/docs/api/messages/user-message.md +45 -8
  28. data/docs/api/skills.md +519 -0
  29. data/docs/api/streaming/context.md +28 -5
  30. data/docs/api/streaming/index.md +57 -11
  31. data/docs/api/support.md +846 -0
  32. data/docs/architecture/core-concepts.md +118 -30
  33. data/docs/architecture/index.md +86 -11
  34. data/docs/architecture/message-flow.md +66 -29
  35. data/docs/architecture/network-orchestration.md +153 -38
  36. data/docs/architecture/robot-execution.md +173 -91
  37. data/docs/architecture/state-management.md +31 -12
  38. data/docs/concepts.md +176 -21
  39. data/docs/examples/basic-chat.md +72 -19
  40. data/docs/examples/index.md +117 -31
  41. data/docs/examples/mcp-server.md +154 -45
  42. data/docs/examples/multi-robot-network.md +91 -21
  43. data/docs/examples/tool-usage.md +104 -37
  44. data/docs/getting-started/configuration.md +299 -93
  45. data/docs/getting-started/installation.md +53 -41
  46. data/docs/getting-started/quick-start.md +51 -6
  47. data/docs/guides/building-robots.md +296 -50
  48. data/docs/guides/creating-networks.md +220 -31
  49. data/docs/guides/hooks.md +1084 -0
  50. data/docs/guides/index.md +5 -0
  51. data/docs/guides/knowledge.md +37 -6
  52. data/docs/guides/mcp-integration.md +211 -44
  53. data/docs/guides/memory.md +103 -12
  54. data/docs/guides/observability.md +166 -51
  55. data/docs/guides/streaming.md +184 -125
  56. data/docs/guides/using-tools.md +300 -11
  57. data/docs/index.md +37 -5
  58. data/examples/01_simple_robot.rb +2 -2
  59. data/examples/02_tools.rb +14 -4
  60. data/examples/03_network.rb +23 -9
  61. data/examples/04_mcp.rb +11 -4
  62. data/examples/05_streaming.rb +8 -5
  63. data/examples/06_prompt_templates.rb +13 -9
  64. data/examples/07_network_memory.rb +5 -5
  65. data/examples/08_llm_config.rb +20 -15
  66. data/examples/09_chaining.rb +4 -4
  67. data/examples/11_network_introspection.rb +4 -4
  68. data/examples/12_message_bus.rb +2 -2
  69. data/examples/13_spawn.rb +2 -2
  70. data/examples/14_rusty_circuit/README.md +1 -0
  71. data/examples/14_rusty_circuit/comic.rb +7 -3
  72. data/examples/14_rusty_circuit/display.rb +14 -0
  73. data/examples/14_rusty_circuit/heckler.rb +8 -6
  74. data/examples/14_rusty_circuit/open_mic.rb +17 -6
  75. data/examples/14_rusty_circuit/scout.rb +17 -10
  76. data/examples/15_memory_network_and_bus/editorial_pipeline.rb +14 -10
  77. data/examples/15_memory_network_and_bus/linux_writer.rb +2 -2
  78. data/examples/15_memory_network_and_bus/os_editor.rb +3 -1
  79. data/examples/15_memory_network_and_bus/os_writer.rb +4 -1
  80. data/examples/16_writers_room/writer.rb +22 -22
  81. data/examples/16_writers_room/writers_room.rb +2 -0
  82. data/examples/17_skills.rb +14 -13
  83. data/examples/18_rails/README.md +20 -1
  84. data/examples/18_rails/app/controllers/chat_controller.rb +5 -1
  85. data/examples/18_rails/app/jobs/robot_run_job.rb +11 -5
  86. data/examples/18_rails/app/robots/chat_robot.rb +11 -0
  87. data/examples/18_rails/config/initializers/robot_lab.rb +8 -0
  88. data/examples/19_token_tracking.rb +25 -9
  89. data/examples/20_circuit_breaker.rb +10 -7
  90. data/examples/21_learning_loop.rb +42 -16
  91. data/examples/22_context_compression.rb +23 -23
  92. data/examples/23_convergence.rb +24 -17
  93. data/examples/24_structured_delegation.rb +13 -8
  94. data/examples/25_history_search.rb +12 -8
  95. data/examples/27_incident_response/incident_response.rb +31 -13
  96. data/examples/28_mcp_discovery.rb +17 -13
  97. data/examples/29_ractor_tools.rb +4 -2
  98. data/examples/30_ractor_network.rb +22 -17
  99. data/examples/31_launch_assessment.rb +20 -9
  100. data/examples/32_newsletter_reader.rb +7 -2
  101. data/examples/33_stock_predictor.rb +34 -13
  102. data/examples/34_agentskills.rb +7 -3
  103. data/examples/35_hooks.rb +266 -0
  104. data/examples/README.md +203 -42
  105. data/examples/common.rb +79 -7
  106. data/examples/xyzzy.rb +97 -0
  107. data/lib/robot_lab/agent_skill.rb +5 -4
  108. data/lib/robot_lab/budget/ledger.rb +98 -0
  109. data/lib/robot_lab/capabilities.rb +84 -0
  110. data/lib/robot_lab/config/defaults.yml +10 -0
  111. data/lib/robot_lab/config.rb +14 -9
  112. data/lib/robot_lab/error.rb +34 -4
  113. data/lib/robot_lab/errors.rb +45 -0
  114. data/lib/robot_lab/hook.rb +79 -0
  115. data/lib/robot_lab/hook_context.rb +194 -0
  116. data/lib/robot_lab/hook_registry.rb +55 -0
  117. data/lib/robot_lab/hooks.rb +87 -0
  118. data/lib/robot_lab/mcp/connection_poller.rb +2 -2
  119. data/lib/robot_lab/names.rb +402 -0
  120. data/lib/robot_lab/narrator.rb +87 -0
  121. data/lib/robot_lab/network.rb +77 -20
  122. data/lib/robot_lab/robot/agent_skill_matching.rb +1 -3
  123. data/lib/robot_lab/robot/budget.rb +89 -0
  124. data/lib/robot_lab/robot/bus_messaging.rb +90 -18
  125. data/lib/robot_lab/robot/hooking.rb +56 -0
  126. data/lib/robot_lab/robot/mcp_management.rb +8 -2
  127. data/lib/robot_lab/robot/template_rendering.rb +18 -5
  128. data/lib/robot_lab/robot.rb +233 -89
  129. data/lib/robot_lab/run_config.rb +24 -5
  130. data/lib/robot_lab/runnable.rb +51 -0
  131. data/lib/robot_lab/sandbox/null.rb +13 -0
  132. data/lib/robot_lab/sandbox/seatbelt.rb +104 -0
  133. data/lib/robot_lab/sandbox.rb +52 -0
  134. data/lib/robot_lab/script_tool.rb +60 -2
  135. data/lib/robot_lab/task.rb +26 -20
  136. data/lib/robot_lab/tool.rb +52 -11
  137. data/lib/robot_lab/version.rb +1 -1
  138. data/lib/robot_lab.rb +70 -15
  139. data/mkdocs.yml +7 -1
  140. metadata +41 -99
  141. data/examples/temp.md +0 -51
  142. data/site/404.html +0 -2300
  143. data/site/api/core/index.html +0 -2706
  144. data/site/api/core/memory/index.html +0 -3793
  145. data/site/api/core/network/index.html +0 -3500
  146. data/site/api/core/robot/index.html +0 -4566
  147. data/site/api/core/state/index.html +0 -3390
  148. data/site/api/core/tool/index.html +0 -3843
  149. data/site/api/index.html +0 -2635
  150. data/site/api/mcp/client/index.html +0 -3435
  151. data/site/api/mcp/index.html +0 -2783
  152. data/site/api/mcp/server/index.html +0 -3252
  153. data/site/api/mcp/transports/index.html +0 -3352
  154. data/site/api/messages/index.html +0 -2641
  155. data/site/api/messages/text-message/index.html +0 -3087
  156. data/site/api/messages/tool-call-message/index.html +0 -3159
  157. data/site/api/messages/tool-result-message/index.html +0 -3252
  158. data/site/api/messages/user-message/index.html +0 -3212
  159. data/site/api/streaming/context/index.html +0 -3282
  160. data/site/api/streaming/events/index.html +0 -3347
  161. data/site/api/streaming/index.html +0 -2738
  162. data/site/architecture/core-concepts/index.html +0 -3757
  163. data/site/architecture/index.html +0 -2797
  164. data/site/architecture/message-flow/index.html +0 -3238
  165. data/site/architecture/network-orchestration/index.html +0 -3433
  166. data/site/architecture/robot-execution/index.html +0 -3140
  167. data/site/architecture/state-management/index.html +0 -3498
  168. data/site/assets/css/custom.css +0 -56
  169. data/site/assets/images/favicon.png +0 -0
  170. data/site/assets/images/robot_lab.jpg +0 -0
  171. data/site/assets/javascripts/bundle.79ae519e.min.js +0 -16
  172. data/site/assets/javascripts/bundle.79ae519e.min.js.map +0 -7
  173. data/site/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  174. data/site/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  175. data/site/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  176. data/site/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  177. data/site/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  178. data/site/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  179. data/site/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  180. data/site/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  181. data/site/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  182. data/site/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  183. data/site/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  184. data/site/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  185. data/site/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  186. data/site/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  187. data/site/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  188. data/site/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  189. data/site/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  190. data/site/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  191. data/site/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  192. data/site/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  193. data/site/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  194. data/site/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  195. data/site/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  196. data/site/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  197. data/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  198. data/site/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  199. data/site/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  200. data/site/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  201. data/site/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  202. data/site/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  203. data/site/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  204. data/site/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  205. data/site/assets/javascripts/lunr/tinyseg.js +0 -206
  206. data/site/assets/javascripts/lunr/wordcut.js +0 -6708
  207. data/site/assets/javascripts/workers/search.2c215733.min.js +0 -42
  208. data/site/assets/javascripts/workers/search.2c215733.min.js.map +0 -7
  209. data/site/assets/stylesheets/main.484c7ddc.min.css +0 -1
  210. data/site/assets/stylesheets/main.484c7ddc.min.css.map +0 -1
  211. data/site/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
  212. data/site/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
  213. data/site/concepts/index.html +0 -3455
  214. data/site/examples/basic-chat/index.html +0 -2880
  215. data/site/examples/index.html +0 -2907
  216. data/site/examples/mcp-server/index.html +0 -3018
  217. data/site/examples/multi-robot-network/index.html +0 -3131
  218. data/site/examples/rails-application/index.html +0 -3329
  219. data/site/examples/tool-usage/index.html +0 -3085
  220. data/site/getting-started/configuration/index.html +0 -3745
  221. data/site/getting-started/index.html +0 -2572
  222. data/site/getting-started/installation/index.html +0 -2981
  223. data/site/getting-started/quick-start/index.html +0 -2942
  224. data/site/guides/building-robots/index.html +0 -4290
  225. data/site/guides/creating-networks/index.html +0 -3858
  226. data/site/guides/index.html +0 -2586
  227. data/site/guides/mcp-integration/index.html +0 -3581
  228. data/site/guides/memory/index.html +0 -3586
  229. data/site/guides/rails-integration/index.html +0 -4019
  230. data/site/guides/streaming/index.html +0 -3157
  231. data/site/guides/using-tools/index.html +0 -3802
  232. data/site/index.html +0 -2671
  233. data/site/search/search_index.json +0 -1
  234. data/site/sitemap.xml +0 -183
  235. data/site/sitemap.xml.gz +0 -0
  236. data/site/tags.json +0 -1
data/site/sitemap.xml DELETED
@@ -1,183 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
- <url>
4
- <loc>https://madbomber.github.io/robot_lab/</loc>
5
- <lastmod>2026-02-22</lastmod>
6
- </url>
7
- <url>
8
- <loc>https://madbomber.github.io/robot_lab/concepts/</loc>
9
- <lastmod>2026-02-22</lastmod>
10
- </url>
11
- <url>
12
- <loc>https://madbomber.github.io/robot_lab/api/</loc>
13
- <lastmod>2026-02-22</lastmod>
14
- </url>
15
- <url>
16
- <loc>https://madbomber.github.io/robot_lab/api/core/</loc>
17
- <lastmod>2026-02-22</lastmod>
18
- </url>
19
- <url>
20
- <loc>https://madbomber.github.io/robot_lab/api/core/memory/</loc>
21
- <lastmod>2026-02-22</lastmod>
22
- </url>
23
- <url>
24
- <loc>https://madbomber.github.io/robot_lab/api/core/network/</loc>
25
- <lastmod>2026-02-22</lastmod>
26
- </url>
27
- <url>
28
- <loc>https://madbomber.github.io/robot_lab/api/core/robot/</loc>
29
- <lastmod>2026-02-22</lastmod>
30
- </url>
31
- <url>
32
- <loc>https://madbomber.github.io/robot_lab/api/core/state/</loc>
33
- <lastmod>2026-02-22</lastmod>
34
- </url>
35
- <url>
36
- <loc>https://madbomber.github.io/robot_lab/api/core/tool/</loc>
37
- <lastmod>2026-02-22</lastmod>
38
- </url>
39
- <url>
40
- <loc>https://madbomber.github.io/robot_lab/api/mcp/</loc>
41
- <lastmod>2026-02-22</lastmod>
42
- </url>
43
- <url>
44
- <loc>https://madbomber.github.io/robot_lab/api/mcp/client/</loc>
45
- <lastmod>2026-02-22</lastmod>
46
- </url>
47
- <url>
48
- <loc>https://madbomber.github.io/robot_lab/api/mcp/server/</loc>
49
- <lastmod>2026-02-22</lastmod>
50
- </url>
51
- <url>
52
- <loc>https://madbomber.github.io/robot_lab/api/mcp/transports/</loc>
53
- <lastmod>2026-02-22</lastmod>
54
- </url>
55
- <url>
56
- <loc>https://madbomber.github.io/robot_lab/api/messages/</loc>
57
- <lastmod>2026-02-22</lastmod>
58
- </url>
59
- <url>
60
- <loc>https://madbomber.github.io/robot_lab/api/messages/text-message/</loc>
61
- <lastmod>2026-02-22</lastmod>
62
- </url>
63
- <url>
64
- <loc>https://madbomber.github.io/robot_lab/api/messages/tool-call-message/</loc>
65
- <lastmod>2026-02-22</lastmod>
66
- </url>
67
- <url>
68
- <loc>https://madbomber.github.io/robot_lab/api/messages/tool-result-message/</loc>
69
- <lastmod>2026-02-22</lastmod>
70
- </url>
71
- <url>
72
- <loc>https://madbomber.github.io/robot_lab/api/messages/user-message/</loc>
73
- <lastmod>2026-02-22</lastmod>
74
- </url>
75
- <url>
76
- <loc>https://madbomber.github.io/robot_lab/api/streaming/</loc>
77
- <lastmod>2026-02-22</lastmod>
78
- </url>
79
- <url>
80
- <loc>https://madbomber.github.io/robot_lab/api/streaming/context/</loc>
81
- <lastmod>2026-02-22</lastmod>
82
- </url>
83
- <url>
84
- <loc>https://madbomber.github.io/robot_lab/api/streaming/events/</loc>
85
- <lastmod>2026-02-22</lastmod>
86
- </url>
87
- <url>
88
- <loc>https://madbomber.github.io/robot_lab/architecture/</loc>
89
- <lastmod>2026-02-22</lastmod>
90
- </url>
91
- <url>
92
- <loc>https://madbomber.github.io/robot_lab/architecture/core-concepts/</loc>
93
- <lastmod>2026-02-22</lastmod>
94
- </url>
95
- <url>
96
- <loc>https://madbomber.github.io/robot_lab/architecture/message-flow/</loc>
97
- <lastmod>2026-02-22</lastmod>
98
- </url>
99
- <url>
100
- <loc>https://madbomber.github.io/robot_lab/architecture/network-orchestration/</loc>
101
- <lastmod>2026-02-22</lastmod>
102
- </url>
103
- <url>
104
- <loc>https://madbomber.github.io/robot_lab/architecture/robot-execution/</loc>
105
- <lastmod>2026-02-22</lastmod>
106
- </url>
107
- <url>
108
- <loc>https://madbomber.github.io/robot_lab/architecture/state-management/</loc>
109
- <lastmod>2026-02-22</lastmod>
110
- </url>
111
- <url>
112
- <loc>https://madbomber.github.io/robot_lab/examples/</loc>
113
- <lastmod>2026-02-22</lastmod>
114
- </url>
115
- <url>
116
- <loc>https://madbomber.github.io/robot_lab/examples/basic-chat/</loc>
117
- <lastmod>2026-02-22</lastmod>
118
- </url>
119
- <url>
120
- <loc>https://madbomber.github.io/robot_lab/examples/mcp-server/</loc>
121
- <lastmod>2026-02-22</lastmod>
122
- </url>
123
- <url>
124
- <loc>https://madbomber.github.io/robot_lab/examples/multi-robot-network/</loc>
125
- <lastmod>2026-02-22</lastmod>
126
- </url>
127
- <url>
128
- <loc>https://madbomber.github.io/robot_lab/examples/rails-application/</loc>
129
- <lastmod>2026-02-22</lastmod>
130
- </url>
131
- <url>
132
- <loc>https://madbomber.github.io/robot_lab/examples/tool-usage/</loc>
133
- <lastmod>2026-02-22</lastmod>
134
- </url>
135
- <url>
136
- <loc>https://madbomber.github.io/robot_lab/getting-started/</loc>
137
- <lastmod>2026-02-22</lastmod>
138
- </url>
139
- <url>
140
- <loc>https://madbomber.github.io/robot_lab/getting-started/configuration/</loc>
141
- <lastmod>2026-02-22</lastmod>
142
- </url>
143
- <url>
144
- <loc>https://madbomber.github.io/robot_lab/getting-started/installation/</loc>
145
- <lastmod>2026-02-22</lastmod>
146
- </url>
147
- <url>
148
- <loc>https://madbomber.github.io/robot_lab/getting-started/quick-start/</loc>
149
- <lastmod>2026-02-22</lastmod>
150
- </url>
151
- <url>
152
- <loc>https://madbomber.github.io/robot_lab/guides/</loc>
153
- <lastmod>2026-02-22</lastmod>
154
- </url>
155
- <url>
156
- <loc>https://madbomber.github.io/robot_lab/guides/building-robots/</loc>
157
- <lastmod>2026-02-22</lastmod>
158
- </url>
159
- <url>
160
- <loc>https://madbomber.github.io/robot_lab/guides/creating-networks/</loc>
161
- <lastmod>2026-02-22</lastmod>
162
- </url>
163
- <url>
164
- <loc>https://madbomber.github.io/robot_lab/guides/mcp-integration/</loc>
165
- <lastmod>2026-02-22</lastmod>
166
- </url>
167
- <url>
168
- <loc>https://madbomber.github.io/robot_lab/guides/memory/</loc>
169
- <lastmod>2026-02-22</lastmod>
170
- </url>
171
- <url>
172
- <loc>https://madbomber.github.io/robot_lab/guides/rails-integration/</loc>
173
- <lastmod>2026-02-22</lastmod>
174
- </url>
175
- <url>
176
- <loc>https://madbomber.github.io/robot_lab/guides/streaming/</loc>
177
- <lastmod>2026-02-22</lastmod>
178
- </url>
179
- <url>
180
- <loc>https://madbomber.github.io/robot_lab/guides/using-tools/</loc>
181
- <lastmod>2026-02-22</lastmod>
182
- </url>
183
- </urlset>
data/site/sitemap.xml.gz DELETED
Binary file
data/site/tags.json DELETED
@@ -1 +0,0 @@
1
- {"mappings": []}