roast-ai 0.4.4 → 0.4.6

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.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -0
  3. data/.github/workflows/ci.yaml +1 -0
  4. data/.gitignore +0 -26
  5. data/.rubocop.yml +13 -0
  6. data/.rubocop_todo.yml +21 -0
  7. data/CHANGELOG.md +37 -0
  8. data/Gemfile +4 -0
  9. data/Gemfile.lock +43 -1
  10. data/bin/rubocop +27 -0
  11. data/bin/spoom +27 -0
  12. data/bin/srb +27 -0
  13. data/bin/srb-rbi +27 -0
  14. data/bin/tapioca +27 -0
  15. data/docs/INSTRUMENTATION.md +3 -3
  16. data/dsl/simple.rb +10 -0
  17. data/examples/retry/workflow.yml +23 -0
  18. data/lib/roast/dsl/executor.rb +26 -0
  19. data/lib/roast/dsl.rb +7 -0
  20. data/lib/roast/errors.rb +1 -0
  21. data/lib/roast/factories/api_provider_factory.rb +1 -0
  22. data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
  23. data/lib/roast/helpers/logger.rb +6 -9
  24. data/lib/roast/helpers/metadata_access.rb +1 -0
  25. data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
  26. data/lib/roast/helpers/path_resolver.rb +8 -18
  27. data/lib/roast/helpers/prompt_loader.rb +3 -2
  28. data/lib/roast/helpers/timeout_handler.rb +3 -5
  29. data/lib/roast/initializers.rb +1 -0
  30. data/lib/roast/resources/api_resource.rb +4 -3
  31. data/lib/roast/resources/base_resource.rb +1 -0
  32. data/lib/roast/resources/directory_resource.rb +1 -0
  33. data/lib/roast/resources/file_resource.rb +1 -0
  34. data/lib/roast/resources/none_resource.rb +1 -0
  35. data/lib/roast/resources/url_resource.rb +2 -1
  36. data/lib/roast/resources.rb +1 -2
  37. data/lib/roast/services/context_threshold_checker.rb +1 -0
  38. data/lib/roast/services/token_counting_service.rb +1 -0
  39. data/lib/roast/tools/apply_diff.rb +1 -0
  40. data/lib/roast/tools/ask_user.rb +1 -0
  41. data/lib/roast/tools/bash.rb +1 -0
  42. data/lib/roast/tools/cmd.rb +1 -0
  43. data/lib/roast/tools/coding_agent.rb +1 -0
  44. data/lib/roast/tools/context_summarizer.rb +1 -0
  45. data/lib/roast/tools/grep.rb +1 -0
  46. data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
  47. data/lib/roast/tools/read_file.rb +1 -0
  48. data/lib/roast/tools/search_file.rb +1 -0
  49. data/lib/roast/tools/swarm.rb +1 -0
  50. data/lib/roast/tools/update_files.rb +1 -0
  51. data/lib/roast/tools/write_file.rb +1 -0
  52. data/lib/roast/tools.rb +2 -0
  53. data/lib/roast/value_objects/api_token.rb +1 -0
  54. data/lib/roast/value_objects/step_name.rb +1 -0
  55. data/lib/roast/value_objects/uri_base.rb +1 -0
  56. data/lib/roast/value_objects/workflow_path.rb +1 -0
  57. data/lib/roast/value_objects.rb +1 -0
  58. data/lib/roast/version.rb +2 -1
  59. data/lib/roast/workflow/agent_step.rb +1 -0
  60. data/lib/roast/workflow/api_configuration.rb +1 -0
  61. data/lib/roast/workflow/base_iteration_step.rb +1 -0
  62. data/lib/roast/workflow/base_step.rb +1 -0
  63. data/lib/roast/workflow/base_workflow.rb +1 -0
  64. data/lib/roast/workflow/case_executor.rb +1 -0
  65. data/lib/roast/workflow/case_step.rb +1 -0
  66. data/lib/roast/workflow/command_executor.rb +1 -0
  67. data/lib/roast/workflow/conditional_executor.rb +1 -0
  68. data/lib/roast/workflow/conditional_step.rb +1 -0
  69. data/lib/roast/workflow/configuration.rb +9 -0
  70. data/lib/roast/workflow/configuration_loader.rb +4 -1
  71. data/lib/roast/workflow/context_manager.rb +1 -0
  72. data/lib/roast/workflow/context_path_resolver.rb +1 -0
  73. data/lib/roast/workflow/dot_access_hash.rb +1 -0
  74. data/lib/roast/workflow/each_step.rb +1 -0
  75. data/lib/roast/workflow/error_handler.rb +39 -3
  76. data/lib/roast/workflow/expression_evaluator.rb +1 -0
  77. data/lib/roast/workflow/expression_utils.rb +1 -0
  78. data/lib/roast/workflow/file_state_repository.rb +2 -1
  79. data/lib/roast/workflow/input_executor.rb +1 -0
  80. data/lib/roast/workflow/input_step.rb +1 -0
  81. data/lib/roast/workflow/interpolator.rb +2 -1
  82. data/lib/roast/workflow/iteration_executor.rb +1 -0
  83. data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
  84. data/lib/roast/workflow/metadata_manager.rb +1 -0
  85. data/lib/roast/workflow/output_handler.rb +1 -0
  86. data/lib/roast/workflow/output_manager.rb +1 -0
  87. data/lib/roast/workflow/parallel_executor.rb +1 -0
  88. data/lib/roast/workflow/prompt_step.rb +1 -0
  89. data/lib/roast/workflow/repeat_step.rb +1 -0
  90. data/lib/roast/workflow/replay_handler.rb +1 -0
  91. data/lib/roast/workflow/resource_resolver.rb +2 -6
  92. data/lib/roast/workflow/session_manager.rb +1 -0
  93. data/lib/roast/workflow/shell_script_step.rb +1 -0
  94. data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
  95. data/lib/roast/workflow/state_manager.rb +1 -0
  96. data/lib/roast/workflow/state_repository.rb +1 -0
  97. data/lib/roast/workflow/state_repository_factory.rb +4 -2
  98. data/lib/roast/workflow/step_completion_reporter.rb +1 -0
  99. data/lib/roast/workflow/step_executor_coordinator.rb +17 -6
  100. data/lib/roast/workflow/step_executor_factory.rb +1 -0
  101. data/lib/roast/workflow/step_executor_registry.rb +2 -3
  102. data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
  103. data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
  104. data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
  105. data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
  106. data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
  107. data/lib/roast/workflow/step_factory.rb +1 -0
  108. data/lib/roast/workflow/step_finder.rb +1 -0
  109. data/lib/roast/workflow/step_loader.rb +1 -0
  110. data/lib/roast/workflow/step_name_extractor.rb +1 -0
  111. data/lib/roast/workflow/step_runner.rb +1 -0
  112. data/lib/roast/workflow/step_type_resolver.rb +1 -0
  113. data/lib/roast/workflow/validation_command.rb +1 -0
  114. data/lib/roast/workflow/validator.rb +1 -0
  115. data/lib/roast/workflow/validators/base_validator.rb +1 -0
  116. data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
  117. data/lib/roast/workflow/validators/linting_validator.rb +1 -0
  118. data/lib/roast/workflow/validators/schema_validator.rb +1 -0
  119. data/lib/roast/workflow/validators/step_collector.rb +1 -0
  120. data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
  121. data/lib/roast/workflow/workflow_context.rb +1 -0
  122. data/lib/roast/workflow/workflow_execution_context.rb +1 -0
  123. data/lib/roast/workflow/workflow_executor.rb +2 -1
  124. data/lib/roast/workflow/workflow_initializer.rb +16 -1
  125. data/lib/roast/workflow/workflow_runner.rb +66 -55
  126. data/lib/roast/workflow.rb +1 -0
  127. data/lib/roast/workflow_diagram_generator.rb +3 -2
  128. data/lib/roast.rb +23 -8
  129. data/sorbet/config +8 -0
  130. data/sorbet/rbi/dsl/.gitattributes +1 -0
  131. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  132. data/sorbet/rbi/gems/.gitattributes +1 -0
  133. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
  134. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  135. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  136. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  137. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  138. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
  139. data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
  140. data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
  141. data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
  142. data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
  143. data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
  144. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
  145. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  146. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  147. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
  148. data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
  149. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  150. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
  151. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
  152. data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
  153. data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
  154. data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
  155. data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
  156. data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
  157. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  158. data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
  159. data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
  160. data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
  161. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
  162. data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
  163. data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
  164. data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
  165. data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
  166. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
  167. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
  168. data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
  169. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
  170. data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
  171. data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
  172. data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
  173. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  174. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
  175. data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
  176. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  177. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
  178. data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
  179. data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
  180. data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
  181. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
  182. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
  183. data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
  184. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
  185. data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
  186. data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
  187. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  188. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
  189. data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
  190. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
  191. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  192. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
  193. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  194. data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
  195. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
  196. data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
  197. data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
  198. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
  199. data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
  200. data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
  201. data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
  202. data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
  203. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  204. data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
  205. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
  206. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
  207. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
  208. data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
  209. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
  210. data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
  211. data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
  212. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
  213. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  214. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  215. data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
  216. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  217. data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
  218. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  219. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  220. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  221. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
  222. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
  223. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  224. data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
  225. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
  226. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  227. data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
  228. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  229. data/sorbet/tapioca/config.yml +13 -0
  230. data/sorbet/tapioca/require.rb +36 -0
  231. metadata +114 -2
  232. data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,155 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `erubi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem erubi`.
