roast-ai 0.4.10 → 0.5.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 (173) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/commands/docs/write-comments.md +36 -0
  3. data/.github/CODEOWNERS +1 -1
  4. data/.github/workflows/ci.yaml +10 -6
  5. data/.gitignore +0 -1
  6. data/.rubocop.yml +7 -1
  7. data/CLAUDE.md +2 -2
  8. data/CONTRIBUTING.md +2 -0
  9. data/Gemfile +19 -18
  10. data/Gemfile.lock +35 -58
  11. data/README.md +118 -1432
  12. data/README_LEGACY.md +1464 -0
  13. data/Rakefile +39 -4
  14. data/dev.yml +29 -0
  15. data/dsl/agent_sessions.rb +20 -0
  16. data/dsl/async_cogs.rb +49 -0
  17. data/dsl/async_cogs_complex.rb +67 -0
  18. data/dsl/call.rb +44 -0
  19. data/dsl/collect_from.rb +72 -0
  20. data/dsl/json_output.rb +28 -0
  21. data/dsl/map.rb +55 -0
  22. data/dsl/map_reduce.rb +37 -0
  23. data/dsl/map_with_index.rb +49 -0
  24. data/dsl/next_break.rb +40 -0
  25. data/dsl/next_break_parallel.rb +44 -0
  26. data/dsl/outputs.rb +39 -0
  27. data/dsl/outputs_bang.rb +36 -0
  28. data/dsl/parallel_map.rb +37 -0
  29. data/dsl/prompts/simple_prompt.md.erb +3 -0
  30. data/dsl/prototype.rb +5 -7
  31. data/dsl/repeat_loop_results.rb +53 -0
  32. data/dsl/ruby_cog.rb +72 -0
  33. data/dsl/simple_agent.rb +18 -0
  34. data/dsl/simple_chat.rb +15 -1
  35. data/dsl/simple_repeat.rb +29 -0
  36. data/dsl/skip.rb +36 -0
  37. data/dsl/step_communication.rb +2 -3
  38. data/dsl/targets_and_params.rb +57 -0
  39. data/dsl/temperature.rb +17 -0
  40. data/dsl/temporary_directory.rb +22 -0
  41. data/dsl/tutorial/01_your_first_workflow/README.md +179 -0
  42. data/dsl/tutorial/01_your_first_workflow/configured_chat.rb +33 -0
  43. data/dsl/tutorial/01_your_first_workflow/hello.rb +23 -0
  44. data/dsl/tutorial/02_chaining_cogs/README.md +310 -0
  45. data/dsl/tutorial/02_chaining_cogs/code_review.rb +104 -0
  46. data/dsl/tutorial/02_chaining_cogs/session_resumption.rb +92 -0
  47. data/dsl/tutorial/02_chaining_cogs/simple_chain.rb +84 -0
  48. data/dsl/tutorial/03_targets_and_params/README.md +230 -0
  49. data/dsl/tutorial/03_targets_and_params/multiple_targets.rb +65 -0
  50. data/dsl/tutorial/03_targets_and_params/single_target.rb +65 -0
  51. data/dsl/tutorial/04_configuration_options/README.md +209 -0
  52. data/dsl/tutorial/04_configuration_options/control_display_and_temperature.rb +104 -0
  53. data/dsl/tutorial/04_configuration_options/simple_config.rb +68 -0
  54. data/dsl/tutorial/05_control_flow/README.md +156 -0
  55. data/dsl/tutorial/05_control_flow/conditional_execution.rb +62 -0
  56. data/dsl/tutorial/05_control_flow/handling_failures.rb +77 -0
  57. data/dsl/tutorial/06_reusable_scopes/README.md +172 -0
  58. data/dsl/tutorial/06_reusable_scopes/accessing_scope_outputs.rb +126 -0
  59. data/dsl/tutorial/06_reusable_scopes/basic_scope.rb +63 -0
  60. data/dsl/tutorial/06_reusable_scopes/parameterized_scope.rb +78 -0
  61. data/dsl/tutorial/07_processing_collections/README.md +152 -0
  62. data/dsl/tutorial/07_processing_collections/basic_map.rb +70 -0
  63. data/dsl/tutorial/07_processing_collections/parallel_map.rb +74 -0
  64. data/dsl/tutorial/08_iterative_workflows/README.md +231 -0
  65. data/dsl/tutorial/08_iterative_workflows/basic_repeat.rb +57 -0
  66. data/dsl/tutorial/08_iterative_workflows/conditional_break.rb +57 -0
  67. data/dsl/tutorial/09_async_cogs/README.md +197 -0
  68. data/dsl/tutorial/09_async_cogs/basic_async.rb +38 -0
  69. data/dsl/tutorial/README.md +222 -0
  70. data/dsl/working_directory.rb +16 -0
  71. data/exe/roast +1 -1
  72. data/internal/documentation/architectural-notes.md +115 -0
  73. data/internal/documentation/doc-comments-external.md +686 -0
  74. data/internal/documentation/doc-comments-internal.md +342 -0
  75. data/internal/documentation/doc-comments.md +211 -0
  76. data/lib/roast/dsl/cog/config.rb +274 -3
  77. data/lib/roast/dsl/cog/input.rb +53 -10
  78. data/lib/roast/dsl/cog/output.rb +297 -8
  79. data/lib/roast/dsl/cog/registry.rb +35 -3
  80. data/lib/roast/dsl/cog/stack.rb +1 -1
  81. data/lib/roast/dsl/cog/store.rb +5 -5
  82. data/lib/roast/dsl/cog.rb +70 -14
  83. data/lib/roast/dsl/cog_input_context.rb +36 -1
  84. data/lib/roast/dsl/cog_input_manager.rb +116 -7
  85. data/lib/roast/dsl/cogs/agent/config.rb +465 -0
  86. data/lib/roast/dsl/cogs/agent/input.rb +81 -0
  87. data/lib/roast/dsl/cogs/agent/output.rb +59 -0
  88. data/lib/roast/dsl/cogs/agent/provider.rb +51 -0
  89. data/lib/roast/dsl/cogs/agent/providers/claude/claude_invocation.rb +185 -0
  90. data/lib/roast/dsl/cogs/agent/providers/claude/message.rb +73 -0
  91. data/lib/roast/dsl/cogs/agent/providers/claude/messages/assistant_message.rb +36 -0
  92. data/lib/roast/dsl/cogs/agent/providers/claude/messages/result_message.rb +61 -0
  93. data/lib/roast/dsl/cogs/agent/providers/claude/messages/system_message.rb +47 -0
  94. data/lib/roast/dsl/cogs/agent/providers/claude/messages/text_message.rb +36 -0
  95. data/lib/roast/dsl/cogs/agent/providers/claude/messages/tool_result_message.rb +47 -0
  96. data/lib/roast/dsl/cogs/agent/providers/claude/messages/tool_use_message.rb +46 -0
  97. data/lib/roast/dsl/cogs/agent/providers/claude/messages/unknown_message.rb +27 -0
  98. data/lib/roast/dsl/cogs/agent/providers/claude/messages/user_message.rb +37 -0
  99. data/lib/roast/dsl/cogs/agent/providers/claude/tool_result.rb +51 -0
  100. data/lib/roast/dsl/cogs/agent/providers/claude/tool_use.rb +48 -0
  101. data/lib/roast/dsl/cogs/agent/providers/claude.rb +31 -0
  102. data/lib/roast/dsl/cogs/agent/stats.rb +92 -0
  103. data/lib/roast/dsl/cogs/agent/usage.rb +62 -0
  104. data/lib/roast/dsl/cogs/agent.rb +75 -0
  105. data/lib/roast/dsl/cogs/chat/config.rb +453 -0
  106. data/lib/roast/dsl/cogs/chat/input.rb +92 -0
  107. data/lib/roast/dsl/cogs/chat/output.rb +64 -0
  108. data/lib/roast/dsl/cogs/chat/session.rb +68 -0
  109. data/lib/roast/dsl/cogs/chat.rb +59 -56
  110. data/lib/roast/dsl/cogs/cmd.rb +248 -61
  111. data/lib/roast/dsl/cogs/ruby.rb +171 -0
  112. data/lib/roast/dsl/command_runner.rb +191 -0
  113. data/lib/roast/dsl/config_manager.rb +58 -11
  114. data/lib/roast/dsl/control_flow.rb +41 -0
  115. data/lib/roast/dsl/execution_manager.rb +162 -32
  116. data/lib/roast/dsl/nil_assertions.rb +23 -0
  117. data/lib/roast/dsl/system_cog/params.rb +32 -0
  118. data/lib/roast/dsl/system_cog.rb +36 -0
  119. data/lib/roast/dsl/system_cogs/call.rb +162 -0
  120. data/lib/roast/dsl/system_cogs/map.rb +448 -0
  121. data/lib/roast/dsl/system_cogs/repeat.rb +242 -0
  122. data/lib/roast/dsl/workflow.rb +26 -16
  123. data/lib/roast/dsl/workflow_context.rb +20 -0
  124. data/lib/roast/dsl/workflow_params.rb +24 -0
  125. data/lib/roast/sorbet_runtime_stub.rb +154 -0
  126. data/lib/roast/tools/apply_diff.rb +1 -3
  127. data/lib/roast/tools/cmd.rb +4 -3
  128. data/lib/roast/tools/read_file.rb +1 -1
  129. data/lib/roast/tools/update_files.rb +1 -1
  130. data/lib/roast/tools/write_file.rb +1 -1
  131. data/lib/roast/version.rb +1 -1
  132. data/lib/roast/workflow/base_workflow.rb +4 -0
  133. data/lib/roast/workflow/step_loader.rb +14 -2
  134. data/lib/roast-ai.rb +4 -0
  135. data/lib/roast.rb +58 -21
  136. data/{roast.gemspec → roast-ai.gemspec} +9 -13
  137. data/sorbet/rbi/gems/async@2.34.0.rbi +1577 -0
  138. data/sorbet/rbi/gems/cli-kit@5.2.0.rbi +2063 -0
  139. data/sorbet/rbi/gems/{cli-ui@2.3.0.rbi → cli-ui@2.7.0-6bdefd1d06305e5d6ae312ac76f9c88f88658dda.rbi} +1418 -1013
  140. data/sorbet/rbi/gems/console@1.34.2.rbi +1193 -0
  141. data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +50 -0
  142. data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +35 -0
  143. data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +41 -0
  144. data/sorbet/rbi/gems/io-event@1.14.0.rbi +724 -0
  145. data/sorbet/rbi/gems/metrics@0.15.0.rbi +9 -0
  146. data/sorbet/rbi/gems/traces@0.18.2.rbi +9 -0
  147. data/sorbet/rbi/shims/lib/roast/dsl/cog_input_context.rbi +1185 -5
  148. data/sorbet/rbi/shims/lib/roast/dsl/config_context.rbi +311 -5
  149. data/sorbet/rbi/shims/lib/roast/dsl/execution_context.rbi +486 -5
  150. data/sorbet/tapioca/config.yml +6 -0
  151. data/sorbet/tapioca/require.rb +2 -0
  152. metadata +157 -30
  153. data/dsl/less_simple.rb +0 -112
  154. data/dsl/scoped_executors.rb +0 -28
  155. data/dsl/simple.rb +0 -8
  156. data/lib/roast/dsl/cogs/execute.rb +0 -46
  157. data/lib/roast/dsl/cogs/graph.rb +0 -53
  158. data/sorbet/rbi/gems/cgi@0.5.0.rbi +0 -2961
  159. data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +0 -568
  160. data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +0 -1991
  161. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +0 -672
  162. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +0 -1894
  163. data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +0 -659
  164. data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +0 -781
  165. data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +0 -1127
  166. data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +0 -3727
  167. data/sorbet/rbi/gems/dry-types@1.8.3.rbi +0 -3969
  168. data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +0 -1588
  169. data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +0 -136
  170. data/sorbet/rbi/gems/mime-types@3.7.0.rbi +0 -1342
  171. data/sorbet/rbi/gems/rack@2.2.19.rbi +0 -5676
  172. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  173. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18492
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef6e5b6234cde031dbec2498a1edfe20822de1afb336292ff0e55d3abada5748
4
- data.tar.gz: 26992714777862482a9935b7b924f7064db3eed24d3fb25b18b21ef7b741385c
3
+ metadata.gz: 2ee882d792c1c09ecc9a023aa1f26825dff3442a8c4152da789078157e26540e
4
+ data.tar.gz: 51d5d1238e32c5ad6ce9f3d24c3d224d0709da3f3da4e10905f75049dd02f6d7
5
5
  SHA512:
