anthropic 1.6.0 → 1.8.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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +1 -1
  4. data/lib/anthropic/helpers/input_schema/array_of.rb +41 -0
  5. data/lib/anthropic/helpers/input_schema/base_model.rb +86 -0
  6. data/lib/anthropic/helpers/input_schema/boolean.rb +29 -0
  7. data/lib/anthropic/helpers/input_schema/enum_of.rb +63 -0
  8. data/lib/anthropic/helpers/input_schema/json_schema_converter.rb +199 -0
  9. data/lib/anthropic/helpers/input_schema/parsed_json.rb +39 -0
  10. data/lib/anthropic/helpers/input_schema/property_mapping.rb +47 -0
  11. data/lib/anthropic/helpers/input_schema/union_of.rb +56 -0
  12. data/lib/anthropic/helpers/input_schema.rb +16 -0
  13. data/lib/anthropic/helpers/streaming/message_stream.rb +41 -1
  14. data/lib/anthropic/input_schema.rb +10 -0
  15. data/lib/anthropic/internal/stream.rb +2 -1
  16. data/lib/anthropic/internal/transport/base_client.rb +1 -2
  17. data/lib/anthropic/internal/transport/pooled_net_requester.rb +1 -9
  18. data/lib/anthropic/internal/type/base_model.rb +2 -9
  19. data/lib/anthropic/internal/util.rb +1 -1
  20. data/lib/anthropic/models/beta/beta_bash_code_execution_output_block.rb +25 -0
  21. data/lib/anthropic/models/beta/beta_bash_code_execution_output_block_param.rb +25 -0
  22. data/lib/anthropic/models/beta/beta_bash_code_execution_result_block.rb +44 -0
  23. data/lib/anthropic/models/beta/beta_bash_code_execution_result_block_param.rb +44 -0
  24. data/lib/anthropic/models/beta/beta_bash_code_execution_tool_result_block.rb +43 -0
  25. data/lib/anthropic/models/beta/beta_bash_code_execution_tool_result_block_param.rb +53 -0
  26. data/lib/anthropic/models/beta/beta_bash_code_execution_tool_result_error.rb +39 -0
  27. data/lib/anthropic/models/beta/beta_bash_code_execution_tool_result_error_param.rb +39 -0
  28. data/lib/anthropic/models/beta/beta_code_execution_tool_20250825.rb +40 -0
  29. data/lib/anthropic/models/beta/beta_content_block.rb +6 -1
  30. data/lib/anthropic/models/beta/beta_content_block_param.rb +7 -1
  31. data/lib/anthropic/models/beta/beta_message.rb +2 -2
  32. data/lib/anthropic/models/beta/beta_message_param.rb +3 -3
  33. data/lib/anthropic/models/beta/beta_raw_content_block_start_event.rb +8 -3
  34. data/lib/anthropic/models/beta/beta_server_tool_use_block.rb +2 -0
  35. data/lib/anthropic/models/beta/beta_server_tool_use_block_param.rb +2 -0
  36. data/lib/anthropic/models/beta/beta_text_editor_code_execution_create_result_block.rb +25 -0
  37. data/lib/anthropic/models/beta/beta_text_editor_code_execution_create_result_block_param.rb +26 -0
  38. data/lib/anthropic/models/beta/beta_text_editor_code_execution_str_replace_result_block.rb +49 -0
  39. data/lib/anthropic/models/beta/beta_text_editor_code_execution_str_replace_result_block_param.rb +50 -0
  40. data/lib/anthropic/models/beta/beta_text_editor_code_execution_tool_result_block.rb +47 -0
  41. data/lib/anthropic/models/beta/beta_text_editor_code_execution_tool_result_block_param.rb +57 -0
  42. data/lib/anthropic/models/beta/beta_text_editor_code_execution_tool_result_error.rb +45 -0
  43. data/lib/anthropic/models/beta/beta_text_editor_code_execution_tool_result_error_param.rb +46 -0
  44. data/lib/anthropic/models/beta/beta_text_editor_code_execution_view_result_block.rb +61 -0
  45. data/lib/anthropic/models/beta/beta_text_editor_code_execution_view_result_block_param.rb +62 -0
  46. data/lib/anthropic/models/beta/beta_tool_union.rb +3 -1
  47. data/lib/anthropic/models/beta/message_count_tokens_params.rb +7 -30
  48. data/lib/anthropic/models/beta/message_create_params.rb +3 -26
  49. data/lib/anthropic/models/beta/messages/batch_create_params.rb +6 -36
  50. data/lib/anthropic/models/beta/messages/beta_message_batch.rb +1 -4
  51. data/lib/anthropic/models/beta_error_response.rb +7 -1
  52. data/lib/anthropic/models/cache_control_ephemeral.rb +39 -1
  53. data/lib/anthropic/models/cache_creation.rb +24 -0
  54. data/lib/anthropic/models/error_response.rb +7 -1
  55. data/lib/anthropic/models/message_count_tokens_params.rb +1 -24
  56. data/lib/anthropic/models/message_create_params.rb +1 -24
  57. data/lib/anthropic/models/messages/batch_create_params.rb +2 -28
  58. data/lib/anthropic/models/model.rb +6 -0
  59. data/lib/anthropic/models/tool_use_block.rb +8 -0
  60. data/lib/anthropic/models/usage.rb +9 -1
  61. data/lib/anthropic/models.rb +2 -0
  62. data/lib/anthropic/resources/beta/messages.rb +3 -3
  63. data/lib/anthropic/resources/messages.rb +85 -1
  64. data/lib/anthropic/version.rb +1 -1
  65. data/lib/anthropic.rb +30 -0
  66. data/rbi/anthropic/errors.rbi +2 -2
  67. data/rbi/anthropic/helpers/input_schema/array_of.rbi +16 -0
  68. data/rbi/anthropic/helpers/input_schema/base_model.rbi +21 -0
  69. data/rbi/anthropic/helpers/input_schema/boolean.rbi +11 -0
  70. data/rbi/anthropic/helpers/input_schema/enum_of.rbi +30 -0
  71. data/rbi/anthropic/helpers/input_schema/json_schema_converter.rbi +89 -0
  72. data/rbi/anthropic/helpers/input_schema/union_of.rbi +23 -0
  73. data/rbi/anthropic/helpers/structured_output.rbi +16 -0
  74. data/rbi/anthropic/input_schema.rbi +12 -0
  75. data/rbi/anthropic/models/beta/beta_bash_code_execution_output_block.rbi +33 -0
  76. data/rbi/anthropic/models/beta/beta_bash_code_execution_output_block_param.rbi +34 -0
  77. data/rbi/anthropic/models/beta/beta_bash_code_execution_result_block.rbi +72 -0
  78. data/rbi/anthropic/models/beta/beta_bash_code_execution_result_block_param.rbi +77 -0
  79. data/rbi/anthropic/models/beta/beta_bash_code_execution_tool_result_block.rbi +86 -0
  80. data/rbi/anthropic/models/beta/beta_bash_code_execution_tool_result_block_param.rbi +110 -0
  81. data/rbi/anthropic/models/beta/beta_bash_code_execution_tool_result_error.rbi +101 -0
  82. data/rbi/anthropic/models/beta/beta_bash_code_execution_tool_result_error_param.rbi +101 -0
  83. data/rbi/anthropic/models/beta/beta_code_execution_tool_20250825.rbi +72 -0
  84. data/rbi/anthropic/models/beta/beta_content_block.rbi +2 -0
  85. data/rbi/anthropic/models/beta/beta_content_block_param.rbi +2 -0
  86. data/rbi/anthropic/models/beta/beta_message.rbi +2 -0
  87. data/rbi/anthropic/models/beta/beta_raw_content_block_start_event.rbi +4 -0
  88. data/rbi/anthropic/models/beta/beta_server_tool_use_block.rbi +10 -0
  89. data/rbi/anthropic/models/beta/beta_server_tool_use_block_param.rbi +10 -0
  90. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_create_result_block.rbi +41 -0
  91. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_create_result_block_param.rbi +41 -0
  92. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_str_replace_result_block.rbi +73 -0
  93. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_str_replace_result_block_param.rbi +73 -0
  94. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_tool_result_block.rbi +90 -0
  95. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_tool_result_block_param.rbi +118 -0
  96. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_tool_result_error.rbi +110 -0
  97. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_tool_result_error_param.rbi +110 -0
  98. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_view_result_block.rbi +118 -0
  99. data/rbi/anthropic/models/beta/beta_text_editor_code_execution_view_result_block_param.rbi +118 -0
  100. data/rbi/anthropic/models/beta/beta_tool_union.rbi +1 -0
  101. data/rbi/anthropic/models/beta/message_count_tokens_params.rbi +7 -48
  102. data/rbi/anthropic/models/beta/message_create_params.rbi +6 -48
  103. data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +6 -48
  104. data/rbi/anthropic/models/beta_error_response.rbi +10 -2
  105. data/rbi/anthropic/models/cache_control_ephemeral.rbi +68 -3
  106. data/rbi/anthropic/models/cache_creation.rbi +45 -0
  107. data/rbi/anthropic/models/error_response.rbi +10 -2
  108. data/rbi/anthropic/models/message_count_tokens_params.rbi +2 -48
  109. data/rbi/anthropic/models/message_create_params.rbi +2 -48
  110. data/rbi/anthropic/models/messages/batch_create_params.rbi +2 -48
  111. data/rbi/anthropic/models/usage.rbi +13 -0
  112. data/rbi/anthropic/models.rbi +2 -0
  113. data/rbi/anthropic/resources/beta/messages.rbi +6 -72
  114. data/rbi/anthropic/resources/messages.rbi +3 -72
  115. data/sig/anthropic/models/beta/beta_bash_code_execution_output_block.rbs +23 -0
  116. data/sig/anthropic/models/beta/beta_bash_code_execution_output_block_param.rbs +23 -0
  117. data/sig/anthropic/models/beta/beta_bash_code_execution_result_block.rbs +44 -0
  118. data/sig/anthropic/models/beta/beta_bash_code_execution_result_block_param.rbs +44 -0
  119. data/sig/anthropic/models/beta/beta_bash_code_execution_tool_result_block.rbs +44 -0
  120. data/sig/anthropic/models/beta/beta_bash_code_execution_tool_result_block_param.rbs +49 -0
  121. data/sig/anthropic/models/beta/beta_bash_code_execution_tool_result_error.rbs +48 -0
  122. data/sig/anthropic/models/beta/beta_bash_code_execution_tool_result_error_param.rbs +48 -0
  123. data/sig/anthropic/models/beta/beta_code_execution_tool_20250825.rbs +34 -0
  124. data/sig/anthropic/models/beta/beta_content_block.rbs +2 -0
  125. data/sig/anthropic/models/beta/beta_content_block_param.rbs +2 -0
  126. data/sig/anthropic/models/beta/beta_raw_content_block_start_event.rbs +2 -0
  127. data/sig/anthropic/models/beta/beta_server_tool_use_block.rbs +7 -1
  128. data/sig/anthropic/models/beta/beta_server_tool_use_block_param.rbs +7 -1
  129. data/sig/anthropic/models/beta/beta_text_editor_code_execution_create_result_block.rbs +29 -0
  130. data/sig/anthropic/models/beta/beta_text_editor_code_execution_create_result_block_param.rbs +29 -0
  131. data/sig/anthropic/models/beta/beta_text_editor_code_execution_str_replace_result_block.rbs +49 -0
  132. data/sig/anthropic/models/beta/beta_text_editor_code_execution_str_replace_result_block_param.rbs +49 -0
  133. data/sig/anthropic/models/beta/beta_text_editor_code_execution_tool_result_block.rbs +46 -0
  134. data/sig/anthropic/models/beta/beta_text_editor_code_execution_tool_result_block_param.rbs +51 -0
  135. data/sig/anthropic/models/beta/beta_text_editor_code_execution_tool_result_error.rbs +53 -0
  136. data/sig/anthropic/models/beta/beta_text_editor_code_execution_tool_result_error_param.rbs +53 -0
  137. data/sig/anthropic/models/beta/beta_text_editor_code_execution_view_result_block.rbs +61 -0
  138. data/sig/anthropic/models/beta/beta_text_editor_code_execution_view_result_block_param.rbs +61 -0
  139. data/sig/anthropic/models/beta/beta_tool_union.rbs +1 -0
  140. data/sig/anthropic/models/beta/message_count_tokens_params.rbs +1 -0
  141. data/sig/anthropic/models/beta_error_response.rbs +13 -2
  142. data/sig/anthropic/models/cache_control_ephemeral.rbs +27 -3
  143. data/sig/anthropic/models/cache_creation.rbs +25 -0
  144. data/sig/anthropic/models/error_response.rbs +13 -2
  145. data/sig/anthropic/models/usage.rbs +5 -0
  146. data/sig/anthropic/models.rbs +2 -0
  147. metadata +80 -2