6
+
7
+
8
+ # source://erubi//lib/erubi.rb#3
9
+ module Erubi
10
+ private
11
+
12
+ def h(_arg0); end
13
+
14
+ class << self
15
+ def h(_arg0); end
16
+ end
17
+ end
18
+
19
+ # source://erubi//lib/erubi.rb#51
20
+ class Erubi::Engine
21
+ # Initialize a new Erubi::Engine. Options:
22
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
23
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
24
+ # +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
25
+ # performance, but can cause issues when the buffer variable is reassigned during
26
+ # template rendering (default +false+).
27
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
28
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
29
+ # +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
30
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
31
+ # +:filename+ :: The filename for the template.
32
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
33
+ # source code in other code, because the magic comment only has an effect at the beginning of
34
+ # the file, and having the magic comment later in the file can trigger warnings.
35
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
36
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
37
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
38
+ # in order to improve performance.
39
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
40
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
41
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
42
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
43
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
44
+ # +:regexp+ :: The regexp to use for scanning.
45
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
46
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
47
+ #
48
+ # @return [Engine] a new instance of Engine
49
+ #
50
+ # source://erubi//lib/erubi.rb#91
51
+ def initialize(input, properties = T.unsafe(nil)); end
52
+
53
+ # The variable name used for the buffer variable.
54
+ #
55
+ # source://erubi//lib/erubi.rb#62
56
+ def bufvar; end
57
+
58
+ # The filename of the template, if one was given.
59
+ #
60
+ # source://erubi//lib/erubi.rb#59
61
+ def filename; end
62
+
63
+ # The frozen ruby source code generated from the template, which can be evaled.
64
+ #
65
+ # source://erubi//lib/erubi.rb#56
66
+ def src; end
67
+
68
+ private
69
+
70
+ # :nocov:
71
+ #
72
+ # source://erubi//lib/erubi.rb#209
73
+ def _dup_string_if_frozen(string); end
74
+
75
+ # Add ruby code to the template
76
+ #
77
+ # source://erubi//lib/erubi.rb#232
78
+ def add_code(code); end
79
+
80
+ # Add the given ruby expression result to the template,
81
+ # escaping it based on the indicator given and escape flag.
82
+ #
83
+ # source://erubi//lib/erubi.rb#241
84
+ def add_expression(indicator, code); end
85
+
86
+ # Add the result of Ruby expression to the template
87
+ #
88
+ # source://erubi//lib/erubi.rb#250
89
+ def add_expression_result(code); end
90
+
91
+ # Add the escaped result of Ruby expression to the template
92
+ #
93
+ # source://erubi//lib/erubi.rb#255
94
+ def add_expression_result_escaped(code); end
95
+
96
+ # Add the given postamble to the src. Can be overridden in subclasses
97
+ # to make additional changes to src that depend on the current state.
98
+ #
99
+ # source://erubi//lib/erubi.rb#261
100
+ def add_postamble(postamble); end
101
+
102
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
103
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
104
+ #
105
+ # source://erubi//lib/erubi.rb#222
106
+ def add_text(text); end
107
+
108
+ # Raise an exception, as the base engine class does not support handling other indicators.
109
+ #
110
+ # @raise [ArgumentError]
111
+ #
112
+ # source://erubi//lib/erubi.rb#267
113
+ def handle(indicator, code, tailch, rspace, lspace); end
114
+
115
+ # Make sure that any current expression has been terminated.
116
+ # The default is to terminate all expressions, but when
117
+ # the chain_appends option is used, expressions may not be
118
+ # terminated.
119
+ #
120
+ # source://erubi//lib/erubi.rb#295
121
+ def terminate_expression; end
122
+
123
+ # Make sure the buffer variable is the target of the next append
124
+ # before yielding to the block. Mark that the buffer is the target
125
+ # of the next append after the block executes.
126
+ #
127
+ # This method should only be called if the block will result in
128
+ # code where << will append to the bufvar.
129
+ #
130
+ # source://erubi//lib/erubi.rb#277
131
+ def with_buffer; end
132
+ end
133
+
134
+ # The default regular expression used for scanning.
135
+ #
136
+ # source://erubi//lib/erubi.rb#53
137
+ Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
138
+
139
+ # source://erubi//lib/erubi.rb#17
140
+ Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
141
+
142
+ # source://erubi//lib/erubi.rb#15
143
+ Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
144
+
145
+ # source://erubi//lib/erubi.rb#8
146
+ Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
147
+
148
+ # source://erubi//lib/erubi.rb#9
149
+ Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
150
+
151
+ # source://erubi//lib/erubi.rb#16
152
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
153
+
154
+ # source://erubi//lib/erubi.rb#4
155
+ Erubi::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,49 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `event_stream_parser` gem.
5
+ # Please instead update this file by running `bin/tapioca gem event_stream_parser`.
6
+
7
+
8
+ # source://event_stream_parser//lib/event_stream_parser/version.rb#3
9
+ module EventStreamParser; end
10
+
11
+ # Implements a spec-compliant event stream parser, following:
12
+ #
13
+ # https://html.spec.whatwg.org/multipage/server-sent-events.html
14
+ # Section: 9.2.6 Interpreting an event stream
15
+ #
16
+ # Code comments are copied from the spec.
17
+ #
18
+ # source://event_stream_parser//lib/event_stream_parser.rb#14
19
+ class EventStreamParser::Parser
20
+ # @return [Parser] a new instance of Parser
21
+ #
22
+ # source://event_stream_parser//lib/event_stream_parser.rb#15
23
+ def initialize; end
24
+
25
+ # source://event_stream_parser//lib/event_stream_parser.rb#30
26
+ def feed(chunk, &proc); end
27
+
28
+ # source://event_stream_parser//lib/event_stream_parser.rb#55
29
+ def stream; end
30
+
31
+ private
32
+
33
+ # @yield [type, data, id, @reconnection_time]
34
+ #
35
+ # source://event_stream_parser//lib/event_stream_parser.rb#165
36
+ def dispatch_event; end
37
+
38
+ # source://event_stream_parser//lib/event_stream_parser.rb#220
39
+ def ignore; end
40
+
41
+ # source://event_stream_parser//lib/event_stream_parser.rb#111
42
+ def process_field(field, value); end
43
+
44
+ # source://event_stream_parser//lib/event_stream_parser.rb#61
45
+ def process_line(line, &proc); end
46
+ end
47
+
48
+ # source://event_stream_parser//lib/event_stream_parser/version.rb#4
49
+ EventStreamParser::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,283 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `faraday-multipart` gem.
5
+ # Please instead update this file by running `bin/tapioca gem faraday-multipart`.
6
+
7
+
8
+ # source://faraday-multipart//lib/faraday/multipart/version.rb#3
9
+ module Faraday
10
+ class << self
11
+ # source://faraday/2.13.1/lib/faraday.rb#55
12
+ def default_adapter; end
13
+
14
+ # source://faraday/2.13.1/lib/faraday.rb#102
15
+ def default_adapter=(adapter); end
16
+
17
+ # source://faraday/2.13.1/lib/faraday.rb#59
18
+ def default_adapter_options; end
19
+
20
+ # source://faraday/2.13.1/lib/faraday.rb#59
21
+ def default_adapter_options=(_arg0); end
22
+
23
+ # source://faraday/2.13.1/lib/faraday.rb#120
24
+ def default_connection; end
25
+
26
+ # source://faraday/2.13.1/lib/faraday.rb#62
27
+ def default_connection=(_arg0); end
28
+
29
+ # source://faraday/2.13.1/lib/faraday.rb#127
30
+ def default_connection_options; end
31
+
32
+ # source://faraday/2.13.1/lib/faraday.rb#134
33
+ def default_connection_options=(options); end
34
+
35
+ # source://faraday/2.13.1/lib/faraday.rb#67
36
+ def ignore_env_proxy; end
37
+
38
+ # source://faraday/2.13.1/lib/faraday.rb#67
39
+ def ignore_env_proxy=(_arg0); end
40
+
41
+ # source://faraday/2.13.1/lib/faraday.rb#46
42
+ def lib_path; end
43
+
44
+ # source://faraday/2.13.1/lib/faraday.rb#46
45
+ def lib_path=(_arg0); end
46
+
47
+ # source://faraday/2.13.1/lib/faraday.rb#96
48
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
49
+
50
+ # source://faraday/2.13.1/lib/faraday.rb#107
51
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
52
+
53
+ # source://faraday/2.13.1/lib/faraday.rb#42
54
+ def root_path; end
55
+
56
+ # source://faraday/2.13.1/lib/faraday.rb#42
57
+ def root_path=(_arg0); end
58
+
59
+ private
60
+
61
+ # source://faraday/2.13.1/lib/faraday.rb#143
62
+ def method_missing(name, *args, &block); end
63
+ end
64
+ end
65
+
66
+ # source://faraday-multipart//lib/faraday/multipart.rb#18
67
+ Faraday::CompositeReadIO = Faraday::Multipart::CompositeReadIO
68
+
69
+ # Aliases for Faraday v1, these are all deprecated and will be removed in v2 of this middleware
70
+ #
71
+ # source://faraday-multipart//lib/faraday/multipart.rb#15
72
+ Faraday::FilePart = Multipart::Post::UploadIO
73
+
74
+ # Main Faraday::Multipart module.
75
+ #
76
+ # source://faraday-multipart//lib/faraday/multipart/version.rb#5
77
+ module Faraday::Multipart
78
+ class << self
79
+ # source://faraday-multipart//lib/faraday/multipart/version.rb#8
80
+ def multipart_post_version; end
81
+ end
82
+ end
83
+
84
+ # Similar to, but not compatible with CompositeReadIO provided by the
85
+ # multipart-post gem.
86
+ # https://github.com/nicksieger/multipart-post/blob/master/lib/composite_io.rb
87
+ #
88
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#67
89
+ class Faraday::Multipart::CompositeReadIO
90
+ # @return [CompositeReadIO] a new instance of CompositeReadIO
91
+ #
92
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#68
93
+ def initialize(*parts); end
94
+
95
+ # Close each of the IOs.
96
+ #
97
+ # @return [void]
98
+ #
99
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#111
100
+ def close; end
101
+
102
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#115
103
+ def ensure_open_and_readable; end
104
+
105
+ # @return [Integer] sum of the lengths of all the parts
106
+ #
107
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#75
108
+ def length; end
109
+
110
+ # Read from IOs in order until `length` bytes have been received.
111
+ #
112
+ # @param length [Integer, nil]
113
+ # @param outbuf [String, nil]
114
+ #
115
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#91
116
+ def read(length = T.unsafe(nil), outbuf = T.unsafe(nil)); end
117
+
118
+ # Rewind each of the IOs and reset the index to 0.
119
+ #
120
+ # @return [void]
121
+ #
122
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#82
123
+ def rewind; end
124
+
125
+ private
126
+
127
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#125
128
+ def advance_io; end
129
+
130
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#121
131
+ def current_io; end
132
+ end
133
+
134
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#55
135
+ Faraday::Multipart::FilePart = Multipart::Post::UploadIO
136
+
137
+ # Middleware for supporting multi-part requests.
138
+ #
139
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#8
140
+ class Faraday::Multipart::Middleware < ::Faraday::Middleware
141
+ # @return [Middleware] a new instance of Middleware
142
+ #
143
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#12
144
+ def initialize(app = T.unsafe(nil), options = T.unsafe(nil)); end
145
+
146
+ # Checks for files in the payload, otherwise leaves everything untouched.
147
+ #
148
+ # @param env [Faraday::Env]
149
+ #
150
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#20
151
+ def call(env); end
152
+
153
+ private
154
+
155
+ # @param env [Faraday::Env]
156
+ # @param params [Hash]
157
+ #
158
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#76
159
+ def create_multipart(env, params); end
160
+
161
+ # Returns true if obj is an enumerable with values that are multipart.
162
+ #
163
+ # @param obj [Object]
164
+ # @return [Boolean]
165
+ #
166
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#65
167
+ def has_multipart?(obj); end
168
+
169
+ # @param env [Faraday::Env]
170
+ # @yield [request_body] Body of the request
171
+ #
172
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#34
173
+ def match_content_type(env); end
174
+
175
+ # Determines and provides the multipart mime type for the request.
176
+ #
177
+ # @return [String] the multipart mime type
178
+ #
179
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#125
180
+ def mime_type; end
181
+
182
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#88
183
+ def part(boundary, key, value); end
184
+
185
+ # @param params [Hash]
186
+ # @param prefix [String]
187
+ # @param pieces [Array]
188
+ #
189
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#104
190
+ def process_params(params, prefix = T.unsafe(nil), pieces = T.unsafe(nil), &block); end
191
+
192
+ # @param env [Faraday::Env]
193
+ # @return [Boolean]
194
+ #
195
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#44
196
+ def process_request?(env); end
197
+
198
+ # @param env [Faraday::Env]
199
+ # @return [String]
200
+ #
201
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#55
202
+ def request_type(env); end
203
+
204
+ # @return [String]
205
+ #
206
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#97
207
+ def unique_boundary; end
208
+ end
209
+
210
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#9
211
+ Faraday::Multipart::Middleware::CONTENT_TYPE = T.let(T.unsafe(nil), String)
212
+
213
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#10
214
+ Faraday::Multipart::Middleware::DEFAULT_BOUNDARY_PREFIX = T.let(T.unsafe(nil), String)
215
+
216
+ # Multipart value used to POST data with a content type.
217
+ #
218
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#6
219
+ class Faraday::Multipart::ParamPart
220
+ # @param value [String] Uploaded content as a String.
221
+ # @param content_type [String] String content type of the value.
222
+ # @param content_id [String] Optional String of this value's Content-ID.
223
+ # @return [Faraday::ParamPart]
224
+ #
225
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#12
226
+ def initialize(value, content_type, content_id = T.unsafe(nil)); end
227
+
228
+ # The value's content ID, if given.
229
+ #
230
+ # @return [String, nil]
231
+ #
232
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#52
233
+ def content_id; end
234
+
235
+ # The value's content type.
236
+ #
237
+ # @return [String]
238
+ #
239
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#47
240
+ def content_type; end
241
+
242
+ # Returns a Hash of String key/value pairs.
243
+ #
244
+ # @return [Hash]
245
+ #
246
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#32
247
+ def headers; end
248
+
249
+ # Converts this value to a form part.
250
+ #
251
+ # @param boundary [String] String multipart boundary that must not exist in
252
+ # the content exactly.
253
+ # @param key [String] String key name for this value.
254
+ # @return [Faraday::Parts::Part]
255
+ #
256
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#25
257
+ def to_part(boundary, key); end
258
+
259
+ # The content to upload.
260
+ #
261
+ # @return [String]
262
+ #
263
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#42
264
+ def value; end
265
+ end
266
+
267
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#56
268
+ Faraday::Multipart::Parts = Multipart::Post::Parts
269
+
270
+ # source://faraday-multipart//lib/faraday/multipart/version.rb#6
271
+ Faraday::Multipart::VERSION = T.let(T.unsafe(nil), String)
272
+
273
+ # source://faraday-multipart//lib/faraday/multipart.rb#16
274
+ Faraday::ParamPart = Faraday::Multipart::ParamPart
275
+
276
+ # source://faraday-multipart//lib/faraday/multipart.rb#17
277
+ Faraday::Parts = Multipart::Post::Parts
278
+
279
+ # multipart-post v2.2.0 introduces a new class hierarchy for classes like Parts and UploadIO
280
+ # For backwards compatibility, detect the gem version and use the right class
281
+ #
282
+ # source://faraday-multipart//lib/faraday/multipart.rb#21
283
+ Faraday::UploadIO = Multipart::Post::UploadIO
@@ -0,0 +1,147 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `faraday-net_http` gem.
5
+ # Please instead update this file by running `bin/tapioca gem faraday-net_http`.
6
+
7
+
8
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#12
9
+ module Faraday
10
+ class << self
11
+ # source://faraday/2.13.1/lib/faraday.rb#55
12
+ def default_adapter; end
13
+
14
+ # source://faraday/2.13.1/lib/faraday.rb#102
15
+ def default_adapter=(adapter); end
16
+
17
+ # source://faraday/2.13.1/lib/faraday.rb#59
18
+ def default_adapter_options; end
19
+
20
+ # source://faraday/2.13.1/lib/faraday.rb#59
21
+ def default_adapter_options=(_arg0); end
22
+
23
+ # source://faraday/2.13.1/lib/faraday.rb#120
24
+ def default_connection; end
25
+
26
+ # source://faraday/2.13.1/lib/faraday.rb#62
27
+ def default_connection=(_arg0); end
28
+
29
+ # source://faraday/2.13.1/lib/faraday.rb#127
30
+ def default_connection_options; end
31
+
32
+ # source://faraday/2.13.1/lib/faraday.rb#134
33
+ def default_connection_options=(options); end
34
+
35
+ # source://faraday/2.13.1/lib/faraday.rb#67
36
+ def ignore_env_proxy; end
37
+
38
+ # source://faraday/2.13.1/lib/faraday.rb#67
39
+ def ignore_env_proxy=(_arg0); end
40
+
41
+ # source://faraday/2.13.1/lib/faraday.rb#46
42
+ def lib_path; end
43
+
44
+ # source://faraday/2.13.1/lib/faraday.rb#46
45
+ def lib_path=(_arg0); end
46
+
47
+ # source://faraday/2.13.1/lib/faraday.rb#96
48
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
49
+
50
+ # source://faraday/2.13.1/lib/faraday.rb#107
51
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
52
+
53
+ # source://faraday/2.13.1/lib/faraday.rb#42
54
+ def root_path; end
55
+
56
+ # source://faraday/2.13.1/lib/faraday.rb#42
57
+ def root_path=(_arg0); end
58
+
59
+ private
60
+
61
+ # source://faraday/2.13.1/lib/faraday.rb#143
62
+ def method_missing(name, *args, &block); end
63
+ end
64
+ end
65
+
66
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#13
67
+ class Faraday::Adapter
68
+ # source://faraday/2.13.1/lib/faraday/adapter.rb#28
69
+ def initialize(_app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
70
+
71
+ # source://faraday/2.13.1/lib/faraday/adapter.rb#55
72
+ def call(env); end
73
+
74
+ # source://faraday/2.13.1/lib/faraday/adapter.rb#50
75
+ def close; end
76
+
77
+ # source://faraday/2.13.1/lib/faraday/adapter.rb#41
78
+ def connection(env); end
79
+
80
+ private
81
+
82
+ # source://faraday/2.13.1/lib/faraday/adapter.rb#85
83
+ def request_timeout(type, options); end
84
+
85
+ # source://faraday/2.13.1/lib/faraday/adapter.rb#62
86
+ def save_response(env, status, body, headers = T.unsafe(nil), reason_phrase = T.unsafe(nil), finished: T.unsafe(nil)); end
87
+ end
88
+
89
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#14
90
+ class Faraday::Adapter::NetHttp < ::Faraday::Adapter
91
+ # @return [NetHttp] a new instance of NetHttp
92
+ #
93
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#38
94
+ def initialize(app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
95
+
96
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#43
97
+ def build_connection(env); end
98
+
99
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#63
100
+ def call(env); end
101
+
102
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#50
103
+ def net_http_connection(env); end
104
+
105
+ private
106
+
107
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#152
108
+ def configure_request(http, req); end
109
+
110
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#131
111
+ def configure_ssl(http, ssl); end
112
+
113
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#79
114
+ def create_request(env); end
115
+
116
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#189
117
+ def encoded_body(http_response); end
118
+
119
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#95
120
+ def perform_request(http, env); end
121
+
122
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#109
123
+ def request_with_wrapped_block(http, env, &block); end
124
+
125
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#121
126
+ def save_http_response(env, http_response); end
127
+
128
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#172
129
+ def ssl_cert_store(ssl); end
130
+
131
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#179
132
+ def ssl_verify_mode(ssl); end
133
+
134
+ # @return [Boolean]
135
+ #
136
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#201
137
+ def verify_hostname_enabled?(http, ssl); end
138
+ end
139
+
140
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#36
141
+ Faraday::Adapter::NetHttp::NET_HTTP_EXCEPTIONS = T.let(T.unsafe(nil), Array)
142
+
143
+ # source://faraday-net_http//lib/faraday/net_http/version.rb#4
144
+ module Faraday::NetHttp; end
145
+
146
+ # source://faraday-net_http//lib/faraday/net_http/version.rb#5
147
+ Faraday::NetHttp::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `faraday-retry` gem.
5
+ # Please instead update this file by running `bin/tapioca gem faraday-retry`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem