anthropic 0.4.1 → 1.1.0
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 +649 -29
- data/README.md +272 -282
- data/SECURITY.md +27 -0
- data/lib/anthropic/bedrock.rb +5 -0
- data/lib/anthropic/client.rb +119 -96
- 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 +65 -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 +75 -0
- data/lib/anthropic/models/beta/beta_base64_pdf_source.rb +31 -0
- data/lib/anthropic/models/beta/beta_cache_control_ephemeral.rb +57 -0
- data/lib/anthropic/models/beta/beta_cache_creation.rb +28 -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_code_execution_output_block.rb +25 -0
- data/lib/anthropic/models/beta/beta_code_execution_output_block_param.rb +25 -0
- data/lib/anthropic/models/beta/beta_code_execution_result_block.rb +44 -0
- data/lib/anthropic/models/beta/beta_code_execution_result_block_param.rb +44 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_20250522.rb +40 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_block.rb +31 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_content.rb +20 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_param.rb +41 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_param_content.rb +20 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_error.rb +25 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_error_code.rb +21 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_error_param.rb +25 -0
- data/lib/anthropic/models/beta/beta_container.rb +31 -0
- data/lib/anthropic/models/beta/beta_container_upload_block.rb +27 -0
- data/lib/anthropic/models/beta/beta_container_upload_block_param.rb +37 -0
- data/lib/anthropic/models/beta/beta_content_block.rb +40 -0
- data/lib/anthropic/models/beta/beta_content_block_param.rb +54 -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_file_document_source.rb +25 -0
- data/lib/anthropic/models/beta/beta_file_image_source.rb +25 -0
- data/lib/anthropic/models/beta/beta_image_block_param.rb +50 -0
- data/lib/anthropic/models/beta/beta_input_json_delta.rb +25 -0
- data/lib/anthropic/models/beta/beta_mcp_tool_result_block.rb +52 -0
- data/lib/anthropic/models/beta/beta_mcp_tool_use_block.rb +49 -0
- data/lib/anthropic/models/beta/beta_mcp_tool_use_block_param.rb +56 -0
- data/lib/anthropic/models/beta/beta_message.rb +157 -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 +67 -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 +81 -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_request_mcp_server_tool_configuration.rb +25 -0
- data/lib/anthropic/models/beta/beta_request_mcp_server_url_definition.rb +47 -0
- data/lib/anthropic/models/beta/beta_request_mcp_tool_result_block_param.rb +65 -0
- data/lib/anthropic/models/beta/beta_server_tool_usage.rb +20 -0
- data/lib/anthropic/models/beta/beta_server_tool_use_block.rb +48 -0
- data/lib/anthropic/models/beta/beta_server_tool_use_block_param.rb +59 -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_text_editor_20250429.rb +40 -0
- data/lib/anthropic/models/beta/beta_tool_union.rb +36 -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 +82 -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 +127 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_request_error.rb +25 -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 +24 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_error.rb +25 -0
- data/lib/anthropic/models/beta/beta_web_search_tool_result_error_code.rb +22 -0
- data/lib/anthropic/models/beta/deleted_file.rb +46 -0
- data/lib/anthropic/models/beta/file_delete_params.rb +24 -0
- data/lib/anthropic/models/beta/file_download_params.rb +24 -0
- data/lib/anthropic/models/beta/file_list_params.rb +55 -0
- data/lib/anthropic/models/beta/file_metadata.rb +74 -0
- data/lib/anthropic/models/beta/file_retrieve_metadata_params.rb +24 -0
- data/lib/anthropic/models/beta/file_upload_params.rb +32 -0
- data/lib/anthropic/models/beta/message_count_tokens_params.rb +305 -0
- data/lib/anthropic/models/beta/message_create_params.rb +395 -0
- data/lib/anthropic/models/beta/messages/batch_cancel_params.rb +26 -0
- data/lib/anthropic/models/beta/messages/batch_create_params.rb +472 -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 +64 -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 +40 -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 +366 -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 +437 -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 +126 -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 +70 -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/files.rb +153 -0
- data/lib/anthropic/resources/beta/messages/batches.rb +218 -0
- data/lib/anthropic/resources/beta/messages.rb +227 -0
- data/lib/anthropic/resources/beta/models.rb +80 -0
- data/lib/anthropic/resources/beta.rb +26 -0
- data/lib/anthropic/resources/completions.rb +132 -0
- data/lib/anthropic/resources/messages/batches.rb +193 -0
- data/lib/anthropic/resources/messages.rb +201 -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 +320 -68
- 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 +78 -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 +138 -0
- data/rbi/anthropic/models/beta/beta_base64_pdf_source.rbi +42 -0
- data/rbi/anthropic/models/beta/beta_cache_control_ephemeral.rbi +114 -0
- data/rbi/anthropic/models/beta/beta_cache_creation.rbi +52 -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_code_execution_output_block.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_code_execution_output_block_param.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_code_execution_result_block.rbi +67 -0
- data/rbi/anthropic/models/beta/beta_code_execution_result_block_param.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_20250522.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_block.rbi +59 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_block_content.rbi +32 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_block_param.rbi +88 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_block_param_content.rbi +32 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_error.rbi +51 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_error_code.rbi +51 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_result_error_param.rbi +52 -0
- data/rbi/anthropic/models/beta/beta_container.rbi +39 -0
- data/rbi/anthropic/models/beta/beta_container_upload_block.rbi +34 -0
- data/rbi/anthropic/models/beta/beta_container_upload_block_param.rbi +68 -0
- data/rbi/anthropic/models/beta/beta_content_block.rbi +38 -0
- data/rbi/anthropic/models/beta/beta_content_block_param.rbi +41 -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_file_document_source.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_file_image_source.rbi +33 -0
- data/rbi/anthropic/models/beta/beta_image_block_param.rbi +105 -0
- data/rbi/anthropic/models/beta/beta_input_json_delta.rbi +35 -0
- data/rbi/anthropic/models/beta/beta_mcp_tool_result_block.rbi +85 -0
- data/rbi/anthropic/models/beta/beta_mcp_tool_use_block.rbi +70 -0
- data/rbi/anthropic/models/beta/beta_mcp_tool_use_block_param.rbi +86 -0
- data/rbi/anthropic/models/beta/beta_message.rbi +266 -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 +104 -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 +155 -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_request_mcp_server_tool_configuration.rbi +46 -0
- data/rbi/anthropic/models/beta/beta_request_mcp_server_url_definition.rbi +86 -0
- data/rbi/anthropic/models/beta/beta_request_mcp_tool_result_block_param.rbi +125 -0
- data/rbi/anthropic/models/beta/beta_server_tool_usage.rbi +34 -0
- data/rbi/anthropic/models/beta/beta_server_tool_use_block.rbi +88 -0
- data/rbi/anthropic/models/beta/beta_server_tool_use_block_param.rbi +112 -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_text_editor_20250429.rbi +72 -0
- data/rbi/anthropic/models/beta/beta_tool_union.rbi +35 -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 +145 -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 +49 -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 +51 -0
- data/rbi/anthropic/models/beta/beta_web_search_tool_result_error_code.rbi +55 -0
- data/rbi/anthropic/models/beta/deleted_file.rbi +81 -0
- data/rbi/anthropic/models/beta/file_delete_params.rbi +62 -0
- data/rbi/anthropic/models/beta/file_download_params.rbi +62 -0
- data/rbi/anthropic/models/beta/file_list_params.rbi +100 -0
- data/rbi/anthropic/models/beta/file_metadata.rbi +98 -0
- data/rbi/anthropic/models/beta/file_retrieve_metadata_params.rbi +62 -0
- data/rbi/anthropic/models/beta/file_upload_params.rbi +70 -0
- data/rbi/anthropic/models/beta/message_count_tokens_params.rbi +687 -0
- data/rbi/anthropic/models/beta/message_create_params.rbi +860 -0
- data/rbi/anthropic/models/beta/messages/batch_cancel_params.rbi +65 -0
- data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +1014 -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 +29 -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 +758 -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 +914 -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 +92 -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 +103 -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/files.rbi +109 -0
- data/rbi/anthropic/resources/beta/messages/batches.rbi +186 -0
- data/rbi/anthropic/resources/beta/messages.rbi +876 -0
- data/rbi/anthropic/resources/beta/models.rbi +64 -0
- data/rbi/anthropic/resources/beta.rbi +21 -0
- data/rbi/anthropic/resources/completions.rbi +199 -0
- data/rbi/anthropic/resources/messages/batches.rbi +156 -0
- data/rbi/anthropic/resources/messages.rbi +820 -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 +41 -0
- data/sig/anthropic/models/api_error_object.rbs +15 -0
- data/sig/anthropic/models/authentication_error.rbs +15 -0
- data/sig/anthropic/models/base64_image_source.rbs +44 -0
- data/sig/anthropic/models/base64_pdf_source.rbs +26 -0
- data/sig/anthropic/models/beta/beta_base64_image_source.rbs +48 -0
- data/sig/anthropic/models/beta/beta_base64_pdf_block.rbs +66 -0
- data/sig/anthropic/models/beta/beta_base64_pdf_source.rbs +30 -0
- data/sig/anthropic/models/beta/beta_cache_control_ephemeral.rbs +44 -0
- data/sig/anthropic/models/beta/beta_cache_creation.rbs +29 -0
- data/sig/anthropic/models/beta/beta_citation_char_location.rbs +49 -0
- data/sig/anthropic/models/beta/beta_citation_char_location_param.rbs +49 -0
- data/sig/anthropic/models/beta/beta_citation_content_block_location.rbs +49 -0
- data/sig/anthropic/models/beta/beta_citation_content_block_location_param.rbs +49 -0
- data/sig/anthropic/models/beta/beta_citation_page_location.rbs +49 -0
- data/sig/anthropic/models/beta/beta_citation_page_location_param.rbs +49 -0
- data/sig/anthropic/models/beta/beta_citation_web_search_result_location_param.rbs +44 -0
- data/sig/anthropic/models/beta/beta_citations_config_param.rbs +19 -0
- data/sig/anthropic/models/beta/beta_citations_delta.rbs +41 -0
- data/sig/anthropic/models/beta/beta_citations_web_search_result_location.rbs +44 -0
- data/sig/anthropic/models/beta/beta_code_execution_output_block.rbs +20 -0
- data/sig/anthropic/models/beta/beta_code_execution_output_block_param.rbs +20 -0
- data/sig/anthropic/models/beta/beta_code_execution_result_block.rbs +44 -0
- data/sig/anthropic/models/beta/beta_code_execution_result_block_param.rbs +44 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_20250522.rbs +34 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_block.rbs +34 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_block_content.rbs +17 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_block_param.rbs +39 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_block_param_content.rbs +17 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_error.rbs +29 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_error_code.rbs +24 -0
- data/sig/anthropic/models/beta/beta_code_execution_tool_result_error_param.rbs +29 -0
- data/sig/anthropic/models/beta/beta_container.rbs +19 -0
- data/sig/anthropic/models/beta/beta_container_upload_block.rbs +20 -0
- data/sig/anthropic/models/beta/beta_container_upload_block_param.rbs +34 -0
- data/sig/anthropic/models/beta/beta_content_block.rbs +25 -0
- data/sig/anthropic/models/beta/beta_content_block_param.rbs +28 -0
- data/sig/anthropic/models/beta/beta_content_block_source.rbs +41 -0
- data/sig/anthropic/models/beta/beta_content_block_source_content.rbs +17 -0
- data/sig/anthropic/models/beta/beta_file_document_source.rbs +19 -0
- data/sig/anthropic/models/beta/beta_file_image_source.rbs +19 -0
- data/sig/anthropic/models/beta/beta_image_block_param.rbs +45 -0
- data/sig/anthropic/models/beta/beta_input_json_delta.rbs +20 -0
- data/sig/anthropic/models/beta/beta_mcp_tool_result_block.rbs +49 -0
- data/sig/anthropic/models/beta/beta_mcp_tool_use_block.rbs +44 -0
- data/sig/anthropic/models/beta/beta_mcp_tool_use_block_param.rbs +49 -0
- data/sig/anthropic/models/beta/beta_message.rbs +64 -0
- data/sig/anthropic/models/beta/beta_message_delta_usage.rbs +44 -0
- data/sig/anthropic/models/beta/beta_message_param.rbs +51 -0
- data/sig/anthropic/models/beta/beta_message_tokens_count.rbs +17 -0
- data/sig/anthropic/models/beta/beta_metadata.rbs +17 -0
- data/sig/anthropic/models/beta/beta_model_info.rbs +34 -0
- data/sig/anthropic/models/beta/beta_plain_text_source.rbs +26 -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 +34 -0
- data/sig/anthropic/models/beta/beta_raw_content_block_start_event.rbs +52 -0
- data/sig/anthropic/models/beta/beta_raw_content_block_stop_event.rbs +20 -0
- data/sig/anthropic/models/beta/beta_raw_message_delta_event.rbs +61 -0
- data/sig/anthropic/models/beta/beta_raw_message_start_event.rbs +26 -0
- data/sig/anthropic/models/beta/beta_raw_message_stop_event.rbs +17 -0
- data/sig/anthropic/models/beta/beta_raw_message_stream_event.rbs +21 -0
- data/sig/anthropic/models/beta/beta_redacted_thinking_block.rbs +20 -0
- data/sig/anthropic/models/beta/beta_redacted_thinking_block_param.rbs +20 -0
- data/sig/anthropic/models/beta/beta_request_mcp_server_tool_configuration.rbs +23 -0
- data/sig/anthropic/models/beta/beta_request_mcp_server_url_definition.rbs +44 -0
- data/sig/anthropic/models/beta/beta_request_mcp_tool_result_block_param.rbs +60 -0
- data/sig/anthropic/models/beta/beta_server_tool_usage.rbs +17 -0
- data/sig/anthropic/models/beta/beta_server_tool_use_block.rbs +50 -0
- data/sig/anthropic/models/beta/beta_server_tool_use_block_param.rbs +55 -0
- data/sig/anthropic/models/beta/beta_signature_delta.rbs +19 -0
- data/sig/anthropic/models/beta/beta_stop_reason.rbs +28 -0
- data/sig/anthropic/models/beta/beta_text_block.rbs +34 -0
- data/sig/anthropic/models/beta/beta_text_block_param.rbs +39 -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 +19 -0
- data/sig/anthropic/models/beta/beta_thinking_block.rbs +26 -0
- data/sig/anthropic/models/beta/beta_thinking_block_param.rbs +26 -0
- data/sig/anthropic/models/beta/beta_thinking_config_disabled.rbs +17 -0
- data/sig/anthropic/models/beta/beta_thinking_config_enabled.rbs +20 -0
- data/sig/anthropic/models/beta/beta_thinking_config_param.rbs +17 -0
- data/sig/anthropic/models/beta/beta_thinking_delta.rbs +19 -0
- data/sig/anthropic/models/beta/beta_tool.rbs +68 -0
- data/sig/anthropic/models/beta/beta_tool_bash_20241022.rbs +34 -0
- data/sig/anthropic/models/beta/beta_tool_bash_20250124.rbs +34 -0
- data/sig/anthropic/models/beta/beta_tool_choice.rbs +19 -0
- data/sig/anthropic/models/beta/beta_tool_choice_any.rbs +22 -0
- data/sig/anthropic/models/beta/beta_tool_choice_auto.rbs +22 -0
- data/sig/anthropic/models/beta/beta_tool_choice_none.rbs +17 -0
- data/sig/anthropic/models/beta/beta_tool_choice_tool.rbs +32 -0
- data/sig/anthropic/models/beta/beta_tool_computer_use_20241022.rbs +49 -0
- data/sig/anthropic/models/beta/beta_tool_computer_use_20250124.rbs +49 -0
- data/sig/anthropic/models/beta/beta_tool_result_block_param.rbs +72 -0
- data/sig/anthropic/models/beta/beta_tool_text_editor_20241022.rbs +34 -0
- data/sig/anthropic/models/beta/beta_tool_text_editor_20250124.rbs +34 -0
- data/sig/anthropic/models/beta/beta_tool_text_editor_20250429.rbs +34 -0
- data/sig/anthropic/models/beta/beta_tool_union.rbs +25 -0
- data/sig/anthropic/models/beta/beta_tool_use_block.rbs +34 -0
- data/sig/anthropic/models/beta/beta_tool_use_block_param.rbs +44 -0
- data/sig/anthropic/models/beta/beta_url_image_source.rbs +19 -0
- data/sig/anthropic/models/beta/beta_url_pdf_source.rbs +19 -0
- data/sig/anthropic/models/beta/beta_usage.rbs +66 -0
- data/sig/anthropic/models/beta/beta_web_search_result_block.rbs +44 -0
- data/sig/anthropic/models/beta/beta_web_search_result_block_param.rbs +44 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_20250305.rbs +91 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_request_error.rbs +29 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_block.rbs +34 -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 +39 -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 +29 -0
- data/sig/anthropic/models/beta/beta_web_search_tool_result_error_code.rbs +26 -0
- data/sig/anthropic/models/beta/deleted_file.rbs +38 -0
- data/sig/anthropic/models/beta/file_delete_params.rbs +30 -0
- data/sig/anthropic/models/beta/file_download_params.rbs +30 -0
- data/sig/anthropic/models/beta/file_list_params.rbs +53 -0
- data/sig/anthropic/models/beta/file_metadata.rbs +54 -0
- data/sig/anthropic/models/beta/file_retrieve_metadata_params.rbs +30 -0
- data/sig/anthropic/models/beta/file_upload_params.rbs +37 -0
- data/sig/anthropic/models/beta/message_count_tokens_params.rbs +115 -0
- data/sig/anthropic/models/beta/message_create_params.rbs +164 -0
- data/sig/anthropic/models/beta/messages/batch_cancel_params.rbs +32 -0
- data/sig/anthropic/models/beta/messages/batch_create_params.rbs +213 -0
- data/sig/anthropic/models/beta/messages/batch_delete_params.rbs +32 -0
- data/sig/anthropic/models/beta/messages/batch_list_params.rbs +55 -0
- data/sig/anthropic/models/beta/messages/batch_results_params.rbs +32 -0
- data/sig/anthropic/models/beta/messages/batch_retrieve_params.rbs +32 -0
- data/sig/anthropic/models/beta/messages/beta_deleted_message_batch.rbs +20 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch.rbs +81 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_canceled_result.rbs +17 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_errored_result.rbs +26 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_expired_result.rbs +17 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_individual_response.rbs +29 -0
- data/sig/anthropic/models/beta/messages/beta_message_batch_request_counts.rbs +44 -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 +26 -0
- data/sig/anthropic/models/beta/model_list_params.rbs +53 -0
- data/sig/anthropic/models/beta/model_retrieve_params.rbs +30 -0
- data/sig/anthropic/models/beta_api_error.rbs +15 -0
- data/sig/anthropic/models/beta_authentication_error.rbs +16 -0
- data/sig/anthropic/models/beta_billing_error.rbs +15 -0
- data/sig/anthropic/models/beta_error.rbs +20 -0
- data/sig/anthropic/models/beta_error_response.rbs +19 -0
- data/sig/anthropic/models/beta_gateway_timeout_error.rbs +15 -0
- data/sig/anthropic/models/beta_invalid_request_error.rbs +16 -0
- data/sig/anthropic/models/beta_not_found_error.rbs +15 -0
- data/sig/anthropic/models/beta_overloaded_error.rbs +15 -0
- data/sig/anthropic/models/beta_permission_error.rbs +15 -0
- data/sig/anthropic/models/beta_rate_limit_error.rbs +15 -0
- data/sig/anthropic/models/billing_error.rbs +15 -0
- data/sig/anthropic/models/cache_control_ephemeral.rbs +13 -0
- data/sig/anthropic/models/citation_char_location.rbs +45 -0
- data/sig/anthropic/models/citation_char_location_param.rbs +45 -0
- data/sig/anthropic/models/citation_content_block_location.rbs +45 -0
- data/sig/anthropic/models/citation_content_block_location_param.rbs +45 -0
- data/sig/anthropic/models/citation_page_location.rbs +45 -0
- data/sig/anthropic/models/citation_page_location_param.rbs +45 -0
- data/sig/anthropic/models/citation_web_search_result_location_param.rbs +40 -0
- data/sig/anthropic/models/citations_config_param.rbs +15 -0
- data/sig/anthropic/models/citations_delta.rbs +37 -0
- data/sig/anthropic/models/citations_web_search_result_location.rbs +40 -0
- data/sig/anthropic/models/completion.rbs +40 -0
- data/sig/anthropic/models/completion_create_params.rbs +80 -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 +36 -0
- data/sig/anthropic/models/content_block_source_content.rbs +12 -0
- data/sig/anthropic/models/document_block_param.rbs +61 -0
- data/sig/anthropic/models/error_object.rbs +20 -0
- data/sig/anthropic/models/error_response.rbs +19 -0
- data/sig/anthropic/models/gateway_timeout_error.rbs +15 -0
- data/sig/anthropic/models/image_block_param.rbs +38 -0
- data/sig/anthropic/models/input_json_delta.rbs +15 -0
- data/sig/anthropic/models/invalid_request_error.rbs +16 -0
- data/sig/anthropic/models/message.rbs +55 -0
- data/sig/anthropic/models/message_count_tokens_params.rbs +77 -0
- data/sig/anthropic/models/message_count_tokens_tool.rbs +15 -0
- data/sig/anthropic/models/message_create_params.rbs +137 -0
- data/sig/anthropic/models/message_delta_usage.rbs +40 -0
- data/sig/anthropic/models/message_param.rbs +46 -0
- data/sig/anthropic/models/message_tokens_count.rbs +13 -0
- data/sig/anthropic/models/messages/batch_cancel_params.rbs +17 -0
- data/sig/anthropic/models/messages/batch_create_params.rbs +183 -0
- data/sig/anthropic/models/messages/batch_delete_params.rbs +17 -0
- data/sig/anthropic/models/messages/batch_list_params.rbs +40 -0
- data/sig/anthropic/models/messages/batch_results_params.rbs +17 -0
- data/sig/anthropic/models/messages/batch_retrieve_params.rbs +17 -0
- data/sig/anthropic/models/messages/deleted_message_batch.rbs +17 -0
- data/sig/anthropic/models/messages/message_batch.rbs +81 -0
- data/sig/anthropic/models/messages/message_batch_canceled_result.rbs +17 -0
- data/sig/anthropic/models/messages/message_batch_errored_result.rbs +23 -0
- data/sig/anthropic/models/messages/message_batch_expired_result.rbs +17 -0
- data/sig/anthropic/models/messages/message_batch_individual_response.rbs +29 -0
- data/sig/anthropic/models/messages/message_batch_request_counts.rbs +44 -0
- data/sig/anthropic/models/messages/message_batch_result.rbs +19 -0
- data/sig/anthropic/models/messages/message_batch_succeeded_result.rbs +20 -0
- data/sig/anthropic/models/metadata.rbs +13 -0
- data/sig/anthropic/models/model.rbs +85 -0
- data/sig/anthropic/models/model_info.rbs +30 -0
- data/sig/anthropic/models/model_list_params.rbs +51 -0
- data/sig/anthropic/models/model_retrieve_params.rbs +28 -0
- data/sig/anthropic/models/not_found_error.rbs +15 -0
- data/sig/anthropic/models/overloaded_error.rbs +15 -0
- data/sig/anthropic/models/permission_error.rbs +15 -0
- data/sig/anthropic/models/plain_text_source.rbs +22 -0
- data/sig/anthropic/models/rate_limit_error.rbs +15 -0
- data/sig/anthropic/models/raw_content_block_delta.rbs +16 -0
- data/sig/anthropic/models/raw_content_block_delta_event.rbs +30 -0
- data/sig/anthropic/models/raw_content_block_start_event.rbs +44 -0
- data/sig/anthropic/models/raw_content_block_stop_event.rbs +16 -0
- data/sig/anthropic/models/raw_message_delta_event.rbs +49 -0
- data/sig/anthropic/models/raw_message_start_event.rbs +19 -0
- data/sig/anthropic/models/raw_message_stop_event.rbs +13 -0
- data/sig/anthropic/models/raw_message_stream_event.rbs +17 -0
- data/sig/anthropic/models/redacted_thinking_block.rbs +15 -0
- data/sig/anthropic/models/redacted_thinking_block_param.rbs +16 -0
- data/sig/anthropic/models/server_tool_usage.rbs +13 -0
- data/sig/anthropic/models/server_tool_use_block.rbs +30 -0
- data/sig/anthropic/models/server_tool_use_block_param.rbs +40 -0
- data/sig/anthropic/models/signature_delta.rbs +15 -0
- data/sig/anthropic/models/stop_reason.rbs +24 -0
- data/sig/anthropic/models/text_block.rbs +30 -0
- data/sig/anthropic/models/text_block_param.rbs +35 -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 +15 -0
- data/sig/anthropic/models/thinking_block.rbs +22 -0
- data/sig/anthropic/models/thinking_block_param.rbs +22 -0
- data/sig/anthropic/models/thinking_config_disabled.rbs +13 -0
- data/sig/anthropic/models/thinking_config_enabled.rbs +15 -0
- data/sig/anthropic/models/thinking_config_param.rbs +12 -0
- data/sig/anthropic/models/thinking_delta.rbs +15 -0
- data/sig/anthropic/models/tool.rbs +64 -0
- data/sig/anthropic/models/tool_bash_20250124.rbs +30 -0
- data/sig/anthropic/models/tool_choice.rbs +15 -0
- data/sig/anthropic/models/tool_choice_any.rbs +17 -0
- data/sig/anthropic/models/tool_choice_auto.rbs +17 -0
- data/sig/anthropic/models/tool_choice_none.rbs +13 -0
- data/sig/anthropic/models/tool_choice_tool.rbs +28 -0
- data/sig/anthropic/models/tool_result_block_param.rbs +66 -0
- data/sig/anthropic/models/tool_text_editor_20250124.rbs +30 -0
- data/sig/anthropic/models/tool_union.rbs +15 -0
- data/sig/anthropic/models/tool_use_block.rbs +25 -0
- data/sig/anthropic/models/tool_use_block_param.rbs +40 -0
- data/sig/anthropic/models/url_image_source.rbs +15 -0
- data/sig/anthropic/models/url_pdf_source.rbs +15 -0
- data/sig/anthropic/models/usage.rbs +57 -0
- data/sig/anthropic/models/web_search_result_block.rbs +40 -0
- data/sig/anthropic/models/web_search_result_block_param.rbs +40 -0
- data/sig/anthropic/models/web_search_tool_20250305.rbs +87 -0
- data/sig/anthropic/models/web_search_tool_request_error.rbs +44 -0
- data/sig/anthropic/models/web_search_tool_result_block.rbs +30 -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 +35 -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 +44 -0
- data/sig/anthropic/models.rbs +221 -0
- data/sig/anthropic/request_options.rbs +34 -0
- data/sig/anthropic/resources/beta/files.rbs +41 -0
- data/sig/anthropic/resources/beta/messages/batches.rbs +49 -0
- data/sig/anthropic/resources/beta/messages.rbs +63 -0
- data/sig/anthropic/resources/beta/models.rbs +23 -0
- data/sig/anthropic/resources/beta.rbs +13 -0
- data/sig/anthropic/resources/completions.rbs +33 -0
- data/sig/anthropic/resources/messages/batches.rbs +41 -0
- data/sig/anthropic/resources/messages.rbs +53 -0
- data/sig/anthropic/resources/models.rbs +21 -0
- data/sig/anthropic/version.rbs +3 -0
- data/sig/anthropic/vertex.rbs +3 -0
- metadata +901 -77
- 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 -30
- data/CODE_OF_CONDUCT.md +0 -74
- data/CONTRIBUTING.md +0 -3
- data/Gemfile +0 -13
- data/Gemfile.lock +0 -88
- data/LICENSE.txt +0 -21
- data/Rakefile +0 -19
- data/anthropic.gemspec +0 -31
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/lib/anthropic/compatibility.rb +0 -10
- data/lib/anthropic/http.rb +0 -200
- data/lib/anthropic/http_headers.rb +0 -38
- data/lib/anthropic/messages/batches.rb +0 -112
- data/lib/anthropic/messages/client.rb +0 -13
- data/lib/ruby/anthropic.rb +0 -2
- data/pull_request_template.md +0 -5
data/README.md
CHANGED
@@ -1,413 +1,403 @@
|
|
1
|
-
# Anthropic
|
1
|
+
# Anthropic Ruby API library
|
2
2
|
|
3
|
-
[
|
4
|
-
[](https://github.com/alexrudall/anthropic/blob/main/LICENSE.txt)
|
5
|
-
[](https://circleci.com/gh/alexrudall/anthropic)
|
3
|
+
The Anthropic Ruby library provides convenient access to the Anthropic REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/anthropics/anthropic-sdk-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem.
|
6
4
|
|
7
|
-
|
8
|
-
> This gem has been renamed from `anthropic` to `ruby-anthropic`, to make way for the new [official Anthropic Ruby SDK](https://github.com/anthropics/anthropic-sdk-ruby) 🎉
|
9
|
-
> If you wish to keep using this gem, you just need to update your Gemfile from `anthropic` to `ruby-anthropic` and version `0.4.2` or greater. No other changes are needed and it will continue to work as normal.
|
5
|
+
## Documentation
|
10
6
|
|
11
|
-
|
7
|
+
Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/anthropic).
|
12
8
|
|
13
|
-
|
9
|
+
The REST API documentation can be found on [docs.anthropic.com](https://docs.anthropic.com/claude/reference/).
|
14
10
|
|
15
|
-
|
11
|
+
## Installation
|
16
12
|
|
17
|
-
|
13
|
+
To use this gem, install via Bundler by adding the following to your application's `Gemfile`:
|
18
14
|
|
19
|
-
|
15
|
+
<!-- x-release-please-start-version -->
|
20
16
|
|
21
17
|
```ruby
|
22
|
-
gem "anthropic"
|
18
|
+
gem "anthropic", "~> 1.1.0"
|
23
19
|
```
|
24
20
|
|
25
|
-
|
21
|
+
<!-- x-release-please-end -->
|
26
22
|
|
27
|
-
|
23
|
+
## Feedback
|
28
24
|
|
29
|
-
|
25
|
+
If you have recommendations, notice bugs, find things confusing, or anything else, create a github issue. Don't be shy -- we're very open to hearing any thoughts and musings you have!
|
30
26
|
|
31
|
-
|
27
|
+
Feel free to make an issue for more substantial issues. For smaller issues or stream-of-thought, you can use the [pinned issue here](https://github.com/anthropics/anthropic-sdk-ruby/issues/85).
|
32
28
|
|
33
|
-
|
34
|
-
|
35
|
-
and require with:
|
29
|
+
## Usage
|
36
30
|
|
37
31
|
```ruby
|
32
|
+
require "bundler/setup"
|
38
33
|
require "anthropic"
|
39
|
-
```
|
40
34
|
|
41
|
-
|
35
|
+
anthropic = Anthropic::Client.new(
|
36
|
+
api_key: ENV["ANTHROPIC_API_KEY"] # This is the default and can be omitted
|
37
|
+
)
|
42
38
|
|
43
|
-
|
39
|
+
message = anthropic.messages.create(
|
40
|
+
max_tokens: 1024,
|
41
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
42
|
+
model: :"claude-3-7-sonnet-latest"
|
43
|
+
)
|
44
|
+
|
45
|
+
puts(message.content)
|
46
|
+
```
|
47
|
+
|
48
|
+
### Streaming
|
44
49
|
|
45
|
-
|
50
|
+
We provide support for streaming responses using Server-Sent Events (SSE).
|
46
51
|
|
47
|
-
|
52
|
+
**coming soon**: `anthropic.messages.stream` will have [Python SDK](https://github.com/anthropics/anthropic-sdk-python?tab=readme-ov-file#streaming-helpers) style streaming response helpers.
|
48
53
|
|
49
54
|
```ruby
|
50
|
-
|
51
|
-
|
52
|
-
|
55
|
+
stream = anthropic.messages.stream_raw(
|
56
|
+
max_tokens: 1024,
|
57
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
58
|
+
model: :"claude-3-7-sonnet-latest"
|
53
59
|
)
|
60
|
+
|
61
|
+
stream.each do |message|
|
62
|
+
puts(message.type)
|
63
|
+
end
|
54
64
|
```
|
55
65
|
|
56
|
-
###
|
66
|
+
### Pagination
|
67
|
+
|
68
|
+
List methods in the Anthropic API are paginated.
|
57
69
|
|
58
|
-
|
70
|
+
This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
|
59
71
|
|
60
72
|
```ruby
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
73
|
+
page = anthropic.beta.messages.batches.list(limit: 20)
|
74
|
+
|
75
|
+
# Fetch single item from page.
|
76
|
+
batch = page.data[0]
|
77
|
+
puts(batch.id)
|
78
|
+
|
79
|
+
# Automatically fetches more pages as needed.
|
80
|
+
page.auto_paging_each do |batch|
|
81
|
+
puts(batch.id)
|
68
82
|
end
|
69
83
|
```
|
70
84
|
|
71
|
-
|
85
|
+
Alternatively, you can use the `#next_page?` and `#next_page` methods for more granular control working with pages.
|
72
86
|
|
73
87
|
```ruby
|
74
|
-
|
88
|
+
if page.next_page?
|
89
|
+
new_page = page.next_page
|
90
|
+
puts(new_page.data[0].id)
|
91
|
+
end
|
75
92
|
```
|
76
93
|
|
77
|
-
|
78
|
-
|
79
|
-
You can change to a different dated version (different from the URL version which is just `v1`) of Anthropic's API by passing `anthropic_version` when initializing the client. If you don't the default latest will be used, which is "2023-06-01". [More info](https://docs.anthropic.com/claude/reference/versioning)
|
94
|
+
### File uploads
|
80
95
|
|
81
|
-
|
96
|
+
Request parameters that correspond to file uploads can be passed as raw contents, a [`Pathname`](https://rubyapi.org/3.2/o/pathname) instance, [`StringIO`](https://rubyapi.org/3.2/o/stringio), or more.
|
82
97
|
|
83
98
|
```ruby
|
84
|
-
|
85
|
-
access_token: "access_token_goes_here",
|
86
|
-
log_errors: true, # Optional
|
87
|
-
anthropic_version: "2023-01-01", # Optional
|
88
|
-
request_timeout: 240 # Optional
|
89
|
-
)
|
90
|
-
```
|
99
|
+
require "pathname"
|
91
100
|
|
92
|
-
|
101
|
+
# Use `Pathname` to send the filename and/or avoid paging a large file into memory:
|
102
|
+
file_metadata = anthropic.beta.files.upload(file: Pathname("/path/to/file"))
|
93
103
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
104
|
+
# Alternatively, pass file contents or a `StringIO` directly:
|
105
|
+
file_metadata = anthropic.beta.files.upload(file: File.read("/path/to/file"))
|
106
|
+
|
107
|
+
# Or, to control the filename and/or content type:
|
108
|
+
file = Anthropic::FilePart.new(File.read("/path/to/file"), filename: "/path/to/file", content_type: "…")
|
109
|
+
file_metadata = anthropic.beta.files.upload(file: file)
|
110
|
+
|
111
|
+
puts(file_metadata.id)
|
100
112
|
```
|
101
113
|
|
102
|
-
|
114
|
+
Note that you can also pass a raw `IO` descriptor, but this disables retries, as the library can't be sure if the descriptor is a file or pipe (which cannot be rewound).
|
115
|
+
|
116
|
+
### Handling errors
|
103
117
|
|
104
|
-
|
105
|
-
By default, the `anthropic` gem does not log any `Faraday::Error`s encountered while executing a network request to avoid leaking data (e.g. 400s, 500s, SSL errors and more - see [here](https://www.rubydoc.info/github/lostisland/faraday/Faraday/Error) for a complete list of subclasses of `Faraday::Error` and what can cause them).
|
118
|
+
When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `Anthropic::Errors::APIError` will be thrown:
|
106
119
|
|
107
|
-
If you would like to enable this functionality, you can set `log_errors` to `true` when configuring the client:
|
108
120
|
```ruby
|
109
|
-
|
121
|
+
begin
|
122
|
+
message = anthropic.messages.create(
|
123
|
+
max_tokens: 1024,
|
124
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
125
|
+
model: :"claude-3-7-sonnet-latest"
|
126
|
+
)
|
127
|
+
rescue Anthropic::Errors::APIConnectionError => e
|
128
|
+
puts("The server could not be reached")
|
129
|
+
puts(e.cause) # an underlying Exception, likely raised within `net/http`
|
130
|
+
rescue Anthropic::Errors::RateLimitError => e
|
131
|
+
puts("A 429 status code was received; we should back off a bit.")
|
132
|
+
rescue Anthropic::Errors::APIStatusError => e
|
133
|
+
puts("Another non-200-range status code was received")
|
134
|
+
puts(e.status)
|
135
|
+
end
|
110
136
|
```
|
111
137
|
|
112
|
-
|
113
|
-
|
114
|
-
Available Models:
|
138
|
+
Error codes are as follows:
|
115
139
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
140
|
+
| Cause | Error Type |
|
141
|
+
| ---------------- | -------------------------- |
|
142
|
+
| HTTP 400 | `BadRequestError` |
|
143
|
+
| HTTP 401 | `AuthenticationError` |
|
144
|
+
| HTTP 403 | `PermissionDeniedError` |
|
145
|
+
| HTTP 404 | `NotFoundError` |
|
146
|
+
| HTTP 409 | `ConflictError` |
|
147
|
+
| HTTP 422 | `UnprocessableEntityError` |
|
148
|
+
| HTTP 429 | `RateLimitError` |
|
149
|
+
| HTTP >= 500 | `InternalServerError` |
|
150
|
+
| Other HTTP error | `APIStatusError` |
|
151
|
+
| Timeout | `APITimeoutError` |
|
152
|
+
| Network error | `APIConnectionError` |
|
121
153
|
|
122
|
-
|
154
|
+
### Retries
|
123
155
|
|
124
|
-
|
156
|
+
Certain errors will be automatically retried 2 times by default, with a short exponential backoff.
|
125
157
|
|
126
|
-
|
127
|
-
POST https://api.anthropic.com/v1/messages
|
128
|
-
```
|
158
|
+
Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, >=500 Internal errors, and timeouts will all be retried by default.
|
129
159
|
|
130
|
-
|
160
|
+
You can use the `max_retries` option to configure or disable this:
|
131
161
|
|
132
162
|
```ruby
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
}
|
163
|
+
# Configure the default for all requests:
|
164
|
+
anthropic = Anthropic::Client.new(
|
165
|
+
max_retries: 0 # default is 2
|
166
|
+
)
|
167
|
+
|
168
|
+
# Or, configure per-request:
|
169
|
+
anthropic.messages.create(
|
170
|
+
max_tokens: 1024,
|
171
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
172
|
+
model: :"claude-3-7-sonnet-latest",
|
173
|
+
request_options: {max_retries: 5}
|
142
174
|
)
|
143
|
-
# => {
|
144
|
-
# => "id" => "msg_0123MiRVCgSG2PaQZwCGbgmV",
|
145
|
-
# => "type" => "message",
|
146
|
-
# => "role" => "assistant",
|
147
|
-
# => "content" => [{"type"=>"text", "text"=>"¡Hola! Es un gusto saludarte. ¿En qué puedo ayudarte hoy?"}],
|
148
|
-
# => "model" => "claude-3-haiku-20240307",
|
149
|
-
# => "stop_reason" => "end_turn",
|
150
|
-
# => "stop_sequence" => nil,
|
151
|
-
# => "usage" => {"input_tokens"=>17, "output_tokens"=>32}
|
152
|
-
# => }
|
153
175
|
```
|
154
176
|
|
155
|
-
###
|
156
|
-
The Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing a soon as possible.
|
177
|
+
### Timeouts
|
157
178
|
|
158
|
-
|
179
|
+
By default, requests will time out after 600 seconds. You can use the timeout option to configure or disable this:
|
159
180
|
|
160
|
-
Create a batch of message requests:
|
161
181
|
```ruby
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
{
|
166
|
-
custom_id: "my-first-request",
|
167
|
-
params: {
|
168
|
-
model: "claude-3-haiku-20240307",
|
169
|
-
max_tokens: 1024,
|
170
|
-
messages: [
|
171
|
-
{ role: "user", content: "Hello, world" }
|
172
|
-
]
|
173
|
-
}
|
174
|
-
},
|
175
|
-
{
|
176
|
-
custom_id: "my-second-request",
|
177
|
-
params: {
|
178
|
-
model: "claude-3-haiku-20240307",
|
179
|
-
max_tokens: 1024,
|
180
|
-
messages: [
|
181
|
-
{ role: "user", content: "Hi again, friend" }
|
182
|
-
]
|
183
|
-
}
|
184
|
-
}
|
185
|
-
]
|
186
|
-
}
|
182
|
+
# Configure the default for all requests:
|
183
|
+
anthropic = Anthropic::Client.new(
|
184
|
+
timeout: nil # default is 600
|
187
185
|
)
|
188
|
-
batch_id = response["id"]
|
189
|
-
```
|
190
186
|
|
191
|
-
|
192
|
-
|
193
|
-
|
187
|
+
# Or, configure per-request:
|
188
|
+
anthropic.messages.create(
|
189
|
+
max_tokens: 1024,
|
190
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
191
|
+
model: :"claude-3-7-sonnet-latest",
|
192
|
+
request_options: {timeout: 5}
|
193
|
+
)
|
194
194
|
```
|
195
195
|
|
196
|
-
|
197
|
-
```ruby
|
198
|
-
client.messages.batches.cancel(id: batch_id)
|
199
|
-
```
|
196
|
+
On timeout, `Anthropic::Errors::APITimeoutError` is raised.
|
200
197
|
|
201
|
-
|
202
|
-
```ruby
|
203
|
-
client.messages.batches.list
|
204
|
-
```
|
198
|
+
Note that requests that time out are retried by default.
|
205
199
|
|
206
|
-
|
200
|
+
## AWS Bedrock
|
207
201
|
|
208
|
-
|
209
|
-
|
210
|
-
-
|
211
|
-
|
212
|
-
|
213
|
-
- If a batch item takes more than 24 hours to process, it will expire and not be billed.
|
202
|
+
This library also provides support for the [Anthropic Bedrock API](https://aws.amazon.com/bedrock/claude/) if you install this library with the `aws-sdk-bedrockruntime` gem.
|
203
|
+
|
204
|
+
You can then instantiate a separate `Anthropic::BedrockClient` class, and use AWS's standard guide for configuring credentials (see [the aws-sdk-ruby gem README](https://github.com/aws/aws-sdk-ruby?tab=readme-ov-file#configuration) or [AWS Documentation](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html#credchain)). It has the same API as the base `Anthropic::Client` class.
|
205
|
+
|
206
|
+
Note that the model ID required is different for Bedrock models, and, depending on the model you want to use, you will need to use either the AWS's model ID for Anthropic models -- which can be found in [AWS's Bedrock model catalog](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html) -- or an inference profile id (e.g. `us.anthropic.claude-3-5-haiku-20241022-v1:0` for Claude 3.5 Haiku).
|
214
207
|
|
215
|
-
Once processing ends, you can fetch the results:
|
216
208
|
```ruby
|
217
|
-
|
209
|
+
require "bundler/setup"
|
210
|
+
require "anthropic"
|
211
|
+
|
212
|
+
anthropic = Anthropic::BedrockClient.new
|
213
|
+
|
214
|
+
message = anthropic.messages.create(
|
215
|
+
max_tokens: 1024,
|
216
|
+
messages: [
|
217
|
+
{
|
218
|
+
role: "user",
|
219
|
+
content: "Hello, Claude"
|
220
|
+
}
|
221
|
+
],
|
222
|
+
model: "anthropic.claude-3-5-sonnet-20241022-v2:0"
|
223
|
+
)
|
224
|
+
|
225
|
+
puts(message)
|
218
226
|
```
|
219
227
|
|
220
|
-
|
228
|
+
For more examples see [`examples/bedrock`](examples/bedrock).
|
221
229
|
|
222
|
-
|
230
|
+
## Google Vertex
|
223
231
|
|
224
|
-
|
232
|
+
This library also provides support for the [Anthropic Vertex API](https://cloud.google.com/vertex-ai?hl=en) if you install this library with the `googleauth` gem.
|
225
233
|
|
226
|
-
|
234
|
+
You can then import and instantiate a separate `Anthropic::VertexClient` class, and use Google's guide for configuring [Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc). It has the same API as the base `Anthropic::Client` class.
|
227
235
|
|
228
236
|
```ruby
|
229
|
-
require
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
{"type":"base64","media_type":"image/png", imgbase64 }
|
244
|
-
},
|
245
|
-
{"type":"text","text":"What is this"}
|
246
|
-
]
|
247
|
-
}
|
248
|
-
],
|
249
|
-
max_tokens: 1000
|
250
|
-
}
|
237
|
+
require "bundler/setup"
|
238
|
+
require "anthropic"
|
239
|
+
|
240
|
+
anthropic = Anthropic::VertexClient.new(region: "us-east5", project_id: "my-project-id")
|
241
|
+
|
242
|
+
message = anthropic.messages.create(
|
243
|
+
max_tokens: 1024,
|
244
|
+
messages: [
|
245
|
+
{
|
246
|
+
role: "user",
|
247
|
+
content: "Hello, Claude"
|
248
|
+
}
|
249
|
+
],
|
250
|
+
model: "claude-3-7-sonnet@20250219"
|
251
251
|
)
|
252
252
|
|
253
|
-
|
254
|
-
# => "id" => "msg_0123MiRVCgSG2PaQZwCGbgmV",
|
255
|
-
# => "type" => "message",
|
256
|
-
# => "role" => "assistant",
|
257
|
-
# => "content" => [{"type"=>"text", "text"=>"This
|
258
|
-
# => image depicts a person, presumably a student or young adult, holding a tablet
|
259
|
-
# => device. "}],
|
260
|
-
# => "model" => "claude-3-haiku-20240307",
|
261
|
-
# => "stop_reason" => "end_turn",
|
262
|
-
# => "stop_sequence" => nil,
|
263
|
-
# => "usage" => {"input_tokens"=>17, "output_tokens"=>32}
|
264
|
-
# => }
|
253
|
+
puts(message)
|
265
254
|
```
|
266
255
|
|
256
|
+
For more examples see [`examples/vertex`](examples/vertex).
|
267
257
|
|
268
|
-
|
258
|
+
## Advanced concepts
|
269
259
|
|
270
|
-
|
271
|
-
can read more about the supported parameters [here](https://docs.anthropic.com/claude/reference/messages_post).
|
260
|
+
### BaseModel
|
272
261
|
|
273
|
-
|
262
|
+
All parameter and response objects inherit from `Anthropic::Internal::Type::BaseModel`, which provides several conveniences, including:
|
274
263
|
|
275
|
-
|
264
|
+
1. All fields, including unknown ones, are accessible with `obj[:prop]` syntax, and can be destructured with `obj => {prop: prop}` or pattern-matching syntax.
|
276
265
|
|
277
|
-
|
266
|
+
2. Structural equivalence for equality; if two API calls return the same values, comparing the responses with == will return true.
|
278
267
|
|
279
|
-
|
280
|
-
[{ role: "user", content: "Give me the heights of the 3 tallest mountains. Answer in the provided JSON format. Only include JSON." },
|
281
|
-
{ role: "assistant", content: '[{"name": "Mountain Name", "height": "height in km"}]' }]
|
282
|
-
```
|
268
|
+
3. Both instances and the classes themselves can be pretty-printed.
|
283
269
|
|
284
|
-
|
270
|
+
4. Helpers such as `#to_h`, `#deep_to_h`, `#to_json`, and `#to_yaml`.
|
285
271
|
|
286
|
-
|
287
|
-
[{"name"=>"Mount Everest", "height"=>"8.85 km"}, {"name"=>"K2", "height"=>"8.61 km"}, {"name"=>"Kangchenjunga", "height"=>"8.58 km"}]
|
288
|
-
```
|
272
|
+
### Making custom or undocumented requests
|
289
273
|
|
290
|
-
|
274
|
+
#### Undocumented properties
|
291
275
|
|
292
|
-
|
276
|
+
You can send undocumented parameters to any endpoint, and read undocumented response properties, like so:
|
277
|
+
|
278
|
+
> [!WARNING]
|
279
|
+
>
|
280
|
+
> The `extra_` parameters of the same name overrides the documented parameters. For security reasons, ensure these methods are only used with trusted input data.
|
293
281
|
|
294
282
|
```ruby
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
messages: [{
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
283
|
+
message =
|
284
|
+
anthropic.messages.create(
|
285
|
+
max_tokens: 1024,
|
286
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
287
|
+
model: :"claude-3-7-sonnet-latest",
|
288
|
+
request_options: {
|
289
|
+
extra_query: {my_query_parameter: value},
|
290
|
+
extra_body: {my_body_parameter: value},
|
291
|
+
extra_headers: {"my-header": value}
|
292
|
+
}
|
293
|
+
)
|
294
|
+
|
295
|
+
puts(message[:my_undocumented_property])
|
303
296
|
```
|
304
297
|
|
305
|
-
|
306
|
-
|
307
|
-
|
298
|
+
#### Undocumented request params
|
299
|
+
|
300
|
+
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request, as seen in the examples above.
|
308
301
|
|
309
|
-
|
302
|
+
#### Undocumented endpoints
|
303
|
+
|
304
|
+
To make requests to undocumented endpoints while retaining the benefit of auth, retries, and so on, you can make requests using `client.request`, like so:
|
310
305
|
|
311
306
|
```ruby
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>" \""}}
|
320
|
-
...
|
321
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>"'s"}}
|
322
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>" atmosphere"}}
|
323
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>" extends"}}
|
324
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>" up"}}
|
325
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>" to"}}
|
326
|
-
{"type"=>"content_block_delta", "index"=>0, "delta"=>{"type"=>"text_delta", "text"=>" about"}}
|
327
|
-
{"type"=>"content_block_stop", "index"=>0}
|
328
|
-
{"type"=>"message_delta", "delta"=>{"stop_reason"=>"max_tokens", "stop_sequence"=>nil}, "usage"=>{"output_tokens"=>50}}
|
329
|
-
{"type"=>"message_stop"}
|
307
|
+
response = client.request(
|
308
|
+
method: :post,
|
309
|
+
path: '/undocumented/endpoint',
|
310
|
+
query: {"dog": "woof"},
|
311
|
+
headers: {"useful-header": "interesting-value"},
|
312
|
+
body: {"hello": "world"}
|
313
|
+
)
|
330
314
|
```
|
331
315
|
|
332
|
-
|
333
|
-
boilerplate json.
|
316
|
+
### Concurrency & connection pooling
|
334
317
|
|
335
|
-
|
318
|
+
The `Anthropic::Client` instances are threadsafe, but are only are fork-safe when there are no in-flight HTTP requests.
|
336
319
|
|
337
|
-
|
320
|
+
Each instance of `Anthropic::Client` has its own HTTP connection pool with a default size of 99. As such, we recommend instantiating the client once per application in most settings.
|
338
321
|
|
339
|
-
|
340
|
-
client.messages(
|
341
|
-
parameters: {
|
342
|
-
model: "claude-3-haiku-20240307",
|
343
|
-
messages: [{ role: "user", content: "How high is the sky?" }],
|
344
|
-
max_tokens: 50,
|
345
|
-
stream: Proc.new { |incremental_response, delta| process_your(incremental_response, delta) },
|
346
|
-
preprocess_stream: :text
|
347
|
-
}
|
348
|
-
)
|
349
|
-
```
|
322
|
+
When all available connections from the pool are checked out, requests wait for a new connection to become available, with queue time counting towards the request timeout.
|
350
323
|
|
351
|
-
|
352
|
-
then use the second, `delta` argument.
|
324
|
+
Unless otherwise specified, other classes in the SDK do not have locks protecting their underlying data structure.
|
353
325
|
|
354
|
-
|
326
|
+
## Sorbet
|
355
327
|
|
356
|
-
|
328
|
+
This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitions, and has no dependency on sorbet-runtime.
|
357
329
|
|
358
|
-
|
330
|
+
You can provide typesafe request parameters like so:
|
359
331
|
|
360
332
|
```ruby
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
max_tokens: 50,
|
366
|
-
stream: Proc.new { |json_object| process_your(json_object) },
|
367
|
-
preprocess_stream: :json
|
368
|
-
}
|
333
|
+
anthropic.messages.create(
|
334
|
+
max_tokens: 1024,
|
335
|
+
messages: [Anthropic::MessageParam.new(role: "user", content: "Hello, Claude")],
|
336
|
+
model: :"claude-3-7-sonnet-latest"
|
369
337
|
)
|
370
338
|
```
|
371
339
|
|
372
|
-
|
373
|
-
If it succeeds, it will pass you the json object, reset its preprocessing stack, and carry on.
|
340
|
+
Or, equivalently:
|
374
341
|
|
375
|
-
|
376
|
-
|
342
|
+
```ruby
|
343
|
+
# Hashes work, but are not typesafe:
|
344
|
+
anthropic.messages.create(
|
345
|
+
max_tokens: 1024,
|
346
|
+
messages: [{role: "user", content: "Hello, Claude"}],
|
347
|
+
model: :"claude-3-7-sonnet-latest"
|
348
|
+
)
|
377
349
|
|
378
|
-
|
350
|
+
# You can also splat a full Params class:
|
351
|
+
params = Anthropic::MessageCreateParams.new(
|
352
|
+
max_tokens: 1024,
|
353
|
+
messages: [Anthropic::MessageParam.new(role: "user", content: "Hello, Claude")],
|
354
|
+
model: :"claude-3-7-sonnet-latest"
|
355
|
+
)
|
356
|
+
anthropic.messages.create(**params)
|
357
|
+
```
|
379
358
|
|
380
|
-
|
359
|
+
### Enums
|
381
360
|
|
382
|
-
|
361
|
+
Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
|
383
362
|
|
384
|
-
|
363
|
+
```ruby
|
364
|
+
# :auto
|
365
|
+
puts(Anthropic::MessageCreateParams::ServiceTier::AUTO)
|
385
366
|
|
386
|
-
|
387
|
-
|
367
|
+
# Revealed type: `T.all(Anthropic::MessageCreateParams::ServiceTier, Symbol)`
|
368
|
+
T.reveal_type(Anthropic::MessageCreateParams::ServiceTier::AUTO)
|
369
|
+
```
|
388
370
|
|
389
|
-
|
371
|
+
Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
|
390
372
|
|
391
|
-
|
373
|
+
```ruby
|
374
|
+
# Using the enum constants preserves the tagged type information:
|
375
|
+
anthropic.messages.create(
|
376
|
+
service_tier: Anthropic::MessageCreateParams::ServiceTier::AUTO,
|
377
|
+
# …
|
378
|
+
)
|
392
379
|
|
393
|
-
|
380
|
+
# Literal values are also permissible:
|
381
|
+
anthropic.messages.create(
|
382
|
+
service_tier: :auto,
|
383
|
+
# …
|
384
|
+
)
|
385
|
+
```
|
394
386
|
|
395
|
-
|
387
|
+
## Versioning
|
396
388
|
|
397
|
-
|
398
|
-
ANTHROPIC_API_KEY=123abc bundle exec rspec
|
399
|
-
```
|
389
|
+
This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.
|
400
390
|
|
401
|
-
|
391
|
+
This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` type definitions to be non-breaking changes.
|
402
392
|
|
403
|
-
##
|
393
|
+
## Requirements
|
404
394
|
|
405
|
-
|
395
|
+
Ruby 3.2.0 or higher.
|
406
396
|
|
407
|
-
##
|
397
|
+
## Contributing
|
408
398
|
|
409
|
-
|
399
|
+
See [the contributing documentation](https://github.com/anthropics/anthropic-sdk-ruby/tree/main/CONTRIBUTING.md).
|
410
400
|
|
411
|
-
##
|
401
|
+
## Acknowledgements
|
412
402
|
|
413
|
-
|
403
|
+
Thank you [@alexrudall](https://github.com/alexrudall) for giving feedback, donating the `anthropic` Ruby Gem name, and paving the way by building the first Anthropic Ruby SDK.
|