anthropic 2.1.0 → 2.2.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/anthropic/client.rb +8 -0
  5. data/lib/anthropic/helpers/bedrock/client.rb +5 -0
  6. data/lib/anthropic/helpers/bedrock/mantle_client.rb +5 -0
  7. data/lib/anthropic/helpers/stainless_helper_header.rb +1 -0
  8. data/lib/anthropic/helpers/threads/beta_message_thread.rb +635 -0
  9. data/lib/anthropic/helpers/tools/runner.rb +79 -11
  10. data/lib/anthropic/helpers/vertex/client.rb +5 -0
  11. data/lib/anthropic/internal/report_page_cursor.rb +2 -2
  12. data/lib/anthropic/internal/tracing.rb +2 -0
  13. data/lib/anthropic/models/anthropic_beta.rb +6 -0
  14. data/lib/anthropic/models/beta/beta_message_thread_param.rb +61 -0
  15. data/lib/anthropic/models/beta/beta_thread_continue_params.rb +29 -0
  16. data/lib/anthropic/models/beta/beta_thread_create_params.rb +21 -0
  17. data/lib/anthropic/models/beta/message_create_params.rb +13 -1
  18. data/lib/anthropic/models/beta/messages/batch_create_params.rb +13 -1
  19. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rb +271 -0
  20. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rb +40 -0
  21. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rb +57 -0
  22. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rb +57 -0
  23. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rb +22 -0
  24. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rb +247 -0
  25. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rb +38 -0
  26. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rb +57 -0
  27. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rb +79 -0
  28. data/lib/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rb +24 -0
  29. data/lib/anthropic/models/beta/organization/analytics/cost_list_params.rb +360 -0
  30. data/lib/anthropic/models/beta/organization/analytics/usage_list_params.rb +353 -0
  31. data/lib/anthropic/models/beta/organization/beta_analytics_actor.rb +81 -0
  32. data/lib/anthropic/models/beta/organization/beta_analytics_actor_type.rb +22 -0
  33. data/lib/anthropic/models/beta/organization/beta_analytics_api_actor.rb +27 -0
  34. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor.rb +42 -0
  35. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rb +35 -0
  36. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rb +27 -0
  37. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rb +27 -0
  38. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rb +27 -0
  39. data/lib/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rb +72 -0
  40. data/lib/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rb +21 -0
  41. data/lib/anthropic/models/beta/organization/beta_analytics_report_user_actor.rb +65 -0
  42. data/lib/anthropic/models/beta/organization/beta_analytics_service_account_actor.rb +27 -0
  43. data/lib/anthropic/models/beta/organization/beta_analytics_service_tier.rb +23 -0
  44. data/lib/anthropic/models/beta/organization/beta_analytics_speed.rb +19 -0
  45. data/lib/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rb +20 -0
  46. data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rb +19 -0
  47. data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rb +34 -0
  48. data/lib/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rb +19 -0
  49. data/lib/anthropic/models/beta/organization/beta_organization_rate_limit.rb +2 -1
  50. data/lib/anthropic/models/beta/organization/beta_plugin.rb +12 -6
  51. data/lib/anthropic/models/beta/organization/beta_plugin_content_scan.rb +11 -5
  52. data/lib/anthropic/models/beta/organization/workspaces/beta_workspace_rate_limit.rb +2 -1
  53. data/lib/anthropic/models/organization/organization_rate_limit.rb +2 -1
  54. data/lib/anthropic/models/organization/workspaces/workspace_rate_limit.rb +2 -1
  55. data/lib/anthropic/resources/beta/messages.rb +78 -4
  56. data/lib/anthropic/resources/beta/organization/analytics/cost.rb +175 -0
  57. data/lib/anthropic/resources/beta/organization/analytics/cost_report.rb +13 -6
  58. data/lib/anthropic/resources/beta/organization/analytics/usage.rb +176 -0
  59. data/lib/anthropic/resources/beta/organization/analytics/usage_report.rb +9 -2
  60. data/lib/anthropic/resources/beta/organization/analytics/user_cost_report.rb +12 -5
  61. data/lib/anthropic/resources/beta/organization/analytics/user_usage_report.rb +15 -8
  62. data/lib/anthropic/resources/beta/organization/analytics.rb +8 -0
  63. data/lib/anthropic/resources/beta/organization/plugin_marketplaces.rb +6 -6
  64. data/lib/anthropic/resources/beta/organization/plugins.rb +12 -9
  65. data/lib/anthropic/version.rb +1 -1
  66. data/lib/anthropic.rb +36 -0
  67. data/rbi/anthropic/client.rbi +5 -0
  68. data/rbi/anthropic/helpers/bedrock/client.rbi +5 -0
  69. data/rbi/anthropic/helpers/bedrock/mantle_client.rbi +5 -0
  70. data/rbi/anthropic/helpers/threads/beta_message_thread.rbi +100 -0
  71. data/rbi/anthropic/helpers/vertex/client.rbi +5 -0
  72. data/rbi/anthropic/internal/tracing.rbi +4 -0
  73. data/rbi/anthropic/models/anthropic_beta.rbi +10 -0
  74. data/rbi/anthropic/models/beta/beta_message_thread_param.rbi +80 -0
  75. data/rbi/anthropic/models/beta/beta_thread_continue_params.rbi +43 -0
  76. data/rbi/anthropic/models/beta/beta_thread_create_params.rbi +31 -0
  77. data/rbi/anthropic/models/beta/message_create_params.rbi +37 -0
  78. data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +37 -0
  79. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rbi +439 -0
  80. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rbi +140 -0
  81. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rbi +110 -0
  82. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rbi +79 -0
  83. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rbi +50 -0
  84. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rbi +399 -0
  85. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rbi +130 -0
  86. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rbi +110 -0
  87. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rbi +120 -0
  88. data/rbi/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rbi +60 -0
  89. data/rbi/anthropic/models/beta/organization/analytics/cost_list_params.rbi +624 -0
  90. data/rbi/anthropic/models/beta/organization/analytics/usage_list_params.rbi +612 -0
  91. data/rbi/anthropic/models/beta/organization/beta_analytics_actor.rbi +134 -0
  92. data/rbi/anthropic/models/beta/organization/beta_analytics_actor_type.rbi +54 -0
  93. data/rbi/anthropic/models/beta/organization/beta_analytics_api_actor.rbi +40 -0
  94. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor.rbi +75 -0
  95. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rbi +54 -0
  96. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rbi +42 -0
  97. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rbi +42 -0
  98. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rbi +42 -0
  99. data/rbi/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rbi +107 -0
  100. data/rbi/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rbi +53 -0
  101. data/rbi/anthropic/models/beta/organization/beta_analytics_report_user_actor.rbi +94 -0
  102. data/rbi/anthropic/models/beta/organization/beta_analytics_service_account_actor.rbi +42 -0
  103. data/rbi/anthropic/models/beta/organization/beta_analytics_service_tier.rbi +63 -0
  104. data/rbi/anthropic/models/beta/organization/beta_analytics_speed.rbi +40 -0
  105. data/rbi/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rbi +48 -0
  106. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rbi +43 -0
  107. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rbi +98 -0
  108. data/rbi/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rbi +43 -0
  109. data/rbi/anthropic/models/beta/organization/beta_organization_rate_limit.rbi +4 -2
  110. data/rbi/anthropic/models/beta/organization/beta_plugin.rbi +20 -8
  111. data/rbi/anthropic/models/beta/organization/beta_plugin_content_scan.rbi +15 -6
  112. data/rbi/anthropic/models/beta/organization/workspaces/beta_workspace_rate_limit.rbi +4 -2
  113. data/rbi/anthropic/models/organization/organization_rate_limit.rbi +4 -2
  114. data/rbi/anthropic/models/organization/workspaces/workspace_rate_limit.rbi +4 -2
  115. data/rbi/anthropic/resources/beta/messages.rbi +191 -0
  116. data/rbi/anthropic/resources/beta/organization/analytics/cost.rbi +245 -0
  117. data/rbi/anthropic/resources/beta/organization/analytics/cost_report.rbi +12 -5
  118. data/rbi/anthropic/resources/beta/organization/analytics/usage.rbi +240 -0
  119. data/rbi/anthropic/resources/beta/organization/analytics/usage_report.rbi +9 -2
  120. data/rbi/anthropic/resources/beta/organization/analytics/user_cost_report.rbi +12 -5
  121. data/rbi/anthropic/resources/beta/organization/analytics/user_usage_report.rbi +14 -7
  122. data/rbi/anthropic/resources/beta/organization/analytics.rbi +10 -0
  123. data/rbi/anthropic/resources/beta/organization/plugin_marketplaces.rbi +6 -6
  124. data/rbi/anthropic/resources/beta/organization/plugins.rbi +12 -9
  125. data/rbi/lib/anthropic/helpers/stainless_helper_header.rbi +2 -0
  126. data/sig/anthropic/client.rbs +2 -0
  127. data/sig/anthropic/helpers/bedrock/client.rbs +2 -0
  128. data/sig/anthropic/helpers/threads/beta_message_thread.rbs +40 -0
  129. data/sig/anthropic/helpers/tools/runner.rbs +40 -0
  130. data/sig/anthropic/helpers/vertex/client.rbs +2 -0
  131. data/sig/anthropic/internal/tracing.rbs +2 -0
  132. data/sig/anthropic/models/anthropic_beta.rbs +4 -0
  133. data/sig/anthropic/models/beta/beta_message_thread_param.rbs +40 -0
  134. data/sig/anthropic/models/beta/beta_thread_continue_params.rbs +20 -0
  135. data/sig/anthropic/models/beta/beta_thread_create_params.rbs +17 -0
  136. data/sig/anthropic/models/beta/message_create_params.rbs +5 -0
  137. data/sig/anthropic/models/beta/messages/batch_create_params.rbs +5 -0
  138. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_group.rbs +126 -0
  139. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by.rbs +60 -0
  140. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_item.rbs +41 -0
  141. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics.rbs +41 -0
  142. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by.rbs +21 -0
  143. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_group.rbs +116 -0
  144. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by.rbs +56 -0
  145. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_item.rbs +41 -0
  146. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics.rbs +56 -0
  147. data/sig/anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by.rbs +28 -0
  148. data/sig/anthropic/models/beta/organization/analytics/cost_list_params.rbs +188 -0
  149. data/sig/anthropic/models/beta/organization/analytics/usage_list_params.rbs +188 -0
  150. data/sig/anthropic/models/beta/organization/beta_analytics_actor.rbs +67 -0
  151. data/sig/anthropic/models/beta/organization/beta_analytics_actor_type.rbs +21 -0
  152. data/sig/anthropic/models/beta/organization/beta_analytics_api_actor.rbs +19 -0
  153. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor.rbs +34 -0
  154. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider.rbs +30 -0
  155. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider.rbs +20 -0
  156. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider.rbs +20 -0
  157. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider.rbs +20 -0
  158. data/sig/anthropic/models/beta/organization/beta_analytics_federated_actor_provider.rbs +60 -0
  159. data/sig/anthropic/models/beta/organization/beta_analytics_grouped_cost_type.rbs +21 -0
  160. data/sig/anthropic/models/beta/organization/beta_analytics_report_user_actor.rbs +44 -0
  161. data/sig/anthropic/models/beta/organization/beta_analytics_service_account_actor.rbs +26 -0
  162. data/sig/anthropic/models/beta/organization/beta_analytics_service_tier.rbs +28 -0
  163. data/sig/anthropic/models/beta/organization/beta_analytics_speed.rbs +18 -0
  164. data/sig/anthropic/models/beta/organization/beta_analytics_time_bucket_width.rbs +19 -0
  165. data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo.rbs +18 -0
  166. data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter.rbs +40 -0
  167. data/sig/anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order.rbs +18 -0
  168. data/sig/anthropic/resources/beta/messages.rbs +33 -0
  169. data/sig/anthropic/resources/beta/organization/analytics/cost.rbs +46 -0
  170. data/sig/anthropic/resources/beta/organization/analytics/usage.rbs +46 -0
  171. data/sig/anthropic/resources/beta/organization/analytics.rbs +4 -0
  172. metadata +111 -2
