roast-ai 0.4.0 → 0.4.2
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 +103 -0
- data/CLAUDE.md +55 -9
- data/Gemfile.lock +19 -10
- data/README.md +69 -3
- data/bin/console +1 -0
- data/docs/AGENT_STEPS.md +33 -9
- 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/workflow.png +0 -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/workflow.png +0 -0
- data/examples/bash_prototyping/api_testing.png +0 -0
- data/examples/bash_prototyping/system_analysis.png +0 -0
- 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/rb_test_runner +1 -1
- data/examples/grading/workflow.png +0 -0
- data/examples/interpolation/workflow.png +0 -0
- data/examples/interpolation/workflow.yml +1 -1
- data/examples/iteration/workflow.png +0 -0
- data/examples/json_handling/workflow.png +0 -0
- data/examples/mcp/database_workflow.png +0 -0
- data/examples/mcp/env_demo/workflow.png +0 -0
- data/examples/mcp/filesystem_demo/workflow.png +0 -0
- data/examples/mcp/github_workflow.png +0 -0
- data/examples/mcp/multi_mcp_workflow.png +0 -0
- 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/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/funny_name/workflow.png +0 -0
- data/examples/user_input/simple_input_demo/workflow.png +0 -0
- data/examples/user_input/survey_workflow.png +0 -0
- data/examples/user_input/workflow.png +0 -0
- data/examples/workflow_generator/workflow.png +0 -0
- data/lib/roast/errors.rb +3 -0
- data/lib/roast/helpers/timeout_handler.rb +91 -0
- 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/bash.rb +15 -9
- data/lib/roast/tools/cmd.rb +32 -12
- data/lib/roast/tools/coding_agent.rb +65 -10
- data/lib/roast/tools/context_summarizer.rb +108 -0
- data/lib/roast/tools/swarm.rb +124 -0
- data/lib/roast/version.rb +1 -1
- data/lib/roast/workflow/agent_step.rb +9 -2
- data/lib/roast/workflow/base_iteration_step.rb +3 -2
- data/lib/roast/workflow/base_workflow.rb +41 -2
- data/lib/roast/workflow/command_executor.rb +3 -1
- data/lib/roast/workflow/configuration.rb +2 -1
- data/lib/roast/workflow/configuration_loader.rb +63 -1
- data/lib/roast/workflow/configuration_parser.rb +2 -0
- data/lib/roast/workflow/context_manager.rb +89 -0
- data/lib/roast/workflow/each_step.rb +1 -1
- data/lib/roast/workflow/input_step.rb +2 -0
- data/lib/roast/workflow/interpolator.rb +23 -1
- data/lib/roast/workflow/output_handler.rb +1 -1
- data/lib/roast/workflow/repeat_step.rb +1 -1
- data/lib/roast/workflow/replay_handler.rb +1 -1
- data/lib/roast/workflow/sqlite_state_repository.rb +342 -0
- data/lib/roast/workflow/state_manager.rb +2 -2
- 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 +19 -18
- data/lib/roast/workflow/step_executor_with_reporting.rb +68 -0
- data/lib/roast/workflow/step_loader.rb +1 -1
- data/lib/roast/workflow/step_name_extractor.rb +84 -0
- data/lib/roast/workflow/validation_command.rb +197 -0
- 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 -4
- data/lib/roast/workflow/workflow_initializer.rb +80 -0
- data/lib/roast/workflow/workflow_runner.rb +6 -0
- data/lib/roast/workflow_diagram_generator.rb +298 -0
- data/lib/roast.rb +158 -0
- data/roast.gemspec +4 -1
- data/schema/workflow.json +77 -1
- metadata +129 -1
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.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
@@ -23,6 +23,20 @@ dependencies:
|
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
25
|
version: '7.0'
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: cli-kit
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '5.0'
|
26
40
|
- !ruby/object:Gem::Dependency
|
27
41
|
name: cli-ui
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +121,34 @@ dependencies:
|
|
107
121
|
- - "~>"
|
108
122
|
- !ruby/object:Gem::Version
|
109
123
|
version: '1.0'
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: ruby-graphviz
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '1.2'
|
131
|
+
type: :runtime
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '1.2'
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: sqlite3
|
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'
|
110
152
|
- !ruby/object:Gem::Dependency
|
111
153
|
name: thor
|
112
154
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,55 +208,89 @@ files:
|
|
166
208
|
- docs/AGENT_STEPS.md
|
167
209
|
- docs/INSTRUMENTATION.md
|
168
210
|
- docs/ITERATION_SYNTAX.md
|
211
|
+
- docs/VALIDATION.md
|
212
|
+
- examples/agent_continue/add_documentation/prompt.md
|
213
|
+
- examples/agent_continue/add_error_handling/prompt.md
|
214
|
+
- examples/agent_continue/analyze_codebase/prompt.md
|
215
|
+
- examples/agent_continue/combined_workflow.yml
|
216
|
+
- examples/agent_continue/continue_adding_features/prompt.md
|
217
|
+
- examples/agent_continue/create_integration_tests/prompt.md
|
218
|
+
- examples/agent_continue/document_with_context/prompt.md
|
219
|
+
- examples/agent_continue/explore_api/prompt.md
|
220
|
+
- examples/agent_continue/implement_client/prompt.md
|
221
|
+
- examples/agent_continue/inline_workflow.yml
|
222
|
+
- examples/agent_continue/refactor_code/prompt.md
|
223
|
+
- examples/agent_continue/verify_changes/prompt.md
|
224
|
+
- examples/agent_continue/workflow.yml
|
169
225
|
- examples/agent_workflow/README.md
|
170
226
|
- examples/agent_workflow/apply_refactorings/prompt.md
|
171
227
|
- examples/agent_workflow/identify_code_smells/prompt.md
|
172
228
|
- examples/agent_workflow/summarize_improvements/prompt.md
|
229
|
+
- examples/agent_workflow/workflow.png
|
173
230
|
- examples/agent_workflow/workflow.yml
|
174
231
|
- examples/api_workflow/README.md
|
175
232
|
- examples/api_workflow/fetch_api_data/prompt.md
|
176
233
|
- examples/api_workflow/generate_report/prompt.md
|
177
234
|
- examples/api_workflow/prompt.md
|
178
235
|
- examples/api_workflow/transform_data/prompt.md
|
236
|
+
- examples/api_workflow/workflow.png
|
179
237
|
- examples/api_workflow/workflow.yml
|
238
|
+
- examples/apply_diff_demo/README.md
|
239
|
+
- examples/apply_diff_demo/apply_simple_change/prompt.md
|
240
|
+
- examples/apply_diff_demo/create_sample_file/prompt.md
|
241
|
+
- examples/apply_diff_demo/workflow.yml
|
180
242
|
- examples/available_tools_demo/README.md
|
181
243
|
- examples/available_tools_demo/analyze_files/prompt.md
|
182
244
|
- examples/available_tools_demo/explore_directory/prompt.md
|
245
|
+
- examples/available_tools_demo/workflow.png
|
183
246
|
- examples/available_tools_demo/workflow.yml
|
184
247
|
- examples/available_tools_demo/write_summary/prompt.md
|
185
248
|
- examples/bash_prototyping/README.md
|
186
249
|
- examples/bash_prototyping/analyze_network/prompt.md
|
187
250
|
- examples/bash_prototyping/analyze_system/prompt.md
|
251
|
+
- examples/bash_prototyping/api_testing.png
|
188
252
|
- examples/bash_prototyping/api_testing.yml
|
189
253
|
- examples/bash_prototyping/check_processes/prompt.md
|
190
254
|
- examples/bash_prototyping/generate_report/prompt.md
|
191
255
|
- examples/bash_prototyping/process_json_response/prompt.md
|
256
|
+
- examples/bash_prototyping/system_analysis.png
|
192
257
|
- examples/bash_prototyping/system_analysis.yml
|
193
258
|
- examples/bash_prototyping/test_public_api/prompt.md
|
194
259
|
- examples/case_when/README.md
|
195
260
|
- examples/case_when/detect_language/prompt.md
|
261
|
+
- examples/case_when/workflow.png
|
196
262
|
- examples/case_when/workflow.yml
|
197
263
|
- examples/cmd/README.md
|
198
264
|
- examples/cmd/analyze_project/prompt.md
|
199
265
|
- examples/cmd/basic_demo/prompt.md
|
266
|
+
- examples/cmd/basic_workflow.png
|
200
267
|
- examples/cmd/basic_workflow.yml
|
201
268
|
- examples/cmd/check_repository/prompt.md
|
202
269
|
- examples/cmd/create_and_verify/prompt.md
|
270
|
+
- examples/cmd/dev_workflow.png
|
203
271
|
- examples/cmd/dev_workflow.yml
|
204
272
|
- examples/cmd/explore_project/prompt.md
|
273
|
+
- examples/cmd/explorer_workflow.png
|
205
274
|
- examples/cmd/explorer_workflow.yml
|
206
275
|
- examples/cmd/smart_tool_selection/prompt.md
|
207
276
|
- examples/conditional/README.md
|
208
277
|
- examples/conditional/check_condition/prompt.md
|
278
|
+
- examples/conditional/simple_workflow.png
|
209
279
|
- examples/conditional/simple_workflow.yml
|
280
|
+
- examples/conditional/workflow.png
|
210
281
|
- examples/conditional/workflow.yml
|
282
|
+
- examples/context_management_demo/README.md
|
283
|
+
- examples/context_management_demo/workflow.yml
|
211
284
|
- examples/direct_coerce_syntax/README.md
|
285
|
+
- examples/direct_coerce_syntax/workflow.png
|
212
286
|
- examples/direct_coerce_syntax/workflow.yml
|
213
287
|
- examples/dot_notation/README.md
|
288
|
+
- examples/dot_notation/workflow.png
|
214
289
|
- examples/dot_notation/workflow.yml
|
215
290
|
- examples/exit_on_error/README.md
|
216
291
|
- examples/exit_on_error/analyze_lint_output/prompt.md
|
217
292
|
- examples/exit_on_error/apply_fixes/prompt.md
|
293
|
+
- examples/exit_on_error/workflow.png
|
218
294
|
- examples/exit_on_error/workflow.yml
|
219
295
|
- examples/grading/README.md
|
220
296
|
- examples/grading/analyze_coverage/prompt.md
|
@@ -230,6 +306,7 @@ files:
|
|
230
306
|
- examples/grading/verify_mocks_and_stubs/prompt.md
|
231
307
|
- examples/grading/verify_test_helpers/prompt.md
|
232
308
|
- examples/grading/workflow.md
|
309
|
+
- examples/grading/workflow.png
|
233
310
|
- examples/grading/workflow.rb.md
|
234
311
|
- examples/grading/workflow.ts+tsx.md
|
235
312
|
- examples/grading/workflow.yml
|
@@ -242,6 +319,7 @@ files:
|
|
242
319
|
- examples/interpolation/sample.js
|
243
320
|
- examples/interpolation/sample.rb
|
244
321
|
- examples/interpolation/workflow.md
|
322
|
+
- examples/interpolation/workflow.png
|
245
323
|
- examples/interpolation/workflow.yml
|
246
324
|
- examples/iteration/IMPLEMENTATION.md
|
247
325
|
- examples/iteration/README.md
|
@@ -260,8 +338,10 @@ files:
|
|
260
338
|
- examples/iteration/simple_workflow.yml
|
261
339
|
- examples/iteration/update_fix_count/prompt.md
|
262
340
|
- examples/iteration/verify_fix/prompt.md
|
341
|
+
- examples/iteration/workflow.png
|
263
342
|
- examples/iteration/workflow.yml
|
264
343
|
- examples/json_handling/README.md
|
344
|
+
- examples/json_handling/workflow.png
|
265
345
|
- examples/json_handling/workflow.yml
|
266
346
|
- examples/mcp/README.md
|
267
347
|
- examples/mcp/analyze_changes/prompt.md
|
@@ -270,17 +350,22 @@ files:
|
|
270
350
|
- examples/mcp/check_data_quality/prompt.md
|
271
351
|
- examples/mcp/check_documentation/prompt.md
|
272
352
|
- examples/mcp/create_recommendations/prompt.md
|
353
|
+
- examples/mcp/database_workflow.png
|
273
354
|
- examples/mcp/database_workflow.yml
|
355
|
+
- examples/mcp/env_demo/workflow.png
|
274
356
|
- examples/mcp/env_demo/workflow.yml
|
275
357
|
- examples/mcp/fetch_pr_context/prompt.md
|
276
358
|
- examples/mcp/filesystem_demo/create_test_file/prompt.md
|
277
359
|
- examples/mcp/filesystem_demo/list_files/prompt.md
|
278
360
|
- examples/mcp/filesystem_demo/read_with_mcp/prompt.md
|
361
|
+
- examples/mcp/filesystem_demo/workflow.png
|
279
362
|
- examples/mcp/filesystem_demo/workflow.yml
|
280
363
|
- examples/mcp/generate_insights/prompt.md
|
281
364
|
- examples/mcp/generate_report/prompt.md
|
282
365
|
- examples/mcp/generate_review/prompt.md
|
366
|
+
- examples/mcp/github_workflow.png
|
283
367
|
- examples/mcp/github_workflow.yml
|
368
|
+
- examples/mcp/multi_mcp_workflow.png
|
284
369
|
- examples/mcp/multi_mcp_workflow.yml
|
285
370
|
- examples/mcp/post_review/prompt.md
|
286
371
|
- examples/mcp/save_report/prompt.md
|
@@ -289,10 +374,19 @@ files:
|
|
289
374
|
- examples/mcp/test_filesystem/prompt.md
|
290
375
|
- examples/mcp/test_github/prompt.md
|
291
376
|
- examples/mcp/test_read/prompt.md
|
377
|
+
- examples/mcp/workflow.png
|
292
378
|
- examples/mcp/workflow.yml
|
379
|
+
- examples/no_model_fallback/README.md
|
380
|
+
- examples/no_model_fallback/analyze_file/prompt.md
|
381
|
+
- examples/no_model_fallback/analyze_patterns/prompt.md
|
382
|
+
- examples/no_model_fallback/generate_report_for_md/prompt.md
|
383
|
+
- examples/no_model_fallback/generate_report_for_rb/prompt.md
|
384
|
+
- examples/no_model_fallback/sample.rb
|
385
|
+
- examples/no_model_fallback/workflow.yml
|
293
386
|
- examples/openrouter_example/README.md
|
294
387
|
- examples/openrouter_example/analyze_input/prompt.md
|
295
388
|
- examples/openrouter_example/generate_response/prompt.md
|
389
|
+
- examples/openrouter_example/workflow.png
|
296
390
|
- examples/openrouter_example/workflow.yml
|
297
391
|
- examples/pre_post_processing/README.md
|
298
392
|
- examples/pre_post_processing/analyze_test_file/prompt.md
|
@@ -305,40 +399,54 @@ files:
|
|
305
399
|
- examples/pre_post_processing/pre_processing/gather_baseline_metrics/prompt.md
|
306
400
|
- examples/pre_post_processing/pre_processing/setup_test_environment/prompt.md
|
307
401
|
- examples/pre_post_processing/validate_changes/prompt.md
|
402
|
+
- examples/pre_post_processing/workflow.png
|
308
403
|
- examples/pre_post_processing/workflow.yml
|
309
404
|
- examples/rspec_to_minitest/README.md
|
310
405
|
- examples/rspec_to_minitest/analyze_spec/prompt.md
|
311
406
|
- examples/rspec_to_minitest/create_minitest/prompt.md
|
312
407
|
- examples/rspec_to_minitest/run_and_improve/prompt.md
|
313
408
|
- examples/rspec_to_minitest/workflow.md
|
409
|
+
- examples/rspec_to_minitest/workflow.png
|
314
410
|
- examples/rspec_to_minitest/workflow.yml
|
315
411
|
- examples/shared_config/README.md
|
412
|
+
- examples/shared_config/example_with_shared_config/workflow.png
|
316
413
|
- examples/shared_config/example_with_shared_config/workflow.yml
|
414
|
+
- examples/shared_config/shared.png
|
317
415
|
- examples/shared_config/shared.yml
|
318
416
|
- examples/single_target_prepost/README.md
|
319
417
|
- examples/single_target_prepost/post_processing/output.txt
|
320
418
|
- examples/single_target_prepost/pre_processing/gather_dependencies/prompt.md
|
419
|
+
- examples/single_target_prepost/workflow.png
|
321
420
|
- examples/single_target_prepost/workflow.yml
|
322
421
|
- examples/smart_coercion_defaults/README.md
|
422
|
+
- examples/smart_coercion_defaults/workflow.png
|
323
423
|
- examples/smart_coercion_defaults/workflow.yml
|
324
424
|
- examples/step_configuration/README.md
|
425
|
+
- examples/step_configuration/workflow.png
|
325
426
|
- examples/step_configuration/workflow.yml
|
427
|
+
- examples/swarm_example.yml
|
326
428
|
- examples/tool_config_example/README.md
|
327
429
|
- examples/tool_config_example/example_step/prompt.md
|
430
|
+
- examples/tool_config_example/workflow.png
|
328
431
|
- examples/tool_config_example/workflow.yml
|
329
432
|
- examples/user_input/README.md
|
330
433
|
- examples/user_input/funny_name/create_backstory/prompt.md
|
434
|
+
- examples/user_input/funny_name/workflow.png
|
331
435
|
- examples/user_input/funny_name/workflow.yml
|
332
436
|
- examples/user_input/generate_summary/prompt.md
|
437
|
+
- examples/user_input/simple_input_demo/workflow.png
|
333
438
|
- examples/user_input/simple_input_demo/workflow.yml
|
439
|
+
- examples/user_input/survey_workflow.png
|
334
440
|
- examples/user_input/survey_workflow.yml
|
335
441
|
- examples/user_input/welcome_message/prompt.md
|
442
|
+
- examples/user_input/workflow.png
|
336
443
|
- examples/user_input/workflow.yml
|
337
444
|
- examples/workflow_generator/README.md
|
338
445
|
- examples/workflow_generator/analyze_user_request/prompt.md
|
339
446
|
- examples/workflow_generator/create_workflow_files/prompt.md
|
340
447
|
- examples/workflow_generator/get_user_input/prompt.md
|
341
448
|
- examples/workflow_generator/info_from_roast.rb
|
449
|
+
- examples/workflow_generator/workflow.png
|
342
450
|
- examples/workflow_generator/workflow.yml
|
343
451
|
- exe/roast
|
344
452
|
- gemfiles/activesupport7.gemfile
|
@@ -351,6 +459,7 @@ files:
|
|
351
459
|
- lib/roast/helpers/minitest_coverage_runner.rb
|
352
460
|
- lib/roast/helpers/path_resolver.rb
|
353
461
|
- lib/roast/helpers/prompt_loader.rb
|
462
|
+
- lib/roast/helpers/timeout_handler.rb
|
354
463
|
- lib/roast/initializers.rb
|
355
464
|
- lib/roast/resources.rb
|
356
465
|
- lib/roast/resources/api_resource.rb
|
@@ -359,15 +468,20 @@ files:
|
|
359
468
|
- lib/roast/resources/file_resource.rb
|
360
469
|
- lib/roast/resources/none_resource.rb
|
361
470
|
- lib/roast/resources/url_resource.rb
|
471
|
+
- lib/roast/services/context_threshold_checker.rb
|
472
|
+
- lib/roast/services/token_counting_service.rb
|
362
473
|
- lib/roast/tools.rb
|
474
|
+
- lib/roast/tools/apply_diff.rb
|
363
475
|
- lib/roast/tools/ask_user.rb
|
364
476
|
- lib/roast/tools/bash.rb
|
365
477
|
- lib/roast/tools/cmd.rb
|
366
478
|
- lib/roast/tools/coding_agent.rb
|
479
|
+
- lib/roast/tools/context_summarizer.rb
|
367
480
|
- lib/roast/tools/grep.rb
|
368
481
|
- lib/roast/tools/helpers/coding_agent_message_formatter.rb
|
369
482
|
- lib/roast/tools/read_file.rb
|
370
483
|
- lib/roast/tools/search_file.rb
|
484
|
+
- lib/roast/tools/swarm.rb
|
371
485
|
- lib/roast/tools/update_files.rb
|
372
486
|
- lib/roast/tools/write_file.rb
|
373
487
|
- lib/roast/value_objects.rb
|
@@ -390,6 +504,7 @@ files:
|
|
390
504
|
- lib/roast/workflow/configuration.rb
|
391
505
|
- lib/roast/workflow/configuration_loader.rb
|
392
506
|
- lib/roast/workflow/configuration_parser.rb
|
507
|
+
- lib/roast/workflow/context_manager.rb
|
393
508
|
- lib/roast/workflow/context_path_resolver.rb
|
394
509
|
- lib/roast/workflow/dot_access_hash.rb
|
395
510
|
- lib/roast/workflow/each_step.rb
|
@@ -410,11 +525,15 @@ files:
|
|
410
525
|
- lib/roast/workflow/replay_handler.rb
|
411
526
|
- lib/roast/workflow/resource_resolver.rb
|
412
527
|
- lib/roast/workflow/session_manager.rb
|
528
|
+
- lib/roast/workflow/sqlite_state_repository.rb
|
413
529
|
- lib/roast/workflow/state_manager.rb
|
414
530
|
- lib/roast/workflow/state_repository.rb
|
531
|
+
- lib/roast/workflow/state_repository_factory.rb
|
532
|
+
- lib/roast/workflow/step_completion_reporter.rb
|
415
533
|
- lib/roast/workflow/step_executor_coordinator.rb
|
416
534
|
- lib/roast/workflow/step_executor_factory.rb
|
417
535
|
- lib/roast/workflow/step_executor_registry.rb
|
536
|
+
- lib/roast/workflow/step_executor_with_reporting.rb
|
418
537
|
- lib/roast/workflow/step_executors/base_step_executor.rb
|
419
538
|
- lib/roast/workflow/step_executors/hash_step_executor.rb
|
420
539
|
- lib/roast/workflow/step_executors/parallel_step_executor.rb
|
@@ -422,15 +541,24 @@ files:
|
|
422
541
|
- lib/roast/workflow/step_factory.rb
|
423
542
|
- lib/roast/workflow/step_finder.rb
|
424
543
|
- lib/roast/workflow/step_loader.rb
|
544
|
+
- lib/roast/workflow/step_name_extractor.rb
|
425
545
|
- lib/roast/workflow/step_orchestrator.rb
|
426
546
|
- lib/roast/workflow/step_runner.rb
|
427
547
|
- lib/roast/workflow/step_type_resolver.rb
|
548
|
+
- lib/roast/workflow/validation_command.rb
|
428
549
|
- lib/roast/workflow/validator.rb
|
550
|
+
- lib/roast/workflow/validators/base_validator.rb
|
551
|
+
- lib/roast/workflow/validators/dependency_validator.rb
|
552
|
+
- lib/roast/workflow/validators/linting_validator.rb
|
553
|
+
- lib/roast/workflow/validators/schema_validator.rb
|
554
|
+
- lib/roast/workflow/validators/step_collector.rb
|
555
|
+
- lib/roast/workflow/validators/validation_orchestrator.rb
|
429
556
|
- lib/roast/workflow/workflow_context.rb
|
430
557
|
- lib/roast/workflow/workflow_execution_context.rb
|
431
558
|
- lib/roast/workflow/workflow_executor.rb
|
432
559
|
- lib/roast/workflow/workflow_initializer.rb
|
433
560
|
- lib/roast/workflow/workflow_runner.rb
|
561
|
+
- lib/roast/workflow_diagram_generator.rb
|
434
562
|
- package-lock.json
|
435
563
|
- roast.gemspec
|
436
564
|
- schema/workflow.json
|