anthropic 1.78.0 → 1.79.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.
Files changed (497) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/LICENSE +8 -0
  4. data/README.md +42 -1
  5. data/lib/anthropic/client.rb +32 -0
  6. data/lib/anthropic/helpers/aws/client.rb +12 -2
  7. data/lib/anthropic/helpers/aws_auth.rb +8 -1
  8. data/lib/anthropic/helpers/bedrock/client.rb +19 -2
  9. data/lib/anthropic/helpers/bedrock/mantle_client.rb +19 -2
  10. data/lib/anthropic/helpers/google_cloud/client.rb +12 -2
  11. data/lib/anthropic/helpers/streaming/message_stream.rb +20 -43
  12. data/lib/anthropic/helpers/tools/runner.rb +104 -11
  13. data/lib/anthropic/helpers/tracing/attributes.rb +34 -0
  14. data/lib/anthropic/helpers/tracing/config.rb +16 -0
  15. data/lib/anthropic/helpers/tracing/content.rb +346 -0
  16. data/lib/anthropic/helpers/tracing/recorders.rb +131 -0
  17. data/lib/anthropic/helpers/tracing/response.rb +29 -0
  18. data/lib/anthropic/helpers/tracing/streamed_message.rb +189 -0
  19. data/lib/anthropic/helpers/tracing/tool_spans.rb +138 -0
  20. data/lib/anthropic/helpers/tracing.rb +13 -0
  21. data/lib/anthropic/helpers/vertex/client.rb +19 -2
  22. data/lib/anthropic/internal/tracing.rb +1118 -0
  23. data/lib/anthropic/internal/transport/base_client.rb +174 -10
  24. data/lib/anthropic/internal/transport/pooled_net_requester.rb +6 -0
  25. data/lib/anthropic/models/anthropic_beta.rb +3 -0
  26. data/lib/anthropic/models/beta/agent_create_params.rb +17 -6
  27. data/lib/anthropic/models/beta/agent_update_params.rb +17 -6
  28. data/lib/anthropic/models/beta/beta_dream_input.rb +2 -2
  29. data/lib/anthropic/models/beta/beta_fallbacks_param.rb +6 -2
  30. data/lib/anthropic/models/beta/beta_managed_agents_agent.rb +15 -6
  31. data/lib/anthropic/models/beta/beta_managed_agents_agent_tool_config_params.rb +8 -8
  32. data/lib/anthropic/models/beta/beta_managed_agents_agent_toolset_default_config.rb +2 -2
  33. data/lib/anthropic/models/beta/beta_managed_agents_agent_toolset_default_config_params.rb +2 -2
  34. data/lib/anthropic/models/beta/beta_managed_agents_agent_with_overrides_params.rb +6 -6
  35. data/lib/anthropic/models/beta/beta_managed_agents_aws_role_execution_identity.rb +29 -0
  36. data/lib/anthropic/models/beta/beta_managed_agents_aws_role_execution_identity_params.rb +34 -0
  37. data/lib/anthropic/models/beta/beta_managed_agents_bash_tool_config.rb +2 -2
  38. data/lib/anthropic/models/beta/beta_managed_agents_bash_tool_config_params.rb +2 -2
  39. data/lib/anthropic/models/beta/beta_managed_agents_deployment_initial_event.rb +3 -3
  40. data/lib/anthropic/models/beta/beta_managed_agents_deployment_initial_event_params.rb +3 -3
  41. data/lib/anthropic/models/beta/beta_managed_agents_deployment_paused_reason.rb +2 -2
  42. data/lib/anthropic/models/beta/beta_managed_agents_deployment_paused_reason_error.rb +38 -14
  43. data/lib/anthropic/models/beta/beta_managed_agents_deployment_run.rb +16 -16
  44. data/lib/anthropic/models/beta/beta_managed_agents_deployment_user_define_outcome_event.rb +2 -2
  45. data/lib/anthropic/models/beta/beta_managed_agents_deployment_user_message_event.rb +4 -4
  46. data/lib/anthropic/models/beta/beta_managed_agents_edit_tool_config.rb +2 -2
  47. data/lib/anthropic/models/beta/beta_managed_agents_edit_tool_config_params.rb +2 -2
  48. data/lib/anthropic/models/beta/beta_managed_agents_execution_identity.rb +57 -0
  49. data/lib/anthropic/models/beta/beta_managed_agents_execution_identity_params.rb +62 -0
  50. data/lib/anthropic/models/beta/beta_managed_agents_github_repository_resource_config.rb +2 -2
  51. data/lib/anthropic/models/beta/beta_managed_agents_github_repository_resource_params.rb +2 -2
  52. data/lib/anthropic/models/beta/beta_managed_agents_glob_tool_config.rb +2 -2
  53. data/lib/anthropic/models/beta/beta_managed_agents_glob_tool_config_params.rb +2 -2
  54. data/lib/anthropic/models/beta/beta_managed_agents_grep_tool_config.rb +2 -2
  55. data/lib/anthropic/models/beta/beta_managed_agents_grep_tool_config_params.rb +2 -2
  56. data/lib/anthropic/models/beta/beta_managed_agents_mcp_tool_config.rb +2 -2
  57. data/lib/anthropic/models/beta/beta_managed_agents_mcp_tool_config_params.rb +2 -2
  58. data/lib/anthropic/models/beta/beta_managed_agents_mcp_toolset_default_config.rb +2 -2
  59. data/lib/anthropic/models/beta/beta_managed_agents_mcp_toolset_default_config_params.rb +2 -2
  60. data/lib/anthropic/models/beta/beta_managed_agents_model.rb +0 -2
  61. data/lib/anthropic/models/beta/beta_managed_agents_model_config.rb +5 -5
  62. data/lib/anthropic/models/beta/beta_managed_agents_multiagent.rb +1 -1
  63. data/lib/anthropic/models/beta/beta_managed_agents_multiagent_coordinator.rb +2 -2
  64. data/lib/anthropic/models/beta/beta_managed_agents_multiagent_params.rb +1 -1
  65. data/lib/anthropic/models/beta/beta_managed_agents_read_tool_config.rb +2 -2
  66. data/lib/anthropic/models/beta/beta_managed_agents_read_tool_config_params.rb +2 -2
  67. data/lib/anthropic/models/beta/beta_managed_agents_service_account_execution_identity.rb +21 -0
  68. data/lib/anthropic/models/beta/beta_managed_agents_service_account_execution_identity_params.rb +23 -0
  69. data/lib/anthropic/models/beta/beta_managed_agents_session_agent.rb +16 -6
  70. data/lib/anthropic/models/beta/beta_managed_agents_session_agent_update.rb +3 -3
  71. data/lib/anthropic/models/beta/beta_managed_agents_session_multiagent.rb +1 -1
  72. data/lib/anthropic/models/beta/beta_managed_agents_session_multiagent_coordinator.rb +8 -2
  73. data/lib/anthropic/models/beta/beta_managed_agents_session_resource_config.rb +3 -3
  74. data/lib/anthropic/models/beta/beta_managed_agents_session_thread_agent.rb +19 -6
  75. data/lib/anthropic/models/beta/beta_managed_agents_skill_params.rb +2 -2
  76. data/lib/anthropic/models/beta/beta_managed_agents_start_event_preview.rb +2 -2
  77. data/lib/anthropic/models/beta/beta_managed_agents_trigger_context.rb +2 -2
  78. data/lib/anthropic/models/beta/beta_managed_agents_user_tool_result_event.rb +4 -4
  79. data/lib/anthropic/models/beta/beta_managed_agents_web_fetch_tool_config.rb +2 -2
  80. data/lib/anthropic/models/beta/beta_managed_agents_web_fetch_tool_config_params.rb +2 -2
  81. data/lib/anthropic/models/beta/beta_managed_agents_web_search_tool_config.rb +2 -2
  82. data/lib/anthropic/models/beta/beta_managed_agents_web_search_tool_config_params.rb +2 -2
  83. data/lib/anthropic/models/beta/beta_managed_agents_write_tool_config.rb +2 -2
  84. data/lib/anthropic/models/beta/beta_managed_agents_write_tool_config_params.rb +2 -2
  85. data/lib/anthropic/models/beta/beta_message_delta_usage.rb +0 -1
  86. data/lib/anthropic/models/beta/beta_output_behavior.rb +2 -2
  87. data/lib/anthropic/models/beta/beta_thinking_config_adaptive.rb +6 -4
  88. data/lib/anthropic/models/beta/beta_thinking_config_enabled.rb +6 -4
  89. data/lib/anthropic/models/beta/beta_thinking_config_param.rb +8 -7
  90. data/lib/anthropic/models/beta/beta_usage.rb +0 -1
  91. data/lib/anthropic/models/beta/deployment_create_params.rb +3 -3
  92. data/lib/anthropic/models/beta/deployment_update_params.rb +3 -3
  93. data/lib/anthropic/models/beta/memory_stores/beta_managed_agents_actor.rb +3 -3
  94. data/lib/anthropic/models/beta/memory_stores/beta_managed_agents_error.rb +6 -3
  95. data/lib/anthropic/models/beta/memory_stores/beta_managed_agents_memory_list_item.rb +2 -2
  96. data/lib/anthropic/models/beta/message_count_tokens_params.rb +15 -10
  97. data/lib/anthropic/models/beta/message_create_params.rb +21 -12
  98. data/lib/anthropic/models/beta/messages/batch_create_params.rb +21 -12
  99. data/lib/anthropic/models/beta/organization/beta_analytics_cost_bucketed_result.rb +3 -3
  100. data/lib/anthropic/models/beta/organization/beta_analytics_cost_users_item.rb +3 -3
  101. data/lib/anthropic/models/beta/organization/beta_analytics_usage_bucketed_result.rb +3 -3
  102. data/lib/anthropic/models/beta/organization/beta_analytics_usage_users_item.rb +3 -3
  103. data/lib/anthropic/models/beta/organization/beta_deleted_telemetry_destination.rb +30 -0
  104. data/lib/anthropic/models/beta/organization/beta_spend_limit.rb +2 -2
  105. data/lib/anthropic/models/beta/organization/beta_telemetry_destination.rb +118 -0
  106. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_content_mode.rb +29 -0
  107. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_delivery_health.rb +69 -0
  108. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason.rb +73 -0
  109. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_caller.rb +21 -0
  110. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_invalid_address.rb +29 -0
  111. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_redirect.rb +23 -0
  112. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_sustained_failure.rb +25 -0
  113. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_state.rb +71 -0
  114. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_state_disabled.rb +36 -0
  115. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_state_disabled_params.rb +24 -0
  116. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_state_enabled.rb +21 -0
  117. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_state_enabled_params.rb +23 -0
  118. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_state_params.rb +61 -0
  119. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_test_failure.rb +37 -0
  120. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_test_response.rb +35 -0
  121. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_test_result.rb +61 -0
  122. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_test_success.rb +21 -0
  123. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_traces.rb +61 -0
  124. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_traces_params.rb +71 -0
  125. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces.rb +69 -0
  126. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_all.rb +23 -0
  127. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_all_params.rb +23 -0
  128. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_exclude.rb +22 -0
  129. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_exclude_params.rb +49 -0
  130. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_include.rb +21 -0
  131. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_include_params.rb +49 -0
  132. data/lib/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_params.rb +70 -0
  133. data/lib/anthropic/models/beta/organization/invite_create_params.rb +4 -2
  134. data/lib/anthropic/models/beta/organization/spend_limit_list_params.rb +2 -5
  135. data/lib/anthropic/models/beta/organization/telemetry_destination_create_params.rb +93 -0
  136. data/lib/anthropic/models/beta/organization/telemetry_destination_delete_params.rb +34 -0
  137. data/lib/anthropic/models/beta/organization/telemetry_destination_list_params.rb +62 -0
  138. data/lib/anthropic/models/beta/organization/telemetry_destination_retrieve_params.rb +34 -0
  139. data/lib/anthropic/models/beta/organization/telemetry_destination_test_params.rb +34 -0
  140. data/lib/anthropic/models/beta/organization/telemetry_destination_update_params.rb +120 -0
  141. data/lib/anthropic/models/beta/organization/telemetry_destinations/beta_deleted_telemetry_destination_workspace.rb +40 -0
  142. data/lib/anthropic/models/beta/organization/telemetry_destinations/beta_telemetry_destination_workspace.rb +52 -0
  143. data/lib/anthropic/models/beta/organization/telemetry_destinations/workspace_add_params.rb +44 -0
  144. data/lib/anthropic/models/beta/organization/telemetry_destinations/workspace_list_params.rb +57 -0
  145. data/lib/anthropic/models/beta/organization/telemetry_destinations/workspace_remove_params.rb +44 -0
  146. data/lib/anthropic/models/beta/organization/user_update_params.rb +4 -2
  147. data/lib/anthropic/models/beta/session_create_params.rb +5 -5
  148. data/lib/anthropic/models/beta/sessions/beta_managed_agents_agent_custom_tool_use_event.rb +3 -1
  149. data/lib/anthropic/models/beta/sessions/beta_managed_agents_agent_mcp_tool_result_event.rb +4 -4
  150. data/lib/anthropic/models/beta/sessions/beta_managed_agents_agent_message_event.rb +2 -2
  151. data/lib/anthropic/models/beta/sessions/beta_managed_agents_agent_thread_message_received_event.rb +4 -4
  152. data/lib/anthropic/models/beta/sessions/beta_managed_agents_agent_thread_message_sent_event.rb +4 -4
  153. data/lib/anthropic/models/beta/sessions/beta_managed_agents_agent_tool_result_event.rb +4 -4
  154. data/lib/anthropic/models/beta/sessions/beta_managed_agents_billing_error.rb +3 -3
  155. data/lib/anthropic/models/beta/sessions/beta_managed_agents_credential_host_unreachable_error.rb +3 -3
  156. data/lib/anthropic/models/beta/sessions/beta_managed_agents_document_block.rb +4 -4
  157. data/lib/anthropic/models/beta/sessions/beta_managed_agents_event_params.rb +14 -8
  158. data/lib/anthropic/models/beta/sessions/beta_managed_agents_github_repository_resource.rb +2 -2
  159. data/lib/anthropic/models/beta/sessions/beta_managed_agents_image_block.rb +3 -3
  160. data/lib/anthropic/models/beta/sessions/beta_managed_agents_inline_agent.rb +14 -6
  161. data/lib/anthropic/models/beta/sessions/beta_managed_agents_mcp_authentication_failed_error.rb +3 -3
  162. data/lib/anthropic/models/beta/sessions/beta_managed_agents_mcp_connection_failed_error.rb +3 -3
  163. data/lib/anthropic/models/beta/sessions/beta_managed_agents_model_overloaded_error.rb +3 -3
  164. data/lib/anthropic/models/beta/sessions/beta_managed_agents_model_rate_limited_error.rb +3 -3
  165. data/lib/anthropic/models/beta/sessions/beta_managed_agents_model_request_failed_error.rb +3 -3
  166. data/lib/anthropic/models/beta/sessions/beta_managed_agents_repository_authentication_error.rb +3 -3
  167. data/lib/anthropic/models/beta/sessions/beta_managed_agents_repository_checkout_error.rb +3 -3
  168. data/lib/anthropic/models/beta/sessions/beta_managed_agents_repository_clone_error.rb +3 -3
  169. data/lib/anthropic/models/beta/sessions/beta_managed_agents_repository_forbidden_error.rb +3 -3
  170. data/lib/anthropic/models/beta/sessions/beta_managed_agents_repository_not_found_error.rb +3 -3
  171. data/lib/anthropic/models/beta/sessions/beta_managed_agents_send_session_events.rb +8 -8
  172. data/lib/anthropic/models/beta/sessions/beta_managed_agents_session_error_event.rb +14 -8
  173. data/lib/anthropic/models/beta/sessions/beta_managed_agents_session_event.rb +64 -37
  174. data/lib/anthropic/models/beta/sessions/beta_managed_agents_session_resource.rb +3 -3
  175. data/lib/anthropic/models/beta/sessions/beta_managed_agents_session_status_idle_event.rb +4 -4
  176. data/lib/anthropic/models/beta/sessions/beta_managed_agents_session_thread.rb +8 -2
  177. data/lib/anthropic/models/beta/sessions/beta_managed_agents_session_thread_status_idle_event.rb +4 -4
  178. data/lib/anthropic/models/beta/sessions/beta_managed_agents_stream_session_events.rb +66 -39
  179. data/lib/anthropic/models/beta/sessions/beta_managed_agents_stream_session_thread_events.rb +66 -39
  180. data/lib/anthropic/models/beta/sessions/beta_managed_agents_unknown_error.rb +3 -3
  181. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_custom_tool_result_event.rb +7 -7
  182. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_custom_tool_result_event_params.rb +7 -7
  183. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_define_outcome_event.rb +2 -2
  184. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_define_outcome_event_params.rb +2 -2
  185. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_message_event.rb +4 -4
  186. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_message_event_params.rb +4 -4
  187. data/lib/anthropic/models/beta/sessions/beta_managed_agents_user_tool_result_event_params.rb +4 -4
  188. data/lib/anthropic/models/beta/sessions/resource_retrieve_response.rb +3 -3
  189. data/lib/anthropic/models/beta/sessions/resource_update_response.rb +3 -3
  190. data/lib/anthropic/models/beta/vaults/beta_managed_agents_credential.rb +6 -3
  191. data/lib/anthropic/models/beta/vaults/beta_managed_agents_credential_networking_params.rb +7 -2
  192. data/lib/anthropic/models/beta/vaults/beta_managed_agents_environment_variable_auth_response.rb +7 -2
  193. data/lib/anthropic/models/beta/vaults/beta_managed_agents_mcp_oauth_refresh_params.rb +3 -3
  194. data/lib/anthropic/models/beta/vaults/beta_managed_agents_mcp_oauth_refresh_response.rb +12 -3
  195. data/lib/anthropic/models/beta/vaults/beta_managed_agents_mcp_oauth_refresh_update_params.rb +8 -2
  196. data/lib/anthropic/models/beta/vaults/credential_create_params.rb +6 -3
  197. data/lib/anthropic/models/beta/vaults/credential_update_params.rb +6 -3
  198. data/lib/anthropic/models/message_count_tokens_params.rb +15 -10
  199. data/lib/anthropic/models/message_create_params.rb +15 -10
  200. data/lib/anthropic/models/messages/batch_create_params.rb +15 -10
  201. data/lib/anthropic/models/model.rb +0 -2
  202. data/lib/anthropic/models/organization/invite_create_params.rb +4 -2
  203. data/lib/anthropic/models/organization/user_update_params.rb +4 -2
  204. data/lib/anthropic/models/thinking_config_adaptive.rb +6 -4
  205. data/lib/anthropic/models/thinking_config_enabled.rb +6 -4
  206. data/lib/anthropic/models/thinking_config_param.rb +8 -7
  207. data/lib/anthropic/request_options.rb +7 -0
  208. data/lib/anthropic/resources/beta/agents/versions.rb +4 -0
  209. data/lib/anthropic/resources/beta/agents.rb +22 -2
  210. data/lib/anthropic/resources/beta/deployment_runs.rb +16 -0
  211. data/lib/anthropic/resources/beta/deployments.rb +24 -0
  212. data/lib/anthropic/resources/beta/dreams.rb +15 -0
  213. data/lib/anthropic/resources/beta/environments/work.rb +42 -0
  214. data/lib/anthropic/resources/beta/environments.rb +18 -0
  215. data/lib/anthropic/resources/beta/files.rb +15 -0
  216. data/lib/anthropic/resources/beta/memory_stores/memories.rb +31 -0
  217. data/lib/anthropic/resources/beta/memory_stores/memory_versions.rb +28 -0
  218. data/lib/anthropic/resources/beta/memory_stores.rb +18 -0
  219. data/lib/anthropic/resources/beta/messages/batches.rb +19 -1
  220. data/lib/anthropic/resources/beta/messages.rb +12 -4
  221. data/lib/anthropic/resources/beta/models.rb +6 -0
  222. data/lib/anthropic/resources/beta/organization/analytics/apps/chat/projects.rb +3 -0
  223. data/lib/anthropic/resources/beta/organization/analytics/artifacts.rb +3 -0
  224. data/lib/anthropic/resources/beta/organization/analytics/connectors.rb +4 -0
  225. data/lib/anthropic/resources/beta/organization/analytics/cost_report.rb +20 -0
  226. data/lib/anthropic/resources/beta/organization/analytics/plugins.rb +4 -0
  227. data/lib/anthropic/resources/beta/organization/analytics/skills.rb +4 -0
  228. data/lib/anthropic/resources/beta/organization/analytics/summaries.rb +3 -0
  229. data/lib/anthropic/resources/beta/organization/analytics/usage_report.rb +20 -0
  230. data/lib/anthropic/resources/beta/organization/analytics/user_cost_report.rb +23 -0
  231. data/lib/anthropic/resources/beta/organization/analytics/user_usage_report.rb +23 -0
  232. data/lib/anthropic/resources/beta/organization/analytics/users.rb +4 -0
  233. data/lib/anthropic/resources/beta/organization/api_keys.rb +9 -0
  234. data/lib/anthropic/resources/beta/organization/compliance_settings.rb +4 -0
  235. data/lib/anthropic/resources/beta/organization/external_keys.rb +18 -0
  236. data/lib/anthropic/resources/beta/organization/federation/issuers.rb +15 -0
  237. data/lib/anthropic/resources/beta/organization/federation/rules/workspaces.rb +14 -0
  238. data/lib/anthropic/resources/beta/organization/federation/rules.rb +15 -0
  239. data/lib/anthropic/resources/beta/organization/invites.rb +12 -0
  240. data/lib/anthropic/resources/beta/organization/plugin_marketplaces.rb +14 -0
  241. data/lib/anthropic/resources/beta/organization/plugins/installation_settings.rb +16 -0
  242. data/lib/anthropic/resources/beta/organization/plugins/shares.rb +4 -0
  243. data/lib/anthropic/resources/beta/organization/plugins/versions.rb +22 -0
  244. data/lib/anthropic/resources/beta/organization/plugins.rb +27 -0
  245. data/lib/anthropic/resources/beta/organization/rate_limits.rb +3 -0
  246. data/lib/anthropic/resources/beta/organization/rbac_groups/members.rb +14 -0
  247. data/lib/anthropic/resources/beta/organization/rbac_groups.rb +15 -0
  248. data/lib/anthropic/resources/beta/organization/rbac_roles/permissions.rb +4 -0
  249. data/lib/anthropic/resources/beta/organization/rbac_roles.rb +6 -0
  250. data/lib/anthropic/resources/beta/organization/service_accounts/workspaces.rb +14 -0
  251. data/lib/anthropic/resources/beta/organization/service_accounts.rb +15 -0
  252. data/lib/anthropic/resources/beta/organization/spend_limits/effective.rb +5 -2
  253. data/lib/anthropic/resources/beta/organization/spend_limits/increase_requests.rb +12 -0
  254. data/lib/anthropic/resources/beta/organization/spend_limits.rb +17 -7
  255. data/lib/anthropic/resources/beta/organization/telemetry_destinations/workspaces.rb +173 -0
  256. data/lib/anthropic/resources/beta/organization/telemetry_destinations.rb +274 -0
  257. data/lib/anthropic/resources/beta/organization/users.rb +12 -0
  258. data/lib/anthropic/resources/beta/organization/workspaces/members.rb +26 -0
  259. data/lib/anthropic/resources/beta/organization/workspaces/rate_limits.rb +4 -0
  260. data/lib/anthropic/resources/beta/organization/workspaces/service_accounts.rb +26 -0
  261. data/lib/anthropic/resources/beta/organization/workspaces.rb +15 -0
  262. data/lib/anthropic/resources/beta/organization.rb +7 -0
  263. data/lib/anthropic/resources/beta/sessions/events.rb +21 -1
  264. data/lib/anthropic/resources/beta/sessions/resources.rb +26 -0
  265. data/lib/anthropic/resources/beta/sessions/threads/events.rb +15 -1
  266. data/lib/anthropic/resources/beta/sessions/threads.rb +16 -0
  267. data/lib/anthropic/resources/beta/sessions.rb +32 -0
  268. data/lib/anthropic/resources/beta/skills/versions.rb +17 -0
  269. data/lib/anthropic/resources/beta/skills.rb +12 -0
  270. data/lib/anthropic/resources/beta/tunnels/certificates.rb +20 -0
  271. data/lib/anthropic/resources/beta/tunnels.rb +18 -0
  272. data/lib/anthropic/resources/beta/user_profiles.rb +15 -0
  273. data/lib/anthropic/resources/beta/vaults/credentials.rb +38 -0
  274. data/lib/anthropic/resources/beta/vaults.rb +18 -0
  275. data/lib/anthropic/resources/completions.rb +5 -1
  276. data/lib/anthropic/resources/files.rb +15 -0
  277. data/lib/anthropic/resources/messages/batches.rb +19 -1
  278. data/lib/anthropic/resources/messages.rb +12 -4
  279. data/lib/anthropic/resources/models.rb +6 -0
  280. data/lib/anthropic/resources/organization/api_keys.rb +9 -0
  281. data/lib/anthropic/resources/organization/compliance_settings.rb +4 -0
  282. data/lib/anthropic/resources/organization/external_keys.rb +18 -0
  283. data/lib/anthropic/resources/organization/federation/issuers.rb +15 -0
  284. data/lib/anthropic/resources/organization/federation/rules/workspaces.rb +14 -0
  285. data/lib/anthropic/resources/organization/federation/rules.rb +15 -0
  286. data/lib/anthropic/resources/organization/invites.rb +12 -0
  287. data/lib/anthropic/resources/organization/rate_limits.rb +3 -0
  288. data/lib/anthropic/resources/organization/service_accounts/workspaces.rb +14 -0
  289. data/lib/anthropic/resources/organization/service_accounts.rb +15 -0
  290. data/lib/anthropic/resources/organization/users.rb +12 -0
  291. data/lib/anthropic/resources/organization/workspaces/members.rb +26 -0
  292. data/lib/anthropic/resources/organization/workspaces/rate_limits.rb +4 -0
  293. data/lib/anthropic/resources/organization/workspaces/service_accounts.rb +26 -0
  294. data/lib/anthropic/resources/organization/workspaces.rb +15 -0
  295. data/lib/anthropic/resources/organization.rb +2 -0
  296. data/lib/anthropic/resources/skills/versions.rb +14 -0
  297. data/lib/anthropic/resources/skills.rb +12 -0
  298. data/lib/anthropic/version.rb +1 -1
  299. data/lib/anthropic.rb +58 -0
  300. data/rbi/anthropic/client.rbi +28 -0
  301. data/rbi/anthropic/helpers/aws/client.rbi +6 -2
  302. data/rbi/anthropic/helpers/bedrock/client.rbi +6 -2
  303. data/rbi/anthropic/helpers/bedrock/mantle_client.rbi +6 -2
  304. data/rbi/anthropic/helpers/google_cloud/client.rbi +6 -2
  305. data/rbi/anthropic/helpers/streaming/message_stream.rbi +4 -1
  306. data/rbi/anthropic/helpers/vertex/client.rbi +6 -2
  307. data/rbi/anthropic/internal/tracing.rbi +847 -0
  308. data/rbi/anthropic/internal/transport/base_client.rbi +93 -5
  309. data/rbi/anthropic/internal/type/base_stream.rbi +2 -0
  310. data/rbi/anthropic/models/anthropic_beta.rbi +5 -0
  311. data/rbi/anthropic/models/beta/agent_create_params.rbi +34 -3
  312. data/rbi/anthropic/models/beta/agent_update_params.rbi +34 -3
  313. data/rbi/anthropic/models/beta/beta_fallback_param.rbi +3 -2
  314. data/rbi/anthropic/models/beta/beta_fallbacks_param.rbi +6 -2
  315. data/rbi/anthropic/models/beta/beta_managed_agents_agent.rbi +17 -0
  316. data/rbi/anthropic/models/beta/beta_managed_agents_agent_with_overrides_params.rbi +3 -3
  317. data/rbi/anthropic/models/beta/beta_managed_agents_aws_role_execution_identity.rbi +40 -0
  318. data/rbi/anthropic/models/beta/beta_managed_agents_aws_role_execution_identity_params.rbi +42 -0
  319. data/rbi/anthropic/models/beta/beta_managed_agents_execution_identity.rbi +85 -0
  320. data/rbi/anthropic/models/beta/beta_managed_agents_execution_identity_params.rbi +87 -0
  321. data/rbi/anthropic/models/beta/beta_managed_agents_model.rbi +0 -2
  322. data/rbi/anthropic/models/beta/beta_managed_agents_service_account_execution_identity.rbi +32 -0
  323. data/rbi/anthropic/models/beta/beta_managed_agents_service_account_execution_identity_params.rbi +33 -0
  324. data/rbi/anthropic/models/beta/beta_managed_agents_session_agent.rbi +19 -0
  325. data/rbi/anthropic/models/beta/beta_managed_agents_session_multiagent_coordinator.rbi +9 -0
  326. data/rbi/anthropic/models/beta/beta_managed_agents_session_thread_agent.rbi +19 -0
  327. data/rbi/anthropic/models/beta/beta_message_delta_usage.rbi +0 -2
  328. data/rbi/anthropic/models/beta/beta_thinking_config_adaptive.rbi +9 -6
  329. data/rbi/anthropic/models/beta/beta_thinking_config_enabled.rbi +9 -6
  330. data/rbi/anthropic/models/beta/beta_thinking_config_param.rbi +11 -9
  331. data/rbi/anthropic/models/beta/beta_usage.rbi +0 -2
  332. data/rbi/anthropic/models/beta/message_count_tokens_params.rbi +28 -18
  333. data/rbi/anthropic/models/beta/message_create_params.rbi +40 -22
  334. data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +40 -22
  335. data/rbi/anthropic/models/beta/organization/beta_analytics_cost_bucketed_result.rbi +6 -6
  336. data/rbi/anthropic/models/beta/organization/beta_analytics_cost_users_item.rbi +6 -6
  337. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_bucketed_result.rbi +6 -6
  338. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_users_item.rbi +6 -6
  339. data/rbi/anthropic/models/beta/organization/beta_deleted_telemetry_destination.rbi +39 -0
  340. data/rbi/anthropic/models/beta/organization/beta_spend_limit.rbi +4 -4
  341. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination.rbi +191 -0
  342. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_content_mode.rbi +53 -0
  343. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_delivery_health.rbi +106 -0
  344. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason.rbi +95 -0
  345. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_caller.rbi +31 -0
  346. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_invalid_address.rbi +39 -0
  347. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_redirect.rbi +33 -0
  348. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_sustained_failure.rbi +35 -0
  349. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_state.rbi +99 -0
  350. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_state_disabled.rbi +66 -0
  351. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_state_disabled_params.rbi +34 -0
  352. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_state_enabled.rbi +31 -0
  353. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_state_enabled_params.rbi +33 -0
  354. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_state_params.rbi +81 -0
  355. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_test_failure.rbi +47 -0
  356. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_test_response.rbi +62 -0
  357. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_test_result.rbi +88 -0
  358. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_test_success.rbi +31 -0
  359. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_traces.rbi +97 -0
  360. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_traces_params.rbi +120 -0
  361. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces.rbi +93 -0
  362. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_all.rbi +33 -0
  363. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_all_params.rbi +33 -0
  364. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_exclude.rbi +32 -0
  365. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_exclude_params.rbi +80 -0
  366. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_include.rbi +31 -0
  367. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_include_params.rbi +80 -0
  368. data/rbi/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_params.rbi +107 -0
  369. data/rbi/anthropic/models/beta/organization/invite_create_params.rbi +6 -3
  370. data/rbi/anthropic/models/beta/organization/spend_limit_list_params.rbi +2 -8
  371. data/rbi/anthropic/models/beta/organization/telemetry_destination_create_params.rbi +186 -0
  372. data/rbi/anthropic/models/beta/organization/telemetry_destination_delete_params.rbi +73 -0
  373. data/rbi/anthropic/models/beta/organization/telemetry_destination_list_params.rbi +114 -0
  374. data/rbi/anthropic/models/beta/organization/telemetry_destination_retrieve_params.rbi +73 -0
  375. data/rbi/anthropic/models/beta/organization/telemetry_destination_test_params.rbi +73 -0
  376. data/rbi/anthropic/models/beta/organization/telemetry_destination_update_params.rbi +264 -0
  377. data/rbi/anthropic/models/beta/organization/telemetry_destinations/beta_deleted_telemetry_destination_workspace.rbi +61 -0
  378. data/rbi/anthropic/models/beta/organization/telemetry_destinations/beta_telemetry_destination_workspace.rbi +73 -0
  379. data/rbi/anthropic/models/beta/organization/telemetry_destinations/workspace_add_params.rbi +84 -0
  380. data/rbi/anthropic/models/beta/organization/telemetry_destinations/workspace_list_params.rbi +100 -0
  381. data/rbi/anthropic/models/beta/organization/telemetry_destinations/workspace_remove_params.rbi +84 -0
  382. data/rbi/anthropic/models/beta/organization/user_update_params.rbi +6 -3
  383. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_agent_custom_tool_use_event.rbi +3 -1
  384. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_event_params.rbi +2 -2
  385. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_inline_agent.rbi +17 -0
  386. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_send_session_events.rbi +2 -2
  387. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_session_event.rbi +2 -2
  388. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_session_thread.rbi +9 -0
  389. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_stream_session_events.rbi +2 -2
  390. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_stream_session_thread_events.rbi +2 -2
  391. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_user_custom_tool_result_event.rbi +4 -4
  392. data/rbi/anthropic/models/beta/sessions/beta_managed_agents_user_custom_tool_result_event_params.rbi +4 -4
  393. data/rbi/anthropic/models/message_count_tokens_params.rbi +28 -18
  394. data/rbi/anthropic/models/message_create_params.rbi +28 -18
  395. data/rbi/anthropic/models/messages/batch_create_params.rbi +28 -18
  396. data/rbi/anthropic/models/model.rbi +0 -2
  397. data/rbi/anthropic/models/organization/invite_create_params.rbi +6 -3
  398. data/rbi/anthropic/models/organization/user_update_params.rbi +6 -3
  399. data/rbi/anthropic/models/thinking_config_adaptive.rbi +9 -6
  400. data/rbi/anthropic/models/thinking_config_enabled.rbi +9 -6
  401. data/rbi/anthropic/models/thinking_config_param.rbi +11 -9
  402. data/rbi/anthropic/request_options.rbi +5 -0
  403. data/rbi/anthropic/resources/beta/agents.rbi +22 -2
  404. data/rbi/anthropic/resources/beta/messages/batches.rbi +2 -1
  405. data/rbi/anthropic/resources/beta/messages.rbi +56 -32
  406. data/rbi/anthropic/resources/beta/organization/invites.rbi +2 -1
  407. data/rbi/anthropic/resources/beta/organization/spend_limits/effective.rbi +2 -2
  408. data/rbi/anthropic/resources/beta/organization/spend_limits.rbi +5 -10
  409. data/rbi/anthropic/resources/beta/organization/telemetry_destinations/workspaces.rbi +124 -0
  410. data/rbi/anthropic/resources/beta/organization/telemetry_destinations.rbi +300 -0
  411. data/rbi/anthropic/resources/beta/organization/users.rbi +2 -1
  412. data/rbi/anthropic/resources/beta/organization.rbi +7 -0
  413. data/rbi/anthropic/resources/beta/sessions/events.rbi +2 -1
  414. data/rbi/anthropic/resources/beta/sessions/threads/events.rbi +2 -1
  415. data/rbi/anthropic/resources/completions.rbi +6 -1
  416. data/rbi/anthropic/resources/messages/batches.rbi +2 -1
  417. data/rbi/anthropic/resources/messages.rbi +44 -28
  418. data/rbi/anthropic/resources/organization/invites.rbi +2 -1
  419. data/rbi/anthropic/resources/organization/users.rbi +2 -1
  420. data/sig/anthropic/client.rbs +1 -0
  421. data/sig/anthropic/helpers/bedrock/client.rbs +2 -1
  422. data/sig/anthropic/helpers/google_cloud/client.rbs +2 -1
  423. data/sig/anthropic/helpers/streaming/message_stream.rbs +2 -2
  424. data/sig/anthropic/helpers/vertex/client.rbs +2 -1
  425. data/sig/anthropic/internal/tracing.rbs +477 -0
  426. data/sig/anthropic/internal/transport/base_client.rbs +37 -2
  427. data/sig/anthropic/internal/type/base_stream.rbs +1 -1
  428. data/sig/anthropic/models/anthropic_beta.rbs +2 -0
  429. data/sig/anthropic/models/beta/agent_create_params.rbs +5 -0
  430. data/sig/anthropic/models/beta/agent_update_params.rbs +5 -0
  431. data/sig/anthropic/models/beta/beta_managed_agents_agent.rbs +5 -0
  432. data/sig/anthropic/models/beta/beta_managed_agents_aws_role_execution_identity.rbs +20 -0
  433. data/sig/anthropic/models/beta/beta_managed_agents_aws_role_execution_identity_params.rbs +20 -0
  434. data/sig/anthropic/models/beta/beta_managed_agents_execution_identity.rbs +42 -0
  435. data/sig/anthropic/models/beta/beta_managed_agents_execution_identity_params.rbs +42 -0
  436. data/sig/anthropic/models/beta/beta_managed_agents_model.rbs +0 -2
  437. data/sig/anthropic/models/beta/beta_managed_agents_service_account_execution_identity.rbs +18 -0
  438. data/sig/anthropic/models/beta/beta_managed_agents_service_account_execution_identity_params.rbs +18 -0
  439. data/sig/anthropic/models/beta/beta_managed_agents_session_agent.rbs +5 -0
  440. data/sig/anthropic/models/beta/beta_managed_agents_session_multiagent_coordinator.rbs +2 -0
  441. data/sig/anthropic/models/beta/beta_managed_agents_session_thread_agent.rbs +5 -0
  442. data/sig/anthropic/models/beta/organization/beta_deleted_telemetry_destination.rbs +23 -0
  443. data/sig/anthropic/models/beta/organization/beta_telemetry_destination.rbs +74 -0
  444. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_content_mode.rbs +23 -0
  445. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_delivery_health.rbs +30 -0
  446. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason.rbs +51 -0
  447. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_caller.rbs +18 -0
  448. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_invalid_address.rbs +18 -0
  449. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_redirect.rbs +18 -0
  450. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_disabled_reason_sustained_failure.rbs +18 -0
  451. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_state.rbs +42 -0
  452. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_state_disabled.rbs +29 -0
  453. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_state_disabled_params.rbs +18 -0
  454. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_state_enabled.rbs +17 -0
  455. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_state_enabled_params.rbs +18 -0
  456. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_state_params.rbs +40 -0
  457. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_test_failure.rbs +20 -0
  458. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_test_response.rbs +29 -0
  459. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_test_result.rbs +42 -0
  460. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_test_success.rbs +17 -0
  461. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_traces.rbs +39 -0
  462. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_traces_params.rbs +41 -0
  463. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces.rbs +45 -0
  464. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_all.rbs +17 -0
  465. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_all_params.rbs +17 -0
  466. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_exclude.rbs +17 -0
  467. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_exclude_params.rbs +25 -0
  468. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_include.rbs +17 -0
  469. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_include_params.rbs +25 -0
  470. data/sig/anthropic/models/beta/organization/beta_telemetry_destination_workspaces_params.rbs +48 -0
  471. data/sig/anthropic/models/beta/organization/telemetry_destination_create_params.rbs +65 -0
  472. data/sig/anthropic/models/beta/organization/telemetry_destination_delete_params.rbs +39 -0
  473. data/sig/anthropic/models/beta/organization/telemetry_destination_list_params.rbs +55 -0
  474. data/sig/anthropic/models/beta/organization/telemetry_destination_retrieve_params.rbs +39 -0
  475. data/sig/anthropic/models/beta/organization/telemetry_destination_test_params.rbs +39 -0
  476. data/sig/anthropic/models/beta/organization/telemetry_destination_update_params.rbs +79 -0
  477. data/sig/anthropic/models/beta/organization/telemetry_destinations/beta_deleted_telemetry_destination_workspace.rbs +36 -0
  478. data/sig/anthropic/models/beta/organization/telemetry_destinations/beta_telemetry_destination_workspace.rbs +41 -0
  479. data/sig/anthropic/models/beta/organization/telemetry_destinations/workspace_add_params.rbs +46 -0
  480. data/sig/anthropic/models/beta/organization/telemetry_destinations/workspace_list_params.rbs +55 -0
  481. data/sig/anthropic/models/beta/organization/telemetry_destinations/workspace_remove_params.rbs +46 -0
  482. data/sig/anthropic/models/beta/sessions/beta_managed_agents_inline_agent.rbs +5 -0
  483. data/sig/anthropic/models/beta/sessions/beta_managed_agents_session_thread.rbs +3 -0
  484. data/sig/anthropic/models/model.rbs +0 -2
  485. data/sig/anthropic/request_options.rbs +3 -0
  486. data/sig/anthropic/resources/beta/agents.rbs +2 -0
  487. data/sig/anthropic/resources/beta/messages/batches.rbs +1 -1
  488. data/sig/anthropic/resources/beta/messages.rbs +1 -1
  489. data/sig/anthropic/resources/beta/organization/telemetry_destinations/workspaces.rbs +35 -0
  490. data/sig/anthropic/resources/beta/organization/telemetry_destinations.rbs +61 -0
  491. data/sig/anthropic/resources/beta/organization.rbs +2 -0
  492. data/sig/anthropic/resources/beta/sessions/events.rbs +1 -1
  493. data/sig/anthropic/resources/beta/sessions/threads/events.rbs +1 -1
  494. data/sig/anthropic/resources/completions.rbs +1 -1
  495. data/sig/anthropic/resources/messages/batches.rbs +1 -1
  496. data/sig/anthropic/resources/messages.rbs +1 -1
  497. metadata +178 -2
