anthropic-sdk-beta 0.1.0.pre.beta.3

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 (689) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +343 -0
  3. data/lib/anthropic/bedrock/client.rb +261 -0
  4. data/lib/anthropic/client.rb +107 -0
  5. data/lib/anthropic/errors.rb +192 -0
  6. data/lib/anthropic/internal/jsonl_stream.rb +26 -0
  7. data/lib/anthropic/internal/page.rb +109 -0
  8. data/lib/anthropic/internal/stream.rb +58 -0
  9. data/lib/anthropic/internal/transport/base_client.rb +473 -0
  10. data/lib/anthropic/internal/transport/pooled_net_requester.rb +193 -0
  11. data/lib/anthropic/internal/type/array_of.rb +128 -0
  12. data/lib/anthropic/internal/type/base_model.rb +380 -0
  13. data/lib/anthropic/internal/type/base_page.rb +46 -0
  14. data/lib/anthropic/internal/type/base_stream.rb +73 -0
  15. data/lib/anthropic/internal/type/boolean.rb +58 -0
  16. data/lib/anthropic/internal/type/converter.rb +247 -0
  17. data/lib/anthropic/internal/type/enum.rb +113 -0
  18. data/lib/anthropic/internal/type/hash_of.rb +148 -0
  19. data/lib/anthropic/internal/type/io_like.rb +75 -0
  20. data/lib/anthropic/internal/type/request_parameters.rb +49 -0
  21. data/lib/anthropic/internal/type/union.rb +216 -0
  22. data/lib/anthropic/internal/type/unknown.rb +62 -0
  23. data/lib/anthropic/internal/util.rb +755 -0
  24. data/lib/anthropic/internal.rb +8 -0
  25. data/lib/anthropic/models/anthropic_beta.rb +44 -0
  26. data/lib/anthropic/models/api_error_object.rb +25 -0
  27. data/lib/anthropic/models/authentication_error.rb +25 -0
  28. data/lib/anthropic/models/base64_image_source.rb +47 -0
  29. data/lib/anthropic/models/base64_pdf_source.rb +31 -0
  30. data/lib/anthropic/models/beta/beta_base64_image_source.rb +51 -0
  31. data/lib/anthropic/models/beta/beta_base64_pdf_block.rb +76 -0
  32. data/lib/anthropic/models/beta/beta_base64_pdf_source.rb +35 -0
  33. data/lib/anthropic/models/beta/beta_cache_control_ephemeral.rb +23 -0
  34. data/lib/anthropic/models/beta/beta_citation_char_location.rb +63 -0
  35. data/lib/anthropic/models/beta/beta_citation_char_location_param.rb +63 -0
  36. data/lib/anthropic/models/beta/beta_citation_content_block_location.rb +63 -0
  37. data/lib/anthropic/models/beta/beta_citation_content_block_location_param.rb +63 -0
  38. data/lib/anthropic/models/beta/beta_citation_page_location.rb +63 -0
  39. data/lib/anthropic/models/beta/beta_citation_page_location_param.rb +63 -0
  40. data/lib/anthropic/models/beta/beta_citations_config_param.rb +27 -0
  41. data/lib/anthropic/models/beta/beta_citations_delta.rb +46 -0
  42. data/lib/anthropic/models/beta/beta_content_block.rb +27 -0
  43. data/lib/anthropic/models/beta/beta_content_block_param.rb +33 -0
  44. data/lib/anthropic/models/beta/beta_content_block_source.rb +45 -0
  45. data/lib/anthropic/models/beta/beta_content_block_source_content.rb +23 -0
  46. data/lib/anthropic/models/beta/beta_image_block_param.rb +50 -0
  47. data/lib/anthropic/models/beta/beta_input_json_delta.rb +29 -0
  48. data/lib/anthropic/models/beta/beta_message.rb +143 -0
  49. data/lib/anthropic/models/beta/beta_message_delta_usage.rb +24 -0
  50. data/lib/anthropic/models/beta/beta_message_param.rb +59 -0
  51. data/lib/anthropic/models/beta/beta_message_tokens_count.rb +26 -0
  52. data/lib/anthropic/models/beta/beta_metadata.rb +28 -0
  53. data/lib/anthropic/models/beta/beta_model_info.rb +49 -0
  54. data/lib/anthropic/models/beta/beta_plain_text_source.rb +35 -0
  55. data/lib/anthropic/models/beta/beta_raw_content_block_delta.rb +29 -0
  56. data/lib/anthropic/models/beta/beta_raw_content_block_delta_event.rb +35 -0
  57. data/lib/anthropic/models/beta/beta_raw_content_block_start_event.rb +55 -0
  58. data/lib/anthropic/models/beta/beta_raw_content_block_stop_event.rb +29 -0
  59. data/lib/anthropic/models/beta/beta_raw_message_delta_event.rb +71 -0
  60. data/lib/anthropic/models/beta/beta_raw_message_start_event.rb +29 -0
  61. data/lib/anthropic/models/beta/beta_raw_message_stop_event.rb +23 -0
  62. data/lib/anthropic/models/beta/beta_raw_message_stream_event.rb +31 -0
  63. data/lib/anthropic/models/beta/beta_redacted_thinking_block.rb +29 -0
  64. data/lib/anthropic/models/beta/beta_redacted_thinking_block_param.rb +29 -0
  65. data/lib/anthropic/models/beta/beta_signature_delta.rb +29 -0
  66. data/lib/anthropic/models/beta/beta_stop_reason.rb +24 -0
  67. data/lib/anthropic/models/beta/beta_text_block.rb +42 -0
  68. data/lib/anthropic/models/beta/beta_text_block_param.rb +43 -0
  69. data/lib/anthropic/models/beta/beta_text_citation.rb +25 -0
  70. data/lib/anthropic/models/beta/beta_text_citation_param.rb +25 -0
  71. data/lib/anthropic/models/beta/beta_text_delta.rb +29 -0
  72. data/lib/anthropic/models/beta/beta_thinking_block.rb +35 -0
  73. data/lib/anthropic/models/beta/beta_thinking_block_param.rb +35 -0
  74. data/lib/anthropic/models/beta/beta_thinking_config_disabled.rb +23 -0
  75. data/lib/anthropic/models/beta/beta_thinking_config_enabled.rb +38 -0
  76. data/lib/anthropic/models/beta/beta_thinking_config_param.rb +32 -0
  77. data/lib/anthropic/models/beta/beta_thinking_delta.rb +29 -0
  78. data/lib/anthropic/models/beta/beta_tool.rb +103 -0
  79. data/lib/anthropic/models/beta/beta_tool_bash_20241022.rb +38 -0
  80. data/lib/anthropic/models/beta/beta_tool_bash_20250124.rb +38 -0
  81. data/lib/anthropic/models/beta/beta_tool_choice.rb +33 -0
  82. data/lib/anthropic/models/beta/beta_tool_choice_any.rb +39 -0
  83. data/lib/anthropic/models/beta/beta_tool_choice_auto.rb +39 -0
  84. data/lib/anthropic/models/beta/beta_tool_choice_none.rb +25 -0
  85. data/lib/anthropic/models/beta/beta_tool_choice_tool.rb +46 -0
  86. data/lib/anthropic/models/beta/beta_tool_computer_use_20241022.rb +69 -0
  87. data/lib/anthropic/models/beta/beta_tool_computer_use_20250124.rb +69 -0
  88. data/lib/anthropic/models/beta/beta_tool_result_block_param.rb +85 -0
  89. data/lib/anthropic/models/beta/beta_tool_text_editor_20241022.rb +38 -0
  90. data/lib/anthropic/models/beta/beta_tool_text_editor_20250124.rb +38 -0
  91. data/lib/anthropic/models/beta/beta_tool_union.rb +31 -0
  92. data/lib/anthropic/models/beta/beta_tool_use_block.rb +41 -0
  93. data/lib/anthropic/models/beta/beta_tool_use_block_param.rb +47 -0
  94. data/lib/anthropic/models/beta/beta_url_image_source.rb +29 -0
  95. data/lib/anthropic/models/beta/beta_url_pdf_source.rb +29 -0
  96. data/lib/anthropic/models/beta/beta_usage.rb +45 -0
  97. data/lib/anthropic/models/beta/message_count_tokens_params.rb +315 -0
  98. data/lib/anthropic/models/beta/message_create_params.rb +395 -0
  99. data/lib/anthropic/models/beta/messages/batch_cancel_params.rb +34 -0
  100. data/lib/anthropic/models/beta/messages/batch_create_params.rb +463 -0
  101. data/lib/anthropic/models/beta/messages/batch_delete_params.rb +34 -0
  102. data/lib/anthropic/models/beta/messages/batch_list_params.rb +71 -0
  103. data/lib/anthropic/models/beta/messages/batch_results_params.rb +34 -0
  104. data/lib/anthropic/models/beta/messages/batch_retrieve_params.rb +34 -0
  105. data/lib/anthropic/models/beta/messages/beta_deleted_message_batch.rb +34 -0
  106. data/lib/anthropic/models/beta/messages/beta_message_batch.rb +140 -0
  107. data/lib/anthropic/models/beta/messages/beta_message_batch_canceled_result.rb +23 -0
  108. data/lib/anthropic/models/beta/messages/beta_message_batch_errored_result.rb +29 -0
  109. data/lib/anthropic/models/beta/messages/beta_message_batch_expired_result.rb +23 -0
  110. data/lib/anthropic/models/beta/messages/beta_message_batch_individual_response.rb +42 -0
  111. data/lib/anthropic/models/beta/messages/beta_message_batch_request_counts.rb +60 -0
  112. data/lib/anthropic/models/beta/messages/beta_message_batch_result.rb +32 -0
  113. data/lib/anthropic/models/beta/messages/beta_message_batch_succeeded_result.rb +29 -0
  114. data/lib/anthropic/models/beta/model_list_params.rb +58 -0
  115. data/lib/anthropic/models/beta/model_retrieve_params.rb +21 -0
  116. data/lib/anthropic/models/beta_api_error.rb +25 -0
  117. data/lib/anthropic/models/beta_authentication_error.rb +25 -0
  118. data/lib/anthropic/models/beta_billing_error.rb +25 -0
  119. data/lib/anthropic/models/beta_error.rb +33 -0
  120. data/lib/anthropic/models/beta_error_response.rb +25 -0
  121. data/lib/anthropic/models/beta_gateway_timeout_error.rb +25 -0
  122. data/lib/anthropic/models/beta_invalid_request_error.rb +25 -0
  123. data/lib/anthropic/models/beta_not_found_error.rb +25 -0
  124. data/lib/anthropic/models/beta_overloaded_error.rb +25 -0
  125. data/lib/anthropic/models/beta_permission_error.rb +25 -0
  126. data/lib/anthropic/models/beta_rate_limit_error.rb +25 -0
  127. data/lib/anthropic/models/billing_error.rb +25 -0
  128. data/lib/anthropic/models/cache_control_ephemeral.rb +19 -0
  129. data/lib/anthropic/models/citation_char_location.rb +59 -0
  130. data/lib/anthropic/models/citation_char_location_param.rb +59 -0
  131. data/lib/anthropic/models/citation_content_block_location.rb +59 -0
  132. data/lib/anthropic/models/citation_content_block_location_param.rb +59 -0
  133. data/lib/anthropic/models/citation_page_location.rb +59 -0
  134. data/lib/anthropic/models/citation_page_location_param.rb +59 -0
  135. data/lib/anthropic/models/citations_config_param.rb +23 -0
  136. data/lib/anthropic/models/citations_delta.rb +42 -0
  137. data/lib/anthropic/models/completion.rb +63 -0
  138. data/lib/anthropic/models/completion_create_params.rb +152 -0
  139. data/lib/anthropic/models/content_block.rb +23 -0
  140. data/lib/anthropic/models/content_block_param.rb +29 -0
  141. data/lib/anthropic/models/content_block_source.rb +41 -0
  142. data/lib/anthropic/models/content_block_source_content.rb +19 -0
  143. data/lib/anthropic/models/document_block_param.rb +72 -0
  144. data/lib/anthropic/models/error_object.rb +33 -0
  145. data/lib/anthropic/models/error_response.rb +25 -0
  146. data/lib/anthropic/models/gateway_timeout_error.rb +25 -0
  147. data/lib/anthropic/models/image_block_param.rb +46 -0
  148. data/lib/anthropic/models/input_json_delta.rb +25 -0
  149. data/lib/anthropic/models/invalid_request_error.rb +25 -0
  150. data/lib/anthropic/models/message.rb +138 -0
  151. data/lib/anthropic/models/message_count_tokens_params.rb +265 -0
  152. data/lib/anthropic/models/message_count_tokens_tool.rb +19 -0
  153. data/lib/anthropic/models/message_create_params.rb +380 -0
  154. data/lib/anthropic/models/message_delta_usage.rb +20 -0
  155. data/lib/anthropic/models/message_param.rb +55 -0
  156. data/lib/anthropic/models/message_tokens_count.rb +22 -0
  157. data/lib/anthropic/models/messages/batch_cancel_params.rb +21 -0
  158. data/lib/anthropic/models/messages/batch_create_params.rb +449 -0
  159. data/lib/anthropic/models/messages/batch_delete_params.rb +21 -0
  160. data/lib/anthropic/models/messages/batch_list_params.rb +58 -0
  161. data/lib/anthropic/models/messages/batch_results_params.rb +21 -0
  162. data/lib/anthropic/models/messages/batch_retrieve_params.rb +21 -0
  163. data/lib/anthropic/models/messages/deleted_message_batch.rb +32 -0
  164. data/lib/anthropic/models/messages/message_batch.rb +139 -0
  165. data/lib/anthropic/models/messages/message_batch_canceled_result.rb +23 -0
  166. data/lib/anthropic/models/messages/message_batch_errored_result.rb +29 -0
  167. data/lib/anthropic/models/messages/message_batch_expired_result.rb +23 -0
  168. data/lib/anthropic/models/messages/message_batch_individual_response.rb +42 -0
  169. data/lib/anthropic/models/messages/message_batch_request_counts.rb +60 -0
  170. data/lib/anthropic/models/messages/message_batch_result.rb +32 -0
  171. data/lib/anthropic/models/messages/message_batch_succeeded_result.rb +29 -0
  172. data/lib/anthropic/models/metadata.rb +24 -0
  173. data/lib/anthropic/models/model.rb +93 -0
  174. data/lib/anthropic/models/model_info.rb +45 -0
  175. data/lib/anthropic/models/model_list_params.rb +56 -0
  176. data/lib/anthropic/models/model_retrieve_params.rb +19 -0
  177. data/lib/anthropic/models/not_found_error.rb +25 -0
  178. data/lib/anthropic/models/overloaded_error.rb +25 -0
  179. data/lib/anthropic/models/permission_error.rb +25 -0
  180. data/lib/anthropic/models/plain_text_source.rb +31 -0
  181. data/lib/anthropic/models/rate_limit_error.rb +25 -0
  182. data/lib/anthropic/models/raw_content_block_delta.rb +25 -0
  183. data/lib/anthropic/models/raw_content_block_delta_event.rb +31 -0
  184. data/lib/anthropic/models/raw_content_block_start_event.rb +50 -0
  185. data/lib/anthropic/models/raw_content_block_stop_event.rb +25 -0
  186. data/lib/anthropic/models/raw_message_delta_event.rb +67 -0
  187. data/lib/anthropic/models/raw_message_start_event.rb +25 -0
  188. data/lib/anthropic/models/raw_message_stop_event.rb +19 -0
  189. data/lib/anthropic/models/raw_message_stream_event.rb +27 -0
  190. data/lib/anthropic/models/redacted_thinking_block.rb +25 -0
  191. data/lib/anthropic/models/redacted_thinking_block_param.rb +25 -0
  192. data/lib/anthropic/models/signature_delta.rb +25 -0
  193. data/lib/anthropic/models/stop_reason.rb +20 -0
  194. data/lib/anthropic/models/text_block.rb +38 -0
  195. data/lib/anthropic/models/text_block_param.rb +39 -0
  196. data/lib/anthropic/models/text_citation.rb +21 -0
  197. data/lib/anthropic/models/text_citation_param.rb +21 -0
  198. data/lib/anthropic/models/text_delta.rb +25 -0
  199. data/lib/anthropic/models/thinking_block.rb +31 -0
  200. data/lib/anthropic/models/thinking_block_param.rb +31 -0
  201. data/lib/anthropic/models/thinking_config_disabled.rb +19 -0
  202. data/lib/anthropic/models/thinking_config_enabled.rb +34 -0
  203. data/lib/anthropic/models/thinking_config_param.rb +28 -0
  204. data/lib/anthropic/models/thinking_delta.rb +25 -0
  205. data/lib/anthropic/models/tool.rb +80 -0
  206. data/lib/anthropic/models/tool_bash_20250124.rb +34 -0
  207. data/lib/anthropic/models/tool_choice.rb +29 -0
  208. data/lib/anthropic/models/tool_choice_any.rb +35 -0
  209. data/lib/anthropic/models/tool_choice_auto.rb +35 -0
  210. data/lib/anthropic/models/tool_choice_none.rb +21 -0
  211. data/lib/anthropic/models/tool_choice_tool.rb +42 -0
  212. data/lib/anthropic/models/tool_result_block_param.rb +81 -0
  213. data/lib/anthropic/models/tool_text_editor_20250124.rb +34 -0
  214. data/lib/anthropic/models/tool_union.rb +19 -0
  215. data/lib/anthropic/models/tool_use_block.rb +37 -0
  216. data/lib/anthropic/models/tool_use_block_param.rb +43 -0
  217. data/lib/anthropic/models/url_image_source.rb +25 -0
  218. data/lib/anthropic/models/url_pdf_source.rb +25 -0
  219. data/lib/anthropic/models/usage.rb +41 -0
  220. data/lib/anthropic/request_options.rb +75 -0
  221. data/lib/anthropic/resources/beta/messages/batches.rb +198 -0
  222. data/lib/anthropic/resources/beta/messages.rb +158 -0
  223. data/lib/anthropic/resources/beta/models.rb +65 -0
  224. data/lib/anthropic/resources/beta.rb +22 -0
  225. data/lib/anthropic/resources/completions.rb +100 -0
  226. data/lib/anthropic/resources/messages/batches.rb +179 -0
  227. data/lib/anthropic/resources/messages.rb +145 -0
  228. data/lib/anthropic/resources/models.rb +63 -0
  229. data/lib/anthropic/version.rb +5 -0
  230. data/lib/anthropic/vertex/client.rb +210 -0
  231. data/lib/anthropic.rb +265 -0
  232. data/manifest.yaml +15 -0
  233. data/rbi/lib/anthropic/bedrock/client.rbi +80 -0
  234. data/rbi/lib/anthropic/client.rbi +70 -0
  235. data/rbi/lib/anthropic/errors.rbi +143 -0
  236. data/rbi/lib/anthropic/internal/jsonl_stream.rbi +16 -0
  237. data/rbi/lib/anthropic/internal/page.rbi +26 -0
  238. data/rbi/lib/anthropic/internal/stream.rbi +16 -0
  239. data/rbi/lib/anthropic/internal/transport/base_client.rbi +204 -0
  240. data/rbi/lib/anthropic/internal/transport/pooled_net_requester.rbi +60 -0
  241. data/rbi/lib/anthropic/internal/type/array_of.rbi +82 -0
  242. data/rbi/lib/anthropic/internal/type/base_model.rbi +197 -0
  243. data/rbi/lib/anthropic/internal/type/base_page.rbi +36 -0
  244. data/rbi/lib/anthropic/internal/type/base_stream.rbi +51 -0
  245. data/rbi/lib/anthropic/internal/type/boolean.rbi +49 -0
  246. data/rbi/lib/anthropic/internal/type/converter.rbi +112 -0
  247. data/rbi/lib/anthropic/internal/type/enum.rbi +63 -0
  248. data/rbi/lib/anthropic/internal/type/hash_of.rbi +82 -0
  249. data/rbi/lib/anthropic/internal/type/io_like.rbi +47 -0
  250. data/rbi/lib/anthropic/internal/type/request_parameters.rbi +21 -0
  251. data/rbi/lib/anthropic/internal/type/union.rbi +68 -0
  252. data/rbi/lib/anthropic/internal/type/unknown.rbi +41 -0
  253. data/rbi/lib/anthropic/internal/util.rbi +282 -0
  254. data/rbi/lib/anthropic/internal.rbi +12 -0
  255. data/rbi/lib/anthropic/models/anthropic_beta.rbi +30 -0
  256. data/rbi/lib/anthropic/models/api_error_object.rbi +19 -0
  257. data/rbi/lib/anthropic/models/authentication_error.rbi +19 -0
  258. data/rbi/lib/anthropic/models/base64_image_source.rbi +46 -0
  259. data/rbi/lib/anthropic/models/base64_pdf_source.rbi +22 -0
  260. data/rbi/lib/anthropic/models/beta/beta_base64_image_source.rbi +56 -0
  261. data/rbi/lib/anthropic/models/beta/beta_base64_pdf_block.rbi +104 -0
  262. data/rbi/lib/anthropic/models/beta/beta_base64_pdf_source.rbi +26 -0
  263. data/rbi/lib/anthropic/models/beta/beta_cache_control_ephemeral.rbi +20 -0
  264. data/rbi/lib/anthropic/models/beta/beta_citation_char_location.rbi +65 -0
  265. data/rbi/lib/anthropic/models/beta/beta_citation_char_location_param.rbi +65 -0
  266. data/rbi/lib/anthropic/models/beta/beta_citation_content_block_location.rbi +63 -0
  267. data/rbi/lib/anthropic/models/beta/beta_citation_content_block_location_param.rbi +63 -0
  268. data/rbi/lib/anthropic/models/beta/beta_citation_page_location.rbi +65 -0
  269. data/rbi/lib/anthropic/models/beta/beta_citation_page_location_param.rbi +65 -0
  270. data/rbi/lib/anthropic/models/beta/beta_citations_config_param.rbi +23 -0
  271. data/rbi/lib/anthropic/models/beta/beta_citations_delta.rbi +66 -0
  272. data/rbi/lib/anthropic/models/beta/beta_content_block.rbi +21 -0
  273. data/rbi/lib/anthropic/models/beta/beta_content_block_param.rbi +21 -0
  274. data/rbi/lib/anthropic/models/beta/beta_content_block_source.rbi +74 -0
  275. data/rbi/lib/anthropic/models/beta/beta_content_block_source_content.rbi +19 -0
  276. data/rbi/lib/anthropic/models/beta/beta_image_block_param.rbi +68 -0
  277. data/rbi/lib/anthropic/models/beta/beta_input_json_delta.rbi +23 -0
  278. data/rbi/lib/anthropic/models/beta/beta_message.rbi +180 -0
  279. data/rbi/lib/anthropic/models/beta/beta_message_delta_usage.rbi +21 -0
  280. data/rbi/lib/anthropic/models/beta/beta_message_param.rbi +126 -0
  281. data/rbi/lib/anthropic/models/beta/beta_message_tokens_count.rbi +22 -0
  282. data/rbi/lib/anthropic/models/beta/beta_metadata.rbi +25 -0
  283. data/rbi/lib/anthropic/models/beta/beta_model_info.rbi +38 -0
  284. data/rbi/lib/anthropic/models/beta/beta_plain_text_source.rbi +26 -0
  285. data/rbi/lib/anthropic/models/beta/beta_raw_content_block_delta.rbi +21 -0
  286. data/rbi/lib/anthropic/models/beta/beta_raw_content_block_delta_event.rbi +65 -0
  287. data/rbi/lib/anthropic/models/beta/beta_raw_content_block_start_event.rbi +74 -0
  288. data/rbi/lib/anthropic/models/beta/beta_raw_content_block_stop_event.rbi +23 -0
  289. data/rbi/lib/anthropic/models/beta/beta_raw_message_delta_event.rbi +96 -0
  290. data/rbi/lib/anthropic/models/beta/beta_raw_message_start_event.rbi +29 -0
  291. data/rbi/lib/anthropic/models/beta/beta_raw_message_stop_event.rbi +20 -0
  292. data/rbi/lib/anthropic/models/beta/beta_raw_message_stream_event.rbi +21 -0
  293. data/rbi/lib/anthropic/models/beta/beta_redacted_thinking_block.rbi +23 -0
  294. data/rbi/lib/anthropic/models/beta/beta_redacted_thinking_block_param.rbi +23 -0
  295. data/rbi/lib/anthropic/models/beta/beta_signature_delta.rbi +23 -0
  296. data/rbi/lib/anthropic/models/beta/beta_stop_reason.rbi +24 -0
  297. data/rbi/lib/anthropic/models/beta/beta_text_block.rbi +76 -0
  298. data/rbi/lib/anthropic/models/beta/beta_text_block_param.rbi +84 -0
  299. data/rbi/lib/anthropic/models/beta/beta_text_citation.rbi +21 -0
  300. data/rbi/lib/anthropic/models/beta/beta_text_citation_param.rbi +21 -0
  301. data/rbi/lib/anthropic/models/beta/beta_text_delta.rbi +23 -0
  302. data/rbi/lib/anthropic/models/beta/beta_thinking_block.rbi +26 -0
  303. data/rbi/lib/anthropic/models/beta/beta_thinking_block_param.rbi +26 -0
  304. data/rbi/lib/anthropic/models/beta/beta_thinking_config_disabled.rbi +20 -0
  305. data/rbi/lib/anthropic/models/beta/beta_thinking_config_enabled.rbi +32 -0
  306. data/rbi/lib/anthropic/models/beta/beta_thinking_config_param.rbi +30 -0
  307. data/rbi/lib/anthropic/models/beta/beta_thinking_delta.rbi +23 -0
  308. data/rbi/lib/anthropic/models/beta/beta_tool.rbi +112 -0
  309. data/rbi/lib/anthropic/models/beta/beta_tool_bash_20241022.rbi +49 -0
  310. data/rbi/lib/anthropic/models/beta/beta_tool_bash_20250124.rbi +49 -0
  311. data/rbi/lib/anthropic/models/beta/beta_tool_choice.rbi +23 -0
  312. data/rbi/lib/anthropic/models/beta/beta_tool_choice_any.rbi +31 -0
  313. data/rbi/lib/anthropic/models/beta/beta_tool_choice_auto.rbi +31 -0
  314. data/rbi/lib/anthropic/models/beta/beta_tool_choice_none.rbi +21 -0
  315. data/rbi/lib/anthropic/models/beta/beta_tool_choice_tool.rbi +37 -0
  316. data/rbi/lib/anthropic/models/beta/beta_tool_computer_use_20241022.rbi +77 -0
  317. data/rbi/lib/anthropic/models/beta/beta_tool_computer_use_20250124.rbi +77 -0
  318. data/rbi/lib/anthropic/models/beta/beta_tool_result_block_param.rbi +129 -0
  319. data/rbi/lib/anthropic/models/beta/beta_tool_text_editor_20241022.rbi +49 -0
  320. data/rbi/lib/anthropic/models/beta/beta_tool_text_editor_20250124.rbi +49 -0
  321. data/rbi/lib/anthropic/models/beta/beta_tool_union.rbi +21 -0
  322. data/rbi/lib/anthropic/models/beta/beta_tool_use_block.rbi +29 -0
  323. data/rbi/lib/anthropic/models/beta/beta_tool_use_block_param.rbi +60 -0
  324. data/rbi/lib/anthropic/models/beta/beta_url_image_source.rbi +23 -0
  325. data/rbi/lib/anthropic/models/beta/beta_url_pdf_source.rbi +23 -0
  326. data/rbi/lib/anthropic/models/beta/beta_usage.rbi +52 -0
  327. data/rbi/lib/anthropic/models/beta/message_count_tokens_params.rbi +409 -0
  328. data/rbi/lib/anthropic/models/beta/message_create_params.rbi +489 -0
  329. data/rbi/lib/anthropic/models/beta/messages/batch_cancel_params.rbi +41 -0
  330. data/rbi/lib/anthropic/models/beta/messages/batch_create_params.rbi +572 -0
  331. data/rbi/lib/anthropic/models/beta/messages/batch_delete_params.rbi +41 -0
  332. data/rbi/lib/anthropic/models/beta/messages/batch_list_params.rbi +72 -0
  333. data/rbi/lib/anthropic/models/beta/messages/batch_results_params.rbi +41 -0
  334. data/rbi/lib/anthropic/models/beta/messages/batch_retrieve_params.rbi +41 -0
  335. data/rbi/lib/anthropic/models/beta/messages/beta_deleted_message_batch.rbi +27 -0
  336. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch.rbi +148 -0
  337. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_canceled_result.rbi +20 -0
  338. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_errored_result.rbi +29 -0
  339. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_expired_result.rbi +20 -0
  340. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_individual_response.rbi +68 -0
  341. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_request_counts.rbi +63 -0
  342. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_result.rbi +26 -0
  343. data/rbi/lib/anthropic/models/beta/messages/beta_message_batch_succeeded_result.rbi +29 -0
  344. data/rbi/lib/anthropic/models/beta/model_list_params.rbi +59 -0
  345. data/rbi/lib/anthropic/models/beta/model_retrieve_params.rbi +21 -0
  346. data/rbi/lib/anthropic/models/beta_api_error.rbi +19 -0
  347. data/rbi/lib/anthropic/models/beta_authentication_error.rbi +19 -0
  348. data/rbi/lib/anthropic/models/beta_billing_error.rbi +19 -0
  349. data/rbi/lib/anthropic/models/beta_error.rbi +17 -0
  350. data/rbi/lib/anthropic/models/beta_error_response.rbi +68 -0
  351. data/rbi/lib/anthropic/models/beta_gateway_timeout_error.rbi +19 -0
  352. data/rbi/lib/anthropic/models/beta_invalid_request_error.rbi +19 -0
  353. data/rbi/lib/anthropic/models/beta_not_found_error.rbi +19 -0
  354. data/rbi/lib/anthropic/models/beta_overloaded_error.rbi +19 -0
  355. data/rbi/lib/anthropic/models/beta_permission_error.rbi +19 -0
  356. data/rbi/lib/anthropic/models/beta_rate_limit_error.rbi +19 -0
  357. data/rbi/lib/anthropic/models/billing_error.rbi +19 -0
  358. data/rbi/lib/anthropic/models/cache_control_ephemeral.rbi +16 -0
  359. data/rbi/lib/anthropic/models/citation_char_location.rbi +61 -0
  360. data/rbi/lib/anthropic/models/citation_char_location_param.rbi +61 -0
  361. data/rbi/lib/anthropic/models/citation_content_block_location.rbi +59 -0
  362. data/rbi/lib/anthropic/models/citation_content_block_location_param.rbi +59 -0
  363. data/rbi/lib/anthropic/models/citation_page_location.rbi +61 -0
  364. data/rbi/lib/anthropic/models/citation_page_location_param.rbi +61 -0
  365. data/rbi/lib/anthropic/models/citations_config_param.rbi +19 -0
  366. data/rbi/lib/anthropic/models/citations_delta.rbi +62 -0
  367. data/rbi/lib/anthropic/models/completion.rbi +65 -0
  368. data/rbi/lib/anthropic/models/completion_create_params.rbi +142 -0
  369. data/rbi/lib/anthropic/models/content_block.rbi +17 -0
  370. data/rbi/lib/anthropic/models/content_block_param.rbi +17 -0
  371. data/rbi/lib/anthropic/models/content_block_source.rbi +56 -0
  372. data/rbi/lib/anthropic/models/content_block_source_content.rbi +12 -0
  373. data/rbi/lib/anthropic/models/document_block_param.rbi +97 -0
  374. data/rbi/lib/anthropic/models/error_object.rbi +17 -0
  375. data/rbi/lib/anthropic/models/error_response.rbi +68 -0
  376. data/rbi/lib/anthropic/models/gateway_timeout_error.rbi +19 -0
  377. data/rbi/lib/anthropic/models/image_block_param.rbi +57 -0
  378. data/rbi/lib/anthropic/models/input_json_delta.rbi +19 -0
  379. data/rbi/lib/anthropic/models/invalid_request_error.rbi +19 -0
  380. data/rbi/lib/anthropic/models/message.rbi +176 -0
  381. data/rbi/lib/anthropic/models/message_count_tokens_params.rbi +363 -0
  382. data/rbi/lib/anthropic/models/message_count_tokens_tool.rbi +17 -0
  383. data/rbi/lib/anthropic/models/message_create_params.rbi +453 -0
  384. data/rbi/lib/anthropic/models/message_delta_usage.rbi +17 -0
  385. data/rbi/lib/anthropic/models/message_param.rbi +121 -0
  386. data/rbi/lib/anthropic/models/message_tokens_count.rbi +18 -0
  387. data/rbi/lib/anthropic/models/messages/batch_cancel_params.rbi +21 -0
  388. data/rbi/lib/anthropic/models/messages/batch_create_params.rbi +535 -0
  389. data/rbi/lib/anthropic/models/messages/batch_delete_params.rbi +21 -0
  390. data/rbi/lib/anthropic/models/messages/batch_list_params.rbi +59 -0
  391. data/rbi/lib/anthropic/models/messages/batch_results_params.rbi +21 -0
  392. data/rbi/lib/anthropic/models/messages/batch_retrieve_params.rbi +21 -0
  393. data/rbi/lib/anthropic/models/messages/deleted_message_batch.rbi +25 -0
  394. data/rbi/lib/anthropic/models/messages/message_batch.rbi +143 -0
  395. data/rbi/lib/anthropic/models/messages/message_batch_canceled_result.rbi +20 -0
  396. data/rbi/lib/anthropic/models/messages/message_batch_errored_result.rbi +29 -0
  397. data/rbi/lib/anthropic/models/messages/message_batch_expired_result.rbi +20 -0
  398. data/rbi/lib/anthropic/models/messages/message_batch_individual_response.rbi +68 -0
  399. data/rbi/lib/anthropic/models/messages/message_batch_request_counts.rbi +63 -0
  400. data/rbi/lib/anthropic/models/messages/message_batch_result.rbi +26 -0
  401. data/rbi/lib/anthropic/models/messages/message_batch_succeeded_result.rbi +29 -0
  402. data/rbi/lib/anthropic/models/metadata.rbi +21 -0
  403. data/rbi/lib/anthropic/models/model.rbi +54 -0
  404. data/rbi/lib/anthropic/models/model_info.rbi +34 -0
  405. data/rbi/lib/anthropic/models/model_list_params.rbi +57 -0
  406. data/rbi/lib/anthropic/models/model_retrieve_params.rbi +19 -0
  407. data/rbi/lib/anthropic/models/not_found_error.rbi +19 -0
  408. data/rbi/lib/anthropic/models/overloaded_error.rbi +19 -0
  409. data/rbi/lib/anthropic/models/permission_error.rbi +19 -0
  410. data/rbi/lib/anthropic/models/plain_text_source.rbi +22 -0
  411. data/rbi/lib/anthropic/models/rate_limit_error.rbi +19 -0
  412. data/rbi/lib/anthropic/models/raw_content_block_delta.rbi +17 -0
  413. data/rbi/lib/anthropic/models/raw_content_block_delta_event.rbi +61 -0
  414. data/rbi/lib/anthropic/models/raw_content_block_start_event.rbi +70 -0
  415. data/rbi/lib/anthropic/models/raw_content_block_stop_event.rbi +19 -0
  416. data/rbi/lib/anthropic/models/raw_message_delta_event.rbi +81 -0
  417. data/rbi/lib/anthropic/models/raw_message_start_event.rbi +25 -0
  418. data/rbi/lib/anthropic/models/raw_message_stop_event.rbi +16 -0
  419. data/rbi/lib/anthropic/models/raw_message_stream_event.rbi +17 -0
  420. data/rbi/lib/anthropic/models/redacted_thinking_block.rbi +19 -0
  421. data/rbi/lib/anthropic/models/redacted_thinking_block_param.rbi +19 -0
  422. data/rbi/lib/anthropic/models/signature_delta.rbi +19 -0
  423. data/rbi/lib/anthropic/models/stop_reason.rbi +20 -0
  424. data/rbi/lib/anthropic/models/text_block.rbi +72 -0
  425. data/rbi/lib/anthropic/models/text_block_param.rbi +80 -0
  426. data/rbi/lib/anthropic/models/text_citation.rbi +17 -0
  427. data/rbi/lib/anthropic/models/text_citation_param.rbi +17 -0
  428. data/rbi/lib/anthropic/models/text_delta.rbi +19 -0
  429. data/rbi/lib/anthropic/models/thinking_block.rbi +22 -0
  430. data/rbi/lib/anthropic/models/thinking_block_param.rbi +22 -0
  431. data/rbi/lib/anthropic/models/thinking_config_disabled.rbi +16 -0
  432. data/rbi/lib/anthropic/models/thinking_config_enabled.rbi +28 -0
  433. data/rbi/lib/anthropic/models/thinking_config_param.rbi +21 -0
  434. data/rbi/lib/anthropic/models/thinking_delta.rbi +19 -0
  435. data/rbi/lib/anthropic/models/tool.rbi +88 -0
  436. data/rbi/lib/anthropic/models/tool_bash_20250124.rbi +43 -0
  437. data/rbi/lib/anthropic/models/tool_choice.rbi +19 -0
  438. data/rbi/lib/anthropic/models/tool_choice_any.rbi +27 -0
  439. data/rbi/lib/anthropic/models/tool_choice_auto.rbi +27 -0
  440. data/rbi/lib/anthropic/models/tool_choice_none.rbi +17 -0
  441. data/rbi/lib/anthropic/models/tool_choice_tool.rbi +33 -0
  442. data/rbi/lib/anthropic/models/tool_result_block_param.rbi +102 -0
  443. data/rbi/lib/anthropic/models/tool_text_editor_20250124.rbi +43 -0
  444. data/rbi/lib/anthropic/models/tool_union.rbi +17 -0
  445. data/rbi/lib/anthropic/models/tool_use_block.rbi +25 -0
  446. data/rbi/lib/anthropic/models/tool_use_block_param.rbi +56 -0
  447. data/rbi/lib/anthropic/models/url_image_source.rbi +19 -0
  448. data/rbi/lib/anthropic/models/url_pdf_source.rbi +19 -0
  449. data/rbi/lib/anthropic/models/usage.rbi +47 -0
  450. data/rbi/lib/anthropic/request_options.rbi +46 -0
  451. data/rbi/lib/anthropic/resources/beta/messages/batches.rbi +164 -0
  452. data/rbi/lib/anthropic/resources/beta/messages.rbi +823 -0
  453. data/rbi/lib/anthropic/resources/beta/models.rbi +55 -0
  454. data/rbi/lib/anthropic/resources/beta.rbi +17 -0
  455. data/rbi/lib/anthropic/resources/completions.rbi +190 -0
  456. data/rbi/lib/anthropic/resources/messages/batches.rbi +142 -0
  457. data/rbi/lib/anthropic/resources/messages.rbi +800 -0
  458. data/rbi/lib/anthropic/resources/models.rbi +53 -0
  459. data/rbi/lib/anthropic/version.rbi +5 -0
  460. data/rbi/lib/anthropic/vertex/client.rbi +56 -0
  461. data/sig/anthropic/bedrock/client.rbs +41 -0
  462. data/sig/anthropic/client.rbs +39 -0
  463. data/sig/anthropic/errors.rbs +101 -0
  464. data/sig/anthropic/internal/jsonl_stream.rbs +9 -0
  465. data/sig/anthropic/internal/page.rbs +17 -0
  466. data/sig/anthropic/internal/stream.rbs +9 -0
  467. data/sig/anthropic/internal/transport/base_client.rbs +110 -0
  468. data/sig/anthropic/internal/transport/pooled_net_requester.rbs +41 -0
  469. data/sig/anthropic/internal/type/array_of.rbs +41 -0
  470. data/sig/anthropic/internal/type/base_model.rbs +82 -0
  471. data/sig/anthropic/internal/type/base_page.rbs +24 -0
  472. data/sig/anthropic/internal/type/base_stream.rbs +31 -0
  473. data/sig/anthropic/internal/type/boolean.rbs +23 -0
  474. data/sig/anthropic/internal/type/converter.rbs +50 -0
  475. data/sig/anthropic/internal/type/enum.rbs +27 -0
  476. data/sig/anthropic/internal/type/hash_of.rbs +41 -0
  477. data/sig/anthropic/internal/type/io_like.rbs +23 -0
  478. data/sig/anthropic/internal/type/request_parameters.rbs +15 -0
  479. data/sig/anthropic/internal/type/union.rbs +45 -0
  480. data/sig/anthropic/internal/type/unknown.rbs +23 -0
  481. data/sig/anthropic/internal/util.rbs +154 -0
  482. data/sig/anthropic/internal.rbs +5 -0
  483. data/sig/anthropic/models/anthropic_beta.rbs +36 -0
  484. data/sig/anthropic/models/api_error_object.rbs +15 -0
  485. data/sig/anthropic/models/authentication_error.rbs +15 -0
  486. data/sig/anthropic/models/base64_image_source.rbs +40 -0
  487. data/sig/anthropic/models/base64_pdf_source.rbs +22 -0
  488. data/sig/anthropic/models/beta/beta_base64_image_source.rbs +44 -0
  489. data/sig/anthropic/models/beta/beta_base64_pdf_block.rbs +58 -0
  490. data/sig/anthropic/models/beta/beta_base64_pdf_source.rbs +26 -0
  491. data/sig/anthropic/models/beta/beta_cache_control_ephemeral.rbs +17 -0
  492. data/sig/anthropic/models/beta/beta_citation_char_location.rbs +42 -0
  493. data/sig/anthropic/models/beta/beta_citation_char_location_param.rbs +42 -0
  494. data/sig/anthropic/models/beta/beta_citation_content_block_location.rbs +42 -0
  495. data/sig/anthropic/models/beta/beta_citation_content_block_location_param.rbs +42 -0
  496. data/sig/anthropic/models/beta/beta_citation_page_location.rbs +42 -0
  497. data/sig/anthropic/models/beta/beta_citation_page_location_param.rbs +42 -0
  498. data/sig/anthropic/models/beta/beta_citations_config_param.rbs +19 -0
  499. data/sig/anthropic/models/beta/beta_citations_delta.rbs +37 -0
  500. data/sig/anthropic/models/beta/beta_content_block.rbs +19 -0
  501. data/sig/anthropic/models/beta/beta_content_block_param.rbs +22 -0
  502. data/sig/anthropic/models/beta/beta_content_block_source.rbs +41 -0
  503. data/sig/anthropic/models/beta/beta_content_block_source_content.rbs +17 -0
  504. data/sig/anthropic/models/beta/beta_image_block_param.rbs +40 -0
  505. data/sig/anthropic/models/beta/beta_input_json_delta.rbs +20 -0
  506. data/sig/anthropic/models/beta/beta_message.rbs +50 -0
  507. data/sig/anthropic/models/beta/beta_message_delta_usage.rbs +17 -0
  508. data/sig/anthropic/models/beta/beta_message_param.rbs +51 -0
  509. data/sig/anthropic/models/beta/beta_message_tokens_count.rbs +17 -0
  510. data/sig/anthropic/models/beta/beta_metadata.rbs +17 -0
  511. data/sig/anthropic/models/beta/beta_model_info.rbs +29 -0
  512. data/sig/anthropic/models/beta/beta_plain_text_source.rbs +26 -0
  513. data/sig/anthropic/models/beta/beta_raw_content_block_delta.rbs +20 -0
  514. data/sig/anthropic/models/beta/beta_raw_content_block_delta_event.rbs +30 -0
  515. data/sig/anthropic/models/beta/beta_raw_content_block_start_event.rbs +42 -0
  516. data/sig/anthropic/models/beta/beta_raw_content_block_stop_event.rbs +20 -0
  517. data/sig/anthropic/models/beta/beta_raw_message_delta_event.rbs +49 -0
  518. data/sig/anthropic/models/beta/beta_raw_message_start_event.rbs +23 -0
  519. data/sig/anthropic/models/beta/beta_raw_message_stop_event.rbs +17 -0
  520. data/sig/anthropic/models/beta/beta_raw_message_stream_event.rbs +21 -0
  521. data/sig/anthropic/models/beta/beta_redacted_thinking_block.rbs +20 -0
  522. data/sig/anthropic/models/beta/beta_redacted_thinking_block_param.rbs +20 -0
  523. data/sig/anthropic/models/beta/beta_signature_delta.rbs +19 -0
  524. data/sig/anthropic/models/beta/beta_stop_reason.rbs +21 -0
  525. data/sig/anthropic/models/beta/beta_text_block.rbs +30 -0
  526. data/sig/anthropic/models/beta/beta_text_block_param.rbs +34 -0
  527. data/sig/anthropic/models/beta/beta_text_citation.rbs +18 -0
  528. data/sig/anthropic/models/beta/beta_text_citation_param.rbs +18 -0
  529. data/sig/anthropic/models/beta/beta_text_delta.rbs +19 -0
  530. data/sig/anthropic/models/beta/beta_thinking_block.rbs +26 -0
  531. data/sig/anthropic/models/beta/beta_thinking_block_param.rbs +26 -0
  532. data/sig/anthropic/models/beta/beta_thinking_config_disabled.rbs +17 -0
  533. data/sig/anthropic/models/beta/beta_thinking_config_enabled.rbs +20 -0
  534. data/sig/anthropic/models/beta/beta_thinking_config_param.rbs +17 -0
  535. data/sig/anthropic/models/beta/beta_thinking_delta.rbs +19 -0
  536. data/sig/anthropic/models/beta/beta_tool.rbs +62 -0
  537. data/sig/anthropic/models/beta/beta_tool_bash_20241022.rbs +30 -0
  538. data/sig/anthropic/models/beta/beta_tool_bash_20250124.rbs +30 -0
  539. data/sig/anthropic/models/beta/beta_tool_choice.rbs +19 -0
  540. data/sig/anthropic/models/beta/beta_tool_choice_any.rbs +22 -0
  541. data/sig/anthropic/models/beta/beta_tool_choice_auto.rbs +22 -0
  542. data/sig/anthropic/models/beta/beta_tool_choice_none.rbs +17 -0
  543. data/sig/anthropic/models/beta/beta_tool_choice_tool.rbs +28 -0
  544. data/sig/anthropic/models/beta/beta_tool_computer_use_20241022.rbs +42 -0
  545. data/sig/anthropic/models/beta/beta_tool_computer_use_20250124.rbs +42 -0
  546. data/sig/anthropic/models/beta/beta_tool_result_block_param.rbs +69 -0
  547. data/sig/anthropic/models/beta/beta_tool_text_editor_20241022.rbs +30 -0
  548. data/sig/anthropic/models/beta/beta_tool_text_editor_20250124.rbs +30 -0
  549. data/sig/anthropic/models/beta/beta_tool_union.rbs +22 -0
  550. data/sig/anthropic/models/beta/beta_tool_use_block.rbs +29 -0
  551. data/sig/anthropic/models/beta/beta_tool_use_block_param.rbs +38 -0
  552. data/sig/anthropic/models/beta/beta_url_image_source.rbs +19 -0
  553. data/sig/anthropic/models/beta/beta_url_pdf_source.rbs +19 -0
  554. data/sig/anthropic/models/beta/beta_usage.rbs +34 -0
  555. data/sig/anthropic/models/beta/message_count_tokens_params.rbs +98 -0
  556. data/sig/anthropic/models/beta/message_create_params.rbs +119 -0
  557. data/sig/anthropic/models/beta/messages/batch_cancel_params.rbs +29 -0
  558. data/sig/anthropic/models/beta/messages/batch_create_params.rbs +161 -0
  559. data/sig/anthropic/models/beta/messages/batch_delete_params.rbs +29 -0
  560. data/sig/anthropic/models/beta/messages/batch_list_params.rbs +49 -0
  561. data/sig/anthropic/models/beta/messages/batch_results_params.rbs +29 -0
  562. data/sig/anthropic/models/beta/messages/batch_retrieve_params.rbs +29 -0
  563. data/sig/anthropic/models/beta/messages/beta_deleted_message_batch.rbs +20 -0
  564. data/sig/anthropic/models/beta/messages/beta_message_batch.rbs +70 -0
  565. data/sig/anthropic/models/beta/messages/beta_message_batch_canceled_result.rbs +17 -0
  566. data/sig/anthropic/models/beta/messages/beta_message_batch_errored_result.rbs +23 -0
  567. data/sig/anthropic/models/beta/messages/beta_message_batch_expired_result.rbs +17 -0
  568. data/sig/anthropic/models/beta/messages/beta_message_batch_individual_response.rbs +26 -0
  569. data/sig/anthropic/models/beta/messages/beta_message_batch_request_counts.rbs +38 -0
  570. data/sig/anthropic/models/beta/messages/beta_message_batch_result.rbs +19 -0
  571. data/sig/anthropic/models/beta/messages/beta_message_batch_succeeded_result.rbs +23 -0
  572. data/sig/anthropic/models/beta/model_list_params.rbs +35 -0
  573. data/sig/anthropic/models/beta/model_retrieve_params.rbs +17 -0
  574. data/sig/anthropic/models/beta_api_error.rbs +15 -0
  575. data/sig/anthropic/models/beta_authentication_error.rbs +16 -0
  576. data/sig/anthropic/models/beta_billing_error.rbs +15 -0
  577. data/sig/anthropic/models/beta_error.rbs +20 -0
  578. data/sig/anthropic/models/beta_error_response.rbs +19 -0
  579. data/sig/anthropic/models/beta_gateway_timeout_error.rbs +15 -0
  580. data/sig/anthropic/models/beta_invalid_request_error.rbs +16 -0
  581. data/sig/anthropic/models/beta_not_found_error.rbs +15 -0
  582. data/sig/anthropic/models/beta_overloaded_error.rbs +15 -0
  583. data/sig/anthropic/models/beta_permission_error.rbs +15 -0
  584. data/sig/anthropic/models/beta_rate_limit_error.rbs +15 -0
  585. data/sig/anthropic/models/billing_error.rbs +15 -0
  586. data/sig/anthropic/models/cache_control_ephemeral.rbs +13 -0
  587. data/sig/anthropic/models/citation_char_location.rbs +38 -0
  588. data/sig/anthropic/models/citation_char_location_param.rbs +38 -0
  589. data/sig/anthropic/models/citation_content_block_location.rbs +38 -0
  590. data/sig/anthropic/models/citation_content_block_location_param.rbs +38 -0
  591. data/sig/anthropic/models/citation_page_location.rbs +38 -0
  592. data/sig/anthropic/models/citation_page_location_param.rbs +38 -0
  593. data/sig/anthropic/models/citations_config_param.rbs +15 -0
  594. data/sig/anthropic/models/citations_delta.rbs +33 -0
  595. data/sig/anthropic/models/completion.rbs +34 -0
  596. data/sig/anthropic/models/completion_create_params.rbs +63 -0
  597. data/sig/anthropic/models/content_block.rbs +15 -0
  598. data/sig/anthropic/models/content_block_param.rbs +18 -0
  599. data/sig/anthropic/models/content_block_source.rbs +36 -0
  600. data/sig/anthropic/models/content_block_source_content.rbs +12 -0
  601. data/sig/anthropic/models/document_block_param.rbs +54 -0
  602. data/sig/anthropic/models/error_object.rbs +20 -0
  603. data/sig/anthropic/models/error_response.rbs +19 -0
  604. data/sig/anthropic/models/gateway_timeout_error.rbs +15 -0
  605. data/sig/anthropic/models/image_block_param.rbs +35 -0
  606. data/sig/anthropic/models/input_json_delta.rbs +15 -0
  607. data/sig/anthropic/models/invalid_request_error.rbs +16 -0
  608. data/sig/anthropic/models/message.rbs +46 -0
  609. data/sig/anthropic/models/message_count_tokens_params.rbs +71 -0
  610. data/sig/anthropic/models/message_count_tokens_tool.rbs +14 -0
  611. data/sig/anthropic/models/message_create_params.rbs +107 -0
  612. data/sig/anthropic/models/message_delta_usage.rbs +13 -0
  613. data/sig/anthropic/models/message_param.rbs +46 -0
  614. data/sig/anthropic/models/message_tokens_count.rbs +13 -0
  615. data/sig/anthropic/models/messages/batch_cancel_params.rbs +17 -0
  616. data/sig/anthropic/models/messages/batch_create_params.rbs +150 -0
  617. data/sig/anthropic/models/messages/batch_delete_params.rbs +17 -0
  618. data/sig/anthropic/models/messages/batch_list_params.rbs +35 -0
  619. data/sig/anthropic/models/messages/batch_results_params.rbs +17 -0
  620. data/sig/anthropic/models/messages/batch_retrieve_params.rbs +17 -0
  621. data/sig/anthropic/models/messages/deleted_message_batch.rbs +17 -0
  622. data/sig/anthropic/models/messages/message_batch.rbs +70 -0
  623. data/sig/anthropic/models/messages/message_batch_canceled_result.rbs +17 -0
  624. data/sig/anthropic/models/messages/message_batch_errored_result.rbs +23 -0
  625. data/sig/anthropic/models/messages/message_batch_expired_result.rbs +17 -0
  626. data/sig/anthropic/models/messages/message_batch_individual_response.rbs +26 -0
  627. data/sig/anthropic/models/messages/message_batch_request_counts.rbs +38 -0
  628. data/sig/anthropic/models/messages/message_batch_result.rbs +19 -0
  629. data/sig/anthropic/models/messages/message_batch_succeeded_result.rbs +23 -0
  630. data/sig/anthropic/models/metadata.rbs +13 -0
  631. data/sig/anthropic/models/model.rbs +73 -0
  632. data/sig/anthropic/models/model_info.rbs +25 -0
  633. data/sig/anthropic/models/model_list_params.rbs +33 -0
  634. data/sig/anthropic/models/model_retrieve_params.rbs +15 -0
  635. data/sig/anthropic/models/not_found_error.rbs +15 -0
  636. data/sig/anthropic/models/overloaded_error.rbs +15 -0
  637. data/sig/anthropic/models/permission_error.rbs +15 -0
  638. data/sig/anthropic/models/plain_text_source.rbs +22 -0
  639. data/sig/anthropic/models/rate_limit_error.rbs +15 -0
  640. data/sig/anthropic/models/raw_content_block_delta.rbs +16 -0
  641. data/sig/anthropic/models/raw_content_block_delta_event.rbs +26 -0
  642. data/sig/anthropic/models/raw_content_block_start_event.rbs +38 -0
  643. data/sig/anthropic/models/raw_content_block_stop_event.rbs +16 -0
  644. data/sig/anthropic/models/raw_message_delta_event.rbs +42 -0
  645. data/sig/anthropic/models/raw_message_start_event.rbs +19 -0
  646. data/sig/anthropic/models/raw_message_stop_event.rbs +13 -0
  647. data/sig/anthropic/models/raw_message_stream_event.rbs +17 -0
  648. data/sig/anthropic/models/redacted_thinking_block.rbs +15 -0
  649. data/sig/anthropic/models/redacted_thinking_block_param.rbs +16 -0
  650. data/sig/anthropic/models/signature_delta.rbs +15 -0
  651. data/sig/anthropic/models/stop_reason.rbs +16 -0
  652. data/sig/anthropic/models/text_block.rbs +26 -0
  653. data/sig/anthropic/models/text_block_param.rbs +30 -0
  654. data/sig/anthropic/models/text_citation.rbs +14 -0
  655. data/sig/anthropic/models/text_citation_param.rbs +14 -0
  656. data/sig/anthropic/models/text_delta.rbs +15 -0
  657. data/sig/anthropic/models/thinking_block.rbs +22 -0
  658. data/sig/anthropic/models/thinking_block_param.rbs +22 -0
  659. data/sig/anthropic/models/thinking_config_disabled.rbs +13 -0
  660. data/sig/anthropic/models/thinking_config_enabled.rbs +15 -0
  661. data/sig/anthropic/models/thinking_config_param.rbs +13 -0
  662. data/sig/anthropic/models/thinking_delta.rbs +15 -0
  663. data/sig/anthropic/models/tool.rbs +44 -0
  664. data/sig/anthropic/models/tool_bash_20250124.rbs +26 -0
  665. data/sig/anthropic/models/tool_choice.rbs +15 -0
  666. data/sig/anthropic/models/tool_choice_any.rbs +17 -0
  667. data/sig/anthropic/models/tool_choice_auto.rbs +17 -0
  668. data/sig/anthropic/models/tool_choice_none.rbs +13 -0
  669. data/sig/anthropic/models/tool_choice_tool.rbs +24 -0
  670. data/sig/anthropic/models/tool_result_block_param.rbs +64 -0
  671. data/sig/anthropic/models/tool_text_editor_20250124.rbs +26 -0
  672. data/sig/anthropic/models/tool_union.rbs +14 -0
  673. data/sig/anthropic/models/tool_use_block.rbs +25 -0
  674. data/sig/anthropic/models/tool_use_block_param.rbs +34 -0
  675. data/sig/anthropic/models/url_image_source.rbs +15 -0
  676. data/sig/anthropic/models/url_pdf_source.rbs +15 -0
  677. data/sig/anthropic/models/usage.rbs +30 -0
  678. data/sig/anthropic/request_options.rbs +34 -0
  679. data/sig/anthropic/resources/beta/messages/batches.rbs +49 -0
  680. data/sig/anthropic/resources/beta/messages.rbs +56 -0
  681. data/sig/anthropic/resources/beta/models.rbs +21 -0
  682. data/sig/anthropic/resources/beta.rbs +11 -0
  683. data/sig/anthropic/resources/completions.rbs +31 -0
  684. data/sig/anthropic/resources/messages/batches.rbs +41 -0
  685. data/sig/anthropic/resources/messages.rbs +51 -0
  686. data/sig/anthropic/resources/models.rbs +19 -0
  687. data/sig/anthropic/version.rbs +3 -0
  688. data/sig/anthropic/vertex/client.rbs +34 -0
  689. metadata +746 -0