6
- metadata.gz: 4dc6d30fa71c300fb83ae5144e6fbd55ab7770b25534daa6dadc24c58484276d590951840d196b074038328db317adda90c885d3f6779cfadc0125348e40cf23
7
- data.tar.gz: 0d35f0494140641ec3c2a643e86f4b6b174adbbf44af866d617471c405b0247f51a45f53514488a28b4dbd6b0175ff87521752ffba663ab926e51259b7398eeb
6
+ metadata.gz: 440bdf957c01418d111bdea73de04b707baf7034f1277ddc5c78fa09ee68833cf1f4538d0f0a5eb691ece68f9c80ad9f159949b818658e4a97ef029a6ec999a3
7
+ data.tar.gz: dc01a98d049b9fae42a28697bb09eacf9dc0766c734eafa6bd1bc1402d8c50109d79d5e03304a3e9914e92a718a4fbbd5cf58cbb7beeeee46a643aa167090e5a
@@ -0,0 +1,36 @@
1
+ Write documentation comments for public methods in the specified file or class.
2
+
3
+ ## Arguments
4
+
5
+ Accepts either:
6
+ - A file path, like `lib/roast/dsl/cogs/chat/config.rb`
7
+ - A class name, like `Roast::DSL::Cogs::Chat::Config`
8
+
9
+ ## Task
10
+
11
+ Following the guidelines in `internal/documentation/`:
12
+
13
+ 1. **Determine documentation type:**
14
+ - For Config, Input, Output classes → Use `doc-comments-external.md` (user-facing, thorough)
15
+ - For cog classes, Params classes, `execute` methods, internal utilities → Use `doc-comments-internal.md` (developer-facing, concise)
16
+ - See `doc-comments.md` for the distinction
17
+
18
+ 2. Review existing documentation comments in the target file/class
19
+ 3. Write doc comments for any public methods that lack them
20
+ 4. Update existing doc comments to match current standards
21
+ 5. Cross-reference related methods (for user-facing documentation only)
22
+ 6. Replace any rough developer notes with polished documentation
23
+
24
+ **Note:** User-facing documentation should be thorough with `#### See Also` sections.
25
+ Developer-facing documentation should be concise without cross-references.
26
+
27
+ ## Important Constraints
28
+
29
+ - Only examine and modify files in the `lib/roast/dsl/` directory
30
+ - Only write/edit comments in the specific file or class requested
31
+ - Ignore `field` definitions in Config classes
32
+ - Do not modify any other files
33
+
34
+ ## Immediate Instructions
35
+
36
+ Operate on this file/class: $ARGUMENTS
data/.github/CODEOWNERS CHANGED
@@ -1,2 +1,2 @@
1
- * @nfgrep @dersam @obie @juniper-shopify
1
+ * @nfgrep @dersam @juniper-shopify @mathiusj
2
2
 