@@ -31,7 +31,24 @@ module Anthropic
31
31
  #
32
32
  # @raise [ArgumentError]
33
33
  def validate!(req)
34
- keys = [:method, :path, :query, :headers, :body, :unwrap, :page, :stream, :model, :options]
34
+ keys = [
35
+ :method,
36
+ :path,
37
+ :query,
38
+ :headers,
39
+ :body,
40
+ :unwrap,
41
+ :page,
42
+ :stream,
43
+ :model,
44
+ :span_name,
45
+ :span_attributes,
46
+ :span_created_id,
47
+ :span_route,
48
+ :span_query,
49
+ :span_content_query,
50
+ :options
51
+ ]
35
52
  case req
36
53
  in Hash
37
54
  req.each_key do |k|
@@ -83,12 +100,18 @@ module Anthropic
83
100
  #
84
101
  # @option request [Float] :timeout
85
102
  #
103
+ # @option request [Array<String>, nil] :span_query
104
+ #
105
+ # @option request [Array<String>, nil] :span_content_query
106
+ #
86
107
  # @param status [Integer]
87
108
  #
88
109
  # @param response_headers [Hash{String=>String}]
89
110
  #
111
+ # @param span [OpenTelemetry::Trace::Span, nil] the span of the API call
112
+ #
90
113
  # @return [Hash{Symbol=>Object}]