@@ -0,0 +1,247 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Converter
8
+ # rubocop:disable Lint/UnusedMethodArgument
9
+
10
+ # @api private
11
+ #
12
+ # @param value [Object]
13
+ #
14
+ # @param state [Hash{Symbol=>Object}] .
15
+ #
16
+ # @option state [Boolean, :strong] :strictness
17
+ #
18
+ # @option state [Hash{Symbol=>Object}] :exactness
19
+ #
20
+ # @option state [Integer] :branched
21
+ #
22
+ # @return [Object]
23
+ def coerce(value, state:) = (raise NotImplementedError)
24
+
25
+ # @api private
26
+ #
27
+ # @param value [Object]
28
+ #
29
+ # @param state [Hash{Symbol=>Object}] .
30
+ #
31
+ # @option state [Boolean] :can_retry
32
+ #
33
+ # @return [Object]
34
+ def dump(value, state:)
35
+ case value
36
+ in Array
37
+ value.map { Anthropic::Internal::Type::Unknown.dump(_1, state: state) }
38
+ in Hash
39
+ value.transform_values { Anthropic::Internal::Type::Unknown.dump(_1, state: state) }
40
+ in Anthropic::Internal::Type::BaseModel
41
+ value.class.dump(value, state: state)
42
+ in StringIO
43
+ value.string
44
+ in Pathname | IO
45
+ state[:can_retry] = false if value.is_a?(IO)
46
+ Anthropic::Internal::Util::SerializationAdapter.new(value)
47
+ else
48
+ value
49
+ end
50
+ end
51
+
52
+ # rubocop:enable Lint/UnusedMethodArgument
53
+
54
+ class << self
55
+ # @api private
56
+ #
57
+ # @param spec [Hash{Symbol=>Object}, Proc, Anthropic::Internal::Type::Converter, Class] .
58
+ #
59
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
60
+ #
61
+ # @option spec [Proc] :enum
62
+ #
63
+ # @option spec [Proc] :union
64
+ #
65
+ # @option spec [Boolean] :"nil?"
66
+ #
67
+ # @return [Proc]
68
+ def type_info(spec)
69
+ case spec
70
+ in Proc
71
+ spec
72
+ in Hash
73
+ type_info(spec.slice(:const, :enum, :union).first&.last)
74
+ in true | false
75
+ -> { Anthropic::Internal::Type::Boolean }
76
+ in Anthropic::Internal::Type::Converter | Class | Symbol
77
+ -> { spec }
78
+ in NilClass | Integer | Float
79
+ -> { spec.class }
80
+ end
81
+ end
82
+
83
+ # @api private
84
+ #
85
+ # Based on `target`, transform `value` into `target`, to the extent possible:
86
+ #
87
+ # 1. if the given `value` conforms to `target` already, return the given `value`
88
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
89
+ # converted value
90
+ # 3. otherwise, the given `value` unaltered
91
+ #
92
+ # The coercion process is subject to improvement between minor release versions.
93
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
94
+ #
95
+ # @param target [Anthropic::Internal::Type::Converter, Class]
96
+ #
97
+ # @param value [Object]
98
+ #
99
+ # @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`, or `:strong`. This informs the
100
+ # coercion strategy when we have to decide between multiple possible conversion
101
+ # targets:
102
+ #
103
+ # - `true`: the conversion must be exact, with minimum coercion.
104
+ # - `false`: the conversion can be approximate, with some coercion.
105
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
106
+ # if not possible.
107
+ #
108
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
109
+ # any given conversion attempt, the exactness will be updated based on how closely
110
+ # the value recursively matches the target type:
111
+ #
112
+ # - `yes`: the value can be converted to the target type with minimum coercion.
113
+ # - `maybe`: the value can be converted to the target type with some reasonable
114
+ # coercion.
115
+ # - `no`: the value cannot be converted to the target type.
116
+ #
117
+ # See implementation below for more details.
118
+ #
119
+ # @option state [Boolean, :strong] :strictness
120
+ #
121
+ # @option state [Hash{Symbol=>Object}] :exactness
122
+ #
123
+ # @option state [Integer] :branched
124
+ #
125
+ # @return [Object]
126
+ def coerce(
127
+ target,
128
+ value,
129
+ state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
130
+ )
131
+ # rubocop:disable Lint/SuppressedException
132
+ # rubocop:disable Metrics/BlockNesting
133
+ strictness, exactness = state.fetch_values(:strictness, :exactness)
134
+
135
+ case target
136
+ in Anthropic::Internal::Type::Converter
137
+ return target.coerce(value, state: state)
138
+ in Class
139
+ if value.is_a?(target)
140
+ exactness[:yes] += 1
141
+ return value
142
+ end
143
+
144
+ case target
145
+ in -> { _1 <= NilClass }
146
+ exactness[value.nil? ? :yes : :maybe] += 1
147
+ return nil
148
+ in -> { _1 <= Integer }
149
+ if value.is_a?(Integer)
150
+ exactness[:yes] += 1
151
+ return value
152
+ elsif strictness == :strong && Integer(value, exception: false) != value
153
+ message = "no implicit conversion of #{value.class} into #{target.inspect}"
154
+ raise value.is_a?(Numeric) ? ArgumentError.new(message) : TypeError.new(message)
155
+ else
156
+ Kernel.then do
157
+ return Integer(value).tap { exactness[:maybe] += 1 }
158
+ rescue ArgumentError, TypeError
159
+ end
160
+ end
161
+ in -> { _1 <= Float }
162
+ if value.is_a?(Numeric)
163
+ exactness[:yes] += 1
164
+ return Float(value)
165
+ elsif strictness == :strong
166
+ message = "no implicit conversion of #{value.class} into #{target.inspect}"
167
+ raise TypeError.new(message)
168
+ else
169
+ Kernel.then do
170
+ return Float(value).tap { exactness[:maybe] += 1 }
171
+ rescue ArgumentError, TypeError
172
+ end
173
+ end
174
+ in -> { _1 <= String }
175
+ case value
176
+ in String | Symbol | Numeric
177
+ exactness[value.is_a?(Numeric) ? :maybe : :yes] += 1
178
+ return value.to_s
179
+ in StringIO
180
+ exactness[:yes] += 1
181
+ return value.string
182
+ else
183
+ if strictness == :strong
184
+ message = "no implicit conversion of #{value.class} into #{target.inspect}"
185
+ raise TypeError.new(message)
186
+ end
187
+ end
188
+ in -> { _1 <= Date || _1 <= Time }
189
+ Kernel.then do
190
+ return target.parse(value).tap { exactness[:yes] += 1 }
191
+ rescue ArgumentError, TypeError => e
192
+ raise e if strictness == :strong
193
+ end
194
+ in -> { _1 <= StringIO } if value.is_a?(String)
195
+ exactness[:yes] += 1
196
+ return StringIO.new(value.b)
197
+ else
198
+ end
199
+ in Symbol
200
+ case value
201
+ in Symbol | String
202
+ if value.to_sym == target
203
+ exactness[:yes] += 1
204
+ return target
205
+ else
206
+ exactness[:maybe] += 1
207
+ return value
208
+ end
209
+ else
210
+ if strictness == :strong
211
+ message = "cannot convert non-matching #{value.class} into #{target.inspect}"
212
+ raise ArgumentError.new(message)
213
+ end
214
+ end
215
+ else
216
+ end
217
+
218
+ exactness[:no] += 1
219
+ value
220
+ # rubocop:enable Metrics/BlockNesting
221
+ # rubocop:enable Lint/SuppressedException
222
+ end
223
+
224
+ # @api private
225
+ #
226
+ # @param target [Anthropic::Internal::Type::Converter, Class]
227
+ #
228
+ # @param value [Object]
229
+ #
230
+ # @param state [Hash{Symbol=>Object}] .
231
+ #
232
+ # @option state [Boolean] :can_retry
233
+ #
234
+ # @return [Object]
235
+ def dump(target, value, state: {can_retry: true})
236
+ case target
237
+ in Anthropic::Internal::Type::Converter
238
+ target.dump(value, state: state)
239
+ else
240
+ Anthropic::Internal::Type::Unknown.dump(value, state: state)
241
+ end
242
+ end
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
+ # values in the SDK as follows:
10
+ #
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
+ #
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
+ #
19
+ # @example
20
+ # # `stop_reason` is a `Anthropic::Models::StopReason`
21
+ # case stop_reason
22
+ # when Anthropic::Models::StopReason::END_TURN
23
+ # # ...
24
+ # when Anthropic::Models::StopReason::MAX_TOKENS
25
+ # # ...
26
+ # when Anthropic::Models::StopReason::STOP_SEQUENCE
27
+ # # ...
28
+ # else
29
+ # puts(stop_reason)
30
+ # end
31
+ #
32
+ # @example
33
+ # case stop_reason
34
+ # in :end_turn
35
+ # # ...
36
+ # in :max_tokens
37
+ # # ...
38
+ # in :stop_sequence
39
+ # # ...
40
+ # else
41
+ # puts(stop_reason)
42
+ # end
43
+ module Enum
44
+ include Anthropic::Internal::Type::Converter
45
+
46
+ # All of the valid Symbol values for this enum.
47
+ #
48
+ # @return [Array<NilClass, Boolean, Integer, Float, Symbol>]
49
+ def values = (@values ||= constants.map { const_get(_1) })
50
+
51
+ # @api private
52
+ #
53
+ # Guard against thread safety issues by instantiating `@values`.
54
+ private def finalize! = values
55
+
56
+ # @param other [Object]
57
+ #
58
+ # @return [Boolean]
59
+ def ===(other) = values.include?(other)
60
+
61
+ # @param other [Object]
62
+ #
63
+ # @return [Boolean]
64
+ def ==(other)
65
+ # rubocop:disable Layout/LineLength
66
+ other.is_a?(Module) && other.singleton_class <= Anthropic::Internal::Type::Enum && other.values.to_set == values.to_set
67
+ # rubocop:enable Layout/LineLength
68
+ end
69
+
70
+ # @api private
71
+ #
72
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
73
+ # of the enum.
74
+ #
75
+ # @param value [String, Symbol, Object]
76
+ #
77
+ # @param state [Hash{Symbol=>Object}] .
78
+ #
79
+ # @option state [Boolean, :strong] :strictness
80
+ #
81
+ # @option state [Hash{Symbol=>Object}] :exactness
82
+ #
83
+ # @option state [Integer] :branched
84
+ #
85
+ # @return [Symbol, Object]
86
+ def coerce(value, state:)
87
+ exactness = state.fetch(:exactness)
88
+ val = value.is_a?(String) ? value.to_sym : value
89
+
90
+ if values.include?(val)
91
+ exactness[:yes] += 1
92
+ val
93
+ else
94
+ exactness[values.first&.class == val.class ? :maybe : :no] += 1
95
+ value
96
+ end
97
+ end
98
+
99
+ # @!parse
100
+ # # @api private
101
+ # #
102
+ # # @param value [Symbol, Object]
103
+ # #
104
+ # # @param state [Hash{Symbol=>Object}] .
105
+ # #
106
+ # # @option state [Boolean] :can_retry
107
+ # #
108
+ # # @return [Symbol, Object]
109
+ # def dump(value, state:) = super
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # @generic Elem
11
+ #
12
+ # Hash of items of a given type.
13
+ class HashOf
14
+ include Anthropic::Internal::Type::Converter
15
+
16
+ # @param type_info [Hash{Symbol=>Object}, Proc, Anthropic::Internal::Type::Converter, Class]
17
+ #
18
+ # @param spec [Hash{Symbol=>Object}] .
19
+ #
20
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
21
+ #
22
+ # @option spec [Proc] :enum
23
+ #
24
+ # @option spec [Proc] :union
25
+ #
26
+ # @option spec [Boolean] :"nil?"
27
+ def self.[](type_info, spec = {}) = new(type_info, spec)
28
+
29
+ # @param other [Object]
30
+ #
31
+ # @return [Boolean]
32
+ def ===(other)
33
+ type = item_type
34
+ case other
35
+ in Hash
36
+ other.all? do |key, val|
37
+ case [key, val]
38
+ in [Symbol | String, ^type]
39
+ true
40
+ else
41
+ false
42
+ end
43
+ end
44
+ else
45
+ false
46
+ end
47
+ end
48
+
49
+ # @param other [Object]
50
+ #
51
+ # @return [Boolean]
52
+ def ==(other)
53
+ # rubocop:disable Layout/LineLength
54
+ other.is_a?(Anthropic::Internal::Type::HashOf) && other.nilable? == nilable? && other.item_type == item_type
55
+ # rubocop:enable Layout/LineLength
56
+ end
57
+
58
+ # @api private
59
+ #
60
+ # @param value [Hash{Object=>Object}, Object]
61
+ #
62
+ # @param state [Hash{Symbol=>Object}] .
63
+ #
64
+ # @option state [Boolean, :strong] :strictness
65
+ #
66
+ # @option state [Hash{Symbol=>Object}] :exactness
67
+ #
68
+ # @option state [Integer] :branched
69
+ #
70
+ # @return [Hash{Symbol=>Object}, Object]
71
+ def coerce(value, state:)
72
+ exactness = state.fetch(:exactness)
73
+
74
+ unless value.is_a?(Hash)
75
+ exactness[:no] += 1
76
+ return value
77
+ end
78
+
79
+ target = item_type
80
+ exactness[:yes] += 1
81
+ value
82
+ .to_h do |key, val|
83
+ k = key.is_a?(String) ? key.to_sym : key
84
+ v =
85
+ case [nilable?, val]
86
+ in [true, nil]
87
+ exactness[:yes] += 1
88
+ nil
89
+ else
90
+ Anthropic::Internal::Type::Converter.coerce(target, val, state: state)
91
+ end
92
+
93
+ exactness[:no] += 1 unless k.is_a?(Symbol)
94
+ [k, v]
95
+ end
96
+ end
97
+
98
+ # @api private
99
+ #
100
+ # @param value [Hash{Object=>Object}, Object]
101
+ #
102
+ # @param state [Hash{Symbol=>Object}] .
103
+ #
104
+ # @option state [Boolean] :can_retry
105
+ #
106
+ # @return [Hash{Symbol=>Object}, Object]
107
+ def dump(value, state:)
108
+ target = item_type
109
+ if value.is_a?(Hash)
110
+ value.transform_values do
111
+ Anthropic::Internal::Type::Converter.dump(target, _1, state: state)
112
+ end
113
+ else
114
+ super
115
+ end
116
+ end
117
+
118
+ # @api private
119
+ #
120
+ # @return [generic<Elem>]
121
+ protected def item_type = @item_type_fn.call
122
+
123
+ # @api private
124
+ #
125
+ # @return [Boolean]
126
+ protected def nilable? = @nilable
127
+
128
+ # @api private
129
+ #
130
+ # @param type_info [Hash{Symbol=>Object}, Proc, Anthropic::Internal::Type::Converter, Class]
131
+ #
132
+ # @param spec [Hash{Symbol=>Object}] .
133
+ #
134
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
135
+ #
136
+ # @option spec [Proc] :enum
137
+ #
138
+ # @option spec [Proc] :union
139
+ #
140
+ # @option spec [Boolean] :"nil?"
141
+ def initialize(type_info, spec = {})
142
+ @item_type_fn = Anthropic::Internal::Type::Converter.type_info(type_info || spec)
143
+ @nilable = spec[:nil?]
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # Either `Pathname` or `StringIO`.
11
+ class IOLike
12
+ extend Anthropic::Internal::Type::Converter
13
+
14
+ # @param other [Object]
15
+ #
16
+ # @return [Boolean]
17
+ def self.===(other)
18
+ case other
19
+ in StringIO | Pathname | IO
20
+ true
21
+ else
22
+ false
23
+ end
24
+ end
25
+
26
+ # @param other [Object]
27
+ #
28
+ # @return [Boolean]
29
+ def self.==(other) = other.is_a?(Class) && other <= Anthropic::Internal::Type::IOLike
30
+
31
+ class << self
32
+ # @api private
33
+ #
34
+ # @param value [StringIO, String, Object]
35
+ #
36
+ # @param state [Hash{Symbol=>Object}] .
37
+ #
38
+ # @option state [Boolean, :strong] :strictness
39
+ #
40
+ # @option state [Hash{Symbol=>Object}] :exactness
41
+ #
42
+ # @option state [Integer] :branched
43
+ #
44
+ # @return [StringIO, Object]
45
+ def coerce(value, state:)
46
+ exactness = state.fetch(:exactness)
47
+ case value
48
+ in String
49
+ exactness[:yes] += 1
50
+ StringIO.new(value)
51
+ in StringIO
52
+ exactness[:yes] += 1
53
+ value
54
+ else
55
+ exactness[:no] += 1
56
+ value
57
+ end
58
+ end
59
+
60
+ # @!parse
61
+ # # @api private
62
+ # #
63
+ # # @param value [Pathname, StringIO, IO, String, Object]
64
+ # #
65
+ # # @param state [Hash{Symbol=>Object}] .
66
+ # #
67
+ # # @option state [Boolean] :can_retry
68
+ # #
69
+ # # @return [Pathname, StringIO, IO, String, Object]
70
+ # def dump(value, state:) = super
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Anthropic
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ # @!parse
9
+ # # Options to specify HTTP behaviour for this request.
10
+ # # @return [Anthropic::RequestOptions, Hash{Symbol=>Object}]
11
+ # attr_accessor :request_options
12
+
13
+ # @param mod [Module]
14
+ def self.included(mod)
15
+ return unless mod <= Anthropic::Internal::Type::BaseModel
16
+
17
+ mod.extend(Anthropic::Internal::Type::RequestParameters::Converter)
18
+ mod.optional(:request_options, Anthropic::RequestOptions)
19
+ end
20
+
21
+ # @api private
22
+ module Converter
23
+ # @api private
24
+ #
25
+ # @param params [Object]
26
+ #
27
+ # @return [Array(Object, Hash{Symbol=>Object})]
28
+ def dump_request(params)
29
+ state = {can_retry: true}
30
+ case (dumped = dump(params, state: state))
31
+ in Hash
32
+ options = Anthropic::Internal::Util.coerce_hash(dumped[:request_options])
33
+ request_options =
34
+ case [options, state.fetch(:can_retry)]
35
+ in [Hash | nil, false]
36
+ {**options.to_h, max_retries: 0}
37
+ else
38
+ options
39
+ end
40
+ [dumped.except(:request_options), request_options]
41
+ else
42
+ [dumped, nil]
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end