@@ -3,13 +3,16 @@ name: ci
3
3
  on:
4
4
  pull_request:
5
5
  branches:
6
- - main
6
+ - '**'
7
7
  push:
8
8
  branches:
9
9
  - main
10
10
  schedule:
11
11
  - cron: '45 4 * * *'
12
12
 
13
+ env:
14
+ CI: true
15
+
13
16
  jobs:
14
17
  rubies:
15
18
  strategy:
@@ -24,13 +27,14 @@ jobs:
24
27
  steps:
25
28
  - uses: actions/checkout@v4
26
29
  - name: Install dependencies
27
- run: sudo apt-get update && sudo apt-get install -y ripgrep graphviz
30
+ run: sudo apt-get update && sudo apt-get install -y ripgrep graphviz wamerican
28
31
  - uses: ruby/setup-ruby@v1
29
32
  with:
30
33
  ruby-version: ${{ matrix.ruby }}
31
34
  bundler-cache: true
32
- - run: bundle exec rake minitest_old
33
- - run: bundle exec rake minitest_functional
35
+ - run: bundle exec rake sorbet
34
36
  - run: bundle exec rake rubocop_ci
35
- - run: bin/srb tc
36
-
37
+ - run: bundle exec rake minitest_dsl_fast
38
+ - run: bundle exec rake minitest_dsl_slow
39
+ - run: bundle exec rake minitest_functional
40
+ - run: bundle exec rake minitest_old
data/.gitignore CHANGED
@@ -22,5 +22,4 @@ bin/claude-swarm
22
22
  coverage
