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.
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 +29 -0
  8. data/Gemfile +4 -0
  9. data/Gemfile.lock +47 -29
  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/lib/roast/dsl/executor.rb +26 -0
  18. data/lib/roast/dsl.rb +7 -0
  19. data/lib/roast/errors.rb +1 -0
  20. data/lib/roast/factories/api_provider_factory.rb +1 -0
  21. data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
  22. data/lib/roast/helpers/logger.rb +6 -9
  23. data/lib/roast/helpers/metadata_access.rb +1 -0
  24. data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
  25. data/lib/roast/helpers/path_resolver.rb +8 -18
  26. data/lib/roast/helpers/prompt_loader.rb +3 -2
  27. data/lib/roast/helpers/timeout_handler.rb +3 -5
  28. data/lib/roast/initializers.rb +1 -0
  29. data/lib/roast/resources/api_resource.rb +4 -3
  30. data/lib/roast/resources/base_resource.rb +1 -0
  31. data/lib/roast/resources/directory_resource.rb +1 -0
  32. data/lib/roast/resources/file_resource.rb +1 -0
  33. data/lib/roast/resources/none_resource.rb +1 -0
  34. data/lib/roast/resources/url_resource.rb +2 -1
  35. data/lib/roast/resources.rb +1 -2
  36. data/lib/roast/services/context_threshold_checker.rb +1 -0
  37. data/lib/roast/services/token_counting_service.rb +1 -0
  38. data/lib/roast/tools/apply_diff.rb +1 -0
  39. data/lib/roast/tools/ask_user.rb +1 -0
  40. data/lib/roast/tools/bash.rb +1 -0
  41. data/lib/roast/tools/cmd.rb +1 -0
  42. data/lib/roast/tools/coding_agent.rb +1 -0
  43. data/lib/roast/tools/context_summarizer.rb +1 -0
  44. data/lib/roast/tools/grep.rb +1 -0
  45. data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
  46. data/lib/roast/tools/read_file.rb +1 -0
  47. data/lib/roast/tools/search_file.rb +1 -0
  48. data/lib/roast/tools/swarm.rb +1 -0
  49. data/lib/roast/tools/update_files.rb +1 -0
  50. data/lib/roast/tools/write_file.rb +1 -0
  51. data/lib/roast/tools.rb +2 -0
  52. data/lib/roast/value_objects/api_token.rb +1 -0
  53. data/lib/roast/value_objects/step_name.rb +1 -0
  54. data/lib/roast/value_objects/uri_base.rb +1 -0
  55. data/lib/roast/value_objects/workflow_path.rb +1 -0
  56. data/lib/roast/value_objects.rb +1 -0
  57. data/lib/roast/version.rb +2 -1
  58. data/lib/roast/workflow/agent_step.rb +1 -0
  59. data/lib/roast/workflow/api_configuration.rb +1 -0
  60. data/lib/roast/workflow/base_iteration_step.rb +1 -0
  61. data/lib/roast/workflow/base_step.rb +1 -0
  62. data/lib/roast/workflow/base_workflow.rb +1 -0
  63. data/lib/roast/workflow/case_executor.rb +1 -0
  64. data/lib/roast/workflow/case_step.rb +1 -0
  65. data/lib/roast/workflow/command_executor.rb +1 -0
  66. data/lib/roast/workflow/conditional_executor.rb +1 -0
  67. data/lib/roast/workflow/conditional_step.rb +1 -0
  68. data/lib/roast/workflow/configuration.rb +9 -0
  69. data/lib/roast/workflow/configuration_loader.rb +4 -1
  70. data/lib/roast/workflow/context_manager.rb +1 -0
  71. data/lib/roast/workflow/context_path_resolver.rb +1 -0
  72. data/lib/roast/workflow/dot_access_hash.rb +1 -0
  73. data/lib/roast/workflow/each_step.rb +1 -0
  74. data/lib/roast/workflow/error_handler.rb +7 -1
  75. data/lib/roast/workflow/expression_evaluator.rb +1 -0
  76. data/lib/roast/workflow/expression_utils.rb +1 -0
  77. data/lib/roast/workflow/file_state_repository.rb +2 -1
  78. data/lib/roast/workflow/input_executor.rb +1 -0
  79. data/lib/roast/workflow/input_step.rb +1 -0
  80. data/lib/roast/workflow/interpolator.rb +2 -1
  81. data/lib/roast/workflow/iteration_executor.rb +1 -0
  82. data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
  83. data/lib/roast/workflow/metadata_manager.rb +1 -0
  84. data/lib/roast/workflow/output_handler.rb +1 -0
  85. data/lib/roast/workflow/output_manager.rb +1 -0
  86. data/lib/roast/workflow/parallel_executor.rb +1 -0
  87. data/lib/roast/workflow/prompt_step.rb +1 -0
  88. data/lib/roast/workflow/repeat_step.rb +1 -0
  89. data/lib/roast/workflow/replay_handler.rb +1 -0
  90. data/lib/roast/workflow/resource_resolver.rb +2 -6
  91. data/lib/roast/workflow/session_manager.rb +1 -0
  92. data/lib/roast/workflow/shell_script_step.rb +1 -0
  93. data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
  94. data/lib/roast/workflow/state_manager.rb +1 -0
  95. data/lib/roast/workflow/state_repository.rb +1 -0
  96. data/lib/roast/workflow/state_repository_factory.rb +4 -2
  97. data/lib/roast/workflow/step_completion_reporter.rb +1 -0
  98. data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
  99. data/lib/roast/workflow/step_executor_factory.rb +1 -0
  100. data/lib/roast/workflow/step_executor_registry.rb +2 -3
  101. data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
  102. data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
  103. data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
  104. data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
  105. data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
  106. data/lib/roast/workflow/step_factory.rb +1 -0
  107. data/lib/roast/workflow/step_finder.rb +1 -0
  108. data/lib/roast/workflow/step_loader.rb +1 -0
  109. data/lib/roast/workflow/step_name_extractor.rb +1 -0
  110. data/lib/roast/workflow/step_runner.rb +1 -0
  111. data/lib/roast/workflow/step_type_resolver.rb +1 -0
  112. data/lib/roast/workflow/validation_command.rb +1 -0
  113. data/lib/roast/workflow/validator.rb +1 -0
  114. data/lib/roast/workflow/validators/base_validator.rb +1 -0
  115. data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
  116. data/lib/roast/workflow/validators/linting_validator.rb +1 -0
  117. data/lib/roast/workflow/validators/schema_validator.rb +1 -0
  118. data/lib/roast/workflow/validators/step_collector.rb +1 -0
  119. data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
  120. data/lib/roast/workflow/workflow_context.rb +1 -0
  121. data/lib/roast/workflow/workflow_execution_context.rb +1 -0
  122. data/lib/roast/workflow/workflow_executor.rb +2 -1
  123. data/lib/roast/workflow/workflow_initializer.rb +1 -0
  124. data/lib/roast/workflow/workflow_runner.rb +66 -55
  125. data/lib/roast/workflow.rb +1 -0
  126. data/lib/roast/workflow_diagram_generator.rb +3 -2
  127. data/lib/roast.rb +23 -8
  128. data/roast.gemspec +1 -1
  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 +116 -5
  232. data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,758 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `ruby-openai` gem.
