roast-ai 0.3.0 → 0.4.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/.gitignore +1 -0
- data/CHANGELOG.md +32 -0
- data/CLAUDE.md +52 -1
- data/Gemfile +3 -1
- data/Gemfile.lock +63 -16
- data/README.md +115 -5
- data/bin/roast +1 -1
- data/claude-swarm.yml +210 -0
- data/docs/AGENT_STEPS.md +264 -0
- data/examples/agent_workflow/README.md +75 -0
- data/examples/agent_workflow/apply_refactorings/prompt.md +22 -0
- data/examples/agent_workflow/identify_code_smells/prompt.md +15 -0
- data/examples/agent_workflow/summarize_improvements/prompt.md +18 -0
- data/examples/agent_workflow/workflow.yml +16 -0
- data/examples/available_tools_demo/README.md +42 -0
- data/examples/available_tools_demo/analyze_files/prompt.md +6 -0
- data/examples/available_tools_demo/explore_directory/prompt.md +6 -0
- data/examples/available_tools_demo/workflow.yml +32 -0
- data/examples/available_tools_demo/write_summary/prompt.md +6 -0
- data/examples/case_when/detect_language/prompt.md +2 -2
- data/examples/grading/README.md +71 -0
- data/examples/grading/run_coverage.rb +0 -2
- data/examples/iteration/analyze_complexity/prompt.md +2 -2
- data/examples/iteration/generate_recommendations/prompt.md +2 -2
- data/examples/iteration/implement_fix/prompt.md +2 -2
- data/examples/iteration/prioritize_issues/prompt.md +1 -1
- data/examples/iteration/prompts/analyze_file.md +2 -2
- data/examples/iteration/prompts/generate_summary.md +1 -1
- data/examples/iteration/prompts/update_report.md +3 -3
- data/examples/iteration/prompts/write_report.md +3 -3
- data/examples/iteration/read_file/prompt.md +2 -2
- data/examples/iteration/select_next_issue/prompt.md +2 -2
- data/examples/iteration/update_fix_count/prompt.md +4 -4
- data/examples/iteration/verify_fix/prompt.md +3 -3
- data/examples/mcp/README.md +3 -3
- data/examples/mcp/analyze_changes/prompt.md +1 -1
- data/examples/mcp/database_workflow.yml +1 -1
- data/examples/mcp/fetch_pr_context/prompt.md +1 -1
- data/examples/mcp/github_workflow.yml +1 -1
- data/examples/mcp/post_review/prompt.md +1 -1
- data/examples/pre_post_processing/analyze_test_file/prompt.md +1 -1
- data/examples/pre_post_processing/improve_test_coverage/prompt.md +1 -1
- data/examples/pre_post_processing/optimize_test_performance/prompt.md +1 -1
- data/examples/pre_post_processing/post_processing/aggregate_metrics/prompt.md +2 -2
- data/examples/pre_post_processing/post_processing/generate_summary_report/prompt.md +1 -1
- data/examples/pre_post_processing/pre_processing/setup_test_environment/prompt.md +1 -1
- data/examples/pre_post_processing/validate_changes/prompt.md +2 -2
- data/examples/user_input/README.md +90 -0
- data/examples/user_input/funny_name/create_backstory/prompt.md +10 -0
- data/examples/user_input/funny_name/workflow.yml +26 -0
- data/examples/user_input/generate_summary/prompt.md +11 -0
- data/examples/user_input/simple_input_demo/workflow.yml +35 -0
- data/examples/user_input/survey_workflow.yml +71 -0
- data/examples/user_input/welcome_message/prompt.md +3 -0
- data/examples/user_input/workflow.yml +73 -0
- data/examples/workflow_generator/create_workflow_files/prompt.md +1 -1
- data/lib/roast/errors.rb +6 -4
- data/lib/roast/helpers/function_caching_interceptor.rb +0 -2
- data/lib/roast/helpers/logger.rb +12 -35
- data/lib/roast/helpers/minitest_coverage_runner.rb +0 -1
- data/lib/roast/helpers/prompt_loader.rb +0 -2
- data/lib/roast/resources/api_resource.rb +0 -4
- data/lib/roast/resources/url_resource.rb +0 -3
- data/lib/roast/resources.rb +0 -8
- data/lib/roast/tools/ask_user.rb +0 -2
- data/lib/roast/tools/bash.rb +0 -3
- data/lib/roast/tools/cmd.rb +0 -3
- data/lib/roast/tools/coding_agent.rb +1 -8
- data/lib/roast/tools/grep.rb +0 -3
- data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -4
- data/lib/roast/tools/read_file.rb +0 -2
- data/lib/roast/tools/search_file.rb +0 -2
- data/lib/roast/tools/update_files.rb +0 -4
- data/lib/roast/tools/write_file.rb +0 -3
- data/lib/roast/tools.rb +0 -13
- data/lib/roast/value_objects/step_name.rb +14 -3
- data/lib/roast/value_objects/workflow_path.rb +0 -2
- data/lib/roast/value_objects.rb +4 -4
- data/lib/roast/version.rb +1 -1
- data/lib/roast/workflow/agent_step.rb +26 -0
- data/lib/roast/workflow/api_configuration.rb +0 -4
- data/lib/roast/workflow/base_iteration_step.rb +0 -4
- data/lib/roast/workflow/base_step.rb +54 -28
- data/lib/roast/workflow/base_workflow.rb +2 -21
- data/lib/roast/workflow/case_executor.rb +0 -1
- data/lib/roast/workflow/case_step.rb +0 -4
- data/lib/roast/workflow/command_executor.rb +0 -2
- data/lib/roast/workflow/conditional_executor.rb +0 -1
- data/lib/roast/workflow/conditional_step.rb +0 -4
- data/lib/roast/workflow/configuration.rb +3 -10
- data/lib/roast/workflow/configuration_loader.rb +0 -2
- data/lib/roast/workflow/configuration_parser.rb +1 -7
- data/lib/roast/workflow/dot_access_hash.rb +16 -1
- data/lib/roast/workflow/error_handler.rb +0 -3
- data/lib/roast/workflow/expression_evaluator.rb +0 -3
- data/lib/roast/workflow/file_state_repository.rb +0 -5
- data/lib/roast/workflow/input_executor.rb +41 -0
- data/lib/roast/workflow/input_step.rb +163 -0
- data/lib/roast/workflow/iteration_executor.rb +0 -2
- data/lib/roast/workflow/output_handler.rb +0 -2
- data/lib/roast/workflow/output_manager.rb +0 -2
- data/lib/roast/workflow/prompt_step.rb +1 -1
- data/lib/roast/workflow/replay_handler.rb +0 -3
- data/lib/roast/workflow/resource_resolver.rb +0 -3
- data/lib/roast/workflow/session_manager.rb +0 -3
- data/lib/roast/workflow/state_manager.rb +0 -2
- data/lib/roast/workflow/step_executor_coordinator.rb +34 -11
- data/lib/roast/workflow/step_executor_factory.rb +0 -5
- data/lib/roast/workflow/step_executor_registry.rb +1 -4
- data/lib/roast/workflow/step_executors/hash_step_executor.rb +0 -3
- data/lib/roast/workflow/step_executors/parallel_step_executor.rb +0 -3
- data/lib/roast/workflow/step_executors/string_step_executor.rb +0 -2
- data/lib/roast/workflow/step_factory.rb +56 -0
- data/lib/roast/workflow/step_loader.rb +30 -16
- data/lib/roast/workflow/step_orchestrator.rb +3 -2
- data/lib/roast/workflow/step_type_resolver.rb +28 -1
- data/lib/roast/workflow/validator.rb +0 -4
- data/lib/roast/workflow/workflow_executor.rb +0 -16
- data/lib/roast/workflow/workflow_initializer.rb +1 -8
- data/lib/roast/workflow/workflow_runner.rb +0 -7
- data/lib/roast/workflow.rb +0 -15
- data/lib/roast.rb +55 -10
- data/roast.gemspec +2 -1
- data/schema/workflow.json +46 -0
- metadata +44 -6
- data/lib/roast/helpers.rb +0 -12
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roast-ai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
@@ -27,16 +27,16 @@ dependencies:
|
|
27
27
|
name: cli-ui
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - '='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 2.3.0
|
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:
|
39
|
+
version: 2.3.0
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: diff-lcs
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
@@ -121,6 +121,20 @@ dependencies:
|
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
123
|
version: '1.3'
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: zeitwerk
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '2.6'
|
131
|
+
type: :runtime
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '2.6'
|
124
138
|
description: Roast is a Ruby library for running structured AI workflows along with
|
125
139
|
many building blocks for creating and executing them
|
126
140
|
email:
|
@@ -148,14 +162,26 @@ files:
|
|
148
162
|
- Rakefile
|
149
163
|
- bin/console
|
150
164
|
- bin/roast
|
165
|
+
- claude-swarm.yml
|
166
|
+
- docs/AGENT_STEPS.md
|
151
167
|
- docs/INSTRUMENTATION.md
|
152
168
|
- docs/ITERATION_SYNTAX.md
|
169
|
+
- examples/agent_workflow/README.md
|
170
|
+
- examples/agent_workflow/apply_refactorings/prompt.md
|
171
|
+
- examples/agent_workflow/identify_code_smells/prompt.md
|
172
|
+
- examples/agent_workflow/summarize_improvements/prompt.md
|
173
|
+
- examples/agent_workflow/workflow.yml
|
153
174
|
- examples/api_workflow/README.md
|
154
175
|
- examples/api_workflow/fetch_api_data/prompt.md
|
155
176
|
- examples/api_workflow/generate_report/prompt.md
|
156
177
|
- examples/api_workflow/prompt.md
|
157
178
|
- examples/api_workflow/transform_data/prompt.md
|
158
179
|
- examples/api_workflow/workflow.yml
|
180
|
+
- examples/available_tools_demo/README.md
|
181
|
+
- examples/available_tools_demo/analyze_files/prompt.md
|
182
|
+
- examples/available_tools_demo/explore_directory/prompt.md
|
183
|
+
- examples/available_tools_demo/workflow.yml
|
184
|
+
- examples/available_tools_demo/write_summary/prompt.md
|
159
185
|
- examples/bash_prototyping/README.md
|
160
186
|
- examples/bash_prototyping/analyze_network/prompt.md
|
161
187
|
- examples/bash_prototyping/analyze_system/prompt.md
|
@@ -190,6 +216,7 @@ files:
|
|
190
216
|
- examples/exit_on_error/analyze_lint_output/prompt.md
|
191
217
|
- examples/exit_on_error/apply_fixes/prompt.md
|
192
218
|
- examples/exit_on_error/workflow.yml
|
219
|
+
- examples/grading/README.md
|
193
220
|
- examples/grading/analyze_coverage/prompt.md
|
194
221
|
- examples/grading/calculate_final_grade.rb
|
195
222
|
- examples/grading/format_result.rb
|
@@ -299,6 +326,14 @@ files:
|
|
299
326
|
- examples/tool_config_example/README.md
|
300
327
|
- examples/tool_config_example/example_step/prompt.md
|
301
328
|
- examples/tool_config_example/workflow.yml
|
329
|
+
- examples/user_input/README.md
|
330
|
+
- examples/user_input/funny_name/create_backstory/prompt.md
|
331
|
+
- examples/user_input/funny_name/workflow.yml
|
332
|
+
- examples/user_input/generate_summary/prompt.md
|
333
|
+
- examples/user_input/simple_input_demo/workflow.yml
|
334
|
+
- examples/user_input/survey_workflow.yml
|
335
|
+
- examples/user_input/welcome_message/prompt.md
|
336
|
+
- examples/user_input/workflow.yml
|
302
337
|
- examples/workflow_generator/README.md
|
303
338
|
- examples/workflow_generator/analyze_user_request/prompt.md
|
304
339
|
- examples/workflow_generator/create_workflow_files/prompt.md
|
@@ -311,7 +346,6 @@ files:
|
|
311
346
|
- lib/roast.rb
|
312
347
|
- lib/roast/errors.rb
|
313
348
|
- lib/roast/factories/api_provider_factory.rb
|
314
|
-
- lib/roast/helpers.rb
|
315
349
|
- lib/roast/helpers/function_caching_interceptor.rb
|
316
350
|
- lib/roast/helpers/logger.rb
|
317
351
|
- lib/roast/helpers/minitest_coverage_runner.rb
|
@@ -343,6 +377,7 @@ files:
|
|
343
377
|
- lib/roast/value_objects/workflow_path.rb
|
344
378
|
- lib/roast/version.rb
|
345
379
|
- lib/roast/workflow.rb
|
380
|
+
- lib/roast/workflow/agent_step.rb
|
346
381
|
- lib/roast/workflow/api_configuration.rb
|
347
382
|
- lib/roast/workflow/base_iteration_step.rb
|
348
383
|
- lib/roast/workflow/base_step.rb
|
@@ -362,6 +397,8 @@ files:
|
|
362
397
|
- lib/roast/workflow/expression_evaluator.rb
|
363
398
|
- lib/roast/workflow/expression_utils.rb
|
364
399
|
- lib/roast/workflow/file_state_repository.rb
|
400
|
+
- lib/roast/workflow/input_executor.rb
|
401
|
+
- lib/roast/workflow/input_step.rb
|
365
402
|
- lib/roast/workflow/interpolator.rb
|
366
403
|
- lib/roast/workflow/iteration_executor.rb
|
367
404
|
- lib/roast/workflow/llm_boolean_coercer.rb
|
@@ -382,6 +419,7 @@ files:
|
|
382
419
|
- lib/roast/workflow/step_executors/hash_step_executor.rb
|
383
420
|
- lib/roast/workflow/step_executors/parallel_step_executor.rb
|
384
421
|
- lib/roast/workflow/step_executors/string_step_executor.rb
|
422
|
+
- lib/roast/workflow/step_factory.rb
|
385
423
|
- lib/roast/workflow/step_finder.rb
|
386
424
|
- lib/roast/workflow/step_loader.rb
|
387
425
|
- lib/roast/workflow/step_orchestrator.rb
|
data/lib/roast/helpers.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "roast/helpers/logger"
|
4
|
-
require "roast/helpers/path_resolver"
|
5
|
-
require "roast/helpers/prompt_loader"
|
6
|
-
require "roast/helpers/minitest_coverage_runner"
|
7
|
-
require "roast/helpers/function_caching_interceptor"
|
8
|
-
|
9
|
-
module Roast
|
10
|
-
module Helpers
|
11
|
-
end
|
12
|
-
end
|