roast-ai 0.3.1 → 0.4.1
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/.github/workflows/ci.yaml +2 -2
- data/.gitignore +1 -0
- data/CHANGELOG.md +85 -0
- data/CLAUDE.md +106 -9
- data/Gemfile +4 -1
- data/Gemfile.lock +70 -16
- data/README.md +159 -8
- data/bin/console +1 -0
- data/bin/roast +1 -1
- data/claude-swarm.yml +210 -0
- data/docs/AGENT_STEPS.md +288 -0
- data/docs/VALIDATION.md +178 -0
- data/examples/agent_continue/add_documentation/prompt.md +5 -0
- data/examples/agent_continue/add_error_handling/prompt.md +5 -0
- data/examples/agent_continue/analyze_codebase/prompt.md +7 -0
- data/examples/agent_continue/combined_workflow.yml +24 -0
- data/examples/agent_continue/continue_adding_features/prompt.md +4 -0
- data/examples/agent_continue/create_integration_tests/prompt.md +3 -0
- data/examples/agent_continue/document_with_context/prompt.md +5 -0
- data/examples/agent_continue/explore_api/prompt.md +6 -0
- data/examples/agent_continue/implement_client/prompt.md +6 -0
- data/examples/agent_continue/inline_workflow.yml +20 -0
- data/examples/agent_continue/refactor_code/prompt.md +2 -0
- data/examples/agent_continue/verify_changes/prompt.md +6 -0
- data/examples/agent_continue/workflow.yml +27 -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.png +0 -0
- data/examples/agent_workflow/workflow.yml +16 -0
- data/examples/api_workflow/workflow.png +0 -0
- data/examples/apply_diff_demo/README.md +58 -0
- data/examples/apply_diff_demo/apply_simple_change/prompt.md +13 -0
- data/examples/apply_diff_demo/create_sample_file/prompt.md +11 -0
- data/examples/apply_diff_demo/workflow.yml +24 -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.png +0 -0
- data/examples/available_tools_demo/workflow.yml +32 -0
- data/examples/available_tools_demo/write_summary/prompt.md +6 -0
- data/examples/bash_prototyping/api_testing.png +0 -0
- data/examples/bash_prototyping/system_analysis.png +0 -0
- data/examples/case_when/detect_language/prompt.md +2 -2
- data/examples/case_when/workflow.png +0 -0
- data/examples/cmd/basic_workflow.png +0 -0
- data/examples/cmd/dev_workflow.png +0 -0
- data/examples/cmd/explorer_workflow.png +0 -0
- data/examples/conditional/simple_workflow.png +0 -0
- data/examples/conditional/workflow.png +0 -0
- data/examples/context_management_demo/README.md +43 -0
- data/examples/context_management_demo/workflow.yml +42 -0
- data/examples/direct_coerce_syntax/workflow.png +0 -0
- data/examples/dot_notation/workflow.png +0 -0
- data/examples/exit_on_error/workflow.png +0 -0
- data/examples/grading/run_coverage.rb +0 -2
- data/examples/grading/workflow.png +0 -0
- data/examples/interpolation/workflow.png +0 -0
- data/examples/interpolation/workflow.yml +1 -1
- 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/iteration/workflow.png +0 -0
- data/examples/json_handling/workflow.png +0 -0
- data/examples/mcp/README.md +3 -3
- data/examples/mcp/analyze_changes/prompt.md +1 -1
- data/examples/mcp/database_workflow.png +0 -0
- data/examples/mcp/database_workflow.yml +1 -1
- data/examples/mcp/env_demo/workflow.png +0 -0
- data/examples/mcp/fetch_pr_context/prompt.md +1 -1
- data/examples/mcp/filesystem_demo/workflow.png +0 -0
- data/examples/mcp/github_workflow.png +0 -0
- data/examples/mcp/github_workflow.yml +1 -1
- data/examples/mcp/multi_mcp_workflow.png +0 -0
- data/examples/mcp/post_review/prompt.md +1 -1
- data/examples/mcp/workflow.png +0 -0
- data/examples/no_model_fallback/README.md +17 -0
- data/examples/no_model_fallback/analyze_file/prompt.md +1 -0
- data/examples/no_model_fallback/analyze_patterns/prompt.md +27 -0
- data/examples/no_model_fallback/generate_report_for_md/prompt.md +10 -0
- data/examples/no_model_fallback/generate_report_for_rb/prompt.md +3 -0
- data/examples/no_model_fallback/sample.rb +42 -0
- data/examples/no_model_fallback/workflow.yml +19 -0
- data/examples/openrouter_example/workflow.png +0 -0
- 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/pre_post_processing/workflow.png +0 -0
- data/examples/rspec_to_minitest/workflow.png +0 -0
- data/examples/shared_config/example_with_shared_config/workflow.png +0 -0
- data/examples/shared_config/shared.png +0 -0
- data/examples/single_target_prepost/workflow.png +0 -0
- data/examples/smart_coercion_defaults/workflow.png +0 -0
- data/examples/step_configuration/workflow.png +0 -0
- data/examples/swarm_example.yml +25 -0
- data/examples/tool_config_example/workflow.png +0 -0
- 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.png +0 -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.png +0 -0
- data/examples/user_input/simple_input_demo/workflow.yml +35 -0
- data/examples/user_input/survey_workflow.png +0 -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.png +0 -0
- data/examples/user_input/workflow.yml +73 -0
- data/examples/workflow_generator/create_workflow_files/prompt.md +1 -1
- data/examples/workflow_generator/workflow.png +0 -0
- 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/helpers/timeout_handler.rb +91 -0
- 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/services/context_threshold_checker.rb +42 -0
- data/lib/roast/services/token_counting_service.rb +44 -0
- data/lib/roast/tools/apply_diff.rb +128 -0
- data/lib/roast/tools/ask_user.rb +0 -2
- data/lib/roast/tools/bash.rb +12 -9
- data/lib/roast/tools/cmd.rb +29 -12
- data/lib/roast/tools/coding_agent.rb +65 -17
- data/lib/roast/tools/context_summarizer.rb +108 -0
- 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/swarm.rb +124 -0
- 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 +33 -0
- data/lib/roast/workflow/api_configuration.rb +0 -4
- data/lib/roast/workflow/base_iteration_step.rb +3 -6
- data/lib/roast/workflow/base_step.rb +54 -28
- data/lib/roast/workflow/base_workflow.rb +43 -23
- 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 +5 -67
- data/lib/roast/workflow/configuration_loader.rb +63 -3
- data/lib/roast/workflow/configuration_parser.rb +1 -7
- data/lib/roast/workflow/context_manager.rb +89 -0
- data/lib/roast/workflow/dot_access_hash.rb +16 -1
- data/lib/roast/workflow/each_step.rb +1 -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 +1 -3
- data/lib/roast/workflow/output_manager.rb +0 -2
- data/lib/roast/workflow/repeat_step.rb +1 -1
- data/lib/roast/workflow/replay_handler.rb +1 -4
- data/lib/roast/workflow/resource_resolver.rb +0 -3
- data/lib/roast/workflow/session_manager.rb +0 -3
- data/lib/roast/workflow/sqlite_state_repository.rb +342 -0
- data/lib/roast/workflow/state_manager.rb +2 -4
- data/lib/roast/workflow/state_repository_factory.rb +36 -0
- data/lib/roast/workflow/step_completion_reporter.rb +27 -0
- data/lib/roast/workflow/step_executor_coordinator.rb +48 -24
- 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_executor_with_reporting.rb +68 -0
- 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 +31 -17
- data/lib/roast/workflow/step_name_extractor.rb +84 -0
- data/lib/roast/workflow/step_orchestrator.rb +3 -2
- data/lib/roast/workflow/step_type_resolver.rb +28 -1
- data/lib/roast/workflow/validation_command.rb +197 -0
- data/lib/roast/workflow/validator.rb +0 -4
- data/lib/roast/workflow/validators/base_validator.rb +44 -0
- data/lib/roast/workflow/validators/dependency_validator.rb +223 -0
- data/lib/roast/workflow/validators/linting_validator.rb +113 -0
- data/lib/roast/workflow/validators/schema_validator.rb +90 -0
- data/lib/roast/workflow/validators/step_collector.rb +57 -0
- data/lib/roast/workflow/validators/validation_orchestrator.rb +52 -0
- data/lib/roast/workflow/workflow_executor.rb +11 -20
- data/lib/roast/workflow/workflow_initializer.rb +1 -8
- data/lib/roast/workflow/workflow_runner.rb +6 -7
- data/lib/roast/workflow.rb +0 -15
- data/lib/roast/workflow_diagram_generator.rb +298 -0
- data/lib/roast.rb +212 -10
- data/roast.gemspec +4 -2
- data/schema/workflow.json +123 -1
- metadata +143 -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.1
|
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
|
@@ -107,6 +107,20 @@ dependencies:
|
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '1.0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: ruby-graphviz
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '1.2'
|
117
|
+
type: :runtime
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '1.2'
|
110
124
|
- !ruby/object:Gem::Dependency
|
111
125
|
name: thor
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
@@ -121,6 +135,20 @@ dependencies:
|
|
121
135
|
- - "~>"
|
122
136
|
- !ruby/object:Gem::Version
|
123
137
|
version: '1.3'
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: zeitwerk
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '2.6'
|
145
|
+
type: :runtime
|
146
|
+
prerelease: false
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '2.6'
|
124
152
|
description: Roast is a Ruby library for running structured AI workflows along with
|
125
153
|
many building blocks for creating and executing them
|
126
154
|
email:
|
@@ -148,47 +176,93 @@ files:
|
|
148
176
|
- Rakefile
|
149
177
|
- bin/console
|
150
178
|
- bin/roast
|
179
|
+
- claude-swarm.yml
|
180
|
+
- docs/AGENT_STEPS.md
|
151
181
|
- docs/INSTRUMENTATION.md
|
152
182
|
- docs/ITERATION_SYNTAX.md
|
183
|
+
- docs/VALIDATION.md
|
184
|
+
- examples/agent_continue/add_documentation/prompt.md
|
185
|
+
- examples/agent_continue/add_error_handling/prompt.md
|
186
|
+
- examples/agent_continue/analyze_codebase/prompt.md
|
187
|
+
- examples/agent_continue/combined_workflow.yml
|
188
|
+
- examples/agent_continue/continue_adding_features/prompt.md
|
189
|
+
- examples/agent_continue/create_integration_tests/prompt.md
|
190
|
+
- examples/agent_continue/document_with_context/prompt.md
|
191
|
+
- examples/agent_continue/explore_api/prompt.md
|
192
|
+
- examples/agent_continue/implement_client/prompt.md
|
193
|
+
- examples/agent_continue/inline_workflow.yml
|
194
|
+
- examples/agent_continue/refactor_code/prompt.md
|
195
|
+
- examples/agent_continue/verify_changes/prompt.md
|
196
|
+
- examples/agent_continue/workflow.yml
|
197
|
+
- examples/agent_workflow/README.md
|
198
|
+
- examples/agent_workflow/apply_refactorings/prompt.md
|
199
|
+
- examples/agent_workflow/identify_code_smells/prompt.md
|
200
|
+
- examples/agent_workflow/summarize_improvements/prompt.md
|
201
|
+
- examples/agent_workflow/workflow.png
|
202
|
+
- examples/agent_workflow/workflow.yml
|
153
203
|
- examples/api_workflow/README.md
|
154
204
|
- examples/api_workflow/fetch_api_data/prompt.md
|
155
205
|
- examples/api_workflow/generate_report/prompt.md
|
156
206
|
- examples/api_workflow/prompt.md
|
157
207
|
- examples/api_workflow/transform_data/prompt.md
|
208
|
+
- examples/api_workflow/workflow.png
|
158
209
|
- examples/api_workflow/workflow.yml
|
210
|
+
- examples/apply_diff_demo/README.md
|
211
|
+
- examples/apply_diff_demo/apply_simple_change/prompt.md
|
212
|
+
- examples/apply_diff_demo/create_sample_file/prompt.md
|
213
|
+
- examples/apply_diff_demo/workflow.yml
|
214
|
+
- examples/available_tools_demo/README.md
|
215
|
+
- examples/available_tools_demo/analyze_files/prompt.md
|
216
|
+
- examples/available_tools_demo/explore_directory/prompt.md
|
217
|
+
- examples/available_tools_demo/workflow.png
|
218
|
+
- examples/available_tools_demo/workflow.yml
|
219
|
+
- examples/available_tools_demo/write_summary/prompt.md
|
159
220
|
- examples/bash_prototyping/README.md
|
160
221
|
- examples/bash_prototyping/analyze_network/prompt.md
|
161
222
|
- examples/bash_prototyping/analyze_system/prompt.md
|
223
|
+
- examples/bash_prototyping/api_testing.png
|
162
224
|
- examples/bash_prototyping/api_testing.yml
|
163
225
|
- examples/bash_prototyping/check_processes/prompt.md
|
164
226
|
- examples/bash_prototyping/generate_report/prompt.md
|
165
227
|
- examples/bash_prototyping/process_json_response/prompt.md
|
228
|
+
- examples/bash_prototyping/system_analysis.png
|
166
229
|
- examples/bash_prototyping/system_analysis.yml
|
167
230
|
- examples/bash_prototyping/test_public_api/prompt.md
|
168
231
|
- examples/case_when/README.md
|
169
232
|
- examples/case_when/detect_language/prompt.md
|
233
|
+
- examples/case_when/workflow.png
|
170
234
|
- examples/case_when/workflow.yml
|
171
235
|
- examples/cmd/README.md
|
172
236
|
- examples/cmd/analyze_project/prompt.md
|
173
237
|
- examples/cmd/basic_demo/prompt.md
|
238
|
+
- examples/cmd/basic_workflow.png
|
174
239
|
- examples/cmd/basic_workflow.yml
|
175
240
|
- examples/cmd/check_repository/prompt.md
|
176
241
|
- examples/cmd/create_and_verify/prompt.md
|
242
|
+
- examples/cmd/dev_workflow.png
|
177
243
|
- examples/cmd/dev_workflow.yml
|
178
244
|
- examples/cmd/explore_project/prompt.md
|
245
|
+
- examples/cmd/explorer_workflow.png
|
179
246
|
- examples/cmd/explorer_workflow.yml
|
180
247
|
- examples/cmd/smart_tool_selection/prompt.md
|
181
248
|
- examples/conditional/README.md
|
182
249
|
- examples/conditional/check_condition/prompt.md
|
250
|
+
- examples/conditional/simple_workflow.png
|
183
251
|
- examples/conditional/simple_workflow.yml
|
252
|
+
- examples/conditional/workflow.png
|
184
253
|
- examples/conditional/workflow.yml
|
254
|
+
- examples/context_management_demo/README.md
|
255
|
+
- examples/context_management_demo/workflow.yml
|
185
256
|
- examples/direct_coerce_syntax/README.md
|
257
|
+
- examples/direct_coerce_syntax/workflow.png
|
186
258
|
- examples/direct_coerce_syntax/workflow.yml
|
187
259
|
- examples/dot_notation/README.md
|
260
|
+
- examples/dot_notation/workflow.png
|
188
261
|
- examples/dot_notation/workflow.yml
|
189
262
|
- examples/exit_on_error/README.md
|
190
263
|
- examples/exit_on_error/analyze_lint_output/prompt.md
|
191
264
|
- examples/exit_on_error/apply_fixes/prompt.md
|
265
|
+
- examples/exit_on_error/workflow.png
|
192
266
|
- examples/exit_on_error/workflow.yml
|
193
267
|
- examples/grading/README.md
|
194
268
|
- examples/grading/analyze_coverage/prompt.md
|
@@ -204,6 +278,7 @@ files:
|
|
204
278
|
- examples/grading/verify_mocks_and_stubs/prompt.md
|
205
279
|
- examples/grading/verify_test_helpers/prompt.md
|
206
280
|
- examples/grading/workflow.md
|
281
|
+
- examples/grading/workflow.png
|
207
282
|
- examples/grading/workflow.rb.md
|
208
283
|
- examples/grading/workflow.ts+tsx.md
|
209
284
|
- examples/grading/workflow.yml
|
@@ -216,6 +291,7 @@ files:
|
|
216
291
|
- examples/interpolation/sample.js
|
217
292
|
- examples/interpolation/sample.rb
|
218
293
|
- examples/interpolation/workflow.md
|
294
|
+
- examples/interpolation/workflow.png
|
219
295
|
- examples/interpolation/workflow.yml
|
220
296
|
- examples/iteration/IMPLEMENTATION.md
|
221
297
|
- examples/iteration/README.md
|
@@ -234,8 +310,10 @@ files:
|
|
234
310
|
- examples/iteration/simple_workflow.yml
|
235
311
|
- examples/iteration/update_fix_count/prompt.md
|
236
312
|
- examples/iteration/verify_fix/prompt.md
|
313
|
+
- examples/iteration/workflow.png
|
237
314
|
- examples/iteration/workflow.yml
|
238
315
|
- examples/json_handling/README.md
|
316
|
+
- examples/json_handling/workflow.png
|
239
317
|
- examples/json_handling/workflow.yml
|
240
318
|
- examples/mcp/README.md
|
241
319
|
- examples/mcp/analyze_changes/prompt.md
|
@@ -244,17 +322,22 @@ files:
|
|
244
322
|
- examples/mcp/check_data_quality/prompt.md
|
245
323
|
- examples/mcp/check_documentation/prompt.md
|
246
324
|
- examples/mcp/create_recommendations/prompt.md
|
325
|
+
- examples/mcp/database_workflow.png
|
247
326
|
- examples/mcp/database_workflow.yml
|
327
|
+
- examples/mcp/env_demo/workflow.png
|
248
328
|
- examples/mcp/env_demo/workflow.yml
|
249
329
|
- examples/mcp/fetch_pr_context/prompt.md
|
250
330
|
- examples/mcp/filesystem_demo/create_test_file/prompt.md
|
251
331
|
- examples/mcp/filesystem_demo/list_files/prompt.md
|
252
332
|
- examples/mcp/filesystem_demo/read_with_mcp/prompt.md
|
333
|
+
- examples/mcp/filesystem_demo/workflow.png
|
253
334
|
- examples/mcp/filesystem_demo/workflow.yml
|
254
335
|
- examples/mcp/generate_insights/prompt.md
|
255
336
|
- examples/mcp/generate_report/prompt.md
|
256
337
|
- examples/mcp/generate_review/prompt.md
|
338
|
+
- examples/mcp/github_workflow.png
|
257
339
|
- examples/mcp/github_workflow.yml
|
340
|
+
- examples/mcp/multi_mcp_workflow.png
|
258
341
|
- examples/mcp/multi_mcp_workflow.yml
|
259
342
|
- examples/mcp/post_review/prompt.md
|
260
343
|
- examples/mcp/save_report/prompt.md
|
@@ -263,10 +346,19 @@ files:
|
|
263
346
|
- examples/mcp/test_filesystem/prompt.md
|
264
347
|
- examples/mcp/test_github/prompt.md
|
265
348
|
- examples/mcp/test_read/prompt.md
|
349
|
+
- examples/mcp/workflow.png
|
266
350
|
- examples/mcp/workflow.yml
|
351
|
+
- examples/no_model_fallback/README.md
|
352
|
+
- examples/no_model_fallback/analyze_file/prompt.md
|
353
|
+
- examples/no_model_fallback/analyze_patterns/prompt.md
|
354
|
+
- examples/no_model_fallback/generate_report_for_md/prompt.md
|
355
|
+
- examples/no_model_fallback/generate_report_for_rb/prompt.md
|
356
|
+
- examples/no_model_fallback/sample.rb
|
357
|
+
- examples/no_model_fallback/workflow.yml
|
267
358
|
- examples/openrouter_example/README.md
|
268
359
|
- examples/openrouter_example/analyze_input/prompt.md
|
269
360
|
- examples/openrouter_example/generate_response/prompt.md
|
361
|
+
- examples/openrouter_example/workflow.png
|
270
362
|
- examples/openrouter_example/workflow.yml
|
271
363
|
- examples/pre_post_processing/README.md
|
272
364
|
- examples/pre_post_processing/analyze_test_file/prompt.md
|
@@ -279,32 +371,54 @@ files:
|
|
279
371
|
- examples/pre_post_processing/pre_processing/gather_baseline_metrics/prompt.md
|
280
372
|
- examples/pre_post_processing/pre_processing/setup_test_environment/prompt.md
|
281
373
|
- examples/pre_post_processing/validate_changes/prompt.md
|
374
|
+
- examples/pre_post_processing/workflow.png
|
282
375
|
- examples/pre_post_processing/workflow.yml
|
283
376
|
- examples/rspec_to_minitest/README.md
|
284
377
|
- examples/rspec_to_minitest/analyze_spec/prompt.md
|
285
378
|
- examples/rspec_to_minitest/create_minitest/prompt.md
|
286
379
|
- examples/rspec_to_minitest/run_and_improve/prompt.md
|
287
380
|
- examples/rspec_to_minitest/workflow.md
|
381
|
+
- examples/rspec_to_minitest/workflow.png
|
288
382
|
- examples/rspec_to_minitest/workflow.yml
|
289
383
|
- examples/shared_config/README.md
|
384
|
+
- examples/shared_config/example_with_shared_config/workflow.png
|
290
385
|
- examples/shared_config/example_with_shared_config/workflow.yml
|
386
|
+
- examples/shared_config/shared.png
|
291
387
|
- examples/shared_config/shared.yml
|
292
388
|
- examples/single_target_prepost/README.md
|
293
389
|
- examples/single_target_prepost/post_processing/output.txt
|
294
390
|
- examples/single_target_prepost/pre_processing/gather_dependencies/prompt.md
|
391
|
+
- examples/single_target_prepost/workflow.png
|
295
392
|
- examples/single_target_prepost/workflow.yml
|
296
393
|
- examples/smart_coercion_defaults/README.md
|
394
|
+
- examples/smart_coercion_defaults/workflow.png
|
297
395
|
- examples/smart_coercion_defaults/workflow.yml
|
298
396
|
- examples/step_configuration/README.md
|
397
|
+
- examples/step_configuration/workflow.png
|
299
398
|
- examples/step_configuration/workflow.yml
|
399
|
+
- examples/swarm_example.yml
|
300
400
|
- examples/tool_config_example/README.md
|
301
401
|
- examples/tool_config_example/example_step/prompt.md
|
402
|
+
- examples/tool_config_example/workflow.png
|
302
403
|
- examples/tool_config_example/workflow.yml
|
404
|
+
- examples/user_input/README.md
|
405
|
+
- examples/user_input/funny_name/create_backstory/prompt.md
|
406
|
+
- examples/user_input/funny_name/workflow.png
|
407
|
+
- examples/user_input/funny_name/workflow.yml
|
408
|
+
- examples/user_input/generate_summary/prompt.md
|
409
|
+
- examples/user_input/simple_input_demo/workflow.png
|
410
|
+
- examples/user_input/simple_input_demo/workflow.yml
|
411
|
+
- examples/user_input/survey_workflow.png
|
412
|
+
- examples/user_input/survey_workflow.yml
|
413
|
+
- examples/user_input/welcome_message/prompt.md
|
414
|
+
- examples/user_input/workflow.png
|
415
|
+
- examples/user_input/workflow.yml
|
303
416
|
- examples/workflow_generator/README.md
|
304
417
|
- examples/workflow_generator/analyze_user_request/prompt.md
|
305
418
|
- examples/workflow_generator/create_workflow_files/prompt.md
|
306
419
|
- examples/workflow_generator/get_user_input/prompt.md
|
307
420
|
- examples/workflow_generator/info_from_roast.rb
|
421
|
+
- examples/workflow_generator/workflow.png
|
308
422
|
- examples/workflow_generator/workflow.yml
|
309
423
|
- exe/roast
|
310
424
|
- gemfiles/activesupport7.gemfile
|
@@ -312,12 +426,12 @@ files:
|
|
312
426
|
- lib/roast.rb
|
313
427
|
- lib/roast/errors.rb
|
314
428
|
- lib/roast/factories/api_provider_factory.rb
|
315
|
-
- lib/roast/helpers.rb
|
316
429
|
- lib/roast/helpers/function_caching_interceptor.rb
|
317
430
|
- lib/roast/helpers/logger.rb
|
318
431
|
- lib/roast/helpers/minitest_coverage_runner.rb
|
319
432
|
- lib/roast/helpers/path_resolver.rb
|
320
433
|
- lib/roast/helpers/prompt_loader.rb
|
434
|
+
- lib/roast/helpers/timeout_handler.rb
|
321
435
|
- lib/roast/initializers.rb
|
322
436
|
- lib/roast/resources.rb
|
323
437
|
- lib/roast/resources/api_resource.rb
|
@@ -326,15 +440,20 @@ files:
|
|
326
440
|
- lib/roast/resources/file_resource.rb
|
327
441
|
- lib/roast/resources/none_resource.rb
|
328
442
|
- lib/roast/resources/url_resource.rb
|
443
|
+
- lib/roast/services/context_threshold_checker.rb
|
444
|
+
- lib/roast/services/token_counting_service.rb
|
329
445
|
- lib/roast/tools.rb
|
446
|
+
- lib/roast/tools/apply_diff.rb
|
330
447
|
- lib/roast/tools/ask_user.rb
|
331
448
|
- lib/roast/tools/bash.rb
|
332
449
|
- lib/roast/tools/cmd.rb
|
333
450
|
- lib/roast/tools/coding_agent.rb
|
451
|
+
- lib/roast/tools/context_summarizer.rb
|
334
452
|
- lib/roast/tools/grep.rb
|
335
453
|
- lib/roast/tools/helpers/coding_agent_message_formatter.rb
|
336
454
|
- lib/roast/tools/read_file.rb
|
337
455
|
- lib/roast/tools/search_file.rb
|
456
|
+
- lib/roast/tools/swarm.rb
|
338
457
|
- lib/roast/tools/update_files.rb
|
339
458
|
- lib/roast/tools/write_file.rb
|
340
459
|
- lib/roast/value_objects.rb
|
@@ -344,6 +463,7 @@ files:
|
|
344
463
|
- lib/roast/value_objects/workflow_path.rb
|
345
464
|
- lib/roast/version.rb
|
346
465
|
- lib/roast/workflow.rb
|
466
|
+
- lib/roast/workflow/agent_step.rb
|
347
467
|
- lib/roast/workflow/api_configuration.rb
|
348
468
|
- lib/roast/workflow/base_iteration_step.rb
|
349
469
|
- lib/roast/workflow/base_step.rb
|
@@ -356,6 +476,7 @@ files:
|
|
356
476
|
- lib/roast/workflow/configuration.rb
|
357
477
|
- lib/roast/workflow/configuration_loader.rb
|
358
478
|
- lib/roast/workflow/configuration_parser.rb
|
479
|
+
- lib/roast/workflow/context_manager.rb
|
359
480
|
- lib/roast/workflow/context_path_resolver.rb
|
360
481
|
- lib/roast/workflow/dot_access_hash.rb
|
361
482
|
- lib/roast/workflow/each_step.rb
|
@@ -363,6 +484,8 @@ files:
|
|
363
484
|
- lib/roast/workflow/expression_evaluator.rb
|
364
485
|
- lib/roast/workflow/expression_utils.rb
|
365
486
|
- lib/roast/workflow/file_state_repository.rb
|
487
|
+
- lib/roast/workflow/input_executor.rb
|
488
|
+
- lib/roast/workflow/input_step.rb
|
366
489
|
- lib/roast/workflow/interpolator.rb
|
367
490
|
- lib/roast/workflow/iteration_executor.rb
|
368
491
|
- lib/roast/workflow/llm_boolean_coercer.rb
|
@@ -374,26 +497,40 @@ files:
|
|
374
497
|
- lib/roast/workflow/replay_handler.rb
|
375
498
|
- lib/roast/workflow/resource_resolver.rb
|
376
499
|
- lib/roast/workflow/session_manager.rb
|
500
|
+
- lib/roast/workflow/sqlite_state_repository.rb
|
377
501
|
- lib/roast/workflow/state_manager.rb
|
378
502
|
- lib/roast/workflow/state_repository.rb
|
503
|
+
- lib/roast/workflow/state_repository_factory.rb
|
504
|
+
- lib/roast/workflow/step_completion_reporter.rb
|
379
505
|
- lib/roast/workflow/step_executor_coordinator.rb
|
380
506
|
- lib/roast/workflow/step_executor_factory.rb
|
381
507
|
- lib/roast/workflow/step_executor_registry.rb
|
508
|
+
- lib/roast/workflow/step_executor_with_reporting.rb
|
382
509
|
- lib/roast/workflow/step_executors/base_step_executor.rb
|
383
510
|
- lib/roast/workflow/step_executors/hash_step_executor.rb
|
384
511
|
- lib/roast/workflow/step_executors/parallel_step_executor.rb
|
385
512
|
- lib/roast/workflow/step_executors/string_step_executor.rb
|
513
|
+
- lib/roast/workflow/step_factory.rb
|
386
514
|
- lib/roast/workflow/step_finder.rb
|
387
515
|
- lib/roast/workflow/step_loader.rb
|
516
|
+
- lib/roast/workflow/step_name_extractor.rb
|
388
517
|
- lib/roast/workflow/step_orchestrator.rb
|
389
518
|
- lib/roast/workflow/step_runner.rb
|
390
519
|
- lib/roast/workflow/step_type_resolver.rb
|
520
|
+
- lib/roast/workflow/validation_command.rb
|
391
521
|
- lib/roast/workflow/validator.rb
|
522
|
+
- lib/roast/workflow/validators/base_validator.rb
|
523
|
+
- lib/roast/workflow/validators/dependency_validator.rb
|
524
|
+
- lib/roast/workflow/validators/linting_validator.rb
|
525
|
+
- lib/roast/workflow/validators/schema_validator.rb
|
526
|
+
- lib/roast/workflow/validators/step_collector.rb
|
527
|
+
- lib/roast/workflow/validators/validation_orchestrator.rb
|
392
528
|
- lib/roast/workflow/workflow_context.rb
|
393
529
|
- lib/roast/workflow/workflow_execution_context.rb
|
394
530
|
- lib/roast/workflow/workflow_executor.rb
|
395
531
|
- lib/roast/workflow/workflow_initializer.rb
|
396
532
|
- lib/roast/workflow/workflow_runner.rb
|
533
|
+
- lib/roast/workflow_diagram_generator.rb
|
397
534
|
- package-lock.json
|
398
535
|
- roast.gemspec
|
399
536
|
- schema/workflow.json
|
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
|