roast-ai 0.4.3 → 0.4.5
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/CODEOWNERS +2 -0
- data/.github/workflows/ci.yaml +1 -0
- data/.gitignore +0 -26
- data/.rubocop.yml +13 -0
- data/.rubocop_todo.yml +21 -0
- data/CHANGELOG.md +29 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +47 -29
- data/bin/rubocop +27 -0
- data/bin/spoom +27 -0
- data/bin/srb +27 -0
- data/bin/srb-rbi +27 -0
- data/bin/tapioca +27 -0
- data/docs/INSTRUMENTATION.md +3 -3
- data/dsl/simple.rb +10 -0
- data/lib/roast/dsl/executor.rb +26 -0
- data/lib/roast/dsl.rb +7 -0
- data/lib/roast/errors.rb +1 -0
- data/lib/roast/factories/api_provider_factory.rb +1 -0
- data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
- data/lib/roast/helpers/logger.rb +6 -9
- data/lib/roast/helpers/metadata_access.rb +1 -0
- data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
- data/lib/roast/helpers/path_resolver.rb +8 -18
- data/lib/roast/helpers/prompt_loader.rb +3 -2
- data/lib/roast/helpers/timeout_handler.rb +3 -5
- data/lib/roast/initializers.rb +1 -0
- data/lib/roast/resources/api_resource.rb +4 -3
- data/lib/roast/resources/base_resource.rb +1 -0
- data/lib/roast/resources/directory_resource.rb +1 -0
- data/lib/roast/resources/file_resource.rb +1 -0
- data/lib/roast/resources/none_resource.rb +1 -0
- data/lib/roast/resources/url_resource.rb +2 -1
- data/lib/roast/resources.rb +1 -2
- data/lib/roast/services/context_threshold_checker.rb +1 -0
- data/lib/roast/services/token_counting_service.rb +1 -0
- data/lib/roast/tools/apply_diff.rb +1 -0
- data/lib/roast/tools/ask_user.rb +1 -0
- data/lib/roast/tools/bash.rb +1 -0
- data/lib/roast/tools/cmd.rb +1 -0
- data/lib/roast/tools/coding_agent.rb +1 -0
- data/lib/roast/tools/context_summarizer.rb +1 -0
- data/lib/roast/tools/grep.rb +1 -0
- data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
- data/lib/roast/tools/read_file.rb +1 -0
- data/lib/roast/tools/search_file.rb +1 -0
- data/lib/roast/tools/swarm.rb +1 -0
- data/lib/roast/tools/update_files.rb +1 -0
- data/lib/roast/tools/write_file.rb +1 -0
- data/lib/roast/tools.rb +2 -0
- data/lib/roast/value_objects/api_token.rb +1 -0
- data/lib/roast/value_objects/step_name.rb +1 -0
- data/lib/roast/value_objects/uri_base.rb +1 -0
- data/lib/roast/value_objects/workflow_path.rb +1 -0
- data/lib/roast/value_objects.rb +1 -0
- data/lib/roast/version.rb +2 -1
- data/lib/roast/workflow/agent_step.rb +1 -0
- data/lib/roast/workflow/api_configuration.rb +1 -0
- data/lib/roast/workflow/base_iteration_step.rb +1 -0
- data/lib/roast/workflow/base_step.rb +1 -0
- data/lib/roast/workflow/base_workflow.rb +1 -0
- data/lib/roast/workflow/case_executor.rb +1 -0
- data/lib/roast/workflow/case_step.rb +1 -0
- data/lib/roast/workflow/command_executor.rb +1 -0
- data/lib/roast/workflow/conditional_executor.rb +1 -0
- data/lib/roast/workflow/conditional_step.rb +1 -0
- data/lib/roast/workflow/configuration.rb +9 -0
- data/lib/roast/workflow/configuration_loader.rb +4 -1
- data/lib/roast/workflow/context_manager.rb +1 -0
- data/lib/roast/workflow/context_path_resolver.rb +1 -0
- data/lib/roast/workflow/dot_access_hash.rb +1 -0
- data/lib/roast/workflow/each_step.rb +1 -0
- data/lib/roast/workflow/error_handler.rb +7 -1
- data/lib/roast/workflow/expression_evaluator.rb +1 -0
- data/lib/roast/workflow/expression_utils.rb +1 -0
- data/lib/roast/workflow/file_state_repository.rb +2 -1
- data/lib/roast/workflow/input_executor.rb +1 -0
- data/lib/roast/workflow/input_step.rb +1 -0
- data/lib/roast/workflow/interpolator.rb +2 -1
- data/lib/roast/workflow/iteration_executor.rb +1 -0
- data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
- data/lib/roast/workflow/metadata_manager.rb +1 -0
- data/lib/roast/workflow/output_handler.rb +1 -0
- data/lib/roast/workflow/output_manager.rb +1 -0
- data/lib/roast/workflow/parallel_executor.rb +1 -0
- data/lib/roast/workflow/prompt_step.rb +1 -0
- data/lib/roast/workflow/repeat_step.rb +1 -0
- data/lib/roast/workflow/replay_handler.rb +1 -0
- data/lib/roast/workflow/resource_resolver.rb +2 -6
- data/lib/roast/workflow/session_manager.rb +1 -0
- data/lib/roast/workflow/shell_script_step.rb +1 -0
- data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
- data/lib/roast/workflow/state_manager.rb +1 -0
- data/lib/roast/workflow/state_repository.rb +1 -0
- data/lib/roast/workflow/state_repository_factory.rb +4 -2
- data/lib/roast/workflow/step_completion_reporter.rb +1 -0
- data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
- data/lib/roast/workflow/step_executor_factory.rb +1 -0
- data/lib/roast/workflow/step_executor_registry.rb +2 -3
- data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
- data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
- data/lib/roast/workflow/step_factory.rb +1 -0
- data/lib/roast/workflow/step_finder.rb +1 -0
- data/lib/roast/workflow/step_loader.rb +1 -0
- data/lib/roast/workflow/step_name_extractor.rb +1 -0
- data/lib/roast/workflow/step_runner.rb +1 -0
- data/lib/roast/workflow/step_type_resolver.rb +1 -0
- data/lib/roast/workflow/validation_command.rb +1 -0
- data/lib/roast/workflow/validator.rb +1 -0
- data/lib/roast/workflow/validators/base_validator.rb +1 -0
- data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
- data/lib/roast/workflow/validators/linting_validator.rb +1 -0
- data/lib/roast/workflow/validators/schema_validator.rb +1 -0
- data/lib/roast/workflow/validators/step_collector.rb +1 -0
- data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
- data/lib/roast/workflow/workflow_context.rb +1 -0
- data/lib/roast/workflow/workflow_execution_context.rb +1 -0
- data/lib/roast/workflow/workflow_executor.rb +2 -1
- data/lib/roast/workflow/workflow_initializer.rb +1 -0
- data/lib/roast/workflow/workflow_runner.rb +66 -55
- data/lib/roast/workflow.rb +1 -0
- data/lib/roast/workflow_diagram_generator.rb +3 -2
- data/lib/roast.rb +23 -8
- data/roast.gemspec +1 -1
- data/sorbet/config +8 -0
- data/sorbet/rbi/dsl/.gitattributes +1 -0
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
- data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
- data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
- data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
- data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
- data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
- data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
- data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
- data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
- data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
- data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
- data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
- data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
- data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
- data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
- data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
- data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
- data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
- data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
- data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
- data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
- data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
- data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
- data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
- data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
- data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
- data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
- data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
- data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
- data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
- data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
- data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
- data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
- data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
- data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
- data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
- data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
- data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
- data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
- data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
- data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
- data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
- data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
- data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
- data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
- data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
- data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
- data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
- data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
- data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
- data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
- data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
- data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
- data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
- data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
- data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
- data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
- data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
- data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
- data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
- data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
- data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
- data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
- data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
- data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
- data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
- data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
- data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
- data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
- data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
- data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
- data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
- data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
- data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
- data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +36 -0
- metadata +116 -5
- data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,158 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `racc` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem racc`.
|
6
|
+
|
7
|
+
|
8
|
+
# source://racc//lib/racc/parser.rb#19
|
9
|
+
ParseError = Racc::ParseError
|
10
|
+
|
11
|
+
# source://racc//lib/racc/info.rb#17
|
12
|
+
Racc::Copyright = T.let(T.unsafe(nil), String)
|
13
|
+
|
14
|
+
# source://racc//lib/racc/parser.rb#184
|
15
|
+
class Racc::Parser
|
16
|
+
# source://racc//lib/racc/parser.rb#279
|
17
|
+
def _racc_do_parse_rb(arg, in_debug); end
|
18
|
+
|
19
|
+
# source://racc//lib/racc/parser.rb#479
|
20
|
+
def _racc_do_reduce(arg, act); end
|
21
|
+
|
22
|
+
# common
|
23
|
+
#
|
24
|
+
# source://racc//lib/racc/parser.rb#382
|
25
|
+
def _racc_evalact(act, arg); end
|
26
|
+
|
27
|
+
# source://racc//lib/racc/parser.rb#232
|
28
|
+
def _racc_init_sysvars; end
|
29
|
+
|
30
|
+
# source://racc//lib/racc/parser.rb#220
|
31
|
+
def _racc_setup; end
|
32
|
+
|
33
|
+
# source://racc//lib/racc/parser.rb#329
|
34
|
+
def _racc_yyparse_rb(recv, mid, arg, c_debug); end
|
35
|
+
|
36
|
+
# source://racc//lib/racc/parser.rb#262
|
37
|
+
def do_parse; end
|
38
|
+
|
39
|
+
# The method to fetch next token.
|
40
|
+
# If you use #do_parse method, you must implement #next_token.
|
41
|
+
#
|
42
|
+
# The format of return value is [TOKEN_SYMBOL, VALUE].
|
43
|
+
# +token-symbol+ is represented by Ruby's symbol by default, e.g. :IDENT
|
44
|
+
# for 'IDENT'. ";" (String) for ';'.
|
45
|
+
#
|
46
|
+
# The final symbol (End of file) must be false.
|
47
|
+
#
|
48
|
+
# @raise [NotImplementedError]
|
49
|
+
#
|
50
|
+
# source://racc//lib/racc/parser.rb#275
|
51
|
+
def next_token; end
|
52
|
+
|
53
|
+
# This method is called when a parse error is found.
|
54
|
+
#
|
55
|
+
# ERROR_TOKEN_ID is an internal ID of token which caused error.
|
56
|
+
# You can get string representation of this ID by calling
|
57
|
+
# #token_to_str.
|
58
|
+
#
|
59
|
+
# ERROR_VALUE is a value of error token.
|
60
|
+
#
|
61
|
+
# value_stack is a stack of symbol values.
|
62
|
+
# DO NOT MODIFY this object.
|
63
|
+
#
|
64
|
+
# This method raises ParseError by default.
|
65
|
+
#
|
66
|
+
# If this method returns, parsers enter "error recovering mode".
|
67
|
+
#
|
68
|
+
# @raise [ParseError]
|
69
|
+
#
|
70
|
+
# source://racc//lib/racc/parser.rb#535
|
71
|
+
def on_error(t, val, vstack); end
|
72
|
+
|
73
|
+
# source://racc//lib/racc/parser.rb#584
|
74
|
+
def racc_accept; end
|
75
|
+
|
76
|
+
# source://racc//lib/racc/parser.rb#589
|
77
|
+
def racc_e_pop(state, tstack, vstack); end
|
78
|
+
|
79
|
+
# source://racc//lib/racc/parser.rb#596
|
80
|
+
def racc_next_state(curstate, state); end
|
81
|
+
|
82
|
+
# source://racc//lib/racc/parser.rb#602
|
83
|
+
def racc_print_stacks(t, v); end
|
84
|
+
|
85
|
+
# source://racc//lib/racc/parser.rb#611
|
86
|
+
def racc_print_states(s); end
|
87
|
+
|
88
|
+
# For debugging output
|
89
|
+
#
|
90
|
+
# source://racc//lib/racc/parser.rb#558
|
91
|
+
def racc_read_token(t, tok, val); end
|
92
|
+
|
93
|
+
# source://racc//lib/racc/parser.rb#571
|
94
|
+
def racc_reduce(toks, sim, tstack, vstack); end
|
95
|
+
|
96
|
+
# source://racc//lib/racc/parser.rb#565
|
97
|
+
def racc_shift(tok, tstack, vstack); end
|
98
|
+
|
99
|
+
# source://racc//lib/racc/parser.rb#618
|
100
|
+
def racc_token2str(tok); end
|
101
|
+
|
102
|
+
# Convert internal ID of token symbol to the string.
|
103
|
+
#
|
104
|
+
# source://racc//lib/racc/parser.rb#624
|
105
|
+
def token_to_str(t); end
|
106
|
+
|
107
|
+
# Exit parser.
|
108
|
+
# Return value is +Symbol_Value_Stack[0]+.
|
109
|
+
#
|
110
|
+
# source://racc//lib/racc/parser.rb#548
|
111
|
+
def yyaccept; end
|
112
|
+
|
113
|
+
# Leave error recovering mode.
|
114
|
+
#
|
115
|
+
# source://racc//lib/racc/parser.rb#553
|
116
|
+
def yyerrok; end
|
117
|
+
|
118
|
+
# Enter error recovering mode.
|
119
|
+
# This method does not call #on_error.
|
120
|
+
#
|
121
|
+
# source://racc//lib/racc/parser.rb#542
|
122
|
+
def yyerror; end
|
123
|
+
|
124
|
+
# source://racc//lib/racc/parser.rb#324
|
125
|
+
def yyparse(recv, mid); end
|
126
|
+
|
127
|
+
class << self
|
128
|
+
# source://racc//lib/racc/parser.rb#216
|
129
|
+
def racc_runtime_type; end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
# source://racc//lib/racc/parser.rb#210
|
134
|
+
Racc::Parser::Racc_Main_Parsing_Routine = T.let(T.unsafe(nil), Symbol)
|
135
|
+
|
136
|
+
# source://racc//lib/racc/parser.rb#212
|
137
|
+
Racc::Parser::Racc_Runtime_Core_Version = T.let(T.unsafe(nil), String)
|
138
|
+
|
139
|
+
# source://racc//lib/racc/parser.rb#187
|
140
|
+
Racc::Parser::Racc_Runtime_Core_Version_R = T.let(T.unsafe(nil), String)
|
141
|
+
|
142
|
+
# source://racc//lib/racc/parser.rb#213
|
143
|
+
Racc::Parser::Racc_Runtime_Type = T.let(T.unsafe(nil), String)
|
144
|
+
|
145
|
+
# source://racc//lib/racc/parser.rb#186
|
146
|
+
Racc::Parser::Racc_Runtime_Version = T.let(T.unsafe(nil), String)
|
147
|
+
|
148
|
+
# source://racc//lib/racc/parser.rb#211
|
149
|
+
Racc::Parser::Racc_YY_Parse_Method = T.let(T.unsafe(nil), Symbol)
|
150
|
+
|
151
|
+
# source://racc//lib/racc/parser.rb#181
|
152
|
+
Racc::Racc_No_Extensions = T.let(T.unsafe(nil), FalseClass)
|
153
|
+
|
154
|
+
# source://racc//lib/racc/info.rb#15
|
155
|
+
Racc::VERSION = T.let(T.unsafe(nil), String)
|
156
|
+
|
157
|
+
# source://racc//lib/racc/info.rb#16
|
158
|
+
Racc::Version = T.let(T.unsafe(nil), String)
|