data/lib/anthropic.rb CHANGED
@@ -662,6 +662,7 @@ require_relative "anthropic/models/beta/beta_message_content_param"
662
662
  require_relative "anthropic/models/beta/beta_message_delta_usage"
663
663
  require_relative "anthropic/models/beta/beta_message_iteration_usage"
664
664
  require_relative "anthropic/models/beta/beta_message_param"
665
+ require_relative "anthropic/models/beta/beta_message_thread_param"
665
666
  require_relative "anthropic/models/beta/beta_message_tokens_count"
666
667
  require_relative "anthropic/models/beta/beta_metadata"
667
668
  require_relative "anthropic/models/beta/beta_model_capabilities"
@@ -749,6 +750,8 @@ require_relative "anthropic/models/beta/beta_thinking_mismatch_allowed_input_tra
749
750
  require_relative "anthropic/models/beta/beta_thinking_prefix_mismatch_behavior"
750
751
  require_relative "anthropic/models/beta/beta_thinking_turns"
751
752
  require_relative "anthropic/models/beta/beta_thinking_types"
753
+ require_relative "anthropic/models/beta/beta_thread_continue_params"
754
+ require_relative "anthropic/models/beta/beta_thread_create_params"
752
755
  require_relative "anthropic/models/beta/beta_token_task_budget"