91
- def follow_redirect(request, status:, response_headers:)
114
+ def follow_redirect(request, status:, response_headers:, span: nil)
92
115
  method, url, headers = request.fetch_values(:method, :url, :headers)
93
116
  location =
94
117
  Kernel.then do
@@ -131,7 +154,8 @@ module Anthropic
131
154
 
132
155
  # from undici
133
156
  if Anthropic::Internal::Util.uri_origin(url) != Anthropic::Internal::Util.uri_origin(location)
134
- drop = %w[authorization cookie host proxy-authorization]
157
+ # The trace context is for the API's origin only, like the credentials dropped here.
158
+ drop = %w[authorization cookie host proxy-authorization] + Anthropic::Internal::Tracing.trace_header_names(span)
135
159
  # The sentinel keeps the strip durable: provider middleware
136
160
  # (Vertex OAuth, Bedrock SigV4) runs per attempt and would
137
161
  # otherwise re-add `authorization` on the redirected leg.
@@ -196,6 +220,7 @@ module Anthropic
196
220
  # @param max_retries [Integer]
197
221
  # @param initial_retry_delay [Float]
198
222
  # @param max_retry_delay [Float]
223
+ # @param open_telemetry [Hash{Symbol=>Object}, Boolean, nil]
199
224
  # @param headers [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}]