23
23
 
24
24
  .dev
25
- dev.yml
26
25
  .shadowenv
data/.rubocop.yml CHANGED
@@ -20,6 +20,10 @@ AllCops:
20
20
  TargetRubyVersion: 3.4
21
21
  UseCache: true
22
22
 
23
+ Naming/FileName:
24
+ Exclude:
25
+ - "lib/roast-ai.rb"
26
+
23
27
  Sorbet/FalseSigil:
24
28
  Enabled: true
25
29
  Include:
@@ -27,12 +31,14 @@ Sorbet/FalseSigil:
27
31
  Exclude:
28
32
  - "test/**/*"
29
33
  - "examples/**/*"
34
+ - "lib/roast/sorbet_runtime_stub.rb"
30
35
 
31
36
  Roast/UseCmdRunner:
32
37
  Enabled: true
33
38
  Exclude:
34
39
  - 'lib/roast/helpers/cmd_runner.rb'
35
- - 'roast.gemspec'
40
+ - 'lib/roast/dsl/command_runner.rb'
41
+ - 'roast-ai.gemspec'
36
42
 
37
43
  Style/MethodCallWithArgsParentheses:
38
44
  Enabled: true
data/CLAUDE.md CHANGED
@@ -28,7 +28,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
28
28
  - Documentation: Include method/class documentation with examples when appropriate