@@ -6,6 +6,15 @@ module Anthropic
6
6
  OrHash =
7
7
  T.type_alias { T.any(Anthropic::Usage, Anthropic::Internal::AnyHash) }
8
8
 
9
+ # Breakdown of cached tokens by TTL
10
+ sig { returns(T.nilable(Anthropic::CacheCreation)) }
11
+ attr_reader :cache_creation
12
+
13
+ sig do
14
+ params(cache_creation: T.nilable(Anthropic::CacheCreation::OrHash)).void
15
+ end
16
+ attr_writer :cache_creation
17
+
9
18
  # The number of input tokens used to create the cache entry.
10
19
  sig { returns(T.nilable(Integer)) }
11
20
  attr_accessor :cache_creation_input_tokens
@@ -39,6 +48,7 @@ module Anthropic
39
48
 
40
49
  sig do
41
50
  params(
51
+ cache_creation: T.nilable(Anthropic::CacheCreation::OrHash),
42
52
  cache_creation_input_tokens: T.nilable(Integer),
43
53
  cache_read_input_tokens: T.nilable(Integer),
44
54
  input_tokens: Integer,
@@ -48,6 +58,8 @@ module Anthropic
48
58
  ).returns(T.attached_class)
49
59
  end
50
60
  def self.new(
61
+ # Breakdown of cached tokens by TTL
62
+ cache_creation:,
51
63
  # The number of input tokens used to create the cache entry.
52
64
  cache_creation_input_tokens:,
53
65
  # The number of input tokens read from the cache.
@@ -66,6 +78,7 @@ module Anthropic
66
78
  sig do
67
79
  override.returns(
68
80
  {
81
+ cache_creation: T.nilable(Anthropic::CacheCreation),
69
82
  cache_creation_input_tokens: T.nilable(Integer),
70
83
  cache_read_input_tokens: T.nilable(Integer),
71
84
  input_tokens: Integer,
@@ -39,6 +39,8 @@ module Anthropic
39
39
 
40
40
  CacheControlEphemeral = Anthropic::Models::CacheControlEphemeral
41
41
 
42
+ CacheCreation = Anthropic::Models::CacheCreation
43
+
42
44
  CitationCharLocation = Anthropic::Models::CitationCharLocation
43
45
 
44
46
  CitationCharLocationParam = Anthropic::Models::CitationCharLocationParam
@@ -51,6 +51,7 @@ module Anthropic
51
51
  Anthropic::Beta::BetaToolBash20241022::OrHash,
52
52
  Anthropic::Beta::BetaToolBash20250124::OrHash,
53
53
  Anthropic::Beta::BetaCodeExecutionTool20250522::OrHash,
54
+ Anthropic::Beta::BetaCodeExecutionTool20250825::OrHash,
54
55
  Anthropic::Beta::BetaToolComputerUse20241022::OrHash,
55
56
  Anthropic::Beta::BetaToolComputerUse20250124::OrHash,
56
57
  Anthropic::Beta::BetaToolTextEditor20241022::OrHash,
@@ -133,30 +134,7 @@ module Anthropic
133
134
  # { "role": "user", "content": [{ "type": "text", "text": "Hello, Claude" }] }
134
135
  # ```
135
136
  #
136
- # Starting with Claude 3 models, you can also send image content blocks:
137
- #
138
- # ```json
139
- # {
140
- # "role": "user",
141
- # "content": [
142
- # {
143
- # "type": "image",
144
- # "source": {
145
- # "type": "base64",
146
- # "media_type": "image/jpeg",
147
- # "data": "/9j/4AAQSkZJRg..."
148
- # }
149
- # },
150
- # { "type": "text", "text": "What is in this image?" }
151
- # ]
152
- # }
153
- # ```
154
- #
155
- # We currently support the `base64` source type for images, and the `image/jpeg`,
156
- # `image/png`, `image/gif`, and `image/webp` media types.
157
- #
158
- # See [examples](https://docs.anthropic.com/en/api/messages-examples#vision) for
159
- # more input examples.
137
+ # See [input examples](https://docs.anthropic.com/en/api/messages-examples).
160
138
  #
161
139
  # Note that if you want to include a
162
140
  # [system prompt](https://docs.anthropic.com/en/docs/system-prompts), you can use
@@ -366,6 +344,7 @@ module Anthropic
366
344
  Anthropic::Beta::BetaToolBash20241022::OrHash,
367
345
  Anthropic::Beta::BetaToolBash20250124::OrHash,
368
346
  Anthropic::Beta::BetaCodeExecutionTool20250522::OrHash,
347
+ Anthropic::Beta::BetaCodeExecutionTool20250825::OrHash,
369
348
  Anthropic::Beta::BetaToolComputerUse20241022::OrHash,
370
349
  Anthropic::Beta::BetaToolComputerUse20250124::OrHash,
371
350
  Anthropic::Beta::BetaToolTextEditor20241022::OrHash,
@@ -452,30 +431,7 @@ module Anthropic
452
431
  # { "role": "user", "content": [{ "type": "text", "text": "Hello, Claude" }] }
453
432
  # ```
454
433
  #
455
- # Starting with Claude 3 models, you can also send image content blocks:
456
- #
457
- # ```json
458
- # {
459
- # "role": "user",
460
- # "content": [
461
- # {
462
- # "type": "image",
463
- # "source": {
464
- # "type": "base64",
465
- # "media_type": "image/jpeg",
466
- # "data": "/9j/4AAQSkZJRg..."
467
- # }
468
- # },
469
- # { "type": "text", "text": "What is in this image?" }
470
- # ]
471
- # }
472
- # ```
473
- #
474
- # We currently support the `base64` source type for images, and the `image/jpeg`,
475
- # `image/png`, `image/gif`, and `image/webp` media types.
476
- #
477
- # See [examples](https://docs.anthropic.com/en/api/messages-examples#vision) for
478
- # more input examples.
434
+ # See [input examples](https://docs.anthropic.com/en/api/messages-examples).
479
435
  #
480
436
  # Note that if you want to include a
481
437
  # [system prompt](https://docs.anthropic.com/en/docs/system-prompts), you can use
@@ -677,6 +633,7 @@ module Anthropic
677
633
  Anthropic::Beta::BetaToolBash20241022::OrHash,
678
634
  Anthropic::Beta::BetaToolBash20250124::OrHash,
679
635
  Anthropic::Beta::BetaCodeExecutionTool20250522::OrHash,
636
+ Anthropic::Beta::BetaCodeExecutionTool20250825::OrHash,
680
637
  Anthropic::Beta::BetaToolComputerUse20241022::OrHash,
681
638
  Anthropic::Beta::BetaToolComputerUse20250124::OrHash,
682
639
  Anthropic::Beta::BetaToolTextEditor20241022::OrHash,
@@ -748,30 +705,7 @@ module Anthropic
748
705
  # { "role": "user", "content": [{ "type": "text", "text": "Hello, Claude" }] }
749
706
  # ```
750
707
  #
751
- # Starting with Claude 3 models, you can also send image content blocks:
752
- #
753
- # ```json
754
- # {
755
- # "role": "user",
756
- # "content": [
757
- # {
758
- # "type": "image",
759
- # "source": {
760
- # "type": "base64",
761
- # "media_type": "image/jpeg",
762
- # "data": "/9j/4AAQSkZJRg..."
763
- # }
764
- # },
765
- # { "type": "text", "text": "What is in this image?" }
766
- # ]
767
- # }
768
- # ```
769
- #
770
- # We currently support the `base64` source type for images, and the `image/jpeg`,
771
- # `image/png`, `image/gif`, and `image/webp` media types.
772
- #
773
- # See [examples](https://docs.anthropic.com/en/api/messages-examples#vision) for
774
- # more input examples.
708
+ # See [input examples](https://docs.anthropic.com/en/api/messages-examples).
775
709
  #
776
710
  # Note that if you want to include a
777
711
  # [system prompt](https://docs.anthropic.com/en/docs/system-prompts), you can use
@@ -120,30 +120,7 @@ module Anthropic
120
120
  # { "role": "user", "content": [{ "type": "text", "text": "Hello, Claude" }] }
121
121
  # ```
122
122
  #
123
- # Starting with Claude 3 models, you can also send image content blocks:
124
- #
125
- # ```json
126
- # {
127
- # "role": "user",
128
- # "content": [
129
- # {
130
- # "type": "image",
131
- # "source": {
132
- # "type": "base64",
133
- # "media_type": "image/jpeg",
134
- # "data": "/9j/4AAQSkZJRg..."
135
- # }
136
- # },
137
- # { "type": "text", "text": "What is in this image?" }
138
- # ]
139
- # }
140
- # ```
141
- #
142
- # We currently support the `base64` source type for images, and the `image/jpeg`,
143
- # `image/png`, `image/gif`, and `image/webp` media types.
144
- #
145
- # See [examples](https://docs.anthropic.com/en/api/messages-examples#vision) for
146
- # more input examples.
123
+ # See [input examples](https://docs.anthropic.com/en/api/messages-examples).
147
124
  #
148
125
  # Note that if you want to include a
149
126
  # [system prompt](https://docs.anthropic.com/en/docs/system-prompts), you can use
@@ -712,30 +689,7 @@ module Anthropic
712
689
  # { "role": "user", "content": [{ "type": "text", "text": "Hello, Claude" }] }
713
690
  # ```
714
691
  #
715
- # Starting with Claude 3 models, you can also send image content blocks:
716
- #
717
- # ```json
718
- # {
719
- # "role": "user",
720
- # "content": [
721
- # {
722
- # "type": "image",
723
- # "source": {
724
- # "type": "base64",
725
- # "media_type": "image/jpeg",
726
- # "data": "/9j/4AAQSkZJRg..."
727
- # }
728
- # },
729
- # { "type": "text", "text": "What is in this image?" }
730
- # ]
731
- # }
732
- # ```
733
- #
734
- # We currently support the `base64` source type for images, and the `image/jpeg`,
735
- # `image/png`, `image/gif`, and `image/webp` media types.
736
- #
737
- # See [examples](https://docs.anthropic.com/en/api/messages-examples#vision) for
738
- # more input examples.
692
+ # See [input examples](https://docs.anthropic.com/en/api/messages-examples).
739
693
  #
740
694
  # Note that if you want to include a
741
695
  # [system prompt](https://docs.anthropic.com/en/docs/system-prompts), you can use
@@ -991,30 +945,7 @@ module Anthropic
991
945
  # { "role": "user", "content": [{ "type": "text", "text": "Hello, Claude" }] }
992
946
  # ```
993
947
  #
994
- # Starting with Claude 3 models, you can also send image content blocks:
995
- #
996
- # ```json
997
- # {
998
- # "role": "user",
999
- # "content": [
1000
- # {
1001
- # "type": "image",
1002
- # "source": {
1003
- # "type": "base64",
1004
- # "media_type": "image/jpeg",
1005
- # "data": "/9j/4AAQSkZJRg..."
1006
- # }
1007
- # },
1008
- # { "type": "text", "text": "What is in this image?" }
1009
- # ]
1010
- # }
1011
- # ```
1012
- #
1013
- # We currently support the `base64` source type for images, and the `image/jpeg`,
1014
- # `image/png`, `image/gif`, and `image/webp` media types.
1015
- #
1016
- # See [examples](https://docs.anthropic.com/en/api/messages-examples#vision) for
1017
- # more input examples.
948
+ # See [input examples](https://docs.anthropic.com/en/api/messages-examples).
1018
949
  #
1019
950
  # Note that if you want to include a
1020
951
  # [system prompt](https://docs.anthropic.com/en/docs/system-prompts), you can use
@@ -0,0 +1,23 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionOutputBlock = Beta::BetaBashCodeExecutionOutputBlock
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_output_block =
7
+ { file_id: String, type: :bash_code_execution_output }
8
+
9
+ class BetaBashCodeExecutionOutputBlock < Anthropic::Internal::Type::BaseModel
10
+ attr_accessor file_id: String
11
+
12
+ attr_accessor type: :bash_code_execution_output
13
+
14
+ def initialize: (
15
+ file_id: String,
16
+ ?type: :bash_code_execution_output
17
+ ) -> void
18
+
19
+ def to_hash: -> { file_id: String, type: :bash_code_execution_output }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionOutputBlockParam = Beta::BetaBashCodeExecutionOutputBlockParam
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_output_block_param =
7
+ { file_id: String, type: :bash_code_execution_output }
8
+
9
+ class BetaBashCodeExecutionOutputBlockParam < Anthropic::Internal::Type::BaseModel
10
+ attr_accessor file_id: String
11
+
12
+ attr_accessor type: :bash_code_execution_output
13
+
14
+ def initialize: (
15
+ file_id: String,
16
+ ?type: :bash_code_execution_output
17
+ ) -> void
18
+
19
+ def to_hash: -> { file_id: String, type: :bash_code_execution_output }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,44 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionResultBlock = Beta::BetaBashCodeExecutionResultBlock
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_result_block =
7
+ {
8
+ content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlock],
9
+ return_code: Integer,
10
+ stderr: String,
11
+ stdout: String,
12
+ type: :bash_code_execution_result
13
+ }
14
+
15
+ class BetaBashCodeExecutionResultBlock < Anthropic::Internal::Type::BaseModel
16
+ attr_accessor content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlock]
17
+
18
+ attr_accessor return_code: Integer
19
+
20
+ attr_accessor stderr: String
21
+
22
+ attr_accessor stdout: String
23
+
24
+ attr_accessor type: :bash_code_execution_result
25
+
26
+ def initialize: (
27
+ content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlock],
28
+ return_code: Integer,
29
+ stderr: String,
30
+ stdout: String,
31
+ ?type: :bash_code_execution_result
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlock],
36
+ return_code: Integer,
37
+ stderr: String,
38
+ stdout: String,
39
+ type: :bash_code_execution_result
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionResultBlockParam = Beta::BetaBashCodeExecutionResultBlockParam
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_result_block_param =
7
+ {
8
+ content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlockParam],
9
+ return_code: Integer,
10
+ stderr: String,
11
+ stdout: String,
12
+ type: :bash_code_execution_result
13
+ }
14
+
15
+ class BetaBashCodeExecutionResultBlockParam < Anthropic::Internal::Type::BaseModel
16
+ attr_accessor content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlockParam]
17
+
18
+ attr_accessor return_code: Integer
19
+
20
+ attr_accessor stderr: String
21
+
22
+ attr_accessor stdout: String
23
+
24
+ attr_accessor type: :bash_code_execution_result
25
+
26
+ def initialize: (
27
+ content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlockParam],
28
+ return_code: Integer,
29
+ stderr: String,
30
+ stdout: String,
31
+ ?type: :bash_code_execution_result
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ content: ::Array[Anthropic::Beta::BetaBashCodeExecutionOutputBlockParam],
36
+ return_code: Integer,
37
+ stderr: String,
38
+ stdout: String,
39
+ type: :bash_code_execution_result
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionToolResultBlock = Beta::BetaBashCodeExecutionToolResultBlock
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_tool_result_block =
7
+ {
8
+ content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlock::content,
9
+ tool_use_id: String,
10
+ type: :bash_code_execution_tool_result
11
+ }
12
+
13
+ class BetaBashCodeExecutionToolResultBlock < Anthropic::Internal::Type::BaseModel
14
+ attr_accessor content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlock::content
15
+
16
+ attr_accessor tool_use_id: String
17
+
18
+ attr_accessor type: :bash_code_execution_tool_result
19
+
20
+ def initialize: (
21
+ content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlock::content,
22
+ tool_use_id: String,
23
+ ?type: :bash_code_execution_tool_result
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlock::content,
28
+ tool_use_id: String,
29
+ type: :bash_code_execution_tool_result
30
+ }
31
+
32
+ type content =
33
+ Anthropic::Beta::BetaBashCodeExecutionToolResultError
34
+ | Anthropic::Beta::BetaBashCodeExecutionResultBlock
35
+
36
+ module Content
37
+ extend Anthropic::Internal::Type::Union
38
+
39
+ def self?.variants: -> ::Array[Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlock::content]
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,49 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionToolResultBlockParam = Beta::BetaBashCodeExecutionToolResultBlockParam
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_tool_result_block_param =
7
+ {
8
+ content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlockParam::content,
9
+ tool_use_id: String,
10
+ type: :bash_code_execution_tool_result,
11
+ cache_control: Anthropic::Beta::BetaCacheControlEphemeral?
12
+ }
13
+
14
+ class BetaBashCodeExecutionToolResultBlockParam < Anthropic::Internal::Type::BaseModel
15
+ attr_accessor content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlockParam::content
16
+
17
+ attr_accessor tool_use_id: String
18
+
19
+ attr_accessor type: :bash_code_execution_tool_result
20
+
21
+ attr_accessor cache_control: Anthropic::Beta::BetaCacheControlEphemeral?
22
+
23
+ def initialize: (
24
+ content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlockParam::content,
25
+ tool_use_id: String,
26
+ ?cache_control: Anthropic::Beta::BetaCacheControlEphemeral?,
27
+ ?type: :bash_code_execution_tool_result
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ content: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlockParam::content,
32
+ tool_use_id: String,
33
+ type: :bash_code_execution_tool_result,
34
+ cache_control: Anthropic::Beta::BetaCacheControlEphemeral?
35
+ }
36
+
37
+ type content =
38
+ Anthropic::Beta::BetaBashCodeExecutionToolResultErrorParam
39
+ | Anthropic::Beta::BetaBashCodeExecutionResultBlockParam
40
+
41
+ module Content
42
+ extend Anthropic::Internal::Type::Union
43
+
44
+ def self?.variants: -> ::Array[Anthropic::Models::Beta::BetaBashCodeExecutionToolResultBlockParam::content]
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,48 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionToolResultError = Beta::BetaBashCodeExecutionToolResultError
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_tool_result_error =
7
+ {
8
+ error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultError::error_code,
9
+ type: :bash_code_execution_tool_result_error
10
+ }
11
+
12
+ class BetaBashCodeExecutionToolResultError < Anthropic::Internal::Type::BaseModel
13
+ attr_accessor error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultError::error_code
14
+
15
+ attr_accessor type: :bash_code_execution_tool_result_error
16
+
17
+ def initialize: (
18
+ error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultError::error_code,
19
+ ?type: :bash_code_execution_tool_result_error
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultError::error_code,
24
+ type: :bash_code_execution_tool_result_error
25
+ }
26
+
27
+ type error_code =
28
+ :invalid_tool_input
29
+ | :unavailable
30
+ | :too_many_requests
31
+ | :execution_time_exceeded
32
+ | :output_file_too_large
33
+
34
+ module ErrorCode
35
+ extend Anthropic::Internal::Type::Enum
36
+
37
+ INVALID_TOOL_INPUT: :invalid_tool_input
38
+ UNAVAILABLE: :unavailable
39
+ TOO_MANY_REQUESTS: :too_many_requests
40
+ EXECUTION_TIME_EXCEEDED: :execution_time_exceeded
41
+ OUTPUT_FILE_TOO_LARGE: :output_file_too_large
42
+
43
+ def self?.values: -> ::Array[Anthropic::Models::Beta::BetaBashCodeExecutionToolResultError::error_code]
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaBashCodeExecutionToolResultErrorParam = Beta::BetaBashCodeExecutionToolResultErrorParam
4
+
5
+ module Beta
6
+ type beta_bash_code_execution_tool_result_error_param =
7
+ {
8
+ error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultErrorParam::error_code,
9
+ type: :bash_code_execution_tool_result_error
10
+ }
11
+
12
+ class BetaBashCodeExecutionToolResultErrorParam < Anthropic::Internal::Type::BaseModel
13
+ attr_accessor error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultErrorParam::error_code
14
+
15
+ attr_accessor type: :bash_code_execution_tool_result_error
16
+
17
+ def initialize: (
18
+ error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultErrorParam::error_code,
19
+ ?type: :bash_code_execution_tool_result_error
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ error_code: Anthropic::Models::Beta::BetaBashCodeExecutionToolResultErrorParam::error_code,
24
+ type: :bash_code_execution_tool_result_error
25
+ }
26
+
27
+ type error_code =
28
+ :invalid_tool_input
29
+ | :unavailable
30
+ | :too_many_requests
31
+ | :execution_time_exceeded
32
+ | :output_file_too_large
33
+
34
+ module ErrorCode
35
+ extend Anthropic::Internal::Type::Enum
36
+
37
+ INVALID_TOOL_INPUT: :invalid_tool_input
38
+ UNAVAILABLE: :unavailable
39
+ TOO_MANY_REQUESTS: :too_many_requests
40
+ EXECUTION_TIME_EXCEEDED: :execution_time_exceeded
41
+ OUTPUT_FILE_TOO_LARGE: :output_file_too_large
42
+
43
+ def self?.values: -> ::Array[Anthropic::Models::Beta::BetaBashCodeExecutionToolResultErrorParam::error_code]
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,34 @@
1
+ module Anthropic
2
+ module Models
3
+ class BetaCodeExecutionTool20250825 = Beta::BetaCodeExecutionTool20250825
4
+
5
+ module Beta
6
+ type beta_code_execution_tool20250825 =
7
+ {
8
+ name: :code_execution,
9
+ type: :code_execution_20250825,
10
+ cache_control: Anthropic::Beta::BetaCacheControlEphemeral?
11
+ }
12
+
13
+ class BetaCodeExecutionTool20250825 < Anthropic::Internal::Type::BaseModel
14
+ attr_accessor name: :code_execution
15
+
16
+ attr_accessor type: :code_execution_20250825
17
+
18
+ attr_accessor cache_control: Anthropic::Beta::BetaCacheControlEphemeral?
19
+
20
+ def initialize: (
21
+ ?cache_control: Anthropic::Beta::BetaCacheControlEphemeral?,
22
+ ?name: :code_execution,
23
+ ?type: :code_execution_20250825
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ name: :code_execution,
28
+ type: :code_execution_20250825,
29
+ cache_control: Anthropic::Beta::BetaCacheControlEphemeral?
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -11,6 +11,8 @@ module Anthropic
11
11
  | Anthropic::Beta::BetaServerToolUseBlock
12
12
  | Anthropic::Beta::BetaWebSearchToolResultBlock
13
13
  | Anthropic::Beta::BetaCodeExecutionToolResultBlock
14
+ | Anthropic::Beta::BetaBashCodeExecutionToolResultBlock
15
+ | Anthropic::Beta::BetaTextEditorCodeExecutionToolResultBlock
14
16
  | Anthropic::Beta::BetaMCPToolUseBlock
15
17
  | Anthropic::Beta::BetaMCPToolResultBlock
16
18
  | Anthropic::Beta::BetaContainerUploadBlock
@@ -15,6 +15,8 @@ module Anthropic
15
15
  | Anthropic::Beta::BetaServerToolUseBlockParam
16
16
  | Anthropic::Beta::BetaWebSearchToolResultBlockParam
17
17
  | Anthropic::Beta::BetaCodeExecutionToolResultBlockParam
18
+ | Anthropic::Beta::BetaBashCodeExecutionToolResultBlockParam
19
+ | Anthropic::Beta::BetaTextEditorCodeExecutionToolResultBlockParam
18
20
  | Anthropic::Beta::BetaMCPToolUseBlockParam
19
21
  | Anthropic::Beta::BetaRequestMCPToolResultBlockParam
20
22
  | Anthropic::Beta::BetaContainerUploadBlockParam
@@ -37,6 +37,8 @@ module Anthropic
37
37
  | Anthropic::Beta::BetaServerToolUseBlock
38
38
  | Anthropic::Beta::BetaWebSearchToolResultBlock
39
39
  | Anthropic::Beta::BetaCodeExecutionToolResultBlock
40
+ | Anthropic::Beta::BetaBashCodeExecutionToolResultBlock
41
+ | Anthropic::Beta::BetaTextEditorCodeExecutionToolResultBlock
40
42
  | Anthropic::Beta::BetaMCPToolUseBlock
41
43
  | Anthropic::Beta::BetaMCPToolResultBlock
42
44
  | Anthropic::Beta::BetaContainerUploadBlock