753
756
  require_relative "anthropic/models/beta/beta_tool"
754
757
  require_relative "anthropic/models/beta/beta_tool_bash_20241022"
@@ -969,11 +972,23 @@ require_relative "anthropic/models/beta/model_list_params"
969
972
  require_relative "anthropic/models/beta/model_retrieve_params"
970
973
  require_relative "anthropic/models/beta/organization/analytics/apps/chat/project_list_params"
971
974
  require_relative "anthropic/models/beta/organization/analytics/artifact_list_params"
975
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_cost_group"
976
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_cost_group_by"
977
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_cost_item"
978
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_cost_metrics"
979
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_cost_order_by"
980
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_usage_group"
981
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_usage_group_by"
982
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_usage_item"
983
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_usage_metrics"
984
+ require_relative "anthropic/models/beta/organization/analytics/beta_analytics_usage_order_by"
972
985
  require_relative "anthropic/models/beta/organization/analytics/connector_list_params"
986
+ require_relative "anthropic/models/beta/organization/analytics/cost_list_params"
973
987
  require_relative "anthropic/models/beta/organization/analytics/cost_report_list_params"
974
988
  require_relative "anthropic/models/beta/organization/analytics/plugin_list_params"
975
989
  require_relative "anthropic/models/beta/organization/analytics/skill_list_params"