5
+ # Please instead update this file by running `bin/tapioca gem ruby-openai`.
6
+
7
+
8
+ # source://ruby-openai//lib/openai/http_headers.rb#1
9
+ module OpenAI
10
+ class << self
11
+ # source://ruby-openai//lib/openai.rb#71
12
+ def configuration; end
13
+
14
+ # Sets the attribute configuration
15
+ #
16
+ # @param value the value to set the attribute configuration to.
17
+ #
18
+ # source://ruby-openai//lib/openai.rb#69
19
+ def configuration=(_arg0); end
20
+
21
+ # @yield [configuration]
22
+ #
23
+ # source://ruby-openai//lib/openai.rb#75
24
+ def configure; end
25
+
26
+ # Log a message with appropriate formatting
27
+ #
28
+ # @param prefix [String] Prefix to add to the message
29
+ # @param message [String] The message to log
30
+ # @param level [Symbol] The log level (:error, :warn, etc.)
31
+ #
32
+ # source://ruby-openai//lib/openai.rb#95
33
+ def log_message(prefix, message, level = T.unsafe(nil)); end
34
+
35
+ # Estimate the number of tokens in a string, using the rules of thumb from OpenAI:
36
+ # https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them
37
+ #
38
+ # @raise [ArgumentError]
39
+ #
40
+ # source://ruby-openai//lib/openai.rb#81
41
+ def rough_token_count(content = T.unsafe(nil)); end
42
+ end
43
+ end
44
+
45
+ # source://ruby-openai//lib/openai/assistants.rb#2
46
+ class OpenAI::Assistants
47
+ # @return [Assistants] a new instance of Assistants
48
+ #
49
+ # source://ruby-openai//lib/openai/assistants.rb#5
50
+ def initialize(client:); end
51
+
52
+ # source://ruby-openai//lib/openai/assistants.rb#17
53
+ def create(parameters: T.unsafe(nil)); end
54
+
55
+ # source://ruby-openai//lib/openai/assistants.rb#25
56
+ def delete(id:); end
57
+
58
+ # source://ruby-openai//lib/openai/assistants.rb#9
59
+ def list; end
60
+
61
+ # source://ruby-openai//lib/openai/assistants.rb#21
62
+ def modify(id:, parameters: T.unsafe(nil)); end
63
+
64
+ # source://ruby-openai//lib/openai/assistants.rb#13
65
+ def retrieve(id:); end
66
+ end
67
+
68
+ # source://ruby-openai//lib/openai/assistants.rb#3
69
+ OpenAI::Assistants::BETA_VERSION = T.let(T.unsafe(nil), String)
70
+
71
+ # source://ruby-openai//lib/openai/audio.rb#2
72
+ class OpenAI::Audio
73
+ # @return [Audio] a new instance of Audio
74
+ #
75
+ # source://ruby-openai//lib/openai/audio.rb#3
76
+ def initialize(client:); end
77
+
78
+ # source://ruby-openai//lib/openai/audio.rb#15
79
+ def speech(parameters: T.unsafe(nil)); end
80
+
81
+ # source://ruby-openai//lib/openai/audio.rb#7
82
+ def transcribe(parameters: T.unsafe(nil)); end
83
+
84
+ # source://ruby-openai//lib/openai/audio.rb#11
85
+ def translate(parameters: T.unsafe(nil)); end
86
+ end
87
+
88
+ # source://ruby-openai//lib/openai.rb#26
89
+ class OpenAI::AuthenticationError < ::OpenAI::Error; end
90
+
91
+ # source://ruby-openai//lib/openai/batches.rb#2
92
+ class OpenAI::Batches
93
+ # @return [Batches] a new instance of Batches
94
+ #
95
+ # source://ruby-openai//lib/openai/batches.rb#3
96
+ def initialize(client:); end
97
+
98
+ # source://ruby-openai//lib/openai/batches.rb#19
99
+ def cancel(id:); end
100
+
101
+ # source://ruby-openai//lib/openai/batches.rb#15
102
+ def create(parameters: T.unsafe(nil)); end
103
+
104
+ # source://ruby-openai//lib/openai/batches.rb#7
105
+ def list(parameters: T.unsafe(nil)); end
106
+
107
+ # source://ruby-openai//lib/openai/batches.rb#11
108
+ def retrieve(id:); end
109
+ end
110
+
111
+ # source://ruby-openai//lib/openai/client.rb#2
112
+ class OpenAI::Client
113
+ include ::OpenAI::HTTPHeaders
114
+ include ::OpenAI::HTTP
115
+
116
+ # @return [Client] a new instance of Client
117
+ #
118
+ # source://ruby-openai//lib/openai/client.rb#11
119
+ def initialize(config = T.unsafe(nil), &faraday_middleware); end
120
+
121
+ # source://ruby-openai//lib/openai/client.rb#8
122
+ def access_token; end
123
+
124
+ # Sets the attribute access_token
125
+ #
126
+ # @param value the value to set the attribute access_token to.
127
+ #
128
+ # source://ruby-openai//lib/openai/client.rb#9
129
+ def access_token=(_arg0); end
130
+
131
+ # source://ruby-openai//lib/openai/client.rb#107
132
+ def admin; end
133
+
134
+ # source://ruby-openai//lib/openai/client.rb#8
135
+ def admin_token; end
136
+
137
+ # source://ruby-openai//lib/openai/client.rb#8
138
+ def api_type; end
139
+
140
+ # source://ruby-openai//lib/openai/client.rb#8
141
+ def api_version; end
142
+
143
+ # source://ruby-openai//lib/openai/client.rb#59
144
+ def assistants; end
145
+
146
+ # source://ruby-openai//lib/openai/client.rb#35
147
+ def audio; end
148
+
149
+ # @return [Boolean]
150
+ #
151
+ # source://ruby-openai//lib/openai/client.rb#103
152
+ def azure?; end
153
+
154
+ # source://ruby-openai//lib/openai/client.rb#91
155
+ def batches; end
156
+
157
+ # source://ruby-openai//lib/openai/client.rb#118
158
+ def beta(apis); end
159
+
160
+ # source://ruby-openai//lib/openai/client.rb#23
161
+ def chat(parameters: T.unsafe(nil)); end
162
+
163
+ # source://ruby-openai//lib/openai/client.rb#31
164
+ def completions(parameters: T.unsafe(nil)); end
165
+
166
+ # source://ruby-openai//lib/openai/client.rb#27
167
+ def embeddings(parameters: T.unsafe(nil)); end
168
+
169
+ # source://ruby-openai//lib/openai/client.rb#8
170
+ def extra_headers; end
171
+
172
+ # source://ruby-openai//lib/openai/client.rb#8
173
+ def faraday_middleware; end
174
+
175
+ # source://ruby-openai//lib/openai/client.rb#39
176
+ def files; end
177
+
178
+ # source://ruby-openai//lib/openai/client.rb#43
179
+ def finetunes; end
180
+
181
+ # source://ruby-openai//lib/openai/client.rb#47
182
+ def images; end
183
+
184
+ # source://ruby-openai//lib/openai/client.rb#124
185
+ def inspect; end
186
+
187
+ # source://ruby-openai//lib/openai/client.rb#8
188
+ def log_errors; end
189
+
190
+ # source://ruby-openai//lib/openai/client.rb#67
191
+ def messages; end
192
+
193
+ # source://ruby-openai//lib/openai/client.rb#51
194
+ def models; end
195
+
196
+ # source://ruby-openai//lib/openai/client.rb#95
197
+ def moderations(parameters: T.unsafe(nil)); end
198
+
199
+ # source://ruby-openai//lib/openai/client.rb#8
200
+ def organization_id; end
201
+
202
+ # source://ruby-openai//lib/openai/client.rb#8
203
+ def request_timeout; end
204
+
205
+ # source://ruby-openai//lib/openai/client.rb#55
206
+ def responses; end
207
+
208
+ # source://ruby-openai//lib/openai/client.rb#75
209
+ def run_steps; end
210
+
211
+ # source://ruby-openai//lib/openai/client.rb#71
212
+ def runs; end
213
+
214
+ # source://ruby-openai//lib/openai/client.rb#63
215
+ def threads; end
216
+
217
+ # source://ruby-openai//lib/openai/client.rb#8
218
+ def uri_base; end
219
+
220
+ # source://ruby-openai//lib/openai/client.rb#99
221
+ def usage; end
222
+
223
+ # source://ruby-openai//lib/openai/client.rb#87
224
+ def vector_store_file_batches; end
225
+
226
+ # source://ruby-openai//lib/openai/client.rb#83
227
+ def vector_store_files; end
228
+
229
+ # source://ruby-openai//lib/openai/client.rb#79
230
+ def vector_stores; end
231
+ end
232
+
233
+ # source://ruby-openai//lib/openai/client.rb#6
234
+ OpenAI::Client::CONFIG_KEYS = T.let(T.unsafe(nil), Array)
235
+
236
+ # source://ruby-openai//lib/openai/client.rb#5
237
+ OpenAI::Client::SENSITIVE_ATTRIBUTES = T.let(T.unsafe(nil), Array)
238
+
239
+ # source://ruby-openai//lib/openai.rb#39
240
+ class OpenAI::Configuration
241
+ # @return [Configuration] a new instance of Configuration
242
+ #
243
+ # source://ruby-openai//lib/openai.rb#55
244
+ def initialize; end
245
+
246
+ # Returns the value of attribute access_token.
247
+ #
248
+ # source://ruby-openai//lib/openai.rb#40
249
+ def access_token; end
250
+
251
+ # Sets the attribute access_token
252
+ #
253
+ # @param value the value to set the attribute access_token to.
254
+ #
255
+ # source://ruby-openai//lib/openai.rb#40
256
+ def access_token=(_arg0); end
257
+
258
+ # Returns the value of attribute admin_token.
259
+ #
260
+ # source://ruby-openai//lib/openai.rb#40
261
+ def admin_token; end
262
+
263
+ # Sets the attribute admin_token
264
+ #
265
+ # @param value the value to set the attribute admin_token to.
266
+ #
267
+ # source://ruby-openai//lib/openai.rb#40
268
+ def admin_token=(_arg0); end
269
+
270
+ # Returns the value of attribute api_type.
271
+ #
272
+ # source://ruby-openai//lib/openai.rb#40
273
+ def api_type; end
274
+
275
+ # Sets the attribute api_type
276
+ #
277
+ # @param value the value to set the attribute api_type to.
278
+ #
279
+ # source://ruby-openai//lib/openai.rb#40
280
+ def api_type=(_arg0); end
281
+
282
+ # Returns the value of attribute api_version.
283
+ #
284
+ # source://ruby-openai//lib/openai.rb#40
285
+ def api_version; end
286
+
287
+ # Sets the attribute api_version
288
+ #
289
+ # @param value the value to set the attribute api_version to.
290
+ #
291
+ # source://ruby-openai//lib/openai.rb#40
292
+ def api_version=(_arg0); end
293
+
294
+ # Returns the value of attribute extra_headers.
295
+ #
296
+ # source://ruby-openai//lib/openai.rb#40
297
+ def extra_headers; end
298
+
299
+ # Sets the attribute extra_headers
300
+ #
301
+ # @param value the value to set the attribute extra_headers to.
302
+ #
303
+ # source://ruby-openai//lib/openai.rb#40
304
+ def extra_headers=(_arg0); end
305
+
306
+ # Returns the value of attribute log_errors.
307
+ #
308
+ # source://ruby-openai//lib/openai.rb#40
309
+ def log_errors; end
310
+
311
+ # Sets the attribute log_errors
312
+ #
313
+ # @param value the value to set the attribute log_errors to.
314
+ #
315
+ # source://ruby-openai//lib/openai.rb#40
316
+ def log_errors=(_arg0); end
317
+
318
+ # Returns the value of attribute organization_id.
319
+ #
320
+ # source://ruby-openai//lib/openai.rb#40
321
+ def organization_id; end
322
+
323
+ # Sets the attribute organization_id
324
+ #
325
+ # @param value the value to set the attribute organization_id to.
326
+ #
327
+ # source://ruby-openai//lib/openai.rb#40
328
+ def organization_id=(_arg0); end
329
+
330
+ # Returns the value of attribute request_timeout.
331
+ #
332
+ # source://ruby-openai//lib/openai.rb#40
333
+ def request_timeout; end
334
+
335
+ # Sets the attribute request_timeout
336
+ #
337
+ # @param value the value to set the attribute request_timeout to.
338
+ #
339
+ # source://ruby-openai//lib/openai.rb#40
340
+ def request_timeout=(_arg0); end
341
+
342
+ # Returns the value of attribute uri_base.
343
+ #
344
+ # source://ruby-openai//lib/openai.rb#40
345
+ def uri_base; end
346
+
347
+ # Sets the attribute uri_base
348
+ #
349
+ # @param value the value to set the attribute uri_base to.
350
+ #
351
+ # source://ruby-openai//lib/openai.rb#40
352
+ def uri_base=(_arg0); end
353
+ end
354
+
355
+ # source://ruby-openai//lib/openai.rb#50
356
+ OpenAI::Configuration::DEFAULT_API_VERSION = T.let(T.unsafe(nil), String)
357
+
358
+ # source://ruby-openai//lib/openai.rb#53
359
+ OpenAI::Configuration::DEFAULT_LOG_ERRORS = T.let(T.unsafe(nil), FalseClass)
360
+
361
+ # source://ruby-openai//lib/openai.rb#52
362
+ OpenAI::Configuration::DEFAULT_REQUEST_TIMEOUT = T.let(T.unsafe(nil), Integer)
363
+
364
+ # source://ruby-openai//lib/openai.rb#51
365
+ OpenAI::Configuration::DEFAULT_URI_BASE = T.let(T.unsafe(nil), String)
366
+
367
+ # source://ruby-openai//lib/openai.rb#25
368
+ class OpenAI::ConfigurationError < ::OpenAI::Error; end
369
+
370
+ # source://ruby-openai//lib/openai.rb#24
371
+ class OpenAI::Error < ::StandardError; end
372
+
373
+ # source://ruby-openai//lib/openai/files.rb#2
374
+ class OpenAI::Files
375
+ # @return [Files] a new instance of Files
376
+ #
377
+ # source://ruby-openai//lib/openai/files.rb#12
378
+ def initialize(client:); end
379
+
380
+ # source://ruby-openai//lib/openai/files.rb#36
381
+ def content(id:); end
382
+
383
+ # source://ruby-openai//lib/openai/files.rb#40
384
+ def delete(id:); end
385
+
386
+ # source://ruby-openai//lib/openai/files.rb#16
387
+ def list(parameters: T.unsafe(nil)); end
388
+
389
+ # source://ruby-openai//lib/openai/files.rb#32
390
+ def retrieve(id:); end
391
+
392
+ # source://ruby-openai//lib/openai/files.rb#20
393
+ def upload(parameters: T.unsafe(nil)); end
394
+
395
+ private
396
+
397
+ # source://ruby-openai//lib/openai/files.rb#46
398
+ def prepare_file_input(file_input:); end
399
+
400
+ # @raise [ArgumentError]
401
+ #
402
+ # source://ruby-openai//lib/openai/files.rb#56
403
+ def validate(file:, purpose:, file_input:); end
404
+
405
+ # source://ruby-openai//lib/openai/files.rb#69
406
+ def validate_jsonl(file:); end
407
+ end
408
+
409
+ # source://ruby-openai//lib/openai/files.rb#3
410
+ OpenAI::Files::PURPOSES = T.let(T.unsafe(nil), Array)
411
+
412
+ # source://ruby-openai//lib/openai/finetunes.rb#2
413
+ class OpenAI::Finetunes
414
+ # @return [Finetunes] a new instance of Finetunes
415
+ #
416
+ # source://ruby-openai//lib/openai/finetunes.rb#3
417
+ def initialize(client:); end
418
+
419
+ # source://ruby-openai//lib/openai/finetunes.rb#19
420
+ def cancel(id:); end
421
+
422
+ # source://ruby-openai//lib/openai/finetunes.rb#11
423
+ def create(parameters: T.unsafe(nil)); end
424
+
425
+ # source://ruby-openai//lib/openai/finetunes.rb#7
426
+ def list; end
427
+
428
+ # source://ruby-openai//lib/openai/finetunes.rb#23
429
+ def list_events(id:); end
430
+
431
+ # source://ruby-openai//lib/openai/finetunes.rb#15
432
+ def retrieve(id:); end
433
+ end
434
+
435
+ # source://ruby-openai//lib/openai/http.rb#6
436
+ module OpenAI::HTTP
437
+ include ::OpenAI::HTTPHeaders
438
+
439
+ # source://ruby-openai//lib/openai/http.rb#35
440
+ def delete(path:); end
441
+
442
+ # source://ruby-openai//lib/openai/http.rb#9
443
+ def get(path:, parameters: T.unsafe(nil)); end
444
+
445
+ # source://ruby-openai//lib/openai/http.rb#21
446
+ def json_post(path:, parameters:, query_parameters: T.unsafe(nil)); end
447
+
448
+ # source://ruby-openai//lib/openai/http.rb#28
449
+ def multipart_post(path:, parameters: T.unsafe(nil)); end
450
+
451
+ # source://ruby-openai//lib/openai/http.rb#15
452
+ def post(path:); end
453
+
454
+ private
455
+
456
+ # source://ruby-openai//lib/openai/http.rb#119
457
+ def configure_json_post_request(req, parameters); end
458
+
459
+ # source://ruby-openai//lib/openai/http.rb#79
460
+ def conn(multipart: T.unsafe(nil)); end
461
+
462
+ # source://ruby-openai//lib/openai/http.rb#104
463
+ def multipart_parameters(parameters); end
464
+
465
+ # source://ruby-openai//lib/openai/http.rb#43
466
+ def parse_json(response); end
467
+
468
+ # Given a proc, returns an outer proc that can be used to iterate over a JSON stream of chunks.
469
+ # For each chunk, the inner user_proc is called giving it the JSON object. The JSON object could
470
+ # be a data object or an error object as described in the OpenAI API documentation.
471
+ #
472
+ # @param user_proc [Proc] The inner proc to call for each JSON object in the chunk.
473
+ # @return [Proc] An outer proc that iterates over a raw stream, converting it to JSON.
474
+ #
475
+ # source://ruby-openai//lib/openai/http.rb#64
476
+ def to_json_stream(user_proc:); end
477
+
478
+ # source://ruby-openai//lib/openai/http.rb#133
479
+ def try_parse_json(maybe_json); end
480
+
481
+ # source://ruby-openai//lib/openai/http.rb#93
482
+ def uri(path:); end
483
+ end
484
+
485
+ # source://ruby-openai//lib/openai/http_headers.rb#2
486
+ module OpenAI::HTTPHeaders
487
+ # source://ruby-openai//lib/openai/http_headers.rb#3
488
+ def add_headers(headers); end
489
+
490
+ private
491
+
492
+ # source://ruby-openai//lib/openai/http_headers.rb#25
493
+ def azure_headers; end
494
+
495
+ # source://ruby-openai//lib/openai/http_headers.rb#32
496
+ def extra_headers; end
497
+
498
+ # source://ruby-openai//lib/openai/http_headers.rb#9
499
+ def headers; end
500
+
501
+ # source://ruby-openai//lib/openai/http_headers.rb#17
502
+ def openai_headers; end
503
+ end
504
+
505
+ # source://ruby-openai//lib/openai/images.rb#2
506
+ class OpenAI::Images
507
+ # @return [Images] a new instance of Images
508
+ #
509
+ # source://ruby-openai//lib/openai/images.rb#3
510
+ def initialize(client: T.unsafe(nil)); end
511
+
512
+ # source://ruby-openai//lib/openai/images.rb#11
513
+ def edit(parameters: T.unsafe(nil)); end
514
+
515
+ # source://ruby-openai//lib/openai/images.rb#7
516
+ def generate(parameters: T.unsafe(nil)); end
517
+
518
+ # source://ruby-openai//lib/openai/images.rb#15
519
+ def variations(parameters: T.unsafe(nil)); end
520
+
521
+ private
522
+
523
+ # source://ruby-openai//lib/openai/images.rb#21
524
+ def open_files(parameters); end
525
+ end
526
+
527
+ # source://ruby-openai//lib/openai/messages.rb#2
528
+ class OpenAI::Messages
529
+ # @return [Messages] a new instance of Messages
530
+ #
531
+ # source://ruby-openai//lib/openai/messages.rb#3
532
+ def initialize(client:); end
533
+
534
+ # source://ruby-openai//lib/openai/messages.rb#15
535
+ def create(thread_id:, parameters: T.unsafe(nil)); end
536
+
537
+ # source://ruby-openai//lib/openai/messages.rb#23
538
+ def delete(thread_id:, id:); end
539
+
540
+ # source://ruby-openai//lib/openai/messages.rb#7
541
+ def list(thread_id:, parameters: T.unsafe(nil)); end
542
+
543
+ # source://ruby-openai//lib/openai/messages.rb#19
544
+ def modify(thread_id:, id:, parameters: T.unsafe(nil)); end
545
+
546
+ # source://ruby-openai//lib/openai/messages.rb#11
547
+ def retrieve(thread_id:, id:); end
548
+ end
549
+
550
+ # source://ruby-openai//lib/openai.rb#28
551
+ class OpenAI::MiddlewareErrors < ::Faraday::Middleware
552
+ # source://ruby-openai//lib/openai.rb#29
553
+ def call(env); end
554
+ end
555
+
556
+ # source://ruby-openai//lib/openai/models.rb#2
557
+ class OpenAI::Models
558
+ # @return [Models] a new instance of Models
559
+ #
560
+ # source://ruby-openai//lib/openai/models.rb#3
561
+ def initialize(client:); end
562
+
563
+ # source://ruby-openai//lib/openai/models.rb#15
564
+ def delete(id:); end
565
+
566
+ # source://ruby-openai//lib/openai/models.rb#7
567
+ def list; end
568
+
569
+ # source://ruby-openai//lib/openai/models.rb#11
570
+ def retrieve(id:); end
571
+ end
572
+
573
+ # source://ruby-openai//lib/openai/responses.rb#2
574
+ class OpenAI::Responses
575
+ # @return [Responses] a new instance of Responses
576
+ #
577
+ # source://ruby-openai//lib/openai/responses.rb#3
578
+ def initialize(client:); end
579
+
580
+ # source://ruby-openai//lib/openai/responses.rb#7
581
+ def create(parameters: T.unsafe(nil)); end
582
+
583
+ # source://ruby-openai//lib/openai/responses.rb#15
584
+ def delete(response_id:); end
585
+
586
+ # source://ruby-openai//lib/openai/responses.rb#19
587
+ def input_items(response_id:, parameters: T.unsafe(nil)); end
588
+
589
+ # source://ruby-openai//lib/openai/responses.rb#11
590
+ def retrieve(response_id:); end
591
+ end
592
+
593
+ # source://ruby-openai//lib/openai/run_steps.rb#2
594
+ class OpenAI::RunSteps
595
+ # @return [RunSteps] a new instance of RunSteps
596
+ #
597
+ # source://ruby-openai//lib/openai/run_steps.rb#3
598
+ def initialize(client:); end
599
+
600
+ # source://ruby-openai//lib/openai/run_steps.rb#7
601
+ def list(thread_id:, run_id:, parameters: T.unsafe(nil)); end
602
+
603
+ # source://ruby-openai//lib/openai/run_steps.rb#11
604
+ def retrieve(thread_id:, run_id:, id:, parameters: T.unsafe(nil)); end
605
+ end
606
+
607
+ # source://ruby-openai//lib/openai/runs.rb#2
608
+ class OpenAI::Runs
609
+ # @return [Runs] a new instance of Runs
610
+ #
611
+ # source://ruby-openai//lib/openai/runs.rb#3
612
+ def initialize(client:); end
613
+
614
+ # source://ruby-openai//lib/openai/runs.rb#24
615
+ def cancel(id:, thread_id:); end
616
+
617
+ # source://ruby-openai//lib/openai/runs.rb#15
618
+ def create(thread_id:, parameters: T.unsafe(nil), query_parameters: T.unsafe(nil)); end
619
+
620
+ # source://ruby-openai//lib/openai/runs.rb#28
621
+ def create_thread_and_run(parameters: T.unsafe(nil)); end
622
+
623
+ # source://ruby-openai//lib/openai/runs.rb#7
624
+ def list(thread_id:, parameters: T.unsafe(nil)); end
625
+
626
+ # source://ruby-openai//lib/openai/runs.rb#20
627
+ def modify(id:, thread_id:, parameters: T.unsafe(nil)); end
628
+
629
+ # source://ruby-openai//lib/openai/runs.rb#11
630
+ def retrieve(thread_id:, id:); end
631
+
632
+ # source://ruby-openai//lib/openai/runs.rb#32
633
+ def submit_tool_outputs(thread_id:, run_id:, parameters: T.unsafe(nil)); end
634
+ end
635
+
636
+ # source://ruby-openai//lib/openai/threads.rb#2
637
+ class OpenAI::Threads
638
+ # @return [Threads] a new instance of Threads
639
+ #
640
+ # source://ruby-openai//lib/openai/threads.rb#3
641
+ def initialize(client:); end
642
+
643
+ # source://ruby-openai//lib/openai/threads.rb#11
644
+ def create(parameters: T.unsafe(nil)); end
645
+
646
+ # source://ruby-openai//lib/openai/threads.rb#19
647
+ def delete(id:); end
648
+
649
+ # source://ruby-openai//lib/openai/threads.rb#15
650
+ def modify(id:, parameters: T.unsafe(nil)); end
651
+
652
+ # source://ruby-openai//lib/openai/threads.rb#7
653
+ def retrieve(id:); end
654
+ end
655
+
656
+ # source://ruby-openai//lib/openai/usage.rb#2
657
+ class OpenAI::Usage
658
+ # @return [Usage] a new instance of Usage
659
+ #
660
+ # source://ruby-openai//lib/openai/usage.rb#3
661
+ def initialize(client:); end
662
+
663
+ # source://ruby-openai//lib/openai/usage.rb#35
664
+ def audio_speeches(parameters: T.unsafe(nil)); end
665
+
666
+ # source://ruby-openai//lib/openai/usage.rb#42
667
+ def audio_transcriptions(parameters: T.unsafe(nil)); end
668
+
669
+ # source://ruby-openai//lib/openai/usage.rb#56
670
+ def code_interpreter_sessions(parameters: T.unsafe(nil)); end
671
+
672
+ # source://ruby-openai//lib/openai/usage.rb#7
673
+ def completions(parameters: T.unsafe(nil)); end
674
+
675
+ # source://ruby-openai//lib/openai/usage.rb#63
676
+ def costs(parameters: T.unsafe(nil)); end
677
+
678
+ # source://ruby-openai//lib/openai/usage.rb#14
679
+ def embeddings(parameters: T.unsafe(nil)); end
680
+
681
+ # source://ruby-openai//lib/openai/usage.rb#28
682
+ def images(parameters: T.unsafe(nil)); end
683
+
684
+ # source://ruby-openai//lib/openai/usage.rb#21
685
+ def moderations(parameters: T.unsafe(nil)); end
686
+
687
+ # source://ruby-openai//lib/openai/usage.rb#49
688
+ def vector_stores(parameters: T.unsafe(nil)); end
689
+ end
690
+
691
+ # source://ruby-openai//lib/openai/version.rb#2
692
+ OpenAI::VERSION = T.let(T.unsafe(nil), String)
693
+
694
+ # source://ruby-openai//lib/openai/vector_store_file_batches.rb#2
695
+ class OpenAI::VectorStoreFileBatches
696
+ # @return [VectorStoreFileBatches] a new instance of VectorStoreFileBatches
697
+ #
698
+ # source://ruby-openai//lib/openai/vector_store_file_batches.rb#3
699
+ def initialize(client:); end
700
+
701
+ # source://ruby-openai//lib/openai/vector_store_file_batches.rb#25
702
+ def cancel(vector_store_id:, id:); end
703
+
704
+ # source://ruby-openai//lib/openai/vector_store_file_batches.rb#18
705
+ def create(vector_store_id:, parameters: T.unsafe(nil)); end
706
+
707
+ # source://ruby-openai//lib/openai/vector_store_file_batches.rb#7
708
+ def list(vector_store_id:, id:, parameters: T.unsafe(nil)); end
709
+
710
+ # source://ruby-openai//lib/openai/vector_store_file_batches.rb#14
711
+ def retrieve(vector_store_id:, id:); end
712
+ end
713
+
714
+ # source://ruby-openai//lib/openai/vector_store_files.rb#2
715
+ class OpenAI::VectorStoreFiles
716
+ # @return [VectorStoreFiles] a new instance of VectorStoreFiles
717
+ #
718
+ # source://ruby-openai//lib/openai/vector_store_files.rb#3
719
+ def initialize(client:); end
720
+
721
+ # source://ruby-openai//lib/openai/vector_store_files.rb#15
722
+ def create(vector_store_id:, parameters: T.unsafe(nil)); end
723
+
724
+ # source://ruby-openai//lib/openai/vector_store_files.rb#19
725
+ def delete(vector_store_id:, id:); end
726
+
727
+ # source://ruby-openai//lib/openai/vector_store_files.rb#7
728
+ def list(vector_store_id:, parameters: T.unsafe(nil)); end
729
+
730
+ # source://ruby-openai//lib/openai/vector_store_files.rb#11
731
+ def retrieve(vector_store_id:, id:); end
732
+ end
733
+
734
+ # source://ruby-openai//lib/openai/vector_stores.rb#2
735
+ class OpenAI::VectorStores
736
+ # @return [VectorStores] a new instance of VectorStores
737
+ #
738
+ # source://ruby-openai//lib/openai/vector_stores.rb#3
739
+ def initialize(client:); end
740
+
741
+ # source://ruby-openai//lib/openai/vector_stores.rb#15
742
+ def create(parameters: T.unsafe(nil)); end
743
+
744
+ # source://ruby-openai//lib/openai/vector_stores.rb#23
745
+ def delete(id:); end
746
+
747
+ # source://ruby-openai//lib/openai/vector_stores.rb#7
748
+ def list(parameters: T.unsafe(nil)); end
749
+
750
+ # source://ruby-openai//lib/openai/vector_stores.rb#19
751
+ def modify(id:, parameters: T.unsafe(nil)); end
752
+
753
+ # source://ruby-openai//lib/openai/vector_stores.rb#11
754
+ def retrieve(id:); end
755
+
756
+ # source://ruby-openai//lib/openai/vector_stores.rb#27
757
+ def search(id:, parameters: T.unsafe(nil)); end
758
+ end