roast-ai 0.4.9 → 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.
- checksums.yaml +4 -4
- data/.claude/commands/docs/write-comments.md +36 -0
- data/.github/CODEOWNERS +1 -1
- data/.github/workflows/ci.yaml +10 -6
- data/.gitignore +0 -1
- data/.rubocop.yml +7 -1
- data/CLAUDE.md +2 -2
- data/CONTRIBUTING.md +2 -0
- data/Gemfile +18 -18
- data/Gemfile.lock +46 -57
- data/README.md +118 -1432
- data/README_LEGACY.md +1464 -0
- data/Rakefile +39 -4
- data/dev.yml +29 -0
- data/dsl/agent_sessions.rb +20 -0
- data/dsl/async_cogs.rb +49 -0
- data/dsl/async_cogs_complex.rb +67 -0
- data/dsl/call.rb +44 -0
- data/dsl/collect_from.rb +72 -0
- data/dsl/demo/Gemfile +4 -0
- data/dsl/demo/Gemfile.lock +120 -0
- data/dsl/demo/cogs/local.rb +15 -0
- data/dsl/demo/simple_external_cog.rb +17 -0
- data/dsl/json_output.rb +28 -0
- data/dsl/map.rb +55 -0
- data/dsl/map_reduce.rb +37 -0
- data/dsl/map_with_index.rb +49 -0
- data/dsl/next_break.rb +40 -0
- data/dsl/next_break_parallel.rb +44 -0
- data/dsl/outputs.rb +39 -0
- data/dsl/outputs_bang.rb +36 -0
- data/dsl/parallel_map.rb +37 -0
- data/dsl/plugin-gem-example/.gitignore +8 -0
- data/dsl/plugin-gem-example/Gemfile +13 -0
- data/dsl/plugin-gem-example/Gemfile.lock +178 -0
- data/dsl/plugin-gem-example/lib/other.rb +17 -0
- data/dsl/plugin-gem-example/lib/plugin_gem_example.rb +5 -0
- data/dsl/plugin-gem-example/lib/simple.rb +15 -0
- data/dsl/plugin-gem-example/lib/version.rb +10 -0
- data/dsl/plugin-gem-example/plugin-gem-example.gemspec +28 -0
- data/dsl/prompts/simple_prompt.md.erb +3 -0
- data/dsl/prototype.rb +10 -4
- data/dsl/repeat_loop_results.rb +53 -0
- data/dsl/ruby_cog.rb +72 -0
- data/dsl/simple_agent.rb +18 -0
- data/dsl/simple_chat.rb +26 -0
- data/dsl/simple_repeat.rb +29 -0
- data/dsl/skip.rb +36 -0
- data/dsl/step_communication.rb +10 -5
- data/dsl/targets_and_params.rb +57 -0
- data/dsl/temperature.rb +17 -0
- data/dsl/temporary_directory.rb +22 -0
- data/dsl/tutorial/01_your_first_workflow/README.md +179 -0
- data/dsl/tutorial/01_your_first_workflow/configured_chat.rb +33 -0
- data/dsl/tutorial/01_your_first_workflow/hello.rb +23 -0
- data/dsl/tutorial/02_chaining_cogs/README.md +310 -0
- data/dsl/tutorial/02_chaining_cogs/code_review.rb +104 -0
- data/dsl/tutorial/02_chaining_cogs/session_resumption.rb +92 -0
- data/dsl/tutorial/02_chaining_cogs/simple_chain.rb +84 -0
- data/dsl/tutorial/03_targets_and_params/README.md +230 -0
- data/dsl/tutorial/03_targets_and_params/multiple_targets.rb +65 -0
- data/dsl/tutorial/03_targets_and_params/single_target.rb +65 -0
- data/dsl/tutorial/04_configuration_options/README.md +209 -0
- data/dsl/tutorial/04_configuration_options/control_display_and_temperature.rb +104 -0
- data/dsl/tutorial/04_configuration_options/simple_config.rb +68 -0
- data/dsl/tutorial/05_control_flow/README.md +156 -0
- data/dsl/tutorial/05_control_flow/conditional_execution.rb +62 -0
- data/dsl/tutorial/05_control_flow/handling_failures.rb +77 -0
- data/dsl/tutorial/06_reusable_scopes/README.md +172 -0
- data/dsl/tutorial/06_reusable_scopes/accessing_scope_outputs.rb +126 -0
- data/dsl/tutorial/06_reusable_scopes/basic_scope.rb +63 -0
- data/dsl/tutorial/06_reusable_scopes/parameterized_scope.rb +78 -0
- data/dsl/tutorial/07_processing_collections/README.md +152 -0
- data/dsl/tutorial/07_processing_collections/basic_map.rb +70 -0
- data/dsl/tutorial/07_processing_collections/parallel_map.rb +74 -0
- data/dsl/tutorial/08_iterative_workflows/README.md +231 -0
- data/dsl/tutorial/08_iterative_workflows/basic_repeat.rb +57 -0
- data/dsl/tutorial/08_iterative_workflows/conditional_break.rb +57 -0
- data/dsl/tutorial/09_async_cogs/README.md +197 -0
- data/dsl/tutorial/09_async_cogs/basic_async.rb +38 -0
- data/dsl/tutorial/README.md +222 -0
- data/dsl/working_directory.rb +16 -0
- data/exe/roast +1 -1
- data/internal/documentation/architectural-notes.md +115 -0
- data/internal/documentation/doc-comments-external.md +686 -0
- data/internal/documentation/doc-comments-internal.md +342 -0
- data/internal/documentation/doc-comments.md +211 -0
- data/lib/roast/dsl/cog/config.rb +280 -4
- data/lib/roast/dsl/cog/input.rb +73 -0
- data/lib/roast/dsl/cog/output.rb +313 -0
- data/lib/roast/dsl/cog/registry.rb +71 -0
- data/lib/roast/dsl/cog/stack.rb +3 -2
- data/lib/roast/dsl/cog/store.rb +11 -8
- data/lib/roast/dsl/cog.rb +108 -31
- data/lib/roast/dsl/cog_input_context.rb +44 -0
- data/lib/roast/dsl/cog_input_manager.rb +156 -0
- data/lib/roast/dsl/cogs/agent/config.rb +465 -0
- data/lib/roast/dsl/cogs/agent/input.rb +81 -0
- data/lib/roast/dsl/cogs/agent/output.rb +59 -0
- data/lib/roast/dsl/cogs/agent/provider.rb +51 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/claude_invocation.rb +185 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/message.rb +73 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/assistant_message.rb +36 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/result_message.rb +61 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/system_message.rb +47 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/text_message.rb +36 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/tool_result_message.rb +47 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/tool_use_message.rb +46 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/unknown_message.rb +27 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/messages/user_message.rb +37 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/tool_result.rb +51 -0
- data/lib/roast/dsl/cogs/agent/providers/claude/tool_use.rb +48 -0
- data/lib/roast/dsl/cogs/agent/providers/claude.rb +31 -0
- data/lib/roast/dsl/cogs/agent/stats.rb +92 -0
- data/lib/roast/dsl/cogs/agent/usage.rb +62 -0
- data/lib/roast/dsl/cogs/agent.rb +75 -0
- data/lib/roast/dsl/cogs/chat/config.rb +453 -0
- data/lib/roast/dsl/cogs/chat/input.rb +92 -0
- data/lib/roast/dsl/cogs/chat/output.rb +64 -0
- data/lib/roast/dsl/cogs/chat/session.rb +68 -0
- data/lib/roast/dsl/cogs/chat.rb +81 -0
- data/lib/roast/dsl/cogs/cmd.rb +291 -27
- data/lib/roast/dsl/cogs/ruby.rb +171 -0
- data/lib/roast/dsl/command_runner.rb +191 -0
- data/lib/roast/dsl/config_context.rb +2 -47
- data/lib/roast/dsl/config_manager.rb +143 -0
- data/lib/roast/dsl/control_flow.rb +41 -0
- data/lib/roast/dsl/execution_context.rb +9 -0
- data/lib/roast/dsl/execution_manager.rb +267 -0
- data/lib/roast/dsl/nil_assertions.rb +23 -0
- data/lib/roast/dsl/system_cog/params.rb +32 -0
- data/lib/roast/dsl/system_cog.rb +36 -0
- data/lib/roast/dsl/system_cogs/call.rb +162 -0
- data/lib/roast/dsl/system_cogs/map.rb +448 -0
- data/lib/roast/dsl/system_cogs/repeat.rb +242 -0
- data/lib/roast/dsl/workflow.rb +123 -0
- data/lib/roast/dsl/workflow_context.rb +20 -0
- data/lib/roast/dsl/workflow_params.rb +24 -0
- data/lib/roast/sorbet_runtime_stub.rb +154 -0
- data/lib/roast/tools/apply_diff.rb +1 -3
- data/lib/roast/tools/cmd.rb +4 -3
- data/lib/roast/tools/read_file.rb +1 -1
- data/lib/roast/tools/update_files.rb +1 -1
- data/lib/roast/tools/write_file.rb +1 -1
- data/lib/roast/version.rb +1 -1
- data/lib/roast/workflow/base_workflow.rb +4 -0
- data/lib/roast/workflow/step_loader.rb +14 -2
- data/lib/roast-ai.rb +4 -0
- data/lib/roast.rb +60 -22
- data/{roast.gemspec → roast-ai.gemspec} +10 -13
- data/sorbet/config +1 -0
- data/sorbet/rbi/gems/async@2.34.0.rbi +1577 -0
- data/sorbet/rbi/gems/cli-kit@5.2.0.rbi +2063 -0
- data/sorbet/rbi/gems/{cli-ui@2.3.0.rbi → cli-ui@2.7.0-6bdefd1d06305e5d6ae312ac76f9c88f88658dda.rbi} +1418 -1013
- data/sorbet/rbi/gems/console@1.34.2.rbi +1193 -0
- data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +50 -0
- data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +35 -0
- data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +41 -0
- data/sorbet/rbi/gems/io-event@1.14.0.rbi +724 -0
- data/sorbet/rbi/gems/marcel@1.1.0.rbi +239 -0
- data/sorbet/rbi/gems/metrics@0.15.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby_llm@1.8.2.rbi +5703 -0
- data/sorbet/rbi/gems/traces@0.18.2.rbi +9 -0
- data/sorbet/rbi/shims/lib/roast/dsl/cog_input_context.rbi +1197 -0
- data/sorbet/rbi/shims/lib/roast/dsl/config_context.rbi +314 -2
- data/sorbet/rbi/shims/lib/roast/dsl/execution_context.rbi +498 -0
- data/sorbet/tapioca/config.yml +6 -0
- data/sorbet/tapioca/require.rb +2 -0
- metadata +198 -34
- data/dsl/less_simple.rb +0 -112
- data/dsl/simple.rb +0 -8
- data/lib/roast/dsl/cog_execution_context.rb +0 -29
- data/lib/roast/dsl/cogs/graph.rb +0 -53
- data/lib/roast/dsl/cogs.rb +0 -65
- data/lib/roast/dsl/executor.rb +0 -82
- data/lib/roast/dsl/workflow_execution_context.rb +0 -47
- data/sorbet/rbi/gems/cgi@0.5.0.rbi +0 -2961
- data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +0 -568
- data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +0 -1991
- data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +0 -672
- data/sorbet/rbi/gems/dry-core@1.1.0.rbi +0 -1894
- data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +0 -659
- data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +0 -781
- data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +0 -1127
- data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +0 -3727
- data/sorbet/rbi/gems/dry-types@1.8.3.rbi +0 -3969
- data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +0 -1588
- data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +0 -136
- data/sorbet/rbi/gems/mime-types@3.7.0.rbi +0 -1342
- data/sorbet/rbi/gems/rack@2.2.18.rbi +0 -5659
- data/sorbet/rbi/gems/rbs-inline@0.12.0.rbi +0 -2170
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
- data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18492
- data/sorbet/rbi/shims/lib/roast/dsl/workflow_execution_context.rbi +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2ee882d792c1c09ecc9a023aa1f26825dff3442a8c4152da789078157e26540e
|
|
4
|
+
data.tar.gz: 51d5d1238e32c5ad6ce9f3d24c3d224d0709da3f3da4e10905f75049dd02f6d7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 @
|
|
1
|
+
* @nfgrep @dersam @juniper-shopify @mathiusj
|
|
2
2
|
|
data/.github/workflows/ci.yaml
CHANGED
|
@@ -3,13 +3,16 @@ name: ci
|
|
|
3
3
|
on:
|
|
4
4
|
pull_request:
|
|
5
5
|
branches:
|
|
6
|
-
-
|
|
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
|
|
33
|
-
- run: bundle exec rake minitest_functional
|
|
35
|
+
- run: bundle exec rake sorbet
|
|
34
36
|
- run: bundle exec rake rubocop_ci
|
|
35
|
-
- run:
|
|
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
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.
|
|
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,24 +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
|
-
|
|
11
|
-
|
|
12
|
-
gem "
|
|
13
|
-
gem "guard"
|
|
14
|
-
gem "guard-minitest"
|
|
15
|
-
gem "mocha"
|
|
16
|
-
gem "rake", require: false
|
|
17
|
-
gem "rubocop-shopify", require: false
|
|
18
|
-
gem "rubocop-sorbet", require: false
|
|
19
|
-
gem "simplecov", require: false
|
|
20
|
-
gem "minitest-rg"
|
|
21
|
-
gem "vcr", require: false
|
|
22
|
-
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"
|
|
23
13
|
|
|
24
|
-
|
|
25
|
-
gem "
|
|
26
|
-
|
|
27
|
-
gem "
|
|
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,15 +1,26 @@
|
|
|
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.
|
|
11
|
+
roast-ai (0.5.0)
|
|
5
12
|
activesupport (>= 7.0)
|
|
6
|
-
|
|
7
|
-
|
|
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)
|
|
23
|
+
ruby_llm
|
|
13
24
|
sqlite3 (~> 2.6)
|
|
14
25
|
thor (~> 1.3)
|
|
15
26
|
zeitwerk (~> 2.6)
|
|
@@ -33,19 +44,24 @@ GEM
|
|
|
33
44
|
addressable (2.8.7)
|
|
34
45
|
public_suffix (>= 2.0.2, < 7.0)
|
|
35
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)
|
|
36
53
|
base64 (0.3.0)
|
|
37
54
|
benchmark (0.4.1)
|
|
38
55
|
bigdecimal (3.2.2)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
fast-mcp-annotations
|
|
42
|
-
thor (~> 1.3)
|
|
43
|
-
cli-kit (5.0.1)
|
|
44
|
-
cli-ui (~> 2.0)
|
|
45
|
-
cli-ui (2.3.0)
|
|
56
|
+
cli-kit (5.2.0)
|
|
57
|
+
cli-ui (~> 2.4)
|
|
46
58
|
coderay (1.1.3)
|
|
47
59
|
concurrent-ruby (1.3.5)
|
|
48
60
|
connection_pool (2.5.3)
|
|
61
|
+
console (1.34.2)
|
|
62
|
+
fiber-annotation
|
|
63
|
+
fiber-local (~> 1.1)
|
|
64
|
+
json
|
|
49
65
|
crack (1.0.0)
|
|
50
66
|
bigdecimal
|
|
51
67
|
rexml
|
|
@@ -53,35 +69,6 @@ GEM
|
|
|
53
69
|
docile (1.4.1)
|
|
54
70
|
dotenv (3.1.8)
|
|
55
71
|
drb (2.2.3)
|
|
56
|
-
dry-configurable (1.3.0)
|
|
57
|
-
dry-core (~> 1.1)
|
|
58
|
-
zeitwerk (~> 2.6)
|
|
59
|
-
dry-core (1.1.0)
|
|
60
|
-
concurrent-ruby (~> 1.0)
|
|
61
|
-
logger
|
|
62
|
-
zeitwerk (~> 2.6)
|
|
63
|
-
dry-inflector (1.2.0)
|
|
64
|
-
dry-initializer (3.2.0)
|
|
65
|
-
dry-logic (1.6.0)
|
|
66
|
-
bigdecimal
|
|
67
|
-
concurrent-ruby (~> 1.0)
|
|
68
|
-
dry-core (~> 1.1)
|
|
69
|
-
zeitwerk (~> 2.6)
|
|
70
|
-
dry-schema (1.14.1)
|
|
71
|
-
concurrent-ruby (~> 1.0)
|
|
72
|
-
dry-configurable (~> 1.0, >= 1.0.1)
|
|
73
|
-
dry-core (~> 1.1)
|
|
74
|
-
dry-initializer (~> 3.2)
|
|
75
|
-
dry-logic (~> 1.5)
|
|
76
|
-
dry-types (~> 1.8)
|
|
77
|
-
zeitwerk (~> 2.6)
|
|
78
|
-
dry-types (1.8.3)
|
|
79
|
-
bigdecimal (~> 3.0)
|
|
80
|
-
concurrent-ruby (~> 1.0)
|
|
81
|
-
dry-core (~> 1.0)
|
|
82
|
-
dry-inflector (~> 1.0)
|
|
83
|
-
dry-logic (~> 1.4)
|
|
84
|
-
zeitwerk (~> 2.6)
|
|
85
72
|
erubi (1.13.1)
|
|
86
73
|
event_stream_parser (1.0.0)
|
|
87
74
|
faraday (2.13.1)
|
|
@@ -94,15 +81,12 @@ GEM
|
|
|
94
81
|
net-http (>= 0.5.0)
|
|
95
82
|
faraday-retry (2.3.2)
|
|
96
83
|
faraday (~> 2.0)
|
|
97
|
-
fast-mcp-annotations (1.5.3)
|
|
98
|
-
addressable (~> 2.8)
|
|
99
|
-
base64
|
|
100
|
-
dry-schema (~> 1.14)
|
|
101
|
-
json (~> 2.0)
|
|
102
|
-
mime-types (~> 3.4)
|
|
103
|
-
rack (< 3)
|
|
104
84
|
ffi (1.17.2-arm64-darwin)
|
|
105
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)
|
|
106
90
|
formatador (1.1.0)
|
|
107
91
|
guard (2.19.1)
|
|
108
92
|
formatador (>= 0.2.4)
|
|
@@ -122,6 +106,7 @@ GEM
|
|
|
122
106
|
hashdiff (1.2.0)
|
|
123
107
|
i18n (1.14.7)
|
|
124
108
|
concurrent-ruby (~> 1.0)
|
|
109
|
+
io-event (1.14.0)
|
|
125
110
|
json (2.12.2)
|
|
126
111
|
json-schema (5.1.1)
|
|
127
112
|
addressable (~> 2.8)
|
|
@@ -133,11 +118,9 @@ GEM
|
|
|
133
118
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
134
119
|
logger (1.7.0)
|
|
135
120
|
lumberjack (1.2.10)
|
|
121
|
+
marcel (1.1.0)
|
|
136
122
|
method_source (1.1.0)
|
|
137
|
-
|
|
138
|
-
logger
|
|
139
|
-
mime-types-data (~> 3.2025, >= 3.2025.0507)
|
|
140
|
-
mime-types-data (3.2025.0617)
|
|
123
|
+
metrics (0.15.0)
|
|
141
124
|
minitest (5.25.5)
|
|
142
125
|
minitest-rg (5.3.0)
|
|
143
126
|
minitest (~> 5.0)
|
|
@@ -167,7 +150,6 @@ GEM
|
|
|
167
150
|
method_source (~> 1.0)
|
|
168
151
|
public_suffix (6.0.2)
|
|
169
152
|
racc (1.8.1)
|
|
170
|
-
rack (2.2.19)
|
|
171
153
|
rainbow (3.1.1)
|
|
172
154
|
raix (1.0.2)
|
|
173
155
|
activesupport (>= 6.0)
|
|
@@ -213,6 +195,15 @@ GEM
|
|
|
213
195
|
faraday-multipart (>= 1)
|
|
214
196
|
ruby-progressbar (1.13.0)
|
|
215
197
|
ruby2_keywords (0.0.5)
|
|
198
|
+
ruby_llm (1.8.2)
|
|
199
|
+
base64
|
|
200
|
+
event_stream_parser (~> 1)
|
|
201
|
+
faraday (>= 1.10.0)
|
|
202
|
+
faraday-multipart (>= 1)
|
|
203
|
+
faraday-net_http (>= 1)
|
|
204
|
+
faraday-retry (>= 1)
|
|
205
|
+
marcel (~> 1.0)
|
|
206
|
+
zeitwerk (~> 2)
|
|
216
207
|
securerandom (0.4.1)
|
|
217
208
|
shellany (0.0.1)
|
|
218
209
|
simplecov (0.22.0)
|
|
@@ -249,6 +240,7 @@ GEM
|
|
|
249
240
|
thor (>= 1.2.0)
|
|
250
241
|
yard-sorbet
|
|
251
242
|
thor (1.4.0)
|
|
243
|
+
traces (0.18.2)
|
|
252
244
|
tzinfo (2.0.6)
|
|
253
245
|
concurrent-ruby (~> 1.0)
|
|
254
246
|
unicode-display_width (3.1.4)
|
|
@@ -272,10 +264,7 @@ PLATFORMS
|
|
|
272
264
|
x86_64-linux
|
|
273
265
|
|
|
274
266
|
DEPENDENCIES
|
|
275
|
-
|
|
276
|
-
claude_swarm
|
|
277
|
-
cli-ui (= 2.3.0)
|
|
278
|
-
dotenv
|
|
267
|
+
cli-ui!
|
|
279
268
|
guard
|
|
280
269
|
guard-minitest
|
|
281
270
|
minitest-rg
|
|
@@ -285,8 +274,8 @@ DEPENDENCIES
|
|
|
285
274
|
rubocop-shopify
|
|
286
275
|
rubocop-sorbet
|
|
287
276
|
simplecov
|
|
288
|
-
sorbet
|
|
289
|
-
tapioca
|
|
277
|
+
sorbet (~> 0.5.12414)
|
|
278
|
+
tapioca (~> 0.16.11)
|
|
290
279
|
vcr
|
|
291
280
|
webmock
|
|
292
281
|
|