976
990
  require_relative "anthropic/models/beta/organization/analytics/summary_list_params"
991
+ require_relative "anthropic/models/beta/organization/analytics/usage_list_params"
977
992
  require_relative "anthropic/models/beta/organization/analytics/usage_report_list_params"
978
993
  require_relative "anthropic/models/beta/organization/analytics/user_cost_report_list_params"
979
994
  require_relative "anthropic/models/beta/organization/analytics/user_list_params"
@@ -982,6 +997,9 @@ require_relative "anthropic/models/beta/organization/api_key_list_params"
982
997
  require_relative "anthropic/models/beta/organization/api_key_retrieve_params"
983
998
  require_relative "anthropic/models/beta/organization/api_key_update_params"
984
999
  require_relative "anthropic/models/beta/organization/beta_allowed_inference_geo"
1000
+ require_relative "anthropic/models/beta/organization/beta_analytics_actor"
1001
+ require_relative "anthropic/models/beta/organization/beta_analytics_actor_type"
1002
+ require_relative "anthropic/models/beta/organization/beta_analytics_api_actor"
985
1003
  require_relative "anthropic/models/beta/organization/beta_analytics_artifact_activity"
986
1004
  require_relative "anthropic/models/beta/organization/beta_analytics_chat_cowork_unified_chat_metrics"
987
1005
  require_relative "anthropic/models/beta/organization/beta_analytics_chat_cowork_unified_sessions_metrics"
@@ -1004,6 +1022,13 @@ require_relative "anthropic/models/beta/organization/beta_analytics_cost_type"
1004
1022
  require_relative "anthropic/models/beta/organization/beta_analytics_cost_users_item"
1005
1023
  require_relative "anthropic/models/beta/organization/beta_analytics_cowork_metrics"
1006
1024
  require_relative "anthropic/models/beta/organization/beta_analytics_design_metrics"
1025
+ require_relative "anthropic/models/beta/organization/beta_analytics_federated_actor"
1026
+ require_relative "anthropic/models/beta/organization/beta_analytics_federated_actor_aws_provider"
1027
+ require_relative "anthropic/models/beta/organization/beta_analytics_federated_actor_azure_provider"
1028
+ require_relative "anthropic/models/beta/organization/beta_analytics_federated_actor_gcp_provider"
1029
+ require_relative "anthropic/models/beta/organization/beta_analytics_federated_actor_oidc_provider"
1030
+ require_relative "anthropic/models/beta/organization/beta_analytics_federated_actor_provider"
1031
+ require_relative "anthropic/models/beta/organization/beta_analytics_grouped_cost_type"
1007
1032
  require_relative "anthropic/models/beta/organization/beta_analytics_inference_geo_filter"
1008
1033
  require_relative "anthropic/models/beta/organization/beta_analytics_lines_of_code"
1009
1034
  require_relative "anthropic/models/beta/organization/beta_analytics_office_metrics"
@@ -1013,8 +1038,11 @@ require_relative "anthropic/models/beta/organization/beta_analytics_plugin_claud
1013
1038
  require_relative "anthropic/models/beta/organization/beta_analytics_plugin_cowork_metrics"
1014
1039
  require_relative "anthropic/models/beta/organization/beta_analytics_product_filter"
1015
1040
  require_relative "anthropic/models/beta/organization/beta_analytics_project_activity"
1041
+ require_relative "anthropic/models/beta/organization/beta_analytics_report_user_actor"
1016
1042
  require_relative "anthropic/models/beta/organization/beta_analytics_science_metrics"
1017
1043
  require_relative "anthropic/models/beta/organization/beta_analytics_server_tool_use"
1044
+ require_relative "anthropic/models/beta/organization/beta_analytics_service_account_actor"
1045
+ require_relative "anthropic/models/beta/organization/beta_analytics_service_tier"
1018
1046
  require_relative "anthropic/models/beta/organization/beta_analytics_single_day_activity_summary"
1019
1047
  require_relative "anthropic/models/beta/organization/beta_analytics_skill_activity"
1020
1048
  require_relative "anthropic/models/beta/organization/beta_analytics_skill_chat_cowork_unified_chat_metrics"
@@ -1024,10 +1052,15 @@ require_relative "anthropic/models/beta/organization/beta_analytics_skill_claude
1024
1052
  require_relative "anthropic/models/beta/organization/beta_analytics_skill_cowork_metrics"
1025
1053
  require_relative "anthropic/models/beta/organization/beta_analytics_skill_office_metrics"
