anthropic 0.0.0 → 0.1.0.pre.beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ignore +2 -0
- data/CHANGELOG.md +648 -6
- data/README.md +311 -70
- data/SECURITY.md +27 -0
- data/lib/anthropic/bedrock.rb +5 -0
- data/lib/anthropic/client.rb +102 -12
- data/lib/anthropic/errors.rb +192 -0
- data/lib/anthropic/file_part.rb +55 -0
- data/lib/anthropic/helpers/bedrock/client.rb +259 -0
- data/lib/anthropic/helpers/vertex/client.rb +218 -0
- data/lib/anthropic/internal/jsonl_stream.rb +26 -0
- data/lib/anthropic/internal/page.rb +99 -0
- data/lib/anthropic/internal/stream.rb +58 -0
- data/lib/anthropic/internal/transport/base_client.rb +558 -0
- data/lib/anthropic/internal/transport/pooled_net_requester.rb +209 -0
- data/lib/anthropic/internal/type/array_of.rb +162 -0
- data/lib/anthropic/internal/type/base_model.rb +481 -0
- data/lib/anthropic/internal/type/base_page.rb +55 -0
- data/lib/anthropic/internal/type/base_stream.rb +90 -0
- data/lib/anthropic/internal/type/boolean.rb +71 -0
- data/lib/anthropic/internal/type/converter.rb +292 -0
- data/lib/anthropic/internal/type/enum.rb +145 -0
- data/lib/anthropic/internal/type/file_input.rb +103 -0
- data/lib/anthropic/internal/type/hash_of.rb +182 -0
- data/lib/anthropic/internal/type/request_parameters.rb +42 -0
- data/lib/anthropic/internal/type/union.rb +252 -0
- data/lib/anthropic/internal/type/unknown.rb +75 -0
- data/lib/anthropic/internal/util.rb +907 -0
- data/lib/anthropic/internal.rb +20 -0
- data/lib/anthropic/models/anthropic_beta.rb +47 -0
- data/lib/anthropic/models/api_error_object.rb +21 -0
- data/lib/anthropic/models/authentication_error.rb +21 -0
- data/lib/anthropic/models/base64_image_source.rb +40 -0
- data/lib/anthropic/models/base64_pdf_source.rb +27 -0
- data/lib/anthropic/models/beta/beta_base64_image_source.rb +44 -0
- data/lib/anthropic/models/beta/beta_base64_pdf_block.rb +73 -0
- data/lib/anthropic/models/beta/beta_base64_pdf_source.rb +31 -0
- data/lib/anthropic/models/beta/beta_cache_control_ephemeral.rb +19 -0
- data/lib/anthropic/models/beta/beta_citation_char_location.rb +49 -0
- data/lib/anthropic/models/beta/beta_citation_char_location_param.rb +49 -0
- data/lib/anthropic/models/beta/beta_citation_content_block_location.rb +49 -0
- data/lib/anthropic/models/beta/beta_citation_content_block_location_param.rb +49 -0
- data/lib/anthropic/models/beta/beta_citation_page_location.rb +49 -0
- data/lib/anthropic/models/beta/beta_citation_page_location_param.rb +49 -0
- data/lib/anthropic/models/beta/beta_citation_web_search_result_location_param.rb +43 -0
- data/lib/anthropic/models/beta/beta_citations_config_param.rb +19 -0
- data/lib/anthropic/models/beta/beta_citations_delta.rb +43 -0
- data/lib/anthropic/models/beta/beta_citations_web_search_result_location.rb +43 -0
- data/lib/anthropic/models/beta/beta_content_block.rb +30 -0
- data/lib/anthropic/models/beta/beta_content_block_param.rb +36 -0
- data/lib/anthropic/models/beta/beta_content_block_source.rb +41 -0
- data/lib/anthropic/models/beta/beta_content_block_source_content.rb +22 -0
- data/lib/anthropic/models/beta/beta_image_block_param.rb +48 -0
- data/lib/anthropic/models/beta/beta_input_json_delta.rb +25 -0
- data/lib/anthropic/models/beta/beta_message.rb +148 -0
- data/lib/anthropic/models/beta/beta_message_delta_usage.rb +52 -0
- data/lib/anthropic/models/beta/beta_message_param.rb +52 -0
- data/lib/anthropic/models/beta/beta_message_tokens_count.rb +25 -0
- data/lib/anthropic/models/beta/beta_metadata.rb +27 -0
- data/lib/anthropic/models/beta/beta_model_info.rb +51 -0
- data/lib/anthropic/models/beta/beta_plain_text_source.rb +31 -0
- data/lib/anthropic/models/beta/beta_raw_content_block_delta.rb +28 -0
- data/lib/anthropic/models/beta/beta_raw_content_block_delta_event.rb +31 -0
- data/lib/anthropic/models/beta/beta_raw_content_block_start_event.rb +53 -0
- data/lib/anthropic/models/beta/beta_raw_content_block_stop_event.rb +25 -0
- data/lib/anthropic/models/beta/beta_raw_message_delta_event.rb +68 -0
- data/lib/anthropic/models/beta/beta_raw_message_start_event.rb +25 -0
- data/lib/anthropic/models/beta/beta_raw_message_stop_event.rb +19 -0
- data/lib/anthropic/models/beta/beta_raw_message_stream_event.rb +30 -0
- data/lib/anthropic/models/beta/beta_redacted_thinking_block.rb +25 -0
- data/lib/anthropic/models/beta/beta_redacted_thinking_block_param.rb +25 -0
- data/lib/anthropic/models/beta/beta_server_tool_usage.rb +20 -0
- data/lib/anthropic/models/beta/beta_server_tool_use_block.rb +37 -0
- data/lib/anthropic/models/beta/beta_server_tool_use_block_param.rb +48 -0
- data/lib/anthropic/models/beta/beta_signature_delta.rb +25 -0
- data/lib/anthropic/models/beta/beta_stop_reason.rb +23 -0
- data/lib/anthropic/models/beta/beta_text_block.rb +43 -0
- data/lib/anthropic/models/beta/beta_text_block_param.rb +43 -0
- data/lib/anthropic/models/beta/beta_text_citation.rb +26 -0
- data/lib/anthropic/models/beta/beta_text_citation_param.rb +26 -0
- data/lib/anthropic/models/beta/beta_text_delta.rb +25 -0
- data/lib/anthropic/models/beta/beta_thinking_block.rb +31 -0
- data/lib/anthropic/models/beta/beta_thinking_block_param.rb +31 -0
- data/lib/anthropic/models/beta/beta_thinking_config_disabled.rb +19 -0
- data/lib/anthropic/models/beta/beta_thinking_config_enabled.rb +38 -0
- data/lib/anthropic/models/beta/beta_thinking_config_param.rb +31 -0
- data/lib/anthropic/models/beta/beta_thinking_delta.rb +25 -0
- data/lib/anthropic/models/beta/beta_tool.rb +96 -0
- data/lib/anthropic/models/beta/beta_tool_bash_20241022.rb +40 -0
- data/lib/anthropic/models/beta/beta_tool_bash_20250124.rb +40 -0
- data/lib/anthropic/models/beta/beta_tool_choice.rb +32 -0
- data/lib/anthropic/models/beta/beta_tool_choice_any.rb +35 -0
- data/lib/anthropic/models/beta/beta_tool_choice_auto.rb +35 -0
- data/lib/anthropic/models/beta/beta_tool_choice_none.rb +21 -0
- data/lib/anthropic/models/beta/beta_tool_choice_tool.rb +43 -0
- data/lib/anthropic/models/beta/beta_tool_computer_use_20241022.rb +64 -0
- data/lib/anthropic/models/beta/beta_tool_computer_use_20250124.rb +64 -0
- data/lib/anthropic/models/beta/beta_tool_result_block_param.rb +79 -0
- data/lib/anthropic/models/beta/beta_tool_text_editor_20241022.rb +40 -0
- data/lib/anthropic/models/beta/beta_tool_text_editor_20250124.rb +40 -0
- data/lib/anthropic/models/beta/beta_tool_union.rb +32 -0
- data/lib/anthropic/models/beta/beta_tool_use_block.rb +37 -0
- data/lib/anthropic/models/beta/beta_tool_use_block_param.rb +48 -0
- data/lib/anthropic/models/beta/beta_url_image_source.rb +25 -0
- data/lib/anthropic/models/beta/beta_url_pdf_source.rb +25 -0
- data/lib/anthropic/models/beta/beta_usage.rb +52 -0
- data/lib/anthropic/models/beta/beta_web_search_result_block.rb +43 -0
- data/lib/anthropic/models/beta/beta_web_search_result_block_param.rb +43 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_20250305.rb +126 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_request_error.rb +39 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_block.rb +31 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_block_content.rb +24 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_block_param.rb +41 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_block_param_content.rb +26 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_error.rb +39 -0
- data/lib/anthropic/models/beta/message_count_tokens_params.rb +292 -0
- data/lib/anthropic/models/beta/message_create_params.rb +351 -0
- data/lib/anthropic/models/beta/messages/batch_cancel_params.rb +26 -0
- data/lib/anthropic/models/beta/messages/batch_create_params.rb +424 -0
- data/lib/anthropic/models/beta/messages/batch_delete_params.rb +26 -0
- data/lib/anthropic/models/beta/messages/batch_list_params.rb +57 -0
- data/lib/anthropic/models/beta/messages/batch_results_params.rb +26 -0
- data/lib/anthropic/models/beta/messages/batch_retrieve_params.rb +26 -0
- data/lib/anthropic/models/beta/messages/beta_deleted_message_batch.rb +34 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch.rb +133 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_canceled_result.rb +19 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_errored_result.rb +25 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_expired_result.rb +19 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_individual_response.rb +43 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_request_counts.rb +63 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_result.rb +31 -0
- data/lib/anthropic/models/beta/messages/beta_message_batch_succeeded_result.rb +25 -0
- data/lib/anthropic/models/beta/model_list_params.rb +55 -0
- data/lib/anthropic/models/beta/model_retrieve_params.rb +24 -0
- data/lib/anthropic/models/beta_api_error.rb +21 -0
- data/lib/anthropic/models/beta_authentication_error.rb +21 -0
- data/lib/anthropic/models/beta_billing_error.rb +21 -0
- data/lib/anthropic/models/beta_error.rb +32 -0
- data/lib/anthropic/models/beta_error_response.rb +21 -0
- data/lib/anthropic/models/beta_gateway_timeout_error.rb +21 -0
- data/lib/anthropic/models/beta_invalid_request_error.rb +21 -0
- data/lib/anthropic/models/beta_not_found_error.rb +21 -0
- data/lib/anthropic/models/beta_overloaded_error.rb +21 -0
- data/lib/anthropic/models/beta_permission_error.rb +21 -0
- data/lib/anthropic/models/beta_rate_limit_error.rb +21 -0
- data/lib/anthropic/models/billing_error.rb +21 -0
- data/lib/anthropic/models/cache_control_ephemeral.rb +15 -0
- data/lib/anthropic/models/citation_char_location.rb +45 -0
- data/lib/anthropic/models/citation_char_location_param.rb +45 -0
- data/lib/anthropic/models/citation_content_block_location.rb +45 -0
- data/lib/anthropic/models/citation_content_block_location_param.rb +45 -0
- data/lib/anthropic/models/citation_page_location.rb +45 -0
- data/lib/anthropic/models/citation_page_location_param.rb +45 -0
- data/lib/anthropic/models/citation_web_search_result_location_param.rb +39 -0
- data/lib/anthropic/models/citations_config_param.rb +15 -0
- data/lib/anthropic/models/citations_delta.rb +39 -0
- data/lib/anthropic/models/citations_web_search_result_location.rb +39 -0
- data/lib/anthropic/models/completion.rb +66 -0
- data/lib/anthropic/models/completion_create_params.rb +133 -0
- data/lib/anthropic/models/content_block.rb +26 -0
- data/lib/anthropic/models/content_block_param.rb +32 -0
- data/lib/anthropic/models/content_block_source.rb +37 -0
- data/lib/anthropic/models/content_block_source_content.rb +18 -0
- data/lib/anthropic/models/document_block_param.rb +69 -0
- data/lib/anthropic/models/error_object.rb +32 -0
- data/lib/anthropic/models/error_response.rb +21 -0
- data/lib/anthropic/models/gateway_timeout_error.rb +21 -0
- data/lib/anthropic/models/image_block_param.rb +44 -0
- data/lib/anthropic/models/input_json_delta.rb +21 -0
- data/lib/anthropic/models/invalid_request_error.rb +21 -0
- data/lib/anthropic/models/message.rb +144 -0
- data/lib/anthropic/models/message_count_tokens_params.rb +254 -0
- data/lib/anthropic/models/message_count_tokens_tool.rb +20 -0
- data/lib/anthropic/models/message_create_params.rb +339 -0
- data/lib/anthropic/models/message_delta_usage.rb +48 -0
- data/lib/anthropic/models/message_param.rb +49 -0
- data/lib/anthropic/models/message_tokens_count.rb +21 -0
- data/lib/anthropic/models/messages/batch_cancel_params.rb +16 -0
- data/lib/anthropic/models/messages/batch_create_params.rb +406 -0
- data/lib/anthropic/models/messages/batch_delete_params.rb +16 -0
- data/lib/anthropic/models/messages/batch_list_params.rb +47 -0
- data/lib/anthropic/models/messages/batch_results_params.rb +16 -0
- data/lib/anthropic/models/messages/batch_retrieve_params.rb +16 -0
- data/lib/anthropic/models/messages/deleted_message_batch.rb +32 -0
- data/lib/anthropic/models/messages/message_batch.rb +130 -0
- data/lib/anthropic/models/messages/message_batch_canceled_result.rb +19 -0
- data/lib/anthropic/models/messages/message_batch_errored_result.rb +25 -0
- data/lib/anthropic/models/messages/message_batch_expired_result.rb +19 -0
- data/lib/anthropic/models/messages/message_batch_individual_response.rb +42 -0
- data/lib/anthropic/models/messages/message_batch_request_counts.rb +63 -0
- data/lib/anthropic/models/messages/message_batch_result.rb +31 -0
- data/lib/anthropic/models/messages/message_batch_succeeded_result.rb +25 -0
- data/lib/anthropic/models/metadata.rb +23 -0
- data/lib/anthropic/models/model.rb +96 -0
- data/lib/anthropic/models/model_info.rb +47 -0
- data/lib/anthropic/models/model_list_params.rb +53 -0
- data/lib/anthropic/models/model_retrieve_params.rb +22 -0
- data/lib/anthropic/models/not_found_error.rb +21 -0
- data/lib/anthropic/models/overloaded_error.rb +21 -0
- data/lib/anthropic/models/permission_error.rb +21 -0
- data/lib/anthropic/models/plain_text_source.rb +27 -0
- data/lib/anthropic/models/rate_limit_error.rb +21 -0
- data/lib/anthropic/models/raw_content_block_delta.rb +24 -0
- data/lib/anthropic/models/raw_content_block_delta_event.rb +27 -0
- data/lib/anthropic/models/raw_content_block_start_event.rb +49 -0
- data/lib/anthropic/models/raw_content_block_stop_event.rb +21 -0
- data/lib/anthropic/models/raw_message_delta_event.rb +64 -0
- data/lib/anthropic/models/raw_message_start_event.rb +21 -0
- data/lib/anthropic/models/raw_message_stop_event.rb +15 -0
- data/lib/anthropic/models/raw_message_stream_event.rb +26 -0
- data/lib/anthropic/models/redacted_thinking_block.rb +21 -0
- data/lib/anthropic/models/redacted_thinking_block_param.rb +21 -0
- data/lib/anthropic/models/server_tool_usage.rb +16 -0
- data/lib/anthropic/models/server_tool_use_block.rb +33 -0
- data/lib/anthropic/models/server_tool_use_block_param.rb +44 -0
- data/lib/anthropic/models/signature_delta.rb +21 -0
- data/lib/anthropic/models/stop_reason.rb +19 -0
- data/lib/anthropic/models/text_block.rb +41 -0
- data/lib/anthropic/models/text_block_param.rb +39 -0
- data/lib/anthropic/models/text_citation.rb +22 -0
- data/lib/anthropic/models/text_citation_param.rb +22 -0
- data/lib/anthropic/models/text_delta.rb +21 -0
- data/lib/anthropic/models/thinking_block.rb +27 -0
- data/lib/anthropic/models/thinking_block_param.rb +27 -0
- data/lib/anthropic/models/thinking_config_disabled.rb +15 -0
- data/lib/anthropic/models/thinking_config_enabled.rb +34 -0
- data/lib/anthropic/models/thinking_config_param.rb +27 -0
- data/lib/anthropic/models/thinking_delta.rb +21 -0
- data/lib/anthropic/models/tool.rb +92 -0
- data/lib/anthropic/models/tool_bash_20250124.rb +36 -0
- data/lib/anthropic/models/tool_choice.rb +28 -0
- data/lib/anthropic/models/tool_choice_any.rb +31 -0
- data/lib/anthropic/models/tool_choice_auto.rb +31 -0
- data/lib/anthropic/models/tool_choice_none.rb +17 -0
- data/lib/anthropic/models/tool_choice_tool.rb +39 -0
- data/lib/anthropic/models/tool_result_block_param.rb +73 -0
- data/lib/anthropic/models/tool_text_editor_20250124.rb +36 -0
- data/lib/anthropic/models/tool_union.rb +20 -0
- data/lib/anthropic/models/tool_use_block.rb +33 -0
- data/lib/anthropic/models/tool_use_block_param.rb +44 -0
- data/lib/anthropic/models/url_image_source.rb +21 -0
- data/lib/anthropic/models/url_pdf_source.rb +21 -0
- data/lib/anthropic/models/usage.rb +48 -0
- data/lib/anthropic/models/web_search_result_block.rb +39 -0
- data/lib/anthropic/models/web_search_result_block_param.rb +39 -0
- data/lib/anthropic/models/web_search_tool_20250305.rb +122 -0
- data/lib/anthropic/models/web_search_tool_request_error.rb +35 -0
- data/lib/anthropic/models/web_search_tool_result_block.rb +27 -0
- data/lib/anthropic/models/web_search_tool_result_block_content.rb +19 -0
- data/lib/anthropic/models/web_search_tool_result_block_param.rb +37 -0
- data/lib/anthropic/models/web_search_tool_result_block_param_content.rb +20 -0
- data/lib/anthropic/models/web_search_tool_result_error.rb +35 -0
- data/lib/anthropic/models.rb +261 -0
- data/lib/anthropic/request_options.rb +77 -0
- data/lib/anthropic/resources/beta/messages/batches.rb +218 -0
- data/lib/anthropic/resources/beta/messages.rb +200 -0
- data/lib/anthropic/resources/beta/models.rb +80 -0
- data/lib/anthropic/resources/beta.rb +22 -0
- data/lib/anthropic/resources/completions.rb +132 -0
- data/lib/anthropic/resources/messages/batches.rb +193 -0
- data/lib/anthropic/resources/messages.rb +184 -0
- data/lib/anthropic/resources/models.rb +78 -0
- data/lib/anthropic/version.rb +3 -1
- data/lib/anthropic/vertex.rb +5 -0
- data/lib/anthropic.rb +286 -47
- data/manifest.yaml +15 -0
- data/rbi/anthropic/bedrock.rbi +5 -0
- data/rbi/anthropic/client.rbi +74 -0
- data/rbi/anthropic/errors.rbi +162 -0
- data/rbi/anthropic/file_part.rbi +37 -0
- data/rbi/anthropic/helpers/bedrock/client.rbi +82 -0
- data/rbi/anthropic/helpers/vertex/client.rbi +58 -0
- data/rbi/anthropic/internal/jsonl_stream.rbi +17 -0
- data/rbi/anthropic/internal/page.rbi +28 -0
- data/rbi/anthropic/internal/stream.rbi +20 -0
- data/rbi/anthropic/internal/transport/base_client.rbi +310 -0
- data/rbi/anthropic/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/anthropic/internal/type/array_of.rbi +104 -0
- data/rbi/anthropic/internal/type/base_model.rbi +304 -0
- data/rbi/anthropic/internal/type/base_page.rbi +42 -0
- data/rbi/anthropic/internal/type/base_stream.rbi +68 -0
- data/rbi/anthropic/internal/type/boolean.rbi +56 -0
- data/rbi/anthropic/internal/type/converter.rbi +162 -0
- data/rbi/anthropic/internal/type/enum.rbi +82 -0
- data/rbi/anthropic/internal/type/file_input.rbi +59 -0
- data/rbi/anthropic/internal/type/hash_of.rbi +104 -0
- data/rbi/anthropic/internal/type/request_parameters.rbi +29 -0
- data/rbi/anthropic/internal/type/union.rbi +116 -0
- data/rbi/anthropic/internal/type/unknown.rbi +56 -0
- data/rbi/anthropic/internal/util.rbi +485 -0
- data/rbi/anthropic/internal.rbi +18 -0
- data/rbi/anthropic/models/anthropic_beta.rbi +54 -0
- data/rbi/anthropic/models/api_error_object.rbi +26 -0
- data/rbi/anthropic/models/authentication_error.rbi +26 -0
- data/rbi/anthropic/models/base64_image_source.rbi +82 -0
- data/rbi/anthropic/models/base64_pdf_source.rbi +35 -0
- data/rbi/anthropic/models/beta/beta_base64_image_source.rbi +95 -0
- data/rbi/anthropic/models/beta/beta_base64_pdf_block.rbi +134 -0
- data/rbi/anthropic/models/beta/beta_base64_pdf_source.rbi +42 -0
- data/rbi/anthropic/models/beta/beta_cache_control_ephemeral.rbi +30 -0
- data/rbi/anthropic/models/beta/beta_citation_char_location.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_citation_char_location_param.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_citation_content_block_location.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_citation_content_block_location_param.rbi +73 -0
- data/rbi/anthropic/models/beta/beta_citation_page_location.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_citation_page_location_param.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_citation_web_search_result_location_param.rbi +67 -0
- data/rbi/anthropic/models/beta/beta_citations_config_param.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_citations_delta.rbi +73 -0
- data/rbi/anthropic/models/beta/beta_citations_web_search_result_location.rbi +67 -0
- data/rbi/anthropic/models/beta/beta_content_block.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_content_block_param.rbi +36 -0
- data/rbi/anthropic/models/beta/beta_content_block_source.rbi +80 -0
- data/rbi/anthropic/models/beta/beta_content_block_source_content.rbi +29 -0
- data/rbi/anthropic/models/beta/beta_image_block_param.rbi +101 -0
- data/rbi/anthropic/models/beta/beta_input_json_delta.rbi +35 -0
- data/rbi/anthropic/models/beta/beta_message.rbi +245 -0
- data/rbi/anthropic/models/beta/beta_message_delta_usage.rbi +85 -0
- data/rbi/anthropic/models/beta/beta_message_param.rbi +99 -0
- data/rbi/anthropic/models/beta/beta_message_tokens_count.rbi +36 -0
- data/rbi/anthropic/models/beta/beta_metadata.rbi +39 -0
- data/rbi/anthropic/models/beta/beta_model_info.rbi +66 -0
- data/rbi/anthropic/models/beta/beta_plain_text_source.rbi +42 -0
- data/rbi/anthropic/models/beta/beta_raw_content_block_delta.rbi +32 -0
- data/rbi/anthropic/models/beta/beta_raw_content_block_delta_event.rbi +57 -0
- data/rbi/anthropic/models/beta/beta_raw_content_block_start_event.rbi +89 -0
- data/rbi/anthropic/models/beta/beta_raw_content_block_stop_event.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_raw_message_delta_event.rbi +135 -0
- data/rbi/anthropic/models/beta/beta_raw_message_start_event.rbi +45 -0
- data/rbi/anthropic/models/beta/beta_raw_message_stop_event.rbi +30 -0
- data/rbi/anthropic/models/beta/beta_raw_message_stream_event.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_redacted_thinking_block.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_redacted_thinking_block_param.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_server_tool_usage.rbi +34 -0
- data/rbi/anthropic/models/beta/beta_server_tool_use_block.rbi +50 -0
- data/rbi/anthropic/models/beta/beta_server_tool_use_block_param.rbi +78 -0
- data/rbi/anthropic/models/beta/beta_signature_delta.rbi +35 -0
- data/rbi/anthropic/models/beta/beta_stop_reason.rbi +37 -0
- data/rbi/anthropic/models/beta/beta_text_block.rbi +78 -0
- data/rbi/anthropic/models/beta/beta_text_block_param.rbi +105 -0
- data/rbi/anthropic/models/beta/beta_text_citation.rbi +31 -0
- data/rbi/anthropic/models/beta/beta_text_citation_param.rbi +31 -0
- data/rbi/anthropic/models/beta/beta_text_delta.rbi +30 -0
- data/rbi/anthropic/models/beta/beta_thinking_block.rbi +44 -0
- data/rbi/anthropic/models/beta/beta_thinking_block_param.rbi +44 -0
- data/rbi/anthropic/models/beta/beta_thinking_config_disabled.rbi +30 -0
- data/rbi/anthropic/models/beta/beta_thinking_config_enabled.rbi +56 -0
- data/rbi/anthropic/models/beta/beta_thinking_config_param.rbi +38 -0
- data/rbi/anthropic/models/beta/beta_thinking_delta.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_tool.rbi +165 -0
- data/rbi/anthropic/models/beta/beta_tool_bash_20241022.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_tool_bash_20250124.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_tool_choice.rbi +31 -0
- data/rbi/anthropic/models/beta/beta_tool_choice_any.rbi +56 -0
- data/rbi/anthropic/models/beta/beta_tool_choice_auto.rbi +56 -0
- data/rbi/anthropic/models/beta/beta_tool_choice_none.rbi +31 -0
- data/rbi/anthropic/models/beta/beta_tool_choice_tool.rbi +68 -0
- data/rbi/anthropic/models/beta/beta_tool_computer_use_20241022.rbi +96 -0
- data/rbi/anthropic/models/beta/beta_tool_computer_use_20250124.rbi +96 -0
- data/rbi/anthropic/models/beta/beta_tool_result_block_param.rbi +152 -0
- data/rbi/anthropic/models/beta/beta_tool_text_editor_20241022.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_tool_text_editor_20250124.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_tool_union.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_tool_use_block.rbi +50 -0
- data/rbi/anthropic/models/beta/beta_tool_use_block_param.rbi +78 -0
- data/rbi/anthropic/models/beta/beta_url_image_source.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_url_pdf_source.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_usage.rbi +82 -0
- data/rbi/anthropic/models/beta/beta_web_search_result_block.rbi +66 -0
- data/rbi/anthropic/models/beta/beta_web_search_result_block_param.rbi +66 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_20250305.rbi +201 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_request_error.rbi +100 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_result_block.rbi +59 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_result_block_content.rbi +40 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_result_block_param.rbi +89 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_result_block_param_content.rbi +40 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_result_error.rbi +100 -0
- data/rbi/anthropic/models/beta/message_count_tokens_params.rbi +649 -0
- data/rbi/anthropic/models/beta/message_create_params.rbi +748 -0
- data/rbi/anthropic/models/beta/messages/batch_cancel_params.rbi +65 -0
- data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +897 -0
- data/rbi/anthropic/models/beta/messages/batch_delete_params.rbi +65 -0
- data/rbi/anthropic/models/beta/messages/batch_list_params.rbi +106 -0
- data/rbi/anthropic/models/beta/messages/batch_results_params.rbi +65 -0
- data/rbi/anthropic/models/beta/messages/batch_retrieve_params.rbi +65 -0
- data/rbi/anthropic/models/beta/messages/beta_deleted_message_batch.rbi +44 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch.rbi +214 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_canceled_result.rbi +30 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_errored_result.rbi +45 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_expired_result.rbi +30 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_individual_response.rbi +77 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_request_counts.rbi +92 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_result.rbi +38 -0
- data/rbi/anthropic/models/beta/messages/beta_message_batch_succeeded_result.rbi +45 -0
- data/rbi/anthropic/models/beta/model_list_params.rbi +103 -0
- data/rbi/anthropic/models/beta/model_retrieve_params.rbi +62 -0
- data/rbi/anthropic/models/beta_api_error.rbi +26 -0
- data/rbi/anthropic/models/beta_authentication_error.rbi +29 -0
- data/rbi/anthropic/models/beta_billing_error.rbi +26 -0
- data/rbi/anthropic/models/beta_error.rbi +28 -0
- data/rbi/anthropic/models/beta_error_response.rbi +46 -0
- data/rbi/anthropic/models/beta_gateway_timeout_error.rbi +29 -0
- data/rbi/anthropic/models/beta_invalid_request_error.rbi +29 -0
- data/rbi/anthropic/models/beta_not_found_error.rbi +26 -0
- data/rbi/anthropic/models/beta_overloaded_error.rbi +26 -0
- data/rbi/anthropic/models/beta_permission_error.rbi +26 -0
- data/rbi/anthropic/models/beta_rate_limit_error.rbi +26 -0
- data/rbi/anthropic/models/billing_error.rbi +26 -0
- data/rbi/anthropic/models/cache_control_ephemeral.rbi +23 -0
- data/rbi/anthropic/models/citation_char_location.rbi +65 -0
- data/rbi/anthropic/models/citation_char_location_param.rbi +68 -0
- data/rbi/anthropic/models/citation_content_block_location.rbi +68 -0
- data/rbi/anthropic/models/citation_content_block_location_param.rbi +68 -0
- data/rbi/anthropic/models/citation_page_location.rbi +65 -0
- data/rbi/anthropic/models/citation_page_location_param.rbi +68 -0
- data/rbi/anthropic/models/citation_web_search_result_location_param.rbi +62 -0
- data/rbi/anthropic/models/citations_config_param.rbi +26 -0
- data/rbi/anthropic/models/citations_delta.rbi +66 -0
- data/rbi/anthropic/models/citations_web_search_result_location.rbi +62 -0
- data/rbi/anthropic/models/completion.rbi +93 -0
- data/rbi/anthropic/models/completion_create_params.rbi +217 -0
- data/rbi/anthropic/models/content_block.rbi +25 -0
- data/rbi/anthropic/models/content_block_param.rbi +28 -0
- data/rbi/anthropic/models/content_block_source.rbi +66 -0
- data/rbi/anthropic/models/content_block_source_content.rbi +22 -0
- data/rbi/anthropic/models/document_block_param.rbi +120 -0
- data/rbi/anthropic/models/error_object.rbi +28 -0
- data/rbi/anthropic/models/error_response.rbi +46 -0
- data/rbi/anthropic/models/gateway_timeout_error.rbi +26 -0
- data/rbi/anthropic/models/image_block_param.rbi +80 -0
- data/rbi/anthropic/models/input_json_delta.rbi +28 -0
- data/rbi/anthropic/models/invalid_request_error.rbi +26 -0
- data/rbi/anthropic/models/message.rbi +236 -0
- data/rbi/anthropic/models/message_count_tokens_params.rbi +571 -0
- data/rbi/anthropic/models/message_count_tokens_tool.rbi +25 -0
- data/rbi/anthropic/models/message_create_params.rbi +697 -0
- data/rbi/anthropic/models/message_delta_usage.rbi +76 -0
- data/rbi/anthropic/models/message_param.rbi +81 -0
- data/rbi/anthropic/models/message_tokens_count.rbi +29 -0
- data/rbi/anthropic/models/messages/batch_cancel_params.rbi +32 -0
- data/rbi/anthropic/models/messages/batch_create_params.rbi +843 -0
- data/rbi/anthropic/models/messages/batch_delete_params.rbi +32 -0
- data/rbi/anthropic/models/messages/batch_list_params.rbi +81 -0
- data/rbi/anthropic/models/messages/batch_results_params.rbi +32 -0
- data/rbi/anthropic/models/messages/batch_retrieve_params.rbi +32 -0
- data/rbi/anthropic/models/messages/deleted_message_batch.rbi +42 -0
- data/rbi/anthropic/models/messages/message_batch.rbi +208 -0
- data/rbi/anthropic/models/messages/message_batch_canceled_result.rbi +30 -0
- data/rbi/anthropic/models/messages/message_batch_errored_result.rbi +42 -0
- data/rbi/anthropic/models/messages/message_batch_expired_result.rbi +30 -0
- data/rbi/anthropic/models/messages/message_batch_individual_response.rbi +74 -0
- data/rbi/anthropic/models/messages/message_batch_request_counts.rbi +92 -0
- data/rbi/anthropic/models/messages/message_batch_result.rbi +36 -0
- data/rbi/anthropic/models/messages/message_batch_succeeded_result.rbi +40 -0
- data/rbi/anthropic/models/metadata.rbi +35 -0
- data/rbi/anthropic/models/model.rbi +68 -0
- data/rbi/anthropic/models/model_info.rbi +62 -0
- data/rbi/anthropic/models/model_list_params.rbi +95 -0
- data/rbi/anthropic/models/model_retrieve_params.rbi +54 -0
- data/rbi/anthropic/models/not_found_error.rbi +26 -0
- data/rbi/anthropic/models/overloaded_error.rbi +26 -0
- data/rbi/anthropic/models/permission_error.rbi +26 -0
- data/rbi/anthropic/models/plain_text_source.rbi +35 -0
- data/rbi/anthropic/models/rate_limit_error.rbi +26 -0
- data/rbi/anthropic/models/raw_content_block_delta.rbi +26 -0
- data/rbi/anthropic/models/raw_content_block_delta_event.rbi +53 -0
- data/rbi/anthropic/models/raw_content_block_start_event.rbi +83 -0
- data/rbi/anthropic/models/raw_content_block_stop_event.rbi +29 -0
- data/rbi/anthropic/models/raw_message_delta_event.rbi +119 -0
- data/rbi/anthropic/models/raw_message_start_event.rbi +33 -0
- data/rbi/anthropic/models/raw_message_stop_event.rbi +23 -0
- data/rbi/anthropic/models/raw_message_stream_event.rbi +27 -0
- data/rbi/anthropic/models/redacted_thinking_block.rbi +26 -0
- data/rbi/anthropic/models/redacted_thinking_block_param.rbi +29 -0
- data/rbi/anthropic/models/server_tool_usage.rbi +27 -0
- data/rbi/anthropic/models/server_tool_use_block.rbi +43 -0
- data/rbi/anthropic/models/server_tool_use_block_param.rbi +71 -0
- data/rbi/anthropic/models/signature_delta.rbi +26 -0
- data/rbi/anthropic/models/stop_reason.rbi +23 -0
- data/rbi/anthropic/models/text_block.rbi +67 -0
- data/rbi/anthropic/models/text_block_param.rbi +95 -0
- data/rbi/anthropic/models/text_citation.rbi +23 -0
- data/rbi/anthropic/models/text_citation_param.rbi +23 -0
- data/rbi/anthropic/models/text_delta.rbi +26 -0
- data/rbi/anthropic/models/thinking_block.rbi +35 -0
- data/rbi/anthropic/models/thinking_block_param.rbi +35 -0
- data/rbi/anthropic/models/thinking_config_disabled.rbi +23 -0
- data/rbi/anthropic/models/thinking_config_enabled.rbi +49 -0
- data/rbi/anthropic/models/thinking_config_param.rbi +32 -0
- data/rbi/anthropic/models/thinking_delta.rbi +26 -0
- data/rbi/anthropic/models/tool.rbi +142 -0
- data/rbi/anthropic/models/tool_bash_20250124.rbi +62 -0
- data/rbi/anthropic/models/tool_choice.rbi +25 -0
- data/rbi/anthropic/models/tool_choice_any.rbi +49 -0
- data/rbi/anthropic/models/tool_choice_auto.rbi +49 -0
- data/rbi/anthropic/models/tool_choice_none.rbi +24 -0
- data/rbi/anthropic/models/tool_choice_tool.rbi +57 -0
- data/rbi/anthropic/models/tool_result_block_param.rbi +127 -0
- data/rbi/anthropic/models/tool_text_editor_20250124.rbi +62 -0
- data/rbi/anthropic/models/tool_union.rbi +23 -0
- data/rbi/anthropic/models/tool_use_block.rbi +43 -0
- data/rbi/anthropic/models/tool_use_block_param.rbi +68 -0
- data/rbi/anthropic/models/url_image_source.rbi +26 -0
- data/rbi/anthropic/models/url_pdf_source.rbi +26 -0
- data/rbi/anthropic/models/usage.rbi +74 -0
- data/rbi/anthropic/models/web_search_result_block.rbi +59 -0
- data/rbi/anthropic/models/web_search_result_block_param.rbi +62 -0
- data/rbi/anthropic/models/web_search_tool_20250305.rbi +181 -0
- data/rbi/anthropic/models/web_search_tool_request_error.rbi +88 -0
- data/rbi/anthropic/models/web_search_tool_result_block.rbi +50 -0
- data/rbi/anthropic/models/web_search_tool_result_block_content.rbi +31 -0
- data/rbi/anthropic/models/web_search_tool_result_block_param.rbi +80 -0
- data/rbi/anthropic/models/web_search_tool_result_block_param_content.rbi +33 -0
- data/rbi/anthropic/models/web_search_tool_result_error.rbi +90 -0
- data/rbi/anthropic/models.rbi +229 -0
- data/rbi/anthropic/request_options.rbi +59 -0
- data/rbi/anthropic/resources/beta/messages/batches.rbi +186 -0
- data/rbi/anthropic/resources/beta/messages.rbi +830 -0
- data/rbi/anthropic/resources/beta/models.rbi +64 -0
- data/rbi/anthropic/resources/beta.rbi +18 -0
- data/rbi/anthropic/resources/completions.rbi +199 -0
- data/rbi/anthropic/resources/messages/batches.rbi +156 -0
- data/rbi/anthropic/resources/messages.rbi +806 -0
- data/rbi/anthropic/resources/models.rbi +62 -0
- data/rbi/anthropic/version.rbi +5 -0
- data/rbi/anthropic/vertex.rbi +5 -0
- data/sig/anthropic/bedrock.rbs +3 -0
- data/sig/anthropic/client.rbs +39 -0
- data/sig/anthropic/errors.rbs +101 -0
- data/sig/anthropic/file_part.rbs +21 -0
- data/sig/anthropic/helpers/bedrock/client.rbs +43 -0
- data/sig/anthropic/helpers/vertex/client.rbs +36 -0
- data/sig/anthropic/internal/jsonl_stream.rbs +9 -0
- data/sig/anthropic/internal/page.rbs +17 -0
- data/sig/anthropic/internal/stream.rbs +9 -0
- data/sig/anthropic/internal/transport/base_client.rbs +131 -0
- data/sig/anthropic/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/anthropic/internal/type/array_of.rbs +48 -0
- data/sig/anthropic/internal/type/base_model.rbs +102 -0
- data/sig/anthropic/internal/type/base_page.rbs +24 -0
- data/sig/anthropic/internal/type/base_stream.rbs +33 -0
- data/sig/anthropic/internal/type/boolean.rbs +26 -0
- data/sig/anthropic/internal/type/converter.rbs +56 -0
- data/sig/anthropic/internal/type/enum.rbs +32 -0
- data/sig/anthropic/internal/type/file_input.rbs +25 -0
- data/sig/anthropic/internal/type/hash_of.rbs +48 -0
- data/sig/anthropic/internal/type/request_parameters.rbs +19 -0
- data/sig/anthropic/internal/type/union.rbs +52 -0
- data/sig/anthropic/internal/type/unknown.rbs +26 -0
- data/sig/anthropic/internal/util.rbs +185 -0
- data/sig/anthropic/internal.rbs +9 -0
- data/sig/anthropic/models/anthropic_beta.rbs +29 -0
- data/sig/anthropic/models/api_error_object.rbs +13 -0
- data/sig/anthropic/models/authentication_error.rbs +13 -0
- data/sig/anthropic/models/base64_image_source.rbs +38 -0
- data/sig/anthropic/models/base64_pdf_source.rbs +20 -0
- data/sig/anthropic/models/beta/beta_base64_image_source.rbs +42 -0
- data/sig/anthropic/models/beta/beta_base64_pdf_block.rbs +56 -0
- data/sig/anthropic/models/beta/beta_base64_pdf_source.rbs +24 -0
- data/sig/anthropic/models/beta/beta_cache_control_ephemeral.rbs +15 -0
- data/sig/anthropic/models/beta/beta_citation_char_location.rbs +40 -0
- data/sig/anthropic/models/beta/beta_citation_char_location_param.rbs +40 -0
- data/sig/anthropic/models/beta/beta_citation_content_block_location.rbs +40 -0
- data/sig/anthropic/models/beta/beta_citation_content_block_location_param.rbs +40 -0
- data/sig/anthropic/models/beta/beta_citation_page_location.rbs +40 -0
- data/sig/anthropic/models/beta/beta_citation_page_location_param.rbs +40 -0
- data/sig/anthropic/models/beta/beta_citation_web_search_result_location_param.rbs +36 -0
- data/sig/anthropic/models/beta/beta_citations_config_param.rbs +17 -0
- data/sig/anthropic/models/beta/beta_citations_delta.rbs +36 -0
- data/sig/anthropic/models/beta/beta_citations_web_search_result_location.rbs +36 -0
- data/sig/anthropic/models/beta/beta_content_block.rbs +21 -0
- data/sig/anthropic/models/beta/beta_content_block_param.rbs +24 -0
- data/sig/anthropic/models/beta/beta_content_block_source.rbs +36 -0
- data/sig/anthropic/models/beta/beta_content_block_source_content.rbs +17 -0
- data/sig/anthropic/models/beta/beta_image_block_param.rbs +38 -0
- data/sig/anthropic/models/beta/beta_input_json_delta.rbs +18 -0
- data/sig/anthropic/models/beta/beta_message.rbs +48 -0
- data/sig/anthropic/models/beta/beta_message_delta_usage.rbs +36 -0
- data/sig/anthropic/models/beta/beta_message_param.rbs +46 -0
- data/sig/anthropic/models/beta/beta_message_tokens_count.rbs +15 -0
- data/sig/anthropic/models/beta/beta_metadata.rbs +15 -0
- data/sig/anthropic/models/beta/beta_model_info.rbs +27 -0
- data/sig/anthropic/models/beta/beta_plain_text_source.rbs +24 -0
- data/sig/anthropic/models/beta/beta_raw_content_block_delta.rbs +20 -0
- data/sig/anthropic/models/beta/beta_raw_content_block_delta_event.rbs +28 -0
- data/sig/anthropic/models/beta/beta_raw_content_block_start_event.rbs +42 -0
- data/sig/anthropic/models/beta/beta_raw_content_block_stop_event.rbs +18 -0
- data/sig/anthropic/models/beta/beta_raw_message_delta_event.rbs +45 -0
- data/sig/anthropic/models/beta/beta_raw_message_start_event.rbs +21 -0
- data/sig/anthropic/models/beta/beta_raw_message_stop_event.rbs +15 -0
- data/sig/anthropic/models/beta/beta_raw_message_stream_event.rbs +21 -0
- data/sig/anthropic/models/beta/beta_redacted_thinking_block.rbs +18 -0
- data/sig/anthropic/models/beta/beta_redacted_thinking_block_param.rbs +18 -0
- data/sig/anthropic/models/beta/beta_server_tool_usage.rbs +15 -0
- data/sig/anthropic/models/beta/beta_server_tool_use_block.rbs +27 -0
- data/sig/anthropic/models/beta/beta_server_tool_use_block_param.rbs +36 -0
- data/sig/anthropic/models/beta/beta_signature_delta.rbs +17 -0
- data/sig/anthropic/models/beta/beta_stop_reason.rbs +28 -0
- data/sig/anthropic/models/beta/beta_text_block.rbs +28 -0
- data/sig/anthropic/models/beta/beta_text_block_param.rbs +32 -0
- data/sig/anthropic/models/beta/beta_text_citation.rbs +19 -0
- data/sig/anthropic/models/beta/beta_text_citation_param.rbs +19 -0
- data/sig/anthropic/models/beta/beta_text_delta.rbs +17 -0
- data/sig/anthropic/models/beta/beta_thinking_block.rbs +24 -0
- data/sig/anthropic/models/beta/beta_thinking_block_param.rbs +24 -0
- data/sig/anthropic/models/beta/beta_thinking_config_disabled.rbs +15 -0
- data/sig/anthropic/models/beta/beta_thinking_config_enabled.rbs +18 -0
- data/sig/anthropic/models/beta/beta_thinking_config_param.rbs +17 -0
- data/sig/anthropic/models/beta/beta_thinking_delta.rbs +17 -0
- data/sig/anthropic/models/beta/beta_tool.rbs +58 -0
- data/sig/anthropic/models/beta/beta_tool_bash_20241022.rbs +28 -0
- data/sig/anthropic/models/beta/beta_tool_bash_20250124.rbs +28 -0
- data/sig/anthropic/models/beta/beta_tool_choice.rbs +19 -0
- data/sig/anthropic/models/beta/beta_tool_choice_any.rbs +20 -0
- data/sig/anthropic/models/beta/beta_tool_choice_auto.rbs +20 -0
- data/sig/anthropic/models/beta/beta_tool_choice_none.rbs +15 -0
- data/sig/anthropic/models/beta/beta_tool_choice_tool.rbs +26 -0
- data/sig/anthropic/models/beta/beta_tool_computer_use_20241022.rbs +40 -0
- data/sig/anthropic/models/beta/beta_tool_computer_use_20250124.rbs +40 -0
- data/sig/anthropic/models/beta/beta_tool_result_block_param.rbs +64 -0
- data/sig/anthropic/models/beta/beta_tool_text_editor_20241022.rbs +28 -0
- data/sig/anthropic/models/beta/beta_tool_text_editor_20250124.rbs +28 -0
- data/sig/anthropic/models/beta/beta_tool_union.rbs +23 -0
- data/sig/anthropic/models/beta/beta_tool_use_block.rbs +27 -0
- data/sig/anthropic/models/beta/beta_tool_use_block_param.rbs +36 -0
- data/sig/anthropic/models/beta/beta_url_image_source.rbs +17 -0
- data/sig/anthropic/models/beta/beta_url_pdf_source.rbs +17 -0
- data/sig/anthropic/models/beta/beta_usage.rbs +36 -0
- data/sig/anthropic/models/beta/beta_web_search_result_block.rbs +36 -0
- data/sig/anthropic/models/beta/beta_web_search_result_block_param.rbs +36 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_20250305.rbs +73 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_request_error.rbs +43 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_block.rbs +28 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_block_content.rbs +19 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_block_param.rbs +32 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_block_param_content.rbs +19 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_error.rbs +43 -0
- data/sig/anthropic/models/beta/message_count_tokens_params.rbs +93 -0
- data/sig/anthropic/models/beta/message_create_params.rbs +113 -0
- data/sig/anthropic/models/beta/messages/batch_cancel_params.rbs +27 -0
- data/sig/anthropic/models/beta/messages/batch_create_params.rbs +152 -0
- data/sig/anthropic/models/beta/messages/batch_delete_params.rbs +27 -0
- data/sig/anthropic/models/beta/messages/batch_list_params.rbs +47 -0
- data/sig/anthropic/models/beta/messages/batch_results_params.rbs +27 -0
- data/sig/anthropic/models/beta/messages/batch_retrieve_params.rbs +27 -0
- data/sig/anthropic/models/beta/messages/beta_deleted_message_batch.rbs +18 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch.rbs +68 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_canceled_result.rbs +15 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_errored_result.rbs +21 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_expired_result.rbs +15 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_individual_response.rbs +24 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_request_counts.rbs +36 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_result.rbs +19 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_succeeded_result.rbs +21 -0
- data/sig/anthropic/models/beta/model_list_params.rbs +45 -0
- data/sig/anthropic/models/beta/model_retrieve_params.rbs +25 -0
- data/sig/anthropic/models/beta_api_error.rbs +13 -0
- data/sig/anthropic/models/beta_authentication_error.rbs +14 -0
- data/sig/anthropic/models/beta_billing_error.rbs +13 -0
- data/sig/anthropic/models/beta_error.rbs +20 -0
- data/sig/anthropic/models/beta_error_response.rbs +17 -0
- data/sig/anthropic/models/beta_gateway_timeout_error.rbs +13 -0
- data/sig/anthropic/models/beta_invalid_request_error.rbs +14 -0
- data/sig/anthropic/models/beta_not_found_error.rbs +13 -0
- data/sig/anthropic/models/beta_overloaded_error.rbs +13 -0
- data/sig/anthropic/models/beta_permission_error.rbs +13 -0
- data/sig/anthropic/models/beta_rate_limit_error.rbs +13 -0
- data/sig/anthropic/models/billing_error.rbs +13 -0
- data/sig/anthropic/models/cache_control_ephemeral.rbs +11 -0
- data/sig/anthropic/models/citation_char_location.rbs +36 -0
- data/sig/anthropic/models/citation_char_location_param.rbs +36 -0
- data/sig/anthropic/models/citation_content_block_location.rbs +36 -0
- data/sig/anthropic/models/citation_content_block_location_param.rbs +36 -0
- data/sig/anthropic/models/citation_page_location.rbs +36 -0
- data/sig/anthropic/models/citation_page_location_param.rbs +36 -0
- data/sig/anthropic/models/citation_web_search_result_location_param.rbs +32 -0
- data/sig/anthropic/models/citations_config_param.rbs +13 -0
- data/sig/anthropic/models/citations_delta.rbs +29 -0
- data/sig/anthropic/models/citations_web_search_result_location.rbs +32 -0
- data/sig/anthropic/models/completion.rbs +32 -0
- data/sig/anthropic/models/completion_create_params.rbs +67 -0
- data/sig/anthropic/models/content_block.rbs +17 -0
- data/sig/anthropic/models/content_block_param.rbs +20 -0
- data/sig/anthropic/models/content_block_source.rbs +28 -0
- data/sig/anthropic/models/content_block_source_content.rbs +12 -0
- data/sig/anthropic/models/document_block_param.rbs +52 -0
- data/sig/anthropic/models/error_object.rbs +20 -0
- data/sig/anthropic/models/error_response.rbs +17 -0
- data/sig/anthropic/models/gateway_timeout_error.rbs +13 -0
- data/sig/anthropic/models/image_block_param.rbs +32 -0
- data/sig/anthropic/models/input_json_delta.rbs +13 -0
- data/sig/anthropic/models/invalid_request_error.rbs +14 -0
- data/sig/anthropic/models/message.rbs +44 -0
- data/sig/anthropic/models/message_count_tokens_params.rbs +67 -0
- data/sig/anthropic/models/message_count_tokens_tool.rbs +15 -0
- data/sig/anthropic/models/message_create_params.rbs +101 -0
- data/sig/anthropic/models/message_delta_usage.rbs +32 -0
- data/sig/anthropic/models/message_param.rbs +41 -0
- data/sig/anthropic/models/message_tokens_count.rbs +11 -0
- data/sig/anthropic/models/messages/batch_cancel_params.rbs +15 -0
- data/sig/anthropic/models/messages/batch_create_params.rbs +137 -0
- data/sig/anthropic/models/messages/batch_delete_params.rbs +15 -0
- data/sig/anthropic/models/messages/batch_list_params.rbs +33 -0
- data/sig/anthropic/models/messages/batch_results_params.rbs +15 -0
- data/sig/anthropic/models/messages/batch_retrieve_params.rbs +15 -0
- data/sig/anthropic/models/messages/deleted_message_batch.rbs +15 -0
- data/sig/anthropic/models/messages/message_batch.rbs +68 -0
- data/sig/anthropic/models/messages/message_batch_canceled_result.rbs +15 -0
- data/sig/anthropic/models/messages/message_batch_errored_result.rbs +21 -0
- data/sig/anthropic/models/messages/message_batch_expired_result.rbs +15 -0
- data/sig/anthropic/models/messages/message_batch_individual_response.rbs +24 -0
- data/sig/anthropic/models/messages/message_batch_request_counts.rbs +36 -0
- data/sig/anthropic/models/messages/message_batch_result.rbs +19 -0
- data/sig/anthropic/models/messages/message_batch_succeeded_result.rbs +18 -0
- data/sig/anthropic/models/metadata.rbs +11 -0
- data/sig/anthropic/models/model.rbs +61 -0
- data/sig/anthropic/models/model_info.rbs +23 -0
- data/sig/anthropic/models/model_list_params.rbs +43 -0
- data/sig/anthropic/models/model_retrieve_params.rbs +23 -0
- data/sig/anthropic/models/not_found_error.rbs +13 -0
- data/sig/anthropic/models/overloaded_error.rbs +13 -0
- data/sig/anthropic/models/permission_error.rbs +13 -0
- data/sig/anthropic/models/plain_text_source.rbs +20 -0
- data/sig/anthropic/models/rate_limit_error.rbs +13 -0
- data/sig/anthropic/models/raw_content_block_delta.rbs +16 -0
- data/sig/anthropic/models/raw_content_block_delta_event.rbs +24 -0
- data/sig/anthropic/models/raw_content_block_start_event.rbs +38 -0
- data/sig/anthropic/models/raw_content_block_stop_event.rbs +14 -0
- data/sig/anthropic/models/raw_message_delta_event.rbs +38 -0
- data/sig/anthropic/models/raw_message_start_event.rbs +17 -0
- data/sig/anthropic/models/raw_message_stop_event.rbs +11 -0
- data/sig/anthropic/models/raw_message_stream_event.rbs +17 -0
- data/sig/anthropic/models/redacted_thinking_block.rbs +13 -0
- data/sig/anthropic/models/redacted_thinking_block_param.rbs +14 -0
- data/sig/anthropic/models/server_tool_usage.rbs +11 -0
- data/sig/anthropic/models/server_tool_use_block.rbs +23 -0
- data/sig/anthropic/models/server_tool_use_block_param.rbs +32 -0
- data/sig/anthropic/models/signature_delta.rbs +13 -0
- data/sig/anthropic/models/stop_reason.rbs +24 -0
- data/sig/anthropic/models/text_block.rbs +24 -0
- data/sig/anthropic/models/text_block_param.rbs +28 -0
- data/sig/anthropic/models/text_citation.rbs +15 -0
- data/sig/anthropic/models/text_citation_param.rbs +15 -0
- data/sig/anthropic/models/text_delta.rbs +13 -0
- data/sig/anthropic/models/thinking_block.rbs +20 -0
- data/sig/anthropic/models/thinking_block_param.rbs +20 -0
- data/sig/anthropic/models/thinking_config_disabled.rbs +11 -0
- data/sig/anthropic/models/thinking_config_enabled.rbs +13 -0
- data/sig/anthropic/models/thinking_config_param.rbs +12 -0
- data/sig/anthropic/models/thinking_delta.rbs +13 -0
- data/sig/anthropic/models/tool.rbs +54 -0
- data/sig/anthropic/models/tool_bash_20250124.rbs +24 -0
- data/sig/anthropic/models/tool_choice.rbs +15 -0
- data/sig/anthropic/models/tool_choice_any.rbs +15 -0
- data/sig/anthropic/models/tool_choice_auto.rbs +15 -0
- data/sig/anthropic/models/tool_choice_none.rbs +11 -0
- data/sig/anthropic/models/tool_choice_tool.rbs +22 -0
- data/sig/anthropic/models/tool_result_block_param.rbs +57 -0
- data/sig/anthropic/models/tool_text_editor_20250124.rbs +24 -0
- data/sig/anthropic/models/tool_union.rbs +15 -0
- data/sig/anthropic/models/tool_use_block.rbs +23 -0
- data/sig/anthropic/models/tool_use_block_param.rbs +32 -0
- data/sig/anthropic/models/url_image_source.rbs +13 -0
- data/sig/anthropic/models/url_pdf_source.rbs +13 -0
- data/sig/anthropic/models/usage.rbs +32 -0
- data/sig/anthropic/models/web_search_result_block.rbs +32 -0
- data/sig/anthropic/models/web_search_result_block_param.rbs +32 -0
- data/sig/anthropic/models/web_search_tool_20250305.rbs +69 -0
- data/sig/anthropic/models/web_search_tool_request_error.rbs +39 -0
- data/sig/anthropic/models/web_search_tool_result_block.rbs +24 -0
- data/sig/anthropic/models/web_search_tool_result_block_content.rbs +15 -0
- data/sig/anthropic/models/web_search_tool_result_block_param.rbs +28 -0
- data/sig/anthropic/models/web_search_tool_result_block_param_content.rbs +15 -0
- data/sig/anthropic/models/web_search_tool_result_error.rbs +39 -0
- data/sig/anthropic/models.rbs +221 -0
- data/sig/anthropic/request_options.rbs +34 -0
- data/sig/anthropic/resources/beta/messages/batches.rbs +49 -0
- data/sig/anthropic/resources/beta/messages.rbs +56 -0
- data/sig/anthropic/resources/beta/models.rbs +23 -0
- data/sig/anthropic/resources/beta.rbs +11 -0
- data/sig/anthropic/resources/completions.rbs +33 -0
- data/sig/anthropic/resources/messages/batches.rbs +41 -0
- data/sig/anthropic/resources/messages.rbs +51 -0
- data/sig/anthropic/resources/models.rbs +21 -0
- data/sig/anthropic/version.rbs +3 -0
- data/sig/anthropic/vertex.rbs +3 -0
- metadata +801 -56
- data/.circleci/config.yml +0 -45
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- data/.github/dependabot.yml +0 -15
- data/.gitignore +0 -16
- data/.rspec +0 -3
- data/.rubocop.yml +0 -26
- data/CODE_OF_CONDUCT.md +0 -74
- data/CONTRIBUTING.md +0 -3
- data/Gemfile +0 -12
- data/Gemfile.lock +0 -84
- data/LICENSE.txt +0 -21
- data/Rakefile +0 -6
- data/anthropic.gemspec +0 -30
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/lib/anthropic/compatibility.rb +0 -9
- data/lib/anthropic/http.rb +0 -93
- data/lib/ruby/anthropic.rb +0 -2
- data/pull_request_template.md +0 -5
@@ -0,0 +1,192 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Anthropic
|
4
|
+
module Errors
|
5
|
+
class Error < StandardError
|
6
|
+
# @!attribute cause
|
7
|
+
#
|
8
|
+
# @return [StandardError, nil]
|
9
|
+
end
|
10
|
+
|
11
|
+
class ConversionError < Anthropic::Errors::Error
|
12
|
+
end
|
13
|
+
|
14
|
+
class APIError < Anthropic::Errors::Error
|
15
|
+
# @return [URI::Generic]
|
16
|
+
attr_accessor :url
|
17
|
+
|
18
|
+
# @return [Integer, nil]
|
19
|
+
attr_accessor :status
|
20
|
+
|
21
|
+
# @return [Object, nil]
|
22
|
+
attr_accessor :body
|
23
|
+
|
24
|
+
# @api private
|
25
|
+
#
|
26
|
+
# @param url [URI::Generic]
|
27
|
+
# @param status [Integer, nil]
|
28
|
+
# @param body [Object, nil]
|
29
|
+
# @param request [nil]
|
30
|
+
# @param response [nil]
|
31
|
+
# @param message [String, nil]
|
32
|
+
def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: nil)
|
33
|
+
@url = url
|
34
|
+
@status = status
|
35
|
+
@body = body
|
36
|
+
@request = request
|
37
|
+
@response = response
|
38
|
+
super(message)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class APIConnectionError < Anthropic::Errors::APIError
|
43
|
+
# @!attribute status
|
44
|
+
#
|
45
|
+
# @return [nil]
|
46
|
+
|
47
|
+
# @!attribute body
|
48
|
+
#
|
49
|
+
# @return [nil]
|
50
|
+
|
51
|
+
# @api private
|
52
|
+
#
|
53
|
+
# @param url [URI::Generic]
|
54
|
+
# @param status [nil]
|
55
|
+
# @param body [nil]
|
56
|
+
# @param request [nil]
|
57
|
+
# @param response [nil]
|
58
|
+
# @param message [String, nil]
|
59
|
+
def initialize(
|
60
|
+
url:,
|
61
|
+
status: nil,
|
62
|
+
body: nil,
|
63
|
+
request: nil,
|
64
|
+
response: nil,
|
65
|
+
message: "Connection error."
|
66
|
+
)
|
67
|
+
super
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
class APITimeoutError < Anthropic::Errors::APIConnectionError
|
72
|
+
# @api private
|
73
|
+
#
|
74
|
+
# @param url [URI::Generic]
|
75
|
+
# @param status [nil]
|
76
|
+
# @param body [nil]
|
77
|
+
# @param request [nil]
|
78
|
+
# @param response [nil]
|
79
|
+
# @param message [String, nil]
|
80
|
+
def initialize(
|
81
|
+
url:,
|
82
|
+
status: nil,
|
83
|
+
body: nil,
|
84
|
+
request: nil,
|
85
|
+
response: nil,
|
86
|
+
message: "Request timed out."
|
87
|
+
)
|
88
|
+
super
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
class APIStatusError < Anthropic::Errors::APIError
|
93
|
+
# @api private
|
94
|
+
#
|
95
|
+
# @param url [URI::Generic]
|
96
|
+
# @param status [Integer]
|
97
|
+
# @param body [Object, nil]
|
98
|
+
# @param request [nil]
|
99
|
+
# @param response [nil]
|
100
|
+
# @param message [String, nil]
|
101
|
+
#
|
102
|
+
# @return [self]
|
103
|
+
def self.for(url:, status:, body:, request:, response:, message: nil)
|
104
|
+
kwargs = {
|
105
|
+
url: url,
|
106
|
+
status: status,
|
107
|
+
body: body,
|
108
|
+
request: request,
|
109
|
+
response: response,
|
110
|
+
message: message
|
111
|
+
}
|
112
|
+
|
113
|
+
case status
|
114
|
+
in 400
|
115
|
+
Anthropic::Errors::BadRequestError.new(**kwargs)
|
116
|
+
in 401
|
117
|
+
Anthropic::Errors::AuthenticationError.new(**kwargs)
|
118
|
+
in 403
|
119
|
+
Anthropic::Errors::PermissionDeniedError.new(**kwargs)
|
120
|
+
in 404
|
121
|
+
Anthropic::Errors::NotFoundError.new(**kwargs)
|
122
|
+
in 409
|
123
|
+
Anthropic::Errors::ConflictError.new(**kwargs)
|
124
|
+
in 422
|
125
|
+
Anthropic::Errors::UnprocessableEntityError.new(**kwargs)
|
126
|
+
in 429
|
127
|
+
Anthropic::Errors::RateLimitError.new(**kwargs)
|
128
|
+
in (500..)
|
129
|
+
Anthropic::Errors::InternalServerError.new(**kwargs)
|
130
|
+
else
|
131
|
+
Anthropic::Errors::APIStatusError.new(**kwargs)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
# @!parse
|
136
|
+
# # @return [Integer]
|
137
|
+
# attr_accessor :status
|
138
|
+
|
139
|
+
# @api private
|
140
|
+
#
|
141
|
+
# @param url [URI::Generic]
|
142
|
+
# @param status [Integer]
|
143
|
+
# @param body [Object, nil]
|
144
|
+
# @param request [nil]
|
145
|
+
# @param response [nil]
|
146
|
+
# @param message [String, nil]
|
147
|
+
def initialize(url:, status:, body:, request:, response:, message: nil)
|
148
|
+
message ||= {url: url.to_s, status: status, body: body}
|
149
|
+
super(
|
150
|
+
url: url,
|
151
|
+
status: status,
|
152
|
+
body: body,
|
153
|
+
request: request,
|
154
|
+
response: response,
|
155
|
+
message: message&.to_s
|
156
|
+
)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
class BadRequestError < Anthropic::Errors::APIStatusError
|
161
|
+
HTTP_STATUS = 400
|
162
|
+
end
|
163
|
+
|
164
|
+
class AuthenticationError < Anthropic::Errors::APIStatusError
|
165
|
+
HTTP_STATUS = 401
|
166
|
+
end
|
167
|
+
|
168
|
+
class PermissionDeniedError < Anthropic::Errors::APIStatusError
|
169
|
+
HTTP_STATUS = 403
|
170
|
+
end
|
171
|
+
|
172
|
+
class NotFoundError < Anthropic::Errors::APIStatusError
|
173
|
+
HTTP_STATUS = 404
|
174
|
+
end
|
175
|
+
|
176
|
+
class ConflictError < Anthropic::Errors::APIStatusError
|
177
|
+
HTTP_STATUS = 409
|
178
|
+
end
|
179
|
+
|
180
|
+
class UnprocessableEntityError < Anthropic::Errors::APIStatusError
|
181
|
+
HTTP_STATUS = 422
|
182
|
+
end
|
183
|
+
|
184
|
+
class RateLimitError < Anthropic::Errors::APIStatusError
|
185
|
+
HTTP_STATUS = 429
|
186
|
+
end
|
187
|
+
|
188
|
+
class InternalServerError < Anthropic::Errors::APIStatusError
|
189
|
+
HTTP_STATUS = (500..)
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Anthropic
|
4
|
+
class FilePart
|
5
|
+
# @return [Pathname, StringIO, IO, String]
|
6
|
+
attr_reader :content
|
7
|
+
|
8
|
+
# @return [String, nil]
|
9
|
+
attr_reader :content_type
|
10
|
+
|
11
|
+
# @return [String, nil]
|
12
|
+
attr_reader :filename
|
13
|
+
|
14
|
+
# @api private
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
private def read
|
18
|
+
case content
|
19
|
+
in Pathname
|
20
|
+
content.read(binmode: true)
|
21
|
+
in StringIO
|
22
|
+
content.string
|
23
|
+
in IO
|
24
|
+
content.read
|
25
|
+
in String
|
26
|
+
content
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# @param a [Object]
|
31
|
+
#
|
32
|
+
# @return [String]
|
33
|
+
def to_json(*a) = read.to_json(*a)
|
34
|
+
|
35
|
+
# @param a [Object]
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
def to_yaml(*a) = read.to_yaml(*a)
|
39
|
+
|
40
|
+
# @param content [Pathname, StringIO, IO, String]
|
41
|
+
# @param filename [String, nil]
|
42
|
+
# @param content_type [String, nil]
|
43
|
+
def initialize(content, filename: nil, content_type: nil)
|
44
|
+
@content = content
|
45
|
+
@filename =
|
46
|
+
case content
|
47
|
+
in Pathname
|
48
|
+
filename.nil? ? content.basename.to_path : ::File.basename(filename)
|
49
|
+
else
|
50
|
+
filename.nil? ? nil : ::File.basename(filename)
|
51
|
+
end
|
52
|
+
@content_type = content_type
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,259 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Anthropic
|
4
|
+
module Helpers
|
5
|
+
module Bedrock
|
6
|
+
class Client < Anthropic::Client
|
7
|
+
DEFAULT_VERSION = "bedrock-2023-05-31"
|
8
|
+
|
9
|
+
# @return [Anthropic::Resources::Messages]
|
10
|
+
attr_reader :messages
|
11
|
+
|
12
|
+
# @return [Anthropic::Resources::Completions]
|
13
|
+
attr_reader :completions
|
14
|
+
|
15
|
+
# @return [Anthropic::Resources::Beta]
|
16
|
+
attr_reader :beta
|
17
|
+
|
18
|
+
# @return [String]
|
19
|
+
attr_reader :aws_region
|
20
|
+
|
21
|
+
# @return [Aws::Credentials]
|
22
|
+
attr_reader :aws_credentials
|
23
|
+
|
24
|
+
# Creates and returns a new client for interacting with the AWS Bedrock API for Anthropic models.
|
25
|
+
#
|
26
|
+
# AWS credentials are resolved according to the AWS SDK's default resolution order, described at
|
27
|
+
# https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html#credchain or https://github.com/aws/aws-sdk-ruby?tab=readme-ov-file#configuration
|
28
|
+
#
|
29
|
+
# @param aws_region [String, nil] Enforce the AWS Region to use. If unset, the region is set according to the
|
30
|
+
# AWS SDK's default resolution order, described at https://github.com/aws/aws-sdk-ruby?tab=readme-ov-file#configuration
|
31
|
+
#
|
32
|
+
# @param aws_access_key [String, nil] Optional AWS access key to use for authentication. Overrides profile and credential provider chain
|
33
|
+
#
|
34
|
+
# @param aws_secret_key [String, nil] Optional AWS secret access key to use for authentication. Overrides profile and credential provider chain
|
35
|
+
#
|
36
|
+
# @param aws_session_token [String, nil] Optional AWS session token to use for authentication. Overrides profile and credential provider chain
|
37
|
+
#
|
38
|
+
# @param aws_profile [String, nil] Optional AWS profile to use for authentication. Overrides the credential provider chain
|
39
|
+
#
|
40
|
+
# @param base_url [String, nil] Override the default base URL for the API, e.g., `"https://api.example.com/v2/"`
|
41
|
+
#
|
42
|
+
# @param max_retries [Integer] The maximum number of times to retry a request if it fails
|
43
|
+
#
|
44
|
+
# @param timeout [Float] The number of seconds to wait for a response before timing out
|
45
|
+
#
|
46
|
+
# @param initial_retry_delay [Float] The number of seconds to wait before retrying a request
|
47
|
+
#
|
48
|
+
# @param max_retry_delay [Float] The maximum number of seconds to wait before retrying a request
|
49
|
+
#
|
50
|
+
def initialize(
|
51
|
+
aws_region: nil,
|
52
|
+
base_url: nil,
|
53
|
+
max_retries: DEFAULT_MAX_RETRIES,
|
54
|
+
timeout: DEFAULT_TIMEOUT_IN_SECONDS,
|
55
|
+
initial_retry_delay: DEFAULT_INITIAL_RETRY_DELAY,
|
56
|
+
max_retry_delay: DEFAULT_MAX_RETRY_DELAY,
|
57
|
+
aws_access_key: nil,
|
58
|
+
aws_secret_key: nil,
|
59
|
+
aws_session_token: nil,
|
60
|
+
aws_profile: nil
|
61
|
+
)
|
62
|
+
begin
|
63
|
+
require("aws-sdk-bedrockruntime")
|
64
|
+
rescue LoadError
|
65
|
+
raise <<~MSG
|
66
|
+
|
67
|
+
In order to access Anthropic models on Bedrock you must require the `aws-sdk-bedrockruntime` gem.
|
68
|
+
You can install it by adding the following to your Gemfile:
|
69
|
+
|
70
|
+
gem "aws-sdk-bedrockruntime"
|
71
|
+
|
72
|
+
and then running `bundle install`.
|
73
|
+
|
74
|
+
Alternatively, if you are not using Bundler, simply run:
|
75
|
+
|
76
|
+
gem install aws-sdk-bedrockruntime
|
77
|
+
MSG
|
78
|
+
end
|
79
|
+
|
80
|
+
@aws_region, @aws_credentials = resolve_region_and_credentials(
|
81
|
+
aws_region: aws_region,
|
82
|
+
aws_secret_key: aws_secret_key,
|
83
|
+
aws_access_key: aws_access_key,
|
84
|
+
aws_session_token: aws_session_token,
|
85
|
+
aws_profile: aws_profile
|
86
|
+
)
|
87
|
+
|
88
|
+
@signer = Aws::Sigv4::Signer.new(
|
89
|
+
service: "bedrock",
|
90
|
+
region: @aws_region,
|
91
|
+
credentials: @aws_credentials
|
92
|
+
)
|
93
|
+
|
94
|
+
base_url ||= ENV.fetch(
|
95
|
+
"ANTHROPIC_BEDROCK_BASE_URL",
|
96
|
+
"https://bedrock-runtime.#{@aws_region}.amazonaws.com"
|
97
|
+
)
|
98
|
+
|
99
|
+
super(
|
100
|
+
base_url: base_url,
|
101
|
+
timeout: timeout,
|
102
|
+
max_retries: max_retries,
|
103
|
+
initial_retry_delay: initial_retry_delay,
|
104
|
+
max_retry_delay: max_retry_delay,
|
105
|
+
)
|
106
|
+
|
107
|
+
@messages = Anthropic::Resources::Messages.new(client: self)
|
108
|
+
@completions = Anthropic::Resources::Completions.new(client: self)
|
109
|
+
@beta = Anthropic::Resources::Beta.new(client: self)
|
110
|
+
end
|
111
|
+
|
112
|
+
# @api private
|
113
|
+
#
|
114
|
+
# @param req [Hash{Symbol=>Object}] .
|
115
|
+
#
|
116
|
+
# @option req [Symbol] :method
|
117
|
+
#
|
118
|
+
# @option req [String, Array<String>] :path
|
119
|
+
#
|
120
|
+
# @option req [Hash{String=>Array<String>, String, nil}, nil] :query
|
121
|
+
#
|
122
|
+
# @option req [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}, nil] :headers
|
123
|
+
#
|
124
|
+
# @option req [Object, nil] :body
|
125
|
+
#
|
126
|
+
# @option req [Symbol, Integer, Array<Symbol, Integer>, Proc, nil] :unwrap
|
127
|
+
#
|
128
|
+
# @option req [Class<Anthropic::Internal::Type::BasePage>, nil] :page
|
129
|
+
#
|
130
|
+
# @option req [Class<Anthropic::Internal::Type::BaseStream>, nil] :stream
|
131
|
+
#
|
132
|
+
# @option req [Anthropic::Internal::Type::Converter, Class, nil] :model
|
133
|
+
#
|
134
|
+
# @param opts [Hash{Symbol=>Object}] .
|
135
|
+
#
|
136
|
+
# @option opts [String, nil] :idempotency_key
|
137
|
+
#
|
138
|
+
# @option opts [Hash{String=>Array<String>, String, nil}, nil] :extra_query
|
139
|
+
#
|
140
|
+
# @option opts [Hash{String=>String, nil}, nil] :extra_headers
|
141
|
+
#
|
142
|
+
# @option opts [Object, nil] :extra_body
|
143
|
+
#
|
144
|
+
# @option opts [Integer, nil] :max_retries
|
145
|
+
#
|
146
|
+
# @option opts [Float, nil] :timeout
|
147
|
+
#
|
148
|
+
# @return [Hash{Symbol=>Object}]
|
149
|
+
private def build_request(req, opts)
|
150
|
+
fit_req_to_bedrock_specs!(req)
|
151
|
+
|
152
|
+
request_input = super
|
153
|
+
|
154
|
+
signed_request = @signer.sign_request(
|
155
|
+
http_method: request_input[:method],
|
156
|
+
url: request_input[:url],
|
157
|
+
headers: request_input[:headers],
|
158
|
+
body: request_input[:body]
|
159
|
+
)
|
160
|
+
|
161
|
+
request_input[:headers].merge!(signed_request.headers)
|
162
|
+
|
163
|
+
request_input
|
164
|
+
end
|
165
|
+
|
166
|
+
# @param aws_region [String, nil]
|
167
|
+
#
|
168
|
+
# @param aws_secret_key [String, nil]
|
169
|
+
#
|
170
|
+
# @param aws_access_key [String, nil]
|
171
|
+
#
|
172
|
+
# @param aws_session_token [String, nil]
|
173
|
+
#
|
174
|
+
# @param aws_profile [String, nil]
|
175
|
+
#
|
176
|
+
# @return [Array<String, Aws::Credentials>]
|
177
|
+
#
|
178
|
+
private def resolve_region_and_credentials(
|
179
|
+
aws_region:,
|
180
|
+
aws_secret_key:,
|
181
|
+
aws_access_key:,
|
182
|
+
aws_session_token:,
|
183
|
+
aws_profile:
|
184
|
+
)
|
185
|
+
client_options = {
|
186
|
+
access_key_id: aws_access_key,
|
187
|
+
secret_access_key: aws_secret_key,
|
188
|
+
session_token: aws_session_token,
|
189
|
+
profile: aws_profile
|
190
|
+
}
|
191
|
+
(client_options[:region] = aws_region) unless aws_region.nil?
|
192
|
+
|
193
|
+
bedrock_client = Aws::BedrockRuntime::Client.new(client_options)
|
194
|
+
[bedrock_client.config.region, bedrock_client.config.credentials.credentials]
|
195
|
+
end
|
196
|
+
|
197
|
+
# @private
|
198
|
+
#
|
199
|
+
# Overrides request components for Bedrock-specific request-shape requirements.
|
200
|
+
#
|
201
|
+
# @param request_components [Hash{Symbol=>Object}] .
|
202
|
+
#
|
203
|
+
# @option request_components [Symbol] :method
|
204
|
+
#
|
205
|
+
# @option request_components [String, Array<String>] :path
|
206
|
+
#
|
207
|
+
# @option request_components [Hash{String=>Array<String>, String, nil}, nil] :query
|
208
|
+
#
|
209
|
+
# @option request_components [Hash{String=>String, nil}, nil] :headers
|
210
|
+
#
|
211
|
+
# @option request_components [Object, nil] :body
|
212
|
+
#
|
213
|
+
# @option request_components [Symbol, nil] :unwrap
|
214
|
+
#
|
215
|
+
# @option request_components [Class, nil] :page
|
216
|
+
#
|
217
|
+
# @option request_components [Anthropic::Converter, Class, nil] :model
|
218
|
+
#
|
219
|
+
# @return [Hash{Symbol=>Object}]
|
220
|
+
#
|
221
|
+
private def fit_req_to_bedrock_specs!(request_components)
|
222
|
+
if (body = request_components[:body]).is_a?(Hash)
|
223
|
+
body[:anthropic_version] ||= DEFAULT_VERSION
|
224
|
+
body.transform_keys!("anthropic-beta": :anthropic_beta)
|
225
|
+
end
|
226
|
+
|
227
|
+
case request_components[:path]
|
228
|
+
in %r{^v1/messages/batches}
|
229
|
+
message = "The Batch API is not supported in Bedrock yet"
|
230
|
+
raise NotImplementedError.new(message)
|
231
|
+
in %r{v1/messages/count_tokens}
|
232
|
+
message = "Token counting is not supported in Bedrock yet"
|
233
|
+
raise NotImplementedError.new(message)
|
234
|
+
in %r{v1/models\?beta=true}
|
235
|
+
# rubocop:disable Layout/LineLength
|
236
|
+
message = "Please instead use https://docs.anthropic.com/en/api/claude-on-amazon-bedrock#list-available-models to list available models on Bedrock."
|
237
|
+
# rubocop:enable Layout/LineLength
|
238
|
+
raise NotImplementedError.new(message)
|
239
|
+
else
|
240
|
+
end
|
241
|
+
|
242
|
+
if %w[
|
243
|
+
v1/complete
|
244
|
+
v1/messages
|
245
|
+
v1/messages?beta=true
|
246
|
+
].include?(request_components[:path]) && request_components[:method] == :post && body.is_a?(Hash)
|
247
|
+
model = body.delete(:model)
|
248
|
+
model = URI.encode_www_form_component(model.to_s)
|
249
|
+
stream = body.delete(:stream) || false
|
250
|
+
request_components[:path] =
|
251
|
+
stream ? "model/#{model}/invoke-with-response-stream" : "model/#{model}/invoke"
|
252
|
+
end
|
253
|
+
|
254
|
+
request_components
|
255
|
+
end
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|