anthropic 2.1.0 → 2.3.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/CHANGELOG.md +57 -0
- data/README.md +2 -2
- data/lib/anthropic/client.rb +9 -1
- data/lib/anthropic/helpers/bedrock/client.rb +11 -3
- data/lib/anthropic/helpers/bedrock/mantle_client.rb +5 -0
- data/lib/anthropic/helpers/google_cloud/client.rb +9 -25
- data/lib/anthropic/helpers/refusal_fallback.rb +1 -2
- data/lib/anthropic/helpers/stainless_helper_header.rb +4 -2
- data/lib/anthropic/helpers/threads/beta_message_thread.rb +635 -0
- data/lib/anthropic/helpers/tools/runner.rb +79 -11
- data/lib/anthropic/helpers/vertex/client.rb +5 -0
- data/lib/anthropic/internal/report_page_cursor.rb +2 -2
- data/lib/anthropic/internal/tracing.rb +22 -0
- data/lib/anthropic/internal/transport/base_client.rb +16 -2
- data/lib/anthropic/models/anthropic_beta.rb +9 -0
- data/lib/anthropic/models/beta/beta_code_execution_tool_20260120.rb +10 -2
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_content.rb +5 -1
- data/lib/anthropic/models/beta/beta_code_execution_tool_result_block_param_content.rb +1 -1
- data/lib/anthropic/models/beta/beta_encrypted_code_execution_result_block.rb +9 -1
- data/lib/anthropic/models/beta/beta_encrypted_code_execution_result_block_param.rb +2 -1
- data/lib/anthropic/models/beta/beta_message_thread_param.rb +61 -0
- data/lib/anthropic/models/beta/beta_response_tool_union.rb +5 -1
- data/lib/anthropic/models/beta/beta_skill_params.rb +1 -1
- data/lib/anthropic/models/beta/beta_thread_continue_params.rb +29 -0
- data/lib/anthropic/models/beta/beta_thread_create_params.rb +21 -0
- data/lib/anthropic/models/beta/beta_tool_union.rb +5 -1
- data/lib/anthropic/models/beta/environments/beta_self_hosted_work_heartbeat_response.rb +7 -2
- data/lib/anthropic/models/beta/environments/beta_self_hosted_work_queue_stats.rb +2 -4
- data/lib/anthropic/models/beta/message_count_tokens_params.rb +5 -1
- data/lib/anthropic/models/beta/message_create_params.rb +13 -1
- data/lib/anthropic/models/beta/messages/batch_create_params.rb +13 -1
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rb +271 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rb +40 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rb +57 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rb +57 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rb +22 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rb +247 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rb +38 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rb +57 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rb +79 -0
- data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rb +24 -0
- data/lib/anthropic/models/beta/organization/analytics/cost_list_params.rb +360 -0
- data/lib/anthropic/models/beta/organization/analytics/usage_list_params.rb +353 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_actor.rb +81 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_actor_type.rb +22 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_api_actor.rb +27 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor.rb +42 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rb +35 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rb +27 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rb +27 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rb +27 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rb +72 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rb +21 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_report_user_actor.rb +65 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_service_account_actor.rb +27 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_service_tier.rb +23 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_speed.rb +19 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rb +20 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rb +19 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rb +34 -0
- data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rb +19 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rb +21 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rb +63 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rb +21 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rb +21 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rb +21 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_setting_source.rb +87 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rb +72 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_settings.rb +70 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_settings_create.rb +67 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_settings_update.rb +67 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rb +37 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rb +29 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rb +22 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rb +31 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rb +30 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rb +23 -0
- data/lib/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rb +29 -0
- data/lib/anthropic/models/beta/organization/beta_external_key.rb +3 -3
- data/lib/anthropic/models/beta/organization/beta_organization_rate_limit.rb +2 -1
- data/lib/anthropic/models/beta/organization/beta_plugin.rb +12 -6
- data/lib/anthropic/models/beta/organization/beta_plugin_content_scan.rb +11 -5
- data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rb +66 -0
- data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rb +32 -0
- data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rb +87 -0
- data/lib/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rb +86 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundle_list_params.rb +49 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rb +41 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rb +76 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rb +70 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rb +34 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rb +57 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rb +38 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rb +57 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rb +38 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rb +43 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rb +53 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rb +59 -0
- data/lib/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rb +53 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rb +50 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rb +41 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rb +79 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rb +52 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rb +49 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rb +70 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rb +52 -0
- data/lib/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rb +49 -0
- data/lib/anthropic/models/beta/organization/workspaces/beta_workspace_rate_limit.rb +2 -1
- data/lib/anthropic/models/code_execution_tool_20260120.rb +10 -2
- data/lib/anthropic/models/code_execution_tool_result_block_content.rb +5 -1
- data/lib/anthropic/models/code_execution_tool_result_block_param_content.rb +1 -1
- data/lib/anthropic/models/encrypted_code_execution_result_block.rb +9 -1
- data/lib/anthropic/models/encrypted_code_execution_result_block_param.rb +2 -1
- data/lib/anthropic/models/message_count_tokens_tool.rb +5 -1
- data/lib/anthropic/models/organization/external_key.rb +3 -3
- data/lib/anthropic/models/organization/organization_rate_limit.rb +2 -1
- data/lib/anthropic/models/organization/workspaces/workspace_rate_limit.rb +2 -1
- data/lib/anthropic/models/skill_params.rb +1 -1
- data/lib/anthropic/models/tool_union.rb +5 -1
- data/lib/anthropic/resources/beta/agents/versions.rb +2 -1
- data/lib/anthropic/resources/beta/agents.rb +10 -5
- data/lib/anthropic/resources/beta/deployment_runs.rb +4 -2
- data/lib/anthropic/resources/beta/deployments.rb +16 -8
- data/lib/anthropic/resources/beta/dreams.rb +10 -5
- data/lib/anthropic/resources/beta/environments/work.rb +16 -8
- data/lib/anthropic/resources/beta/environments.rb +12 -6
- data/lib/anthropic/resources/beta/files.rb +10 -5
- data/lib/anthropic/resources/beta/memory_stores/memories.rb +10 -5
- data/lib/anthropic/resources/beta/memory_stores/memory_versions.rb +6 -11
- data/lib/anthropic/resources/beta/memory_stores.rb +12 -6
- data/lib/anthropic/resources/beta/messages/batches.rb +12 -6
- data/lib/anthropic/resources/beta/messages.rb +84 -7
- data/lib/anthropic/resources/beta/models.rb +4 -2
- data/lib/anthropic/resources/beta/organization/analytics/apps/chat/projects.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics/artifacts.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics/connectors.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics/cost.rb +176 -0
- data/lib/anthropic/resources/beta/organization/analytics/cost_report.rb +14 -6
- data/lib/anthropic/resources/beta/organization/analytics/plugins.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics/skills.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics/summaries.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics/usage.rb +177 -0
- data/lib/anthropic/resources/beta/organization/analytics/usage_report.rb +11 -3
- data/lib/anthropic/resources/beta/organization/analytics/user_cost_report.rb +17 -9
- data/lib/anthropic/resources/beta/organization/analytics/user_usage_report.rb +17 -9
- data/lib/anthropic/resources/beta/organization/analytics/users.rb +2 -1
- data/lib/anthropic/resources/beta/organization/analytics.rb +8 -0
- data/lib/anthropic/resources/beta/organization/api_keys.rb +6 -3
- data/lib/anthropic/resources/beta/organization/claude_tag/bundles/targets.rb +204 -0
- data/lib/anthropic/resources/beta/organization/claude_tag/bundles.rb +102 -0
- data/lib/anthropic/resources/beta/organization/claude_tag/slack_channels.rb +263 -0
- data/lib/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rb +162 -0
- data/lib/anthropic/resources/beta/organization/claude_tag.rb +31 -0
- data/lib/anthropic/resources/beta/organization/compliance_settings.rb +4 -2
- data/lib/anthropic/resources/beta/organization/external_keys.rb +12 -6
- data/lib/anthropic/resources/beta/organization/federation/issuers.rb +10 -5
- data/lib/anthropic/resources/beta/organization/federation/rules/workspaces.rb +6 -3
- data/lib/anthropic/resources/beta/organization/federation/rules.rb +10 -5
- data/lib/anthropic/resources/beta/organization/invites.rb +8 -4
- data/lib/anthropic/resources/beta/organization/plugin_marketplaces.rb +16 -11
- data/lib/anthropic/resources/beta/organization/plugins/installation_settings.rb +6 -11
- data/lib/anthropic/resources/beta/organization/plugins/shares.rb +2 -1
- data/lib/anthropic/resources/beta/organization/plugins/versions.rb +8 -4
- data/lib/anthropic/resources/beta/organization/plugins.rb +22 -14
- data/lib/anthropic/resources/beta/organization/rate_limits.rb +2 -1
- data/lib/anthropic/resources/beta/organization/rbac_groups/members.rb +6 -3
- data/lib/anthropic/resources/beta/organization/rbac_groups.rb +10 -5
- data/lib/anthropic/resources/beta/organization/rbac_roles/permissions.rb +2 -1
- data/lib/anthropic/resources/beta/organization/rbac_roles.rb +4 -2
- data/lib/anthropic/resources/beta/organization/service_accounts/workspaces.rb +6 -3
- data/lib/anthropic/resources/beta/organization/service_accounts.rb +10 -5
- data/lib/anthropic/resources/beta/organization/spend_limits/effective.rb +2 -1
- data/lib/anthropic/resources/beta/organization/spend_limits/increase_requests.rb +8 -4
- data/lib/anthropic/resources/beta/organization/spend_limits.rb +8 -4
- data/lib/anthropic/resources/beta/organization/telemetry_destinations/workspaces.rb +6 -3
- data/lib/anthropic/resources/beta/organization/telemetry_destinations.rb +12 -6
- data/lib/anthropic/resources/beta/organization/users.rb +8 -4
- data/lib/anthropic/resources/beta/organization/webhooks.rb +12 -9
- data/lib/anthropic/resources/beta/organization/workspaces/members.rb +10 -5
- data/lib/anthropic/resources/beta/organization/workspaces/rate_limits.rb +4 -6
- data/lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb +10 -5
- data/lib/anthropic/resources/beta/organization/workspaces.rb +10 -5
- data/lib/anthropic/resources/beta/organization.rb +6 -1
- data/lib/anthropic/resources/beta/sessions/events.rb +6 -3
- data/lib/anthropic/resources/beta/sessions/resources.rb +10 -5
- data/lib/anthropic/resources/beta/sessions/threads/events.rb +4 -2
- data/lib/anthropic/resources/beta/sessions/threads.rb +6 -3
- data/lib/anthropic/resources/beta/sessions.rb +12 -6
- data/lib/anthropic/resources/beta/skills/versions.rb +10 -5
- data/lib/anthropic/resources/beta/skills.rb +8 -4
- data/lib/anthropic/resources/beta/tunnels/certificates.rb +8 -4
- data/lib/anthropic/resources/beta/tunnels.rb +12 -6
- data/lib/anthropic/resources/beta/user_profiles/action_urls.rb +2 -1
- data/lib/anthropic/resources/beta/user_profiles.rb +12 -6
- data/lib/anthropic/resources/beta/vaults/credentials.rb +14 -7
- data/lib/anthropic/resources/beta/vaults.rb +12 -6
- data/lib/anthropic/version.rb +1 -1
- data/lib/anthropic.rb +83 -0
- data/rbi/anthropic/client.rbi +5 -0
- data/rbi/anthropic/helpers/bedrock/client.rbi +5 -0
- data/rbi/anthropic/helpers/bedrock/mantle_client.rbi +5 -0
- data/rbi/anthropic/helpers/google_cloud/client.rbi +0 -4
- data/rbi/anthropic/helpers/threads/beta_message_thread.rbi +100 -0
- data/rbi/anthropic/helpers/vertex/client.rbi +5 -0
- data/rbi/anthropic/internal/tracing.rbi +32 -0
- data/rbi/anthropic/internal/transport/base_client.rbi +5 -1
- data/rbi/anthropic/internal/type/base_page.rbi +2 -0
- data/rbi/anthropic/internal/type/base_stream.rbi +2 -0
- data/rbi/anthropic/internal/type/request_parameters.rbi +4 -0
- data/rbi/anthropic/models/anthropic_beta.rbi +15 -0
- data/rbi/anthropic/models/beta/beta_code_execution_tool_20260120.rbi +10 -2
- data/rbi/anthropic/models/beta/beta_encrypted_code_execution_result_block.rbi +9 -1
- data/rbi/anthropic/models/beta/beta_encrypted_code_execution_result_block_param.rbi +2 -1
- data/rbi/anthropic/models/beta/beta_message_thread_param.rbi +80 -0
- data/rbi/anthropic/models/beta/beta_skill_params.rbi +1 -1
- data/rbi/anthropic/models/beta/beta_thread_continue_params.rbi +43 -0
- data/rbi/anthropic/models/beta/beta_thread_create_params.rbi +31 -0
- data/rbi/anthropic/models/beta/environments/beta_self_hosted_work_heartbeat_response.rbi +4 -2
- data/rbi/anthropic/models/beta/environments/beta_self_hosted_work_queue_stats.rbi +2 -4
- data/rbi/anthropic/models/beta/message_create_params.rbi +37 -0
- data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +37 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rbi +439 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rbi +140 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rbi +110 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rbi +79 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rbi +50 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rbi +399 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rbi +130 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rbi +110 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rbi +120 -0
- data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rbi +60 -0
- data/rbi/anthropic/models/beta/organization/analytics/cost_list_params.rbi +624 -0
- data/rbi/anthropic/models/beta/organization/analytics/usage_list_params.rbi +612 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_actor.rbi +134 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_actor_type.rbi +54 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_api_actor.rbi +40 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor.rbi +75 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rbi +54 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rbi +42 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rbi +42 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rbi +42 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rbi +107 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rbi +53 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_report_user_actor.rbi +94 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_service_account_actor.rbi +42 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_service_tier.rbi +63 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_speed.rbi +40 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rbi +48 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rbi +43 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rbi +98 -0
- data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rbi +43 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rbi +31 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rbi +87 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rbi +31 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rbi +31 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rbi +31 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_setting_source.rbi +115 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rbi +178 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings.rbi +108 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings_create.rbi +110 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_settings_update.rbi +110 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rbi +50 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rbi +43 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rbi +32 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rbi +67 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rbi +44 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rbi +36 -0
- data/rbi/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rbi +43 -0
- data/rbi/anthropic/models/beta/organization/beta_external_key.rbi +4 -4
- data/rbi/anthropic/models/beta/organization/beta_organization_rate_limit.rbi +4 -2
- data/rbi/anthropic/models/beta/organization/beta_plugin.rbi +20 -8
- data/rbi/anthropic/models/beta/organization/beta_plugin_content_scan.rbi +15 -6
- data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rbi +87 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rbi +41 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rbi +154 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rbi +151 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundle_list_params.rbi +92 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rbi +78 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rbi +102 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rbi +92 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rbi +43 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rbi +78 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rbi +51 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rbi +78 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rbi +51 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rbi +82 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rbi +94 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rbi +104 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rbi +94 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rbi +118 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rbi +78 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rbi +134 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rbi +95 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rbi +100 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rbi +124 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rbi +95 -0
- data/rbi/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rbi +100 -0
- data/rbi/anthropic/models/beta/organization/workspaces/beta_workspace_rate_limit.rbi +4 -2
- data/rbi/anthropic/models/code_execution_tool_20260120.rbi +10 -2
- data/rbi/anthropic/models/encrypted_code_execution_result_block.rbi +9 -1
- data/rbi/anthropic/models/encrypted_code_execution_result_block_param.rbi +2 -1
- data/rbi/anthropic/models/organization/external_key.rbi +4 -4
- data/rbi/anthropic/models/organization/organization_rate_limit.rbi +4 -2
- data/rbi/anthropic/models/organization/workspaces/workspace_rate_limit.rbi +4 -2
- data/rbi/anthropic/models/skill_params.rbi +1 -1
- data/rbi/anthropic/resources/beta/messages.rbi +191 -0
- data/rbi/anthropic/resources/beta/organization/analytics/cost.rbi +245 -0
- data/rbi/anthropic/resources/beta/organization/analytics/cost_report.rbi +12 -5
- data/rbi/anthropic/resources/beta/organization/analytics/usage.rbi +240 -0
- data/rbi/anthropic/resources/beta/organization/analytics/usage_report.rbi +9 -2
- data/rbi/anthropic/resources/beta/organization/analytics/user_cost_report.rbi +14 -7
- data/rbi/anthropic/resources/beta/organization/analytics/user_usage_report.rbi +14 -7
- data/rbi/anthropic/resources/beta/organization/analytics.rbi +10 -0
- data/rbi/anthropic/resources/beta/organization/claude_tag/bundles/targets.rbi +140 -0
- data/rbi/anthropic/resources/beta/organization/claude_tag/bundles.rbi +75 -0
- data/rbi/anthropic/resources/beta/organization/claude_tag/slack_channels.rbi +203 -0
- data/rbi/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rbi +123 -0
- data/rbi/anthropic/resources/beta/organization/claude_tag.rbi +37 -0
- data/rbi/anthropic/resources/beta/organization/plugin_marketplaces.rbi +6 -6
- data/rbi/anthropic/resources/beta/organization/plugins.rbi +12 -9
- data/rbi/anthropic/resources/beta/organization.rbi +3 -0
- data/rbi/lib/anthropic/helpers/stainless_helper_header.rbi +2 -0
- data/sig/anthropic/client.rbs +2 -0
- data/sig/anthropic/helpers/bedrock/client.rbs +2 -0
- data/sig/anthropic/helpers/google_cloud/client.rbs +0 -2
- data/sig/anthropic/helpers/threads/beta_message_thread.rbs +40 -0
- data/sig/anthropic/helpers/tools/runner.rbs +40 -0
- data/sig/anthropic/helpers/vertex/client.rbs +2 -0
- data/sig/anthropic/internal/tracing.rbs +16 -0
- data/sig/anthropic/internal/transport/base_client.rbs +3 -0
- data/sig/anthropic/internal/type/request_parameters.rbs +2 -0
- data/sig/anthropic/models/anthropic_beta.rbs +6 -0
- data/sig/anthropic/models/beta/beta_message_thread_param.rbs +40 -0
- data/sig/anthropic/models/beta/beta_thread_continue_params.rbs +20 -0
- data/sig/anthropic/models/beta/beta_thread_create_params.rbs +17 -0
- data/sig/anthropic/models/beta/message_create_params.rbs +5 -0
- data/sig/anthropic/models/beta/messages/batch_create_params.rbs +5 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rbs +126 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rbs +60 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rbs +41 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rbs +41 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rbs +21 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rbs +116 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rbs +56 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rbs +41 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rbs +56 -0
- data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rbs +28 -0
- data/sig/anthropic/models/beta/organization/analytics/cost_list_params.rbs +188 -0
- data/sig/anthropic/models/beta/organization/analytics/usage_list_params.rbs +188 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_actor.rbs +67 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_actor_type.rbs +21 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_api_actor.rbs +19 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor.rbs +34 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rbs +30 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rbs +20 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rbs +20 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rbs +20 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rbs +60 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rbs +21 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_report_user_actor.rbs +44 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_service_account_actor.rbs +26 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_service_tier.rbs +28 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_speed.rbs +18 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rbs +19 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rbs +18 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rbs +40 -0
- data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rbs +18 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_default_setting_source.rbs +17 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy.rbs +45 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_allow.rbs +17 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_channel_only.rbs +17 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_guest_policy_restrict.rbs +17 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_setting_source.rbs +73 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_setting_sources.rbs +44 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_settings.rbs +44 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_settings_create.rbs +44 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_settings_update.rbs +44 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_channel_identifiers.rbs +20 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_channel_setting_source.rbs +23 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_default_setting_source.rbs +18 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_grid_channel_setting_source.rbs +29 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_parent_channel_setting_source.rbs +26 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_identifiers.rbs +18 -0
- data/sig/anthropic/models/beta/organization/beta_claude_tag_slack_workspace_setting_source.rbs +23 -0
- data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_bundle.rbs +51 -0
- data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_deleted_slack_channel.rbs +22 -0
- data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_channel.rbs +56 -0
- data/sig/anthropic/models/beta/organization/claude_tag/beta_claude_tag_slack_workspace.rbs +56 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundle_list_params.rbs +50 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundle_retrieve_params.rbs +41 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target.rbs +54 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_bundle_target_create.rbs +48 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_deleted_bundle_target.rbs +27 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target.rbs +43 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_channel_bundle_target_create.rbs +27 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target.rbs +43 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/beta_claude_tag_slack_workspace_bundle_target_create.rbs +30 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_create_params.rbs +43 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_delete_params.rbs +48 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_list_params.rbs +57 -0
- data/sig/anthropic/models/beta/organization/claude_tag/bundles/target_retrieve_params.rbs +48 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_create_params.rbs +50 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_delete_params.rbs +38 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_list_params.rbs +69 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_retrieve_params.rbs +48 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_channel_update_params.rbs +46 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_list_params.rbs +64 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_retrieve_params.rbs +48 -0
- data/sig/anthropic/models/beta/organization/claude_tag/slack_workspace_update_params.rbs +46 -0
- data/sig/anthropic/resources/beta/messages.rbs +33 -0
- data/sig/anthropic/resources/beta/organization/analytics/cost.rbs +46 -0
- data/sig/anthropic/resources/beta/organization/analytics/usage.rbs +46 -0
- data/sig/anthropic/resources/beta/organization/analytics.rbs +4 -0
- data/sig/anthropic/resources/beta/organization/claude_tag/bundles/targets.rbs +44 -0
- data/sig/anthropic/resources/beta/organization/claude_tag/bundles.rbs +28 -0
- data/sig/anthropic/resources/beta/organization/claude_tag/slack_channels.rbs +50 -0
- data/sig/anthropic/resources/beta/organization/claude_tag/slack_workspaces.rbs +36 -0
- data/sig/anthropic/resources/beta/organization/claude_tag.rbs +17 -0
- data/sig/anthropic/resources/beta/organization.rbs +2 -0
- metadata +252 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 19e65c78c32b38c06866fa6d8bc50f8219170fc73c7a2171c118e89a3c8fdf65
|
|
4
|
+
data.tar.gz: d2a9d4159eaf896aa79f238e7980f9fb15a523a44aa77e7165ef18bbb2bd3969
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a875dfc422ae1a9257e133e34307c40d3779f1560cb3c4b88a1193e2824f6a6b8b245ac2c459cd1a31c75a357bdfabc06a55f2f2620863b3928d54588c91cc11
|
|
7
|
+
data.tar.gz: 72a6f11b4fa46e78254ce2593557d6bdb48b4e9db948b973a1392536e05fe332b7544149095c78ca7239cc4e11fd5a7e97fc552825316c433aae0392920ce01a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.3.0](https://github.com/anthropics/anthropic-sdk-ruby/compare/v2.2.0...v2.3.0) (2026-10-23)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **api:** add Claude Tag endpoints for Claude Enterprise organizations
|
|
8
|
+
* **google-cloud:** add user profiles and send them to the organization endpoint; `user_profiles` calls used to raise `NotImplementedError`
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **bedrock:** `BedrockClient` with an API key takes its region from `AWS_REGION`, then `AWS_DEFAULT_REGION`, when `aws_region` is not passed
|
|
14
|
+
* **client:** link the long-request error message to the SDK documentation
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Chores
|
|
18
|
+
|
|
19
|
+
* **client:** stop sending query params hardcoded in endpoint paths
|
|
20
|
+
* **docs:** improve the descriptions of the code execution tool and its encrypted results
|
|
21
|
+
* **docs:** reword work queue, skill and external key descriptions
|
|
22
|
+
* **docs:** update descriptions of the per-user usage and cost reports
|
|
23
|
+
* **internal:** carry endpoint path query params to the request layer
|
|
24
|
+
* **internal:** check the repository by owner and public name in workflows
|
|
25
|
+
* **internal:** lint against mixing a module into a class from outside
|
|
26
|
+
* **internal:** read the beta route qualifier instead of the beta=true query
|
|
27
|
+
* **internal:** remove preview build upload from CI
|
|
28
|
+
* **internal:** stop expecting the beta query param in tests
|
|
29
|
+
* **internal:** test that rbi and sig declare every public method
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
* **google-cloud:** update the product name
|
|
35
|
+
* update the README and the example request
|
|
36
|
+
|
|
37
|
+
## [2.2.0](https://github.com/anthropics/anthropic-sdk-ruby/compare/v2.1.0...v2.2.0) (2026-10-23)
|
|
38
|
+
|
|
39
|
+
### Features
|
|
40
|
+
|
|
41
|
+
* **api:** add support for message threads
|
|
42
|
+
* **api:** add usage and cost reports by dimension, mark older reports legacy
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Bug Fixes
|
|
46
|
+
|
|
47
|
+
* **tools:** a tool runner whose messages are replaced while a reply is handled skips that turn again: no tool runs and the next request sends the new messages as they are
|
|
48
|
+
* **tools:** the tool runner takes a frozen `messages` array again when no tool is called
|
|
49
|
+
* **tools:** the assistant turn that the tool runner adds to `params[:messages]` can be edited again, and its blocks other than tool calls are typed blocks again
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Chores
|
|
53
|
+
|
|
54
|
+
* **ci:** update the runner label for internal CI jobs
|
|
55
|
+
* **docs:** clarify plugin content scan and validation descriptions
|
|
56
|
+
* **docs:** clarify plugin served_version_pinned and updated_at
|
|
57
|
+
* **docs:** fix usage and cost report examples and ending_at docs
|
|
58
|
+
* **docs:** rate limit model lists vary by organization and workspace
|
|
59
|
+
|
|
3
60
|
## [2.1.0](https://github.com/anthropics/anthropic-sdk-ruby/compare/v2.0.0...v2.1.0) (2026-10-21)
|
|
4
61
|
|
|
5
62
|
### Features
|
data/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Add to your application's Gemfile:
|
|
|
15
15
|
<!-- x-release-please-start-version -->
|
|
16
16
|
|
|
17
17
|
```ruby
|
|
18
|
-
gem "anthropic", "~> 2.
|
|
18
|
+
gem "anthropic", "~> 2.3.0"
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
<!-- x-release-please-end -->
|
|
@@ -33,7 +33,7 @@ anthropic = Anthropic::Client.new(
|
|
|
33
33
|
message = anthropic.messages.create(
|
|
34
34
|
max_tokens: 1024,
|
|
35
35
|
messages: [{role: "user", content: "Hello, Claude"}],
|
|
36
|
-
model:
|
|
36
|
+
model: Anthropic::Model::CLAUDE_OPUS_5_5
|
|
37
37
|
)
|
|
38
38
|
|
|
39
39
|
puts(message.content)
|
data/lib/anthropic/client.rb
CHANGED
|
@@ -118,7 +118,7 @@ module Anthropic
|
|
|
118
118
|
if expected_time > default_time || (max_nonstreaming_tokens && max_tokens > max_nonstreaming_tokens)
|
|
119
119
|
raise ArgumentError.new(
|
|
120
120
|
"Streaming is required for operations that may take longer than 10 minutes. " \
|
|
121
|
-
"See https://
|
|
121
|
+
"See https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/ruby#streaming for more details"
|
|
122
122
|
)
|
|
123
123
|
end
|
|
124
124
|
|
|
@@ -355,6 +355,14 @@ module Anthropic
|
|
|
355
355
|
super
|
|
356
356
|
end
|
|
357
357
|
|
|
358
|
+
# @api private
|
|
359
|
+
#
|
|
360
|
+
# Whether the platform this client talks to has message threads. Platform clients whose
|
|
361
|
+
# platform has none override this.
|
|
362
|
+
#
|
|
363
|
+
# @return [Boolean]
|
|
364
|
+
def message_threads? = true
|
|
365
|
+
|
|
358
366
|
private
|
|
359
367
|
|
|
360
368
|
# @api private
|
|
@@ -28,6 +28,7 @@ module Anthropic
|
|
|
28
28
|
#
|
|
29
29
|
# @param aws_region [String, nil] Enforce the AWS Region to use. If unset, the region is set according to the
|
|
30
30
|
# AWS SDK's default resolution order, described at https://github.com/aws/aws-sdk-ruby?tab=readme-ov-file#configuration
|
|
31
|
+
# With an API key, defaults to `ENV["AWS_REGION"]`, then `ENV["AWS_DEFAULT_REGION"]`.
|
|
31
32
|
#
|
|
32
33
|
# @param aws_access_key [String, nil] Optional AWS access key to use for authentication. Overrides profile and credential provider chain
|
|
33
34
|
#
|
|
@@ -118,7 +119,7 @@ module Anthropic
|
|
|
118
119
|
credentials: @aws_credentials
|
|
119
120
|
)
|
|
120
121
|
else
|
|
121
|
-
@aws_region = aws_region
|
|
122
|
+
@aws_region = aws_region || env_lookup("AWS_REGION", "AWS_DEFAULT_REGION")
|
|
122
123
|
end
|
|
123
124
|
|
|
124
125
|
base_url = ENV["ANTHROPIC_BEDROCK_BASE_URL"] if base_url.to_s.empty?
|
|
@@ -155,6 +156,11 @@ module Anthropic
|
|
|
155
156
|
raise NotImplementedError.new(message)
|
|
156
157
|
end
|
|
157
158
|
|
|
159
|
+
# @api private
|
|
160
|
+
#
|
|
161
|
+
# @return [Boolean]
|
|
162
|
+
def message_threads? = false
|
|
163
|
+
|
|
158
164
|
def files
|
|
159
165
|
raise NotImplementedError, "Files are not supported on Bedrock."
|
|
160
166
|
end
|
|
@@ -304,14 +310,16 @@ module Anthropic
|
|
|
304
310
|
private def validate_bedrock_request!(request_components)
|
|
305
311
|
# Id-parameterized routes pass `path` as an Array whose first element
|
|
306
312
|
# is the format string (e.g. `["v1/messages/batches/%1$s", id]`).
|
|
307
|
-
|
|
313
|
+
path = Array(request_components[:path]).first.to_s
|
|
314
|
+
beta = request_components.dig(:qualifiers, :beta) == "true" || path.include?("?beta=true")
|
|
315
|
+
case path
|
|
308
316
|
in %r{^v1/messages/batches}
|
|
309
317
|
message = "The Batch API is not supported in Bedrock yet"
|
|
310
318
|
raise NotImplementedError.new(message)
|
|
311
319
|
in %r{v1/messages/count_tokens}
|
|
312
320
|
message = "Token counting is not supported in Bedrock yet"
|
|
313
321
|
raise NotImplementedError.new(message)
|
|
314
|
-
in %r{v1/models
|
|
322
|
+
in %r{v1/models(\?|\z)} if beta
|
|
315
323
|
# rubocop:disable Layout/LineLength
|
|
316
324
|
message = "Please instead use https://docs.anthropic.com/en/api/claude-on-amazon-bedrock#list-available-models to list available models on Bedrock."
|
|
317
325
|
# rubocop:enable Layout/LineLength
|
|
@@ -111,6 +111,11 @@ module Anthropic
|
|
|
111
111
|
"Models listing is not supported on Bedrock Mantle. Only Messages (/v1/messages) is supported."
|
|
112
112
|
end
|
|
113
113
|
|
|
114
|
+
# @api private
|
|
115
|
+
#
|
|
116
|
+
# @return [Boolean]
|
|
117
|
+
def message_threads? = false
|
|
118
|
+
|
|
114
119
|
# Files are not supported on Bedrock Mantle. Only Messages (/v1/messages) is supported.
|
|
115
120
|
def files
|
|
116
121
|
raise NotImplementedError,
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
module Anthropic
|
|
4
4
|
module Helpers
|
|
5
5
|
module GoogleCloud
|
|
6
|
-
# Client for Claude
|
|
7
|
-
# API served through the Google Cloud gateway.
|
|
6
|
+
# Client for Claude Models on Google Cloud (Anthropic managed) — the
|
|
7
|
+
# first-party Anthropic API served through the Google Cloud gateway.
|
|
8
8
|
#
|
|
9
9
|
# This is distinct from {Anthropic::VertexClient}, which targets the
|
|
10
10
|
# `:rawPredict` publisher-model API (publisher model IDs, messages
|
|
11
11
|
# only). This client speaks the full first-party Anthropic API: requests
|
|
12
12
|
# pass through the gateway unchanged — standard `/v1/*` paths, standard
|
|
13
|
-
# model names.
|
|
13
|
+
# model names.
|
|
14
14
|
class Client < Anthropic::Client
|
|
15
15
|
# OAuth2 scope required to call the gateway.
|
|
16
16
|
SCOPE = "https://www.googleapis.com/auth/cloud-platform"
|
|
@@ -26,9 +26,9 @@ module Anthropic
|
|
|
26
26
|
# served from a base with no workspace in it.
|
|
27
27
|
ORGANIZATION_URL_TEMPLATE = "#{LOCATION_URL_TEMPLATE}/claudeOrganization/invoke".freeze
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
ORGANIZATION_PATH_PATTERN = %r{\A/v1/(?:organizations/|user_profiles(?:/|\z))}
|
|
30
30
|
|
|
31
|
-
private_constant :LOCATION_URL_TEMPLATE, :
|
|
31
|
+
private_constant :LOCATION_URL_TEMPLATE, :ORGANIZATION_PATH_PATTERN
|
|
32
32
|
|
|
33
33
|
# @return [String, nil]
|
|
34
34
|
attr_reader :project
|
|
@@ -63,7 +63,8 @@ module Anthropic
|
|
|
63
63
|
# @param workspace_id [String, nil] Defaults to
|
|
64
64
|
# `ENV["ANTHROPIC_GOOGLE_CLOUD_WORKSPACE_ID"]`. Required when the base
|
|
65
65
|
# URL is derived, except for organization-level routes
|
|
66
|
-
# (`/v1/organizations/`), which need no
|
|
66
|
+
# (`/v1/organizations/` and `/v1/user_profiles`), which need no
|
|
67
|
+
# workspace ID.
|
|
67
68
|
#
|
|
68
69
|
# @param base_url [String, nil] Override the gateway base URL for every
|
|
69
70
|
# route. Defaults to `ENV["ANTHROPIC_GOOGLE_CLOUD_BASE_URL"]`, otherwise
|
|
@@ -154,10 +155,7 @@ module Anthropic
|
|
|
154
155
|
# No first-party credential is ever passed up, and
|
|
155
156
|
# {#resolve_default_credentials?} keeps the parent from discovering
|
|
156
157
|
# one; `base_url` is always resolved by this point, so the parent's
|
|
157
|
-
# `ANTHROPIC_BASE_URL` fallback never applies.
|
|
158
|
-
# every resource; {#user_profiles} withholds the one the gateway does
|
|
159
|
-
# not serve, and {#build_request} refuses the user profile routes
|
|
160
|
-
# however the resource is reached.
|
|
158
|
+
# `ANTHROPIC_BASE_URL` fallback never applies.
|
|
161
159
|
super(
|
|
162
160
|
base_url: base_url,
|
|
163
161
|
timeout: timeout,
|
|
@@ -175,13 +173,6 @@ module Anthropic
|
|
|
175
173
|
# @see Anthropic::Client#resolve_default_credentials?
|
|
176
174
|
private def resolve_default_credentials? = false
|
|
177
175
|
|
|
178
|
-
# User profiles are not supported on the Google Cloud gateway.
|
|
179
|
-
#
|
|
180
|
-
# @raise [NotImplementedError]
|
|
181
|
-
def user_profiles
|
|
182
|
-
raise NotImplementedError.new("User profiles are not supported on the Google Cloud gateway.")
|
|
183
|
-
end
|
|
184
|
-
|
|
185
176
|
# @api private
|
|
186
177
|
#
|
|
187
178
|
# @param req [Hash{Symbol=>Object}] .
|
|
@@ -219,15 +210,8 @@ module Anthropic
|
|
|
219
210
|
# @option opts [Float, nil] :timeout
|
|
220
211
|
#
|
|
221
212
|
# @raise [ArgumentError]
|
|
222
|
-
# @raise [NotImplementedError]
|
|
223
213
|
# @return [Hash{Symbol=>Object}]
|
|
224
214
|
private def build_request(req, opts)
|
|
225
|
-
# Id-parameterized routes pass `path` as an Array whose first element
|
|
226
|
-
# is the format string (e.g. `["v1/user_profiles/%1$s", id]`).
|
|
227
|
-
if Array(req[:path]).first.to_s.start_with?("v1/user_profiles")
|
|
228
|
-
raise NotImplementedError.new("User profiles are not supported on the Google Cloud gateway.")
|
|
229
|
-
end
|
|
230
|
-
|
|
231
215
|
request = super
|
|
232
216
|
return request if @organization_base_url.nil?
|
|
233
217
|
|
|
@@ -238,7 +222,7 @@ module Anthropic
|
|
|
238
222
|
return request unless under_base_url
|
|
239
223
|
|
|
240
224
|
path = url.path.delete_prefix(base_url.path)
|
|
241
|
-
if path.
|
|
225
|
+
if path.match?(ORGANIZATION_PATH_PATTERN)
|
|
242
226
|
url = url.dup
|
|
243
227
|
url.path = "#{@organization_base_url.path}#{path}"
|
|
244
228
|
{**request, url: url}
|
|
@@ -225,8 +225,7 @@ module Anthropic
|
|
|
225
225
|
return false unless req.method == :post
|
|
226
226
|
return false unless req.body.is_a?(Hash)
|
|
227
227
|
return false unless req.url.path&.end_with?("/v1/messages")
|
|
228
|
-
|
|
229
|
-
query["beta"] == "true"
|
|
228
|
+
req.metadata.dig(:qualifiers, :beta) == "true"
|
|
230
229
|
end
|
|
231
230
|
|
|
232
231
|
# @return [Anthropic::APIRequest] `req` with `@betas` appended to the
|
|
@@ -18,13 +18,15 @@ module Anthropic
|
|
|
18
18
|
# hyphenated lowercase.
|
|
19
19
|
BETA_TOOL_RUNNER = "BetaToolRunner"
|
|
20
20
|
FALLBACK_REFUSAL_MIDDLEWARE = "fallback-refusal-middleware"
|
|
21
|
+
MESSAGE_THREAD = "message-thread"
|
|
21
22
|
|
|
22
23
|
class << self
|
|
23
24
|
# The {HEADER} value to set after appending `value` to whatever is
|
|
24
25
|
# already present in `headers` — existing tags keep their position, the
|
|
25
26
|
# new tag goes at the end, duplicates are dropped, joined as one
|
|
26
|
-
# comma-separated string. The
|
|
27
|
-
#
|
|
27
|
+
# comma-separated string. The new tag is merged into the existing value
|
|
28
|
+
# rather than replacing it, because a second header line or a clobbered
|
|
29
|
+
# value loses data.
|
|
28
30
|
#
|
|
29
31
|
# @param headers [Hash{String => String}]
|
|
30
32
|
# @param value [String]
|