29
29
  - Dependencies: Prefer existing gems in the Gemfile before adding new ones
30
30
  - Define class methods inside `class << self; end` declarations.
31
- - Add runtime dependencies to `roast.gemspec`.
31
+ - Add runtime dependencies to `roast-ai.gemspec`.
32
32
  - Add development dependencies to `Gemfile`.
33
33
  - Don't ever test private methods directly. Specs should test behavior, not implementation.
34
34
  - I do not like test-specific code embedded in production code, don't ever do that
@@ -264,4 +264,4 @@ gh project item-add {project_number} --url https://github.com/Shopify/roast/issu
264
264
  - To apply color to terminal output using CLI::UI, use the following syntax:
265
265
  ```ruby
266
266
  puts ::CLI::UI.fmt("{{red:This field is required. Please provide a value.}}")
267
- ```
267
+ ```
data/CONTRIBUTING.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # How to contribute
2
2
 
3
+ > **📢 Code Freeze Notice**: This project is currently under a limited code freeze while we work on an alternative frontend (a DSL). We are still accepting **bug fixes**, but **new features** will not be merged until the DSL is released. Thank you for your understanding!
4
+
3
5
  ## Things we will merge
4
6
 
5
7
  * Bugfixes
data/Gemfile CHANGED
@@ -4,23 +4,24 @@ source "https://rubygems.org"
4
4
 
5
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
7
- # Specify your gem's dependencies in roast.gemspec
7
+ # Specify your gem's dependencies in roast-ai.gemspec
8
8
  gemspec
9
9
 
10
- gem "cgi"
11
- gem "claude_swarm"
12
- gem "cli-ui", "2.3.0"
13
- gem "dotenv"
14
- gem "guard-minitest"
15
- gem "guard"
16
- gem "minitest-rg"
17
- gem "mocha"
18
- gem "rake", require: false
19
- gem "rubocop-shopify", require: false
20
- gem "rubocop-sorbet", require: false
21
- gem "ruby_llm"
22
- gem "simplecov", require: false
23
- gem "sorbet", require: false
24
- gem "tapioca", require: false
25
- gem "vcr", require: false
26
- gem "webmock", require: false
10
+ # TODO: remove this version pin when the next cli-ui version is released with this circular dependency fix
11
+ # https://github.com/Shopify/cli-ui/pull/606
12
+ gem "cli-ui", github: "Shopify/cli-ui", branch: "main"
13
+
14
+ group :development, :test do
15
+ gem "guard-minitest"
16
+ gem "guard"
17
+ gem "minitest-rg"
18
+ gem "mocha"
19
+ gem "rake", require: false
20
+ gem "rubocop-shopify", require: false
21
+ gem "rubocop-sorbet", require: false
22
+ gem "simplecov", require: false
23
+ gem "sorbet", "~> 0.5.12414", require: false
24
+ gem "tapioca", "~> 0.16.11", require: false
25
+ gem "vcr", require: false
26
+ gem "webmock", require: false
27
+ end
data/Gemfile.lock CHANGED
@@ -1,14 +1,24 @@
1
+ GIT
2
+ remote: https://github.com/Shopify/cli-ui
3
+ revision: 6bdefd1d06305e5d6ae312ac76f9c88f88658dda
4
+ branch: main
5
+ specs:
6
+ cli-ui (2.7.0)
7
+
1
8
  PATH
2
9
  remote: .
3
10
  specs:
4
- roast-ai (0.4.10)
11
+ roast-ai (0.5.0)
5
12
  activesupport (>= 7.0)
6
- cli-kit (~> 5.0)
7
- cli-ui (= 2.3.0)
13
+ async (~> 2.34)
14
+ benchmark (~> 0.4.1)
15
+ cli-kit (~> 5.2)
16
+ cli-ui (~> 2.7)
8
17
  diff-lcs (~> 1.5)
9
18
  json-schema
10
19
  open_router (~> 0.3)
11
20
  raix (~> 1.0.2)
21
+ rake (~> 13.3.0)
12
22
  ruby-graphviz (~> 1.2)
13
23
  ruby_llm
14
24
  sqlite3 (~> 2.6)
@@ -34,19 +44,24 @@ GEM
34
44
  addressable (2.8.7)
35
45
  public_suffix (>= 2.0.2, < 7.0)
36
46
  ast (2.4.3)
47
+ async (2.34.0)
48
+ console (~> 1.29)
49
+ fiber-annotation
50
+ io-event (~> 1.11)
51
+ metrics (~> 0.12)
52
+ traces (~> 0.18)
37
53
  base64 (0.3.0)
38
54
  benchmark (0.4.1)
39
55
  bigdecimal (3.2.2)
40
- cgi (0.5.0)
41
- claude_swarm (0.1.19)
42
- fast-mcp-annotations
43
- thor (~> 1.3)
44
- cli-kit (5.0.1)
45
- cli-ui (~> 2.0)
46
- cli-ui (2.3.0)
56
+ cli-kit (5.2.0)
57
+ cli-ui (~> 2.4)
47
58
  coderay (1.1.3)
48
59
  concurrent-ruby (1.3.5)
49
60
  connection_pool (2.5.3)
61
+ console (1.34.2)
62
+ fiber-annotation
63
+ fiber-local (~> 1.1)
64
+ json
50
65
  crack (1.0.0)
51
66
  bigdecimal
52
67
  rexml
@@ -54,35 +69,6 @@ GEM
54
69
  docile (1.4.1)
55
70
  dotenv (3.1.8)
56
71
  drb (2.2.3)
57
- dry-configurable (1.3.0)
58
- dry-core (~> 1.1)
59
- zeitwerk (~> 2.6)
60
- dry-core (1.1.0)
61
- concurrent-ruby (~> 1.0)
62
- logger
63
- zeitwerk (~> 2.6)
64
- dry-inflector (1.2.0)
65
- dry-initializer (3.2.0)
66
- dry-logic (1.6.0)
67
- bigdecimal
68
- concurrent-ruby (~> 1.0)
69
- dry-core (~> 1.1)
70
- zeitwerk (~> 2.6)
71
- dry-schema (1.14.1)
72
- concurrent-ruby (~> 1.0)
73
- dry-configurable (~> 1.0, >= 1.0.1)
74
- dry-core (~> 1.1)
75
- dry-initializer (~> 3.2)
76
- dry-logic (~> 1.5)
77
- dry-types (~> 1.8)
78
- zeitwerk (~> 2.6)
79
- dry-types (1.8.3)
80
- bigdecimal (~> 3.0)
81
- concurrent-ruby (~> 1.0)
82
- dry-core (~> 1.0)
83
- dry-inflector (~> 1.0)
84
- dry-logic (~> 1.4)
85
- zeitwerk (~> 2.6)
86
72
  erubi (1.13.1)
87
73
  event_stream_parser (1.0.0)
88
74
  faraday (2.13.1)
@@ -95,15 +81,12 @@ GEM
95
81
  net-http (>= 0.5.0)
96
82
  faraday-retry (2.3.2)
97
83
  faraday (~> 2.0)
98
- fast-mcp-annotations (1.5.3)
99
- addressable (~> 2.8)
100
- base64
101
- dry-schema (~> 1.14)
102
- json (~> 2.0)
103
- mime-types (~> 3.4)
104
- rack (< 3)
105
84
  ffi (1.17.2-arm64-darwin)
106
85
  ffi (1.17.2-x86_64-linux-gnu)
86
+ fiber-annotation (0.2.0)
87
+ fiber-local (1.1.0)
88
+ fiber-storage
89
+ fiber-storage (1.0.1)
107
90
  formatador (1.1.0)
108
91
  guard (2.19.1)
109
92
  formatador (>= 0.2.4)
@@ -123,6 +106,7 @@ GEM
123
106
  hashdiff (1.2.0)
124
107
  i18n (1.14.7)
125
108
  concurrent-ruby (~> 1.0)
109
+ io-event (1.14.0)
126
110
  json (2.12.2)
127
111
  json-schema (5.1.1)
128
112
  addressable (~> 2.8)
@@ -136,10 +120,7 @@ GEM
136
120
  lumberjack (1.2.10)
137
121
  marcel (1.1.0)
138
122
  method_source (1.1.0)
139
- mime-types (3.7.0)
140
- logger
141
- mime-types-data (~> 3.2025, >= 3.2025.0507)
142
- mime-types-data (3.2025.0617)
123
+ metrics (0.15.0)
143
124
  minitest (5.25.5)
144
125
  minitest-rg (5.3.0)
145
126
  minitest (~> 5.0)
@@ -169,7 +150,6 @@ GEM
169
150
  method_source (~> 1.0)
170
151
  public_suffix (6.0.2)
171
152
  racc (1.8.1)
172
- rack (2.2.20)
173
153
  rainbow (3.1.1)
174
154
  raix (1.0.2)
175
155
  activesupport (>= 6.0)
@@ -260,6 +240,7 @@ GEM
260
240
  thor (>= 1.2.0)
261
241
  yard-sorbet
262
242
  thor (1.4.0)
243
+ traces (0.18.2)
263
244
  tzinfo (2.0.6)
264
245
  concurrent-ruby (~> 1.0)
265
246
  unicode-display_width (3.1.4)
@@ -283,10 +264,7 @@ PLATFORMS
283
264
  x86_64-linux
284
265
 
285
266
  DEPENDENCIES
286
- cgi
287
- claude_swarm
288
- cli-ui (= 2.3.0)
289
- dotenv
267
+ cli-ui!
290
268
  guard
291
269
  guard-minitest
292
270
  minitest-rg
@@ -295,10 +273,9 @@ DEPENDENCIES
295
273
  roast-ai!
296
274
  rubocop-shopify
297
275
  rubocop-sorbet
298
- ruby_llm
299
276
  simplecov
300
- sorbet
301
- tapioca
277
+ sorbet (~> 0.5.12414)
278
+ tapioca (~> 0.16.11)
302
279
  vcr
303
280
  webmock
304
281