200
225
  # @param idempotency_header [String, nil]
201
226
  # @param middleware [Array<#call>, #call, nil]
@@ -207,6 +232,7 @@ module Anthropic
207
232
  max_retries: 0,
208
233
  initial_retry_delay: 0.0,
209
234
  max_retry_delay: 0.0,
235
+ open_telemetry: nil,
210
236
  headers: {},
211
237
  idempotency_header: nil,
212
238
  middleware: nil,
@@ -230,6 +256,11 @@ module Anthropic
230
256
  @max_retries = max_retries
231
257
  @initial_retry_delay = initial_retry_delay
232
258
  @max_retry_delay = max_retry_delay
259
+ open_telemetry = Anthropic::Internal::Tracing.client_option(open_telemetry)
260
+ @tracer = Anthropic::Internal::Tracing.tracer(open_telemetry, open_telemetry_scope)
261
+ @open_telemetry_content = Anthropic::Internal::Tracing.content?(open_telemetry)
262
+ @open_telemetry_max_content_bytes = Anthropic::Internal::Tracing.max_content_bytes(open_telemetry)
263
+ @open_telemetry_propagation = Anthropic::Internal::Tracing.propagation?(open_telemetry)
233
264
  end
234
265
 
235
266
  # @api private
@@ -237,6 +268,41 @@ module Anthropic
237
268
  # @return [Hash{String=>String}]