1026
1054
  require_relative "anthropic/models/beta/organization/beta_analytics_skill_office_product_metrics"
1055
+ require_relative "anthropic/models/beta/organization/beta_analytics_speed"
1056
+ require_relative "anthropic/models/beta/organization/beta_analytics_time_bucket_width"
1027
1057
  require_relative "anthropic/models/beta/organization/beta_analytics_token_type"
1028
1058
  require_relative "anthropic/models/beta/organization/beta_analytics_tool_action_counts"
1029
1059
  require_relative "anthropic/models/beta/organization/beta_analytics_tool_actions"
1030
1060
  require_relative "anthropic/models/beta/organization/beta_analytics_usage_bucketed_result"
1061
+ require_relative "anthropic/models/beta/organization/beta_analytics_usage_cost_inference_geo"
1062
+ require_relative "anthropic/models/beta/organization/beta_analytics_usage_cost_product_filter"
1063
+ require_relative "anthropic/models/beta/organization/beta_analytics_usage_cost_sort_order"
1031
1064
  require_relative "anthropic/models/beta/organization/beta_analytics_usage_report_time_bucket"
1032
1065
  require_relative "anthropic/models/beta/organization/beta_analytics_usage_users_item"
1033
1066
  require_relative "anthropic/models/beta/organization/beta_analytics_user"
@@ -2108,10 +2141,12 @@ require_relative "anthropic/resources/beta/organization/analytics/apps/chat"
2108
2141
  require_relative "anthropic/resources/beta/organization/analytics/apps/chat/projects"
2109
2142
  require_relative "anthropic/resources/beta/organization/analytics/artifacts"
2110
2143
  require_relative "anthropic/resources/beta/organization/analytics/connectors"
2144
+ require_relative "anthropic/resources/beta/organization/analytics/cost"
2111
2145
  require_relative "anthropic/resources/beta/organization/analytics/cost_report"
2112
2146
  require_relative "anthropic/resources/beta/organization/analytics/plugins"
2113
2147
  require_relative "anthropic/resources/beta/organization/analytics/skills"
2114
2148
  require_relative "anthropic/resources/beta/organization/analytics/summaries"
2149
+ require_relative "anthropic/resources/beta/organization/analytics/usage"
2115
2150
  require_relative "anthropic/resources/beta/organization/analytics/usage_report"
2116
2151
  require_relative "anthropic/resources/beta/organization/analytics/user_cost_report"
2117
2152
  require_relative "anthropic/resources/beta/organization/analytics/users"
@@ -2191,4 +2226,5 @@ require_relative "anthropic/helpers/tools/runner"
2191
2226
  require_relative "anthropic/helpers/tools/base_tool"
2192
2227
  require_relative "anthropic/helpers/tools/mcp"
2193
2228
  require_relative "anthropic/helpers/tools"
2229
+ require_relative "anthropic/helpers/threads/beta_message_thread"
2194
2230
  require_relative "anthropic/mcp"
@@ -58,6 +58,11 @@ module Anthropic
58
58
  private def bearer_auth
59
59
  end
60
60
 
61
+ # @api private
62
+ sig { returns(T::Boolean) }
63
+ def message_threads?
64
+ end
65
+
61
66
  # @api private
62
67
  sig { returns(T::Boolean) }
63
68
  private def resolve_default_credentials?
@@ -17,6 +17,11 @@ module Anthropic
17
17
  def models
18
18
  end
19
19
 
20
+ # @api private
21
+ sig { returns(T::Boolean) }
22
+ def message_threads?
23
+ end
24
+
20
25
  sig { returns(T.noreturn) }
21
26
  def files
22
27
  end
@@ -55,6 +55,11 @@ module Anthropic
55
55
  def models
56
56
  end
57
57
 
58
+ # @api private
59
+ sig { returns(T::Boolean) }
60
+ def message_threads?
61
+ end
62
+
58
63
  sig { returns(T.noreturn) }
59
64
  def files
60
65
  end
@@ -0,0 +1,100 @@
1
+ # typed: strong
2
+
3
+ module Anthropic
4
+ module Helpers
5
+ module Threads
6
+ # A conversation that the API keeps between requests, so that each turn sends only
7
+ # the messages that are new. Create one with `client.beta.messages.thread(...)`.
8
+ #
9
+ # A thread runs one turn at a time and is not safe for concurrent use.
10
+ class BetaMessageThread
11
+ # The whole history: every message that was sent, every reply, and the messages
12
+ # staged for the next turn.
13
+ sig { returns(T::Array[T::Hash[Symbol, T.anything]]) }
14
+ def messages
15
+ end
16
+
17
+ # The reply the next turn continues from, or `nil` when the next turn starts a new
18
+ # thread.
19
+ sig { returns(T.nilable(String)) }
20
+ def previous_message_id
21
+ end
22
+
23
+ # What `client.beta.messages.thread` takes to create a thread that behaves the
24
+ # same, with `messages` set to the whole history.
25
+ sig { returns(T::Hash[Symbol, T.anything]) }
26
+ def params
27
+ end
28
+
29
+ # Stages messages for the next turn without sending them.
30
+ sig do
31
+ params(
32
+ messages:
33
+ T.any(
34
+ Anthropic::Beta::BetaMessageParam::Variants,
35
+ Anthropic::Beta::BetaMessage,
36
+ Anthropic::Internal::AnyHash
37
+ )
38
+ ).void
39
+ end
40
+ def append(*messages)
41
+ end
42
+
43
+ # Changes the thread's request fields for every later turn, where `nil` removes a
44
+ # field. It sends no request. `system_` and `tools` cannot change once a turn has
45
+ # created the thread.
46
+ sig { params(params: T.anything).void }
47
+ def update(**params)
48
+ end
49
+
50
+ # Returns a new, independent thread with this thread's history and request fields.
51
+ # It sends no request.
52
+ sig { returns(Anthropic::Helpers::Threads::BetaMessageThread) }
53
+ def fork
54
+ end
55
+
56
+ # Creates a tool runner that runs over this thread. It sends no request.
57
+ sig do
58
+ params(max_iterations: T.nilable(Integer)).returns(
59
+ Anthropic::Helpers::Tools::Runner
60
+ )
61
+ end
62
+ def tool_runner(max_iterations: nil)
63
+ end
64
+
65
+ # Sends the messages staged with `#append`, followed by `messages`, as one turn
66
+ # and returns the reply. `params` takes the keywords of `#update` and applies to
67
+ # this turn only.
68
+ sig do
69
+ params(
70
+ messages:
71
+ T.any(
72
+ Anthropic::Beta::BetaMessageParam::Variants,
73
+ Anthropic::Beta::BetaMessage,
74
+ Anthropic::Internal::AnyHash
75
+ ),
76
+ params: T.anything
77
+ ).returns(Anthropic::Beta::BetaMessage)
78
+ end
79
+ def send_message(*messages, **params)
80
+ end
81
+
82
+ # Sends the next turn like `#send_message` and returns the stream of the reply.
83
+ # The turn is in progress until the stream ends or is closed.
84
+ sig do
85
+ params(
86
+ messages:
87
+ T.any(
88
+ Anthropic::Beta::BetaMessageParam::Variants,
89
+ Anthropic::Beta::BetaMessage,
90
+ Anthropic::Internal::AnyHash
91
+ ),
92
+ params: T.anything
93
+ ).returns(Anthropic::Streaming::MessageStream)
94
+ end
95
+ def stream(*messages, **params)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -21,6 +21,11 @@ module Anthropic
21
21
  private def resolve_default_credentials?
22
22
  end
23
23
 
24
+ # @api private
25
+ sig { returns(T::Boolean) }
26
+ def message_threads?
27
+ end
28
+
24
29
  sig { returns(T.noreturn) }
25
30
  def files
26
31
  end
@@ -349,6 +349,10 @@ module Anthropic
349
349
  "anthropic.organization.analytics.skills.list"
350
350
  ORGANIZATION_ANALYTICS_ARTIFACTS_LIST =
351
351
  "anthropic.organization.analytics.artifacts.list"
352
+ ORGANIZATION_ANALYTICS_USAGE_LIST =
353
+ "anthropic.organization.analytics.usage.list"
354
+ ORGANIZATION_ANALYTICS_COST_LIST =
355
+ "anthropic.organization.analytics.cost.list"
352
356
  ORGANIZATION_ANALYTICS_USAGE_REPORT_LIST =
353
357
  "anthropic.organization.analytics.usage_report.list"
354
358
  ORGANIZATION_ANALYTICS_USER_USAGE_REPORT_LIST =
@@ -227,6 +227,16 @@ module Anthropic
227
227
  )
228
228
  WEBHOOKS_2026_10_07 =
229
229
  T.let(:"webhooks-2026-10-07", Anthropic::AnthropicBeta::TaggedSymbol)
230
+ MESSAGE_THREADS_2026_08_12 =
231
+ T.let(
232
+ :"message-threads-2026-08-12",
233
+ Anthropic::AnthropicBeta::TaggedSymbol
234
+ )
235
+ ANALYTICS_USAGE_COST_2026_08_24 =
236
+ T.let(
237
+ :"analytics-usage-cost-2026-08-24",
238
+ Anthropic::AnthropicBeta::TaggedSymbol
239
+ )
230
240
  end
231
241
  end