238
269
  private def auth_headers = {}
239
270
 
271
+ # @api private
272
+ #
273
+ # What every span of this client starts with. A client for another platform
274
+ # overrides it.
275
+ #
276
+ # @return [Hash{String=>String}]
277
+ def open_telemetry_attributes = Anthropic::Internal::Tracing::CLIENT_ATTRIBUTES
278
+
279
+ # @api private
280
+ #
281
+ # Whether this client's spans have the `content` attributes.
282
+ #
283
+ # @return [Boolean]
284
+ def open_telemetry_content? = @open_telemetry_content
285
+
286
+ # @api private
287
+ # The most bytes the `content` attributes of one of this client's spans hold.
288
+ # @return [Integer]
289
+ attr_reader :open_telemetry_max_content_bytes
290
+
291
+ # @api private
292
+ #
293
+ # The tracer of this client's spans, or `nil` when they are disabled.
294
+ #
295
+ # @return [OpenTelemetry::Trace::Tracer, nil]
296
+ def open_telemetry_tracer = @tracer
297
+
298
+ # @api private
299
+ #
300
+ # The instrumentation scope of this client's spans. A client for another platform
301
+ # overrides it.
302
+ #
303
+ # @return [String]
304
+ private def open_telemetry_scope = Anthropic::Internal::Tracing::INSTRUMENTATION_SCOPE
305
+
240
306
  # @api private
241
307
  #
242
308
  # @return [String]
@@ -269,6 +335,18 @@ module Anthropic
269
335
  #
270
336
  # @option req [Anthropic::Internal::Type::Converter, Class, nil] :model
271
337
  #
338
+ # @option req [String, nil] :span_name
339
+ #
340
+ # @option req [Hash{String=>Object}, nil] :span_attributes
341
+ #
342
+ # @option req [String, Hash{String=>Symbol}, nil] :span_created_id
343
+ #
344
+ # @option req [String, nil] :span_route
345
+ #
346
+ # @option req [Array<String>, nil] :span_query
347
+ #
348
+ # @option req [Array<String>, nil] :span_content_query query parameters that are content on this endpoint only
349
+ #
272
350
  # @param opts [Hash{Symbol=>Object}] .
273
351
  #
274
352
  # @option opts [Hash{String=>Array<String>, String, nil}, nil] :extra_query
@@ -277,6 +355,8 @@ module Anthropic
277
355
  #
278
356
  # @option opts [Object, nil] :extra_body
279
357
  #