232
242
  end
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module Anthropic
4
+ module Models
5
+ BetaMessageThreadParam = Beta::BetaMessageThreadParam
6
+
7
+ module Beta
8
+ # Server-held conversation state (a Thread). `{"type": "create"}` asks the server
9
+ # to hold this conversation's state under the response's `id`;
10
+ # `{"type": "continue", "previous_message_id": ...}` resumes from a previous
11
+ # response so only the new turn's messages are sent. The response shape is
12
+ # unchanged.
13
+ module BetaMessageThreadParam
14
+ extend Anthropic::Internal::Type::Union
15
+
16
+ Variants =
17
+ T.type_alias do
18
+ T.any(
19
+ Anthropic::Beta::BetaThreadCreateParams,
20
+ Anthropic::Beta::BetaThreadContinueParams
21
+ )
22
+ end
23
+
24
+ module Type
25
+ extend Anthropic::Internal::Type::Enum
26
+
27
+ TaggedSymbol =
28
+ T.type_alias do
29
+ T.all(Symbol, Anthropic::Beta::BetaMessageThreadParam::Type)
30
+ end
31
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
32
+
33
+ CREATE =
34
+ T.let(
35
+ :create,
36
+ Anthropic::Beta::BetaMessageThreadParam::Type::TaggedSymbol
37
+ )
38
+ CONTINUE =
39
+ T.let(
40
+ :continue,
41
+ Anthropic::Beta::BetaMessageThreadParam::Type::TaggedSymbol
42
+ )
43
+
44
+ sig do
45
+ override.returns(
46
+ T::Array[
47
+ Anthropic::Beta::BetaMessageThreadParam::Type::TaggedSymbol
48
+ ]
49
+ )
50
+ end
51
+ def self.values
52
+ end
53
+ end
54
+
55
+ sig do
56
+ override.returns(
57
+ T::Array[Anthropic::Beta::BetaMessageThreadParam::Variants]
58
+ )
59
+ end
60
+ def self.variants
61
+ end
62
+
63
+ # Creates a new instance of the variant class whose `type` matches the given
64
+ # value, passing the remaining arguments to its constructor.
65
+ sig do
66
+ params(
67
+ type: Anthropic::Beta::BetaMessageThreadParam::Type::OrSymbol,
68
+ previous_message_id: String
69
+ ).returns(Anthropic::Beta::BetaMessageThreadParam::Variants)
70
+ end
71
+ def self.new(
72
+ type:,
73
+ # The `id` of the previous response in this Thread.
74
+ previous_message_id: nil
75
+ )
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module Anthropic
4
+ module Models
5
+ BetaThreadContinueParams = Beta::BetaThreadContinueParams
6
+
7
+ module Beta
8
+ class BetaThreadContinueParams < Anthropic::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Anthropic::Beta::BetaThreadContinueParams,
13
+ Anthropic::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The `id` of the previous response in this Thread.
18
+ sig { returns(String) }
19
+ attr_accessor :previous_message_id
20
+
21
+ sig { returns(Symbol) }
22
+ attr_accessor :type
23
+
24
+ # Resume from the response named by `previous_message_id`.
25
+ sig do
26
+ params(previous_message_id: String, type: Symbol).returns(
27
+ T.attached_class
28
+ )
29
+ end
30
+ def self.new(
31
+ # The `id` of the previous response in this Thread.
32
+ previous_message_id:,
33
+ type: :continue
34
+ )
35
+ end
36
+
37
+ sig { override.returns({ previous_message_id: String, type: Symbol }) }
38
+ def to_hash
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module Anthropic
4
+ module Models
5
+ BetaThreadCreateParams = Beta::BetaThreadCreateParams
6
+
7
+ module Beta
8
+ class BetaThreadCreateParams < Anthropic::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Anthropic::Beta::BetaThreadCreateParams,
13
+ Anthropic::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(Symbol) }
18
+ attr_accessor :type
19
+
20
+ # Start holding conversation state under this response's `id`.
21
+ sig { params(type: Symbol).returns(T.attached_class) }
22
+ def self.new(type: :create)
23
+ end
24
+
25
+ sig { override.returns({ type: Symbol }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -398,6 +398,23 @@ module Anthropic
398
398
  end
399
399
  attr_writer :thinking
400
400
 
401
+ # Server-held conversation state (a Thread). `{"type": "create"}` asks the server
402
+ # to hold this conversation's state under the response's `id`;
403
+ # `{"type": "continue", "previous_message_id": ...}` resumes from a previous
404
+ # response so only the new turn's messages are sent. The response shape is
405
+ # unchanged.
406
+ sig do
407
+ returns(
408
+ T.nilable(
409
+ T.any(
410
+ Anthropic::Beta::BetaThreadCreateParams,
411
+ Anthropic::Beta::BetaThreadContinueParams
412
+ )
413
+ )
414
+ )
415
+ end
416
+ attr_accessor :thread
417
+
401
418
  # How the model should use the provided tools. The model can use a specific tool,
402
419
  # any available tool, decide by itself, or not use tools at all.
403
420
  sig do
@@ -680,6 +697,13 @@ module Anthropic
680
697
  Anthropic::Beta::BetaThinkingConfigBetweenTools::OrHash,
681
698
  Anthropic::Beta::BetaThinkingConfigAdaptive::OrHash
682
699
  ),
700
+ thread:
701
+ T.nilable(
702
+ T.any(
703
+ Anthropic::Beta::BetaThreadCreateParams::OrHash,
704
+ Anthropic::Beta::BetaThreadContinueParams::OrHash
705
+ )
706
+ ),
683
707
  tool_choice:
684
708
  T.any(
685
709
  Anthropic::Beta::BetaToolChoiceAuto::OrHash,
@@ -925,6 +949,12 @@ module Anthropic
925
949
  # [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking#configuring-thinking)
926
950
  # for each model's behavior.
927
951
  thinking: nil,
952
+ # Server-held conversation state (a Thread). `{"type": "create"}` asks the server
953
+ # to hold this conversation's state under the response's `id`;
954
+ # `{"type": "continue", "previous_message_id": ...}` resumes from a previous
955
+ # response so only the new turn's messages are sent. The response shape is
956
+ # unchanged.
957
+ thread: nil,
928
958
  # How the model should use the provided tools. The model can use a specific tool,
929
959
  # any available tool, decide by itself, or not use tools at all.
930
960
  tool_choice: nil,
@@ -1072,6 +1102,13 @@ module Anthropic
1072
1102
  Anthropic::Beta::BetaThinkingConfigBetweenTools,
1073
1103
  Anthropic::Beta::BetaThinkingConfigAdaptive
1074
1104
  ),
1105
+ thread:
1106
+ T.nilable(
1107
+ T.any(
1108
+ Anthropic::Beta::BetaThreadCreateParams,
1109
+ Anthropic::Beta::BetaThreadContinueParams
1110
+ )
1111
+ ),
1075
1112
  tool_choice:
1076
1113
  T.any(
1077
1114
  Anthropic::Beta::BetaToolChoiceAuto,
@@ -611,6 +611,23 @@ module Anthropic
611
611
  end
612
612
  attr_writer :thinking
613
613
 
614
+ # Server-held conversation state (a Thread). `{"type": "create"}` asks the server
615
+ # to hold this conversation's state under the response's `id`;
616
+ # `{"type": "continue", "previous_message_id": ...}` resumes from a previous
617
+ # response so only the new turn's messages are sent. The response shape is
618
+ # unchanged.
619
+ sig do
620
+ returns(
621
+ T.nilable(
622
+ T.any(
623
+ Anthropic::Beta::BetaThreadCreateParams,
624
+ Anthropic::Beta::BetaThreadContinueParams
625
+ )
626
+ )
627
+ )
628
+ end
629
+ attr_accessor :thread
630
+
614
631
  # How the model should use the provided tools. The model can use a specific tool,
615
632
  # any available tool, decide by itself, or not use tools at all.
616
633
  sig do
@@ -872,6 +889,13 @@ module Anthropic
872
889
  Anthropic::Beta::BetaThinkingConfigBetweenTools::OrHash,
873
890
  Anthropic::Beta::BetaThinkingConfigAdaptive::OrHash
874
891
  ),
892
+ thread:
893
+ T.nilable(
894
+ T.any(
895
+ Anthropic::Beta::BetaThreadCreateParams::OrHash,
896
+ Anthropic::Beta::BetaThreadContinueParams::OrHash
897
+ )
898
+ ),
875
899
  tool_choice:
876
900
  T.any(
877
901
  Anthropic::Beta::BetaToolChoiceAuto::OrHash,
@@ -1122,6 +1146,12 @@ module Anthropic
1122
1146
  # [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking#configuring-thinking)
1123
1147
  # for each model's behavior.
1124
1148
  thinking: nil,
1149
+ # Server-held conversation state (a Thread). `{"type": "create"}` asks the server
1150
+ # to hold this conversation's state under the response's `id`;
1151
+ # `{"type": "continue", "previous_message_id": ...}` resumes from a previous
1152
+ # response so only the new turn's messages are sent. The response shape is
1153
+ # unchanged.
1154
+ thread: nil,
1125
1155
  # How the model should use the provided tools. The model can use a specific tool,
1126
1156
  # any available tool, decide by itself, or not use tools at all.
1127
1157
  tool_choice: nil,
@@ -1271,6 +1301,13 @@ module Anthropic
1271
1301
  Anthropic::Beta::BetaThinkingConfigBetweenTools,
1272
1302
  Anthropic::Beta::BetaThinkingConfigAdaptive
1273
1303
  ),
1304
+ thread:
1305
+ T.nilable(
1306
+ T.any(
1307
+ Anthropic::Beta::BetaThreadCreateParams,
1308
+ Anthropic::Beta::BetaThreadContinueParams
1309
+ )
1310
+ ),
1274
1311
  tool_choice:
1275
1312
  T.any(
1276
1313
  Anthropic::Beta::BetaToolChoiceAuto,