358
+ # @option opts [Hash{Symbol=>String}, nil] :open_telemetry
359
+ #
280
360
  # @option opts [Integer, nil] :max_retries
281
361
  #
282
362
  # @option opts [Float, nil] :timeout
@@ -355,6 +435,8 @@ module Anthropic
355
435
  cast_to: req[:page] ? nil : req.fetch(:model, Anthropic::Internal::Type::Unknown),
356
436
  stream: req[:stream],
357
437
  unwrap: req[:unwrap],
438
+ span_query: req[:span_query],
439
+ span_content_query: req[:span_content_query],
358
440
  options: opts.except(:middleware),
359
441
  middleware: request_middleware,
360
442
  metadata: {}
@@ -458,15 +540,21 @@ module Anthropic
458
540
  #
459
541
  # @option request [Float] :timeout
460
542
  #
543
+ # @option request [Array<String>, nil] :span_query
544
+ #
545
+ # @option request [Array<String>, nil] :span_content_query
546
+ #
461
547
  # @param redirect_count [Integer]
462
548
  #
463
549
  # @param retry_count [Integer]
464
550
  #
465
551
  # @param send_retry_header [Boolean]
466
552
  #
553
+ # @param span [OpenTelemetry::Trace::Span, nil] the span of the API call
554
+ #
467
555
  # @raise [Anthropic::Errors::APIError]
468
556
  # @return [Array(Integer, Net::HTTPResponse|nil, Hash{String=>String}, Enumerable<String>)]
469
- def send_request(request, redirect_count:, retry_count:, send_retry_header:)
557
+ def send_request(request, redirect_count:, retry_count:, send_retry_header:, span: nil)
470
558
  if send_retry_header
471
559
  request.fetch(:headers)["x-stainless-retry-count"] = retry_count.to_s
472
560
  end
@@ -518,6 +606,7 @@ module Anthropic
518
606
  terminal = lambda do |r|
519
607
  adapted_url = r.url
520
608
  adapted_body = r.body
609
+ Anthropic::Internal::Tracing.record_send(span, self, request, r.url) if span
521
610
  enc_headers, encoded = Anthropic::Internal::Util.encode_content(r.headers, r.body)
522
611
  input = {
523
612
  method: r.method,
@@ -582,7 +671,8 @@ module Anthropic
582
671
  request = self.class.follow_redirect(
583
672
  request.merge(url: adapted_url, body: adapted_body),
584
673
  status: status,
585
- response_headers: headers
674
+ response_headers: headers,
675
+ span: (span if @open_telemetry_propagation)
586
676
  )
587
677
  # The redirect retargets the URL, and `follow_redirect` may drop the
588
678
  # body (303 → GET); the cached frozen copies would then be stale, so
@@ -593,7 +683,8 @@ module Anthropic
593
683
  request,
594
684
  redirect_count: redirect_count + 1,
595
685
  retry_count: retry_count,
596
- send_retry_header: send_retry_header
686
+ send_retry_header: send_retry_header,
687
+ span: span
597
688
  )
598
689
  in Exception if retry_count >= max_retries
599
690
  raise status
@@ -635,7 +726,8 @@ module Anthropic
635
726
  request,
636
727
  redirect_count: redirect_count,
637
728
  retry_count: retry_count + 1,
638
- send_retry_header: send_retry_header
729
+ send_retry_header: send_retry_header,
730
+ span: span
639
731
  )
640
732
  end
641
733
  end
@@ -643,7 +735,7 @@ module Anthropic
643
735
  # Execute the request specified by `req`. This is the method that all resource
644
736
  # methods call into.
645
737
  #
646
- # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: Anthropic::Internal::Type::Unknown, options: {})
738
+ # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: Anthropic::Internal::Type::Unknown, span_name: nil, span_attributes: nil, span_created_id: nil, span_route: nil, span_query: nil, span_content_query: nil, options: {})
647
739
  #
648
740
  # @param method [Symbol]
649
741
  #
@@ -663,6 +755,18 @@ module Anthropic
663
755
  #
664
756
  # @param model [Anthropic::Internal::Type::Converter, Class, nil]
665
757
  #
758
+ # @param span_name [String, nil]
759
+ #
760
+ # @param span_attributes [Hash{String=>Object}, nil]
761
+ #
762
+ # @param span_created_id [String, Hash{String=>Symbol}, nil]
763
+ #
764
+ # @param span_route [String, nil]
765
+ #
766
+ # @param span_query [Array<String>, nil]
767
+ #
768
+ # @param span_content_query [Array<String>, nil] query parameters that are content on this endpoint only
769
+ #
666
770
  # @param options [Anthropic::RequestOptions, Hash{Symbol=>Object}, nil] .
667
771
  #
668
772
  # @option options [Hash{String=>Array<String>, String, nil}, nil] :extra_query
@@ -671,6 +775,8 @@ module Anthropic
671
775
  #
672
776
  # @option options [Object, nil] :extra_body
673
777
  #
778
+ # @option options [Hash{Symbol=>String}, nil] :open_telemetry
779
+ #
674
780
  # @option options [Integer, nil] :max_retries
675
781
  #
676
782
  # @option options [Float, nil] :timeout
@@ -679,12 +785,60 @@ module Anthropic
679
785
  # @return [Object]
680
786
  def request(req)
681
787
  self.class.validate!(req)
788
+ Anthropic::RequestOptions.validate!(req[:options].to_h)
789
+ Anthropic::Internal::Tracing.request_option(req[:options].to_h[:open_telemetry])
790
+ return execute_request(req) if @tracer.nil?
791
+
792
+ start_time = Anthropic::Internal::Util.monotonic_secs
793
+ attributes = Anthropic::Internal::Tracing.api_call_span_attributes(self, req)
794
+ span = Anthropic::Internal::Tracing.start_api_call_span(
795
+ @tracer,
796
+ {**req, span_attributes: attributes},
797
+ propagation: @open_telemetry_propagation
798
+ )
799
+ return execute_request(req) if span.nil?
800
+
801
+ result = {req: req, client: self, start_time: start_time}
802
+ data = begin
803
+ # The response is kept before its body is decoded: a body that cannot be decoded still has a status.
804
+ result[:data] = OpenTelemetry::Trace.with_span(span) do
805
+ execute_request(req, span: span) { result.update(status: _1, headers: _2) }
806
+ end
807
+ rescue StandardError => e
808
+ result[:error] = e
809
+ raise
810
+ ensure
811
+ unless result[:data].is_a?(Anthropic::Internal::Type::BaseStream)
812
+ Anthropic::Internal::Tracing.end_api_call_span(span, result)
813
+ end
814
+ end
815
+ return data unless data.is_a?(Anthropic::Internal::Type::BaseStream)
816
+
817
+ # The stream that the application gets reads `data`, and ends the span once read or closed.
818
+ Anthropic::Internal::Tracing.end_api_call_span_when_stream_ends(span, data, result)
819
+ end
820
+
821
+ # @api private
822
+ #
823
+ # Yields the final response's status and headers before the body is decoded.
824
+ #
825
+ # @param req [Hash{Symbol=>Object}]
826
+ # @param span [OpenTelemetry::Trace::Span, nil]
827
+ #
828
+ # @yieldparam status [Integer]
829
+ # @yieldparam headers [Hash{String=>String}]
830
+ #
831
+ # @raise [Anthropic::Errors::APIError]
832
+ # @return [Object]
833
+ private def execute_request(req, span: nil)
682
834
  model = req.fetch(:model) { Anthropic::Internal::Type::Unknown }
683
835
  opts = req[:options].to_h
684
836
  unwrap = req[:unwrap]
685
- Anthropic::RequestOptions.validate!(opts)
686
837
  request = build_request(req.except(:options), opts)
687
838
  url = request.fetch(:url)
839
+ if span && @open_telemetry_propagation
840
+ request.fetch(:headers).update(Anthropic::Internal::Tracing.inject(span))
841
+ end
688
842
 
689
843
  # Don't send the current retry count in the headers if the caller modified the header defaults.
690
844
  send_retry_header = request.fetch(:headers)["x-stainless-retry-count"] == "0"
@@ -692,8 +846,10 @@ module Anthropic
692
846
  request,
693
847
  redirect_count: 0,
694
848
  retry_count: 0,
695
- send_retry_header: send_retry_header
849
+ send_retry_header: send_retry_header,
850
+ span: span
696
851
  )
852
+ yield(status, headers) if block_given?
697
853
 
698
854
  decoded = Anthropic::Internal::Util.decode_content(headers, stream: stream)
699
855
  case req
@@ -754,6 +910,12 @@ module Anthropic
754
910
  T::Class[Anthropic::Internal::Type::BaseStream[T.anything, Anthropic::Internal::Type::BaseModel]]
755
911
  ),
756
912
  model: T.nilable(Anthropic::Internal::Type::Converter::Input),
913
+ span_name: T.nilable(String),
914
+ span_attributes: T.nilable(T::Hash[String, T.anything]),
915
+ span_created_id: T.nilable(T.any(String, T::Hash[String, Symbol])),
916
+ span_route: T.nilable(String),
917
+ span_query: T.nilable(T::Array[String]),
918
+ span_content_query: T.nilable(T::Array[String]),
757
919
  options: T.nilable(Anthropic::RequestOptions::OrHash)
758
920
  }
759
921
  end
@@ -778,6 +940,8 @@ module Anthropic
778
940
  T.proc.params(arg0: T.anything).returns(T.anything)
779
941
  )
780
942
  ),
943
+ span_query: T.nilable(T::Array[String]),
944
+ span_content_query: T.nilable(T::Array[String]),
781
945
  options: T::Hash[Symbol, T.anything],
782
946
  middleware: T::Array[T.anything],
783
947
  metadata: T::Hash[Symbol, T.anything]
@@ -180,11 +180,15 @@ module Anthropic
180
180
 
181
181
  req = nil
182
182
  finished = false
183
+ context = OpenTelemetry::Context.current
183
184
 
184
185
  # rubocop:disable Metrics/BlockLength
185
186
  enum = Enumerator.new do |y|
186
187
  next if finished
187
188
 
189
+ # This enumerator's fiber has a context of its own, so it takes the caller's: HTTP
190
+ # instrumentation then starts its spans as children of the span of the API call.
191
+ token = OpenTelemetry::Context.attach(context)
188
192
  with_pool(url, deadline: deadline) do |conn|
189
193
  eof = false
190
194
  closing = nil
@@ -228,6 +232,8 @@ module Anthropic
228
232
  raise Anthropic::Errors::APITimeoutError.new(url: url, request: req)
229
233
  rescue StandardError
230
234
  raise Anthropic::Errors::APIConnectionError.new(url: url, request: req)
235
+ ensure
236
+ OpenTelemetry::Context.detach(token) unless token.nil?
231
237
  end
232
238
  # rubocop:enable Metrics/BlockLength
233
239
 
@@ -105,6 +105,8 @@ module Anthropic
105
105
 
106
106
  variant const: -> { Anthropic::Models::AnthropicBeta::SPEND_LIMIT_READS_2026_09_26 }
107
107
 
108
+ variant const: -> { Anthropic::Models::AnthropicBeta::TELEMETRY_DESTINATIONS_2026_08_11 }
109
+
108
110
  variant String
109
111
 
110
112
  # @!method self.variants
@@ -166,6 +168,7 @@ module Anthropic
166
168
  MCP_CLIENT_2026_09_15 = :"mcp-client-2026-09-15"
167
169
  CE_PLUGINS_2026_09_01 = :"ce-plugins-2026-09-01"
168
170
  SPEND_LIMIT_READS_2026_09_26 = :"spend-limit-reads-2026-09-26"
171
+ TELEMETRY_DESTINATIONS_2026_08_11 = :"telemetry-destinations-2026-08-11"
169
172
 
170
173
  # @!endgroup
171
174
  end
@@ -11,7 +11,7 @@ module Anthropic
11
11
  # @!attribute model
12
12
  # Model identifier. Accepts the
13
13
  # [model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),
14
- # e.g. `claude-opus-5`, or a `model_config` object for additional configuration
14
+ # e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration
15
15
  # control
16
16
  #
17
17
  # @return [Anthropic::Models::Beta::BetaManagedAgentsModelConfigParams, Symbol, String, Anthropic::Models::Beta::BetaManagedAgentsModel]
@@ -29,6 +29,15 @@ module Anthropic
29
29
  # @return [String, nil]
30
30
  optional :description, String, nil?: true
31
31
 
32
+ # @!attribute execution_identity
33
+ # Execution principal for runs of this agent. Omitting it, sending null, or
34
+ # sending `{"type": "service_account"}` stores the default.
35
+ #
36
+ # @return [Anthropic::Models::Beta::BetaManagedAgentsAWSRoleExecutionIdentityParams, Anthropic::Models::Beta::BetaManagedAgentsServiceAccountExecutionIdentityParams, nil]
37
+ optional :execution_identity,
38
+ union: -> { Anthropic::Beta::BetaManagedAgentsExecutionIdentityParams },
39
+ nil?: true
40
+
32
41
  # @!attribute mcp_servers
33
42
  # MCP servers this agent connects to. Maximum 20. Names must be unique within the
34
43
  # array. Every server must be referenced by an `mcp_toolset` in `tools`;
@@ -90,7 +99,7 @@ module Anthropic
90
99
  # @return [String, nil]
91
100
  optional :workspace_id, String
92
101
 
93
- # @!method initialize(model:, name:, description: nil, mcp_servers: nil, metadata: nil, multiagent: nil, skills: nil, system_: nil, tools: nil, betas: nil, workspace_id: nil, request_options: {})
102
+ # @!method initialize(model:, name:, description: nil, execution_identity: nil, mcp_servers: nil, metadata: nil, multiagent: nil, skills: nil, system_: nil, tools: nil, betas: nil, workspace_id: nil, request_options: {})
94
103
  # Some parameter documentations has been truncated, see
95
104
  # {Anthropic::Models::Beta::AgentCreateParams} for more details.
96
105
  #
@@ -100,6 +109,8 @@ module Anthropic
100
109
  #
101
110
  # @param description [String, nil] Description of what the agent does.
102
111
  #
112
+ # @param execution_identity [Anthropic::Models::Beta::BetaManagedAgentsAWSRoleExecutionIdentityParams, Anthropic::Models::Beta::BetaManagedAgentsServiceAccountExecutionIdentityParams, nil] Execution principal for runs of this agent. Omitting it, sending null, or sendin
113
+ #
103
114
  # @param mcp_servers [Array<Anthropic::Models::Beta::BetaManagedAgentsURLMCPServerParams>] MCP servers this agent connects to. Maximum 20. Names must be unique within the
104
115
  #
105
116
  # @param metadata [Hash{Symbol=>String}] Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up t
@@ -120,7 +131,7 @@ module Anthropic
120
131
 
121
132
  # Model identifier. Accepts the
122
133
  # [model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),
123
- # e.g. `claude-opus-5`, or a `model_config` object for additional configuration
134
+ # e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration
124
135
  # control
125
136
  module Model
126
137
  extend Anthropic::Internal::Type::Union
@@ -193,11 +204,11 @@ module Anthropic
193
204
  def self.new(type:, **args)
194
205
  case type.to_sym
195
206
  when :agent_toolset_20260401
196
- Anthropic::Beta::BetaManagedAgentsAgentToolset20260401Params.new(**args)
207
+ Anthropic::Beta::BetaManagedAgentsAgentToolset20260401Params.new(type: type, **args)
197
208
  when :mcp_toolset
198
- Anthropic::Beta::BetaManagedAgentsMCPToolsetParams.new(**args)
209
+ Anthropic::Beta::BetaManagedAgentsMCPToolsetParams.new(type: type, **args)
199
210
  when :custom
200
- Anthropic::Beta::BetaManagedAgentsCustomToolParams.new(**args)
211
+ Anthropic::Beta::BetaManagedAgentsCustomToolParams.new(type: type, **args)
201
212
  else
202
213
  raise ArgumentError, "unknown type: #{type}"
203
214
  end
@@ -20,6 +20,15 @@ module Anthropic
20
20
  # @return [String, nil]
21
21
  optional :description, String, nil?: true
22
22
 
23
+ # @!attribute execution_identity
24
+ # Execution principal for runs of this agent. Full replacement. Omit to preserve;
25
+ # send null or `{"type": "service_account"}` to restore the default.
26
+ #
27
+ # @return [Anthropic::Models::Beta::BetaManagedAgentsAWSRoleExecutionIdentityParams, Anthropic::Models::Beta::BetaManagedAgentsServiceAccountExecutionIdentityParams, nil]
28
+ optional :execution_identity,
29
+ union: -> { Anthropic::Beta::BetaManagedAgentsExecutionIdentityParams },
30
+ nil?: true
31
+
23
32
  # @!attribute mcp_servers
24
33
  # MCP servers. Full replacement. Omit to preserve; send empty array or `null` to
25
34
  # clear. Names must be unique. Maximum 20. Every server must be referenced by an
@@ -45,7 +54,7 @@ module Anthropic
45
54
  # @!attribute model
46
55
  # Model identifier. Accepts the
47
56
  # [model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),
48
- # e.g. `claude-opus-5`, or a `model_config` object for additional configuration
57
+ # e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration
49
58
  # control. Omit to preserve. Cannot be cleared.
50
59
  #
51
60
  # @return [Anthropic::Models::Beta::BetaManagedAgentsModelConfigParams, Symbol, String, Anthropic::Models::Beta::BetaManagedAgentsModel, nil]
@@ -116,7 +125,7 @@ module Anthropic
116
125
  # @return [String, nil]
117
126
  optional :workspace_id, String
118
127
 
119
- # @!method initialize(agent_id:, description: nil, mcp_servers: nil, metadata: nil, model: nil, multiagent: nil, name: nil, skills: nil, system_: nil, tools: nil, version: nil, betas: nil, workspace_id: nil, request_options: {})
128
+ # @!method initialize(agent_id:, description: nil, execution_identity: nil, mcp_servers: nil, metadata: nil, model: nil, multiagent: nil, name: nil, skills: nil, system_: nil, tools: nil, version: nil, betas: nil, workspace_id: nil, request_options: {})
120
129
  # Some parameter documentations has been truncated, see
121
130
  # {Anthropic::Models::Beta::AgentUpdateParams} for more details.
122
131
  #
@@ -124,6 +133,8 @@ module Anthropic
124
133
  #
125
134
  # @param description [String, nil] Description. Omit to preserve; send empty string or null to clear.
126
135
  #
136
+ # @param execution_identity [Anthropic::Models::Beta::BetaManagedAgentsAWSRoleExecutionIdentityParams, Anthropic::Models::Beta::BetaManagedAgentsServiceAccountExecutionIdentityParams, nil] Execution principal for runs of this agent. Full replacement. Omit to preserve;
137
+ #
127
138
  # @param mcp_servers [Array<Anthropic::Models::Beta::BetaManagedAgentsURLMCPServerParams>, nil] MCP servers. Full replacement. Omit to preserve; send empty array or `null` to c
128
139
  #
129
140
  # @param metadata [Hash{Symbol=>String, nil}, nil] Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omi
@@ -150,7 +161,7 @@ module Anthropic
150
161
 
151
162
  # Model identifier. Accepts the
152
163
  # [model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),
153
- # e.g. `claude-opus-5`, or a `model_config` object for additional configuration
164
+ # e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration
154
165
  # control. Omit to preserve. Cannot be cleared.
155
166
  module Model
156
167
  extend Anthropic::Internal::Type::Union
@@ -223,11 +234,11 @@ module Anthropic
223
234
  def self.new(type:, **args)
224
235
  case type.to_sym
225
236
  when :agent_toolset_20260401
226
- Anthropic::Beta::BetaManagedAgentsAgentToolset20260401Params.new(**args)
237
+ Anthropic::Beta::BetaManagedAgentsAgentToolset20260401Params.new(type: type, **args)
227
238
  when :mcp_toolset
228
- Anthropic::Beta::BetaManagedAgentsMCPToolsetParams.new(**args)
239
+ Anthropic::Beta::BetaManagedAgentsMCPToolsetParams.new(type: type, **args)
229
240
  when :custom
230
- Anthropic::Beta::BetaManagedAgentsCustomToolParams.new(**args)
241
+ Anthropic::Beta::BetaManagedAgentsCustomToolParams.new(type: type, **args)
231
242
  else
232
243
  raise ArgumentError, "unknown type: #{type}"
233
244
  end
@@ -49,9 +49,9 @@ module Anthropic
49
49
  def self.new(type:, **args)
50
50
  case type.to_sym
51
51
  when :memory_store
52
- Anthropic::Beta::BetaDreamMemoryStoreInput.new(**args)
52
+ Anthropic::Beta::BetaDreamMemoryStoreInput.new(type: type, **args)
53
53
  when :sessions
54
- Anthropic::Beta::BetaDreamSessionsInput.new(**args)
54
+ Anthropic::Beta::BetaDreamSessionsInput.new(type: type, **args)
55
55
  else
56
56
  raise ArgumentError, "unknown type: #{type}"
57
57
  end
@@ -5,8 +5,12 @@ module Anthropic
5
5
  module Beta
6
6
  # Opt-in server-side retry on one or more substitute models when the requested
7
7
  # model declines for policy reasons. Tried in order: if the first entry also
8
- # declines, the second is tried, and so on. The string "default" requests the
9
- # requested model's server-defined default fallback configuration.
8
+ # declines, the second is tried, and so on. Some models don't support fallbacks;
9
+ # on those models, a list of fallback models returns a 400 error. See
10
+ # [Server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback).
11
+ # The string "default" requests the requested model's server-defined default
12
+ # fallback configuration. On a model that doesn't support fallbacks, the request
13
+ # runs on the requested model alone, so a declined request stays declined.
10
14
  module BetaFallbacksParam
11
15
  extend Anthropic::Internal::Type::Union
12
16
 
@@ -27,6 +27,13 @@ module Anthropic
27
27
  # @return [String, nil]
28
28
  required :description, String, nil?: true
29
29
 
30
+ # @!attribute execution_identity
31
+ # Execution principal for runs of this agent. Always present;
32
+ # `{"type": "service_account"}` when runs carry no customer-named principal.
33
+ #
34
+ # @return [Anthropic::Models::Beta::BetaManagedAgentsAWSRoleExecutionIdentity, Anthropic::Models::Beta::BetaManagedAgentsServiceAccountExecutionIdentity]
35
+ required :execution_identity, union: -> { Anthropic::Beta::BetaManagedAgentsExecutionIdentity }
36
+
30
37
  # @!attribute mcp_servers
31
38
  #
32
39
  # @return [Array<Anthropic::Models::Beta::BetaManagedAgentsMCPServerURLDefinition>]
@@ -90,7 +97,7 @@ module Anthropic
90
97
  # @return [Integer]
91
98
  required :version, Integer
92
99
 
93
- # @!method initialize(id:, archived_at:, created_at:, description:, mcp_servers:, metadata:, model:, multiagent:, name:, skills:, system_:, tools:, type:, updated_at:, version:)
100
+ # @!method initialize(id:, archived_at:, created_at:, description:, execution_identity:, mcp_servers:, metadata:, model:, multiagent:, name:, skills:, system_:, tools:, type:, updated_at:, version:)
94
101
  # A Managed Agents `agent`.
95
102
  #
96
103
  # Some parameter documentations has been truncated, see
@@ -104,6 +111,8 @@ module Anthropic
104
111
  #
105
112
  # @param description [String, nil]
106
113
  #
114
+ # @param execution_identity [Anthropic::Models::Beta::BetaManagedAgentsAWSRoleExecutionIdentity, Anthropic::Models::Beta::BetaManagedAgentsServiceAccountExecutionIdentity] Execution principal for runs of this agent. Always present; `{"type": "service_a
115
+ #
107
116
  # @param mcp_servers [Array<Anthropic::Models::Beta::BetaManagedAgentsMCPServerURLDefinition>]
108
117
  #
109
118
  # @param metadata [Hash{Symbol=>String}]
@@ -167,9 +176,9 @@ module Anthropic
167
176
  def self.new(type:, **args)
168
177
  case type.to_sym
169
178
  when :anthropic
170
- Anthropic::Beta::BetaManagedAgentsAnthropicSkill.new(**args)
179
+ Anthropic::Beta::BetaManagedAgentsAnthropicSkill.new(type: type, **args)
171
180
  when :custom
172
- Anthropic::Beta::BetaManagedAgentsCustomSkill.new(**args)
181
+ Anthropic::Beta::BetaManagedAgentsCustomSkill.new(type: type, **args)
173
182
  else
174
183
  raise ArgumentError, "unknown type: #{type}"
175
184
  end
@@ -227,11 +236,11 @@ module Anthropic
227
236
  def self.new(type:, **args)
228
237
  case type.to_sym
229
238
  when :agent_toolset_20260401
230
- Anthropic::Beta::BetaManagedAgentsAgentToolset20260401.new(**args)
239
+ Anthropic::Beta::BetaManagedAgentsAgentToolset20260401.new(type: type, **args)
231
240
  when :mcp_toolset
232
- Anthropic::Beta::BetaManagedAgentsMCPToolset.new(**args)
241
+ Anthropic::Beta::BetaManagedAgentsMCPToolset.new(type: type, **args)
233
242
  when :custom
234
- Anthropic::Beta::BetaManagedAgentsCustomTool.new(**args)
243
+ Anthropic::Beta::BetaManagedAgentsCustomTool.new(type: type, **args)
235
244
  else
236
245
  raise ArgumentError, "unknown type: #{type}"
237
246
  end
@@ -84,21 +84,21 @@ module Anthropic
84
84
  def self.new(type:, **args)
85
85
  case type.to_sym
86
86
  when :bash
87
- Anthropic::Beta::BetaManagedAgentsBashToolConfigParams.new(**args)
87
+ Anthropic::Beta::BetaManagedAgentsBashToolConfigParams.new(type: type, **args)
88
88
  when :edit
89
- Anthropic::Beta::BetaManagedAgentsEditToolConfigParams.new(**args)
89
+ Anthropic::Beta::BetaManagedAgentsEditToolConfigParams.new(type: type, **args)
90
90
  when :read
91
- Anthropic::Beta::BetaManagedAgentsReadToolConfigParams.new(**args)
91
+ Anthropic::Beta::BetaManagedAgentsReadToolConfigParams.new(type: type, **args)
92
92
  when :write
93
- Anthropic::Beta::BetaManagedAgentsWriteToolConfigParams.new(**args)
93
+ Anthropic::Beta::BetaManagedAgentsWriteToolConfigParams.new(type: type, **args)
94
94
  when :glob
95
- Anthropic::Beta::BetaManagedAgentsGlobToolConfigParams.new(**args)
95
+ Anthropic::Beta::BetaManagedAgentsGlobToolConfigParams.new(type: type, **args)
96
96
  when :grep
97
- Anthropic::Beta::BetaManagedAgentsGrepToolConfigParams.new(**args)
97
+ Anthropic::Beta::BetaManagedAgentsGrepToolConfigParams.new(type: type, **args)
98
98
  when :web_fetch
99
- Anthropic::Beta::BetaManagedAgentsWebFetchToolConfigParams.new(**args)
99
+ Anthropic::Beta::BetaManagedAgentsWebFetchToolConfigParams.new(type: type, **args)
100
100
  when :web_search
101
- Anthropic::Beta::BetaManagedAgentsWebSearchToolConfigParams.new(**args)
101
+ Anthropic::Beta::BetaManagedAgentsWebSearchToolConfigParams.new(type: type, **args)
102
102
  else
103
103
  raise ArgumentError, "unknown type: #{type}"
104
104
  end
@@ -66,9 +66,9 @@ module Anthropic
66
66
  def self.new(type:, **args)
67
67
  case type.to_sym
68
68
  when :always_allow
69
- Anthropic::Beta::BetaManagedAgentsAlwaysAllowPolicy.new(**args)
69
+ Anthropic::Beta::BetaManagedAgentsAlwaysAllowPolicy.new(type: type, **args)
70
70
  when :always_ask
71
- Anthropic::Beta::BetaManagedAgentsAlwaysAskPolicy.new(**args)
71
+ Anthropic::Beta::BetaManagedAgentsAlwaysAskPolicy.new(type: type, **args)
72
72
  when :auto
73
73
  Anthropic::Beta::BetaManagedAgentsAutoPolicy.new(**args)
74
74
  else
@@ -77,9 +77,9 @@ module Anthropic
77
77
  def self.new(type:, **args)
78
78
  case type.to_sym
79
79
  when :always_allow
80
- Anthropic::Beta::BetaManagedAgentsAlwaysAllowPolicy.new(**args)
80
+ Anthropic::Beta::BetaManagedAgentsAlwaysAllowPolicy.new(type: type, **args)
81
81
  when :always_ask
82
- Anthropic::Beta::BetaManagedAgentsAlwaysAskPolicy.new(**args)
82
+ Anthropic::Beta::BetaManagedAgentsAlwaysAskPolicy.new(type: type, **args)
83
83
  when :auto
84
84
  Anthropic::Beta::BetaManagedAgentsAutoPolicy.new(**args)
85
85
  else