anthropic 1.1.1 → 1.6.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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +123 -0
  3. data/README.md +32 -16
  4. data/lib/anthropic/client.rb +5 -2
  5. data/lib/anthropic/errors.rb +22 -0
  6. data/lib/anthropic/helpers/bedrock/client.rb +34 -4
  7. data/lib/anthropic/helpers/streaming/events.rb +141 -0
  8. data/lib/anthropic/helpers/streaming/message_stream.rb +238 -0
  9. data/lib/anthropic/helpers/streaming.rb +37 -0
  10. data/lib/anthropic/helpers/vertex/client.rb +4 -1
  11. data/lib/anthropic/internal/stream.rb +4 -2
  12. data/lib/anthropic/internal/transport/base_client.rb +29 -3
  13. data/lib/anthropic/internal/type/array_of.rb +7 -1
  14. data/lib/anthropic/internal/type/base_model.rb +80 -24
  15. data/lib/anthropic/internal/type/base_stream.rb +3 -1
  16. data/lib/anthropic/internal/type/boolean.rb +7 -1
  17. data/lib/anthropic/internal/type/converter.rb +69 -34
  18. data/lib/anthropic/internal/type/enum.rb +16 -5
  19. data/lib/anthropic/internal/type/file_input.rb +6 -1
  20. data/lib/anthropic/internal/type/hash_of.rb +7 -1
  21. data/lib/anthropic/internal/type/union.rb +26 -16
  22. data/lib/anthropic/internal/type/unknown.rb +7 -1
  23. data/lib/anthropic/internal/util.rb +8 -9
  24. data/lib/anthropic/models/anthropic_beta.rb +3 -0
  25. data/lib/anthropic/models/beta/beta_base64_pdf_block.rb +1 -65
  26. data/lib/anthropic/models/beta/beta_citation_char_location.rb +7 -1
  27. data/lib/anthropic/models/beta/beta_citation_content_block_location.rb +7 -1
  28. data/lib/anthropic/models/beta/beta_citation_page_location.rb +7 -1
  29. data/lib/anthropic/models/beta/beta_citation_search_result_location.rb +55 -0
  30. data/lib/anthropic/models/beta/beta_citation_search_result_location_param.rb +55 -0
  31. data/lib/anthropic/models/beta/beta_citations_delta.rb +5 -3
  32. data/lib/anthropic/models/beta/beta_content_block.rb +5 -5
  33. data/lib/anthropic/models/beta/beta_content_block_param.rb +20 -17
  34. data/lib/anthropic/models/beta/beta_message.rb +6 -2
  35. data/lib/anthropic/models/beta/beta_message_param.rb +3 -3
  36. data/lib/anthropic/models/beta/beta_raw_content_block_start_event.rb +7 -7
  37. data/lib/anthropic/models/beta/beta_request_document_block.rb +75 -0
  38. data/lib/anthropic/models/beta/beta_search_result_block_param.rb +55 -0
  39. data/lib/anthropic/models/beta/beta_text_block.rb +2 -2
  40. data/lib/anthropic/models/beta/beta_text_block_param.rb +2 -2
  41. data/lib/anthropic/models/beta/beta_text_citation.rb +3 -1
  42. data/lib/anthropic/models/beta/beta_text_citation_param.rb +3 -1
  43. data/lib/anthropic/models/beta/beta_tool.rb +7 -1
  44. data/lib/anthropic/models/beta/beta_tool_result_block_param.rb +6 -4
  45. data/lib/anthropic/models/beta/beta_tool_text_editor_20250728.rb +49 -0
  46. data/lib/anthropic/models/beta/beta_tool_union.rb +9 -7
  47. data/lib/anthropic/models/beta/message_count_tokens_params.rb +18 -10
  48. data/lib/anthropic/models/beta/message_create_params.rb +9 -3
  49. data/lib/anthropic/models/beta/messages/batch_create_params.rb +9 -3
  50. data/lib/anthropic/models/citation_char_location.rb +7 -1
  51. data/lib/anthropic/models/citation_content_block_location.rb +7 -1
  52. data/lib/anthropic/models/citation_page_location.rb +7 -1
  53. data/lib/anthropic/models/citation_search_result_location_param.rb +51 -0
  54. data/lib/anthropic/models/citations_delta.rb +5 -3
  55. data/lib/anthropic/models/citations_search_result_location.rb +51 -0
  56. data/lib/anthropic/models/content_block.rb +5 -5
  57. data/lib/anthropic/models/content_block_param.rb +14 -11
  58. data/lib/anthropic/models/message.rb +6 -2
  59. data/lib/anthropic/models/message_count_tokens_params.rb +9 -3
  60. data/lib/anthropic/models/message_count_tokens_tool.rb +5 -1
  61. data/lib/anthropic/models/message_create_params.rb +9 -3
  62. data/lib/anthropic/models/message_param.rb +3 -3
  63. data/lib/anthropic/models/messages/batch_create_params.rb +9 -3
  64. data/lib/anthropic/models/model.rb +10 -21
  65. data/lib/anthropic/models/raw_content_block_start_event.rb +7 -7
  66. data/lib/anthropic/models/search_result_block_param.rb +51 -0
  67. data/lib/anthropic/models/text_block.rb +2 -2
  68. data/lib/anthropic/models/text_block_param.rb +2 -2
  69. data/lib/anthropic/models/text_citation.rb +3 -1
  70. data/lib/anthropic/models/text_citation_param.rb +3 -1
  71. data/lib/anthropic/models/tool.rb +7 -1
  72. data/lib/anthropic/models/tool_result_block_param.rb +6 -4
  73. data/lib/anthropic/models/tool_text_editor_20250429.rb +36 -0
  74. data/lib/anthropic/models/tool_text_editor_20250728.rb +45 -0
  75. data/lib/anthropic/models/tool_union.rb +5 -1
  76. data/lib/anthropic/models/tool_use_block.rb +6 -0
  77. data/lib/anthropic/models.rb +14 -4
  78. data/lib/anthropic/resources/beta/messages.rb +73 -6
  79. data/lib/anthropic/resources/messages.rb +68 -7
  80. data/lib/anthropic/streaming.rb +5 -0
  81. data/lib/anthropic/version.rb +1 -1
  82. data/lib/anthropic.rb +14 -0
  83. data/rbi/anthropic/errors.rbi +16 -0
  84. data/rbi/anthropic/helpers/bedrock/client.rbi +17 -6
  85. data/rbi/anthropic/helpers/streaming/events.rbi +95 -0
  86. data/rbi/anthropic/helpers/streaming/message_stream.rbi +73 -0
  87. data/rbi/anthropic/helpers/vertex/client.rbi +17 -6
  88. data/rbi/anthropic/internal/transport/base_client.rbi +1 -1
  89. data/rbi/anthropic/internal/type/base_stream.rbi +8 -1
  90. data/rbi/anthropic/internal/type/boolean.rbi +2 -0
  91. data/rbi/anthropic/internal/type/converter.rbi +69 -15
  92. data/rbi/anthropic/internal/type/union.rbi +14 -2
  93. data/rbi/anthropic/internal/type/unknown.rbi +2 -0
  94. data/rbi/anthropic/internal/util.rbi +2 -0
  95. data/rbi/anthropic/models/anthropic_beta.rbi +2 -0
  96. data/rbi/anthropic/models/beta/beta_base64_pdf_block.rbi +1 -128
  97. data/rbi/anthropic/models/beta/beta_citation_char_location.rbi +6 -0
  98. data/rbi/anthropic/models/beta/beta_citation_content_block_location.rbi +6 -0
  99. data/rbi/anthropic/models/beta/beta_citation_page_location.rbi +6 -0
  100. data/rbi/anthropic/models/beta/beta_citation_search_result_location.rbi +78 -0
  101. data/rbi/anthropic/models/beta/beta_citation_search_result_location_param.rbi +79 -0
  102. data/rbi/anthropic/models/beta/beta_citations_delta.rbi +4 -2
  103. data/rbi/anthropic/models/beta/beta_content_block.rbi +3 -3
  104. data/rbi/anthropic/models/beta/beta_content_block_param.rbi +8 -7
  105. data/rbi/anthropic/models/beta/beta_message.rbi +11 -3
  106. data/rbi/anthropic/models/beta/beta_raw_content_block_start_event.rbi +6 -6
  107. data/rbi/anthropic/models/beta/beta_request_document_block.rbi +140 -0
  108. data/rbi/anthropic/models/beta/beta_search_result_block_param.rbi +91 -0
  109. data/rbi/anthropic/models/beta/beta_text_block.rbi +2 -1
  110. data/rbi/anthropic/models/beta/beta_text_block_param.rbi +6 -3
  111. data/rbi/anthropic/models/beta/beta_text_citation.rbi +2 -1
  112. data/rbi/anthropic/models/beta/beta_text_citation_param.rbi +2 -1
  113. data/rbi/anthropic/models/beta/beta_tool.rbi +14 -5
  114. data/rbi/anthropic/models/beta/beta_tool_result_block_param.rbi +2 -1
  115. data/rbi/anthropic/models/beta/beta_tool_text_editor_20250728.rbi +82 -0
  116. data/rbi/anthropic/models/beta/beta_tool_union.rbi +6 -5
  117. data/rbi/anthropic/models/beta/message_count_tokens_params.rbi +44 -27
  118. data/rbi/anthropic/models/beta/message_create_params.rbi +38 -22
  119. data/rbi/anthropic/models/beta/messages/batch_create_params.rbi +38 -22
  120. data/rbi/anthropic/models/citation_char_location.rbi +6 -0
  121. data/rbi/anthropic/models/citation_content_block_location.rbi +6 -0
  122. data/rbi/anthropic/models/citation_page_location.rbi +6 -0
  123. data/rbi/anthropic/models/citation_search_result_location_param.rbi +74 -0
  124. data/rbi/anthropic/models/citations_delta.rbi +4 -2
  125. data/rbi/anthropic/models/citations_search_result_location.rbi +74 -0
  126. data/rbi/anthropic/models/content_block.rbi +3 -3
  127. data/rbi/anthropic/models/content_block_param.rbi +6 -5
  128. data/rbi/anthropic/models/message.rbi +11 -3
  129. data/rbi/anthropic/models/message_count_tokens_params.rbi +22 -2
  130. data/rbi/anthropic/models/message_count_tokens_tool.rbi +2 -0
  131. data/rbi/anthropic/models/message_create_params.rbi +22 -2
  132. data/rbi/anthropic/models/messages/batch_create_params.rbi +22 -2
  133. data/rbi/anthropic/models/model.rbi +4 -8
  134. data/rbi/anthropic/models/raw_content_block_start_event.rbi +6 -6
  135. data/rbi/anthropic/models/search_result_block_param.rbi +77 -0
  136. data/rbi/anthropic/models/text_block.rbi +2 -1
  137. data/rbi/anthropic/models/text_block_param.rbi +6 -3
  138. data/rbi/anthropic/models/text_citation.rbi +2 -1
  139. data/rbi/anthropic/models/text_citation_param.rbi +2 -1
  140. data/rbi/anthropic/models/tool.rbi +16 -5
  141. data/rbi/anthropic/models/tool_result_block_param.rbi +5 -1
  142. data/rbi/anthropic/models/tool_text_editor_20250429.rbi +62 -0
  143. data/rbi/anthropic/models/tool_text_editor_20250728.rbi +72 -0
  144. data/rbi/anthropic/models/tool_union.rbi +2 -0
  145. data/rbi/anthropic/models.rbi +12 -0
  146. data/rbi/anthropic/resources/beta/messages.rbi +39 -18
  147. data/rbi/anthropic/resources/messages.rbi +318 -3
  148. data/rbi/anthropic/streaming.rbi +5 -0
  149. data/sig/anthropic/errors.rbs +9 -0
  150. data/sig/anthropic/helpers/streaming/events.rbs +117 -0
  151. data/sig/anthropic/helpers/streaming/message_stream.rbs +57 -0
  152. data/sig/anthropic/internal/transport/base_client.rbs +1 -1
  153. data/sig/anthropic/internal/type/base_stream.rbs +4 -0
  154. data/sig/anthropic/internal/type/converter.rbs +24 -1
  155. data/sig/anthropic/internal/type/union.rbs +2 -2
  156. data/sig/anthropic/models/anthropic_beta.rbs +2 -0
  157. data/sig/anthropic/models/beta/beta_base64_pdf_block.rbs +1 -58
  158. data/sig/anthropic/models/beta/beta_citation_char_location.rbs +5 -0
  159. data/sig/anthropic/models/beta/beta_citation_content_block_location.rbs +5 -0
  160. data/sig/anthropic/models/beta/beta_citation_page_location.rbs +5 -0
  161. data/sig/anthropic/models/beta/beta_citation_search_result_location.rbs +54 -0
  162. data/sig/anthropic/models/beta/beta_citation_search_result_location_param.rbs +54 -0
  163. data/sig/anthropic/models/beta/beta_citations_delta.rbs +1 -0
  164. data/sig/anthropic/models/beta/beta_content_block.rbs +2 -2
  165. data/sig/anthropic/models/beta/beta_content_block_param.rbs +9 -8
  166. data/sig/anthropic/models/beta/beta_raw_content_block_start_event.rbs +2 -2
  167. data/sig/anthropic/models/beta/beta_request_document_block.rbs +66 -0
  168. data/sig/anthropic/models/beta/beta_search_result_block_param.rbs +53 -0
  169. data/sig/anthropic/models/beta/beta_text_citation.rbs +1 -0
  170. data/sig/anthropic/models/beta/beta_text_citation_param.rbs +1 -0
  171. data/sig/anthropic/models/beta/beta_tool.rbs +14 -3
  172. data/sig/anthropic/models/beta/beta_tool_result_block_param.rbs +1 -0
  173. data/sig/anthropic/models/beta/beta_tool_text_editor_20250728.rbs +39 -0
  174. data/sig/anthropic/models/beta/beta_tool_union.rbs +5 -4
  175. data/sig/anthropic/models/beta/message_count_tokens_params.rbs +5 -4
  176. data/sig/anthropic/models/citation_char_location.rbs +5 -0
  177. data/sig/anthropic/models/citation_content_block_location.rbs +5 -0
  178. data/sig/anthropic/models/citation_page_location.rbs +5 -0
  179. data/sig/anthropic/models/citation_search_result_location_param.rbs +50 -0
  180. data/sig/anthropic/models/citations_delta.rbs +1 -0
  181. data/sig/anthropic/models/citations_search_result_location.rbs +50 -0
  182. data/sig/anthropic/models/content_block.rbs +2 -2
  183. data/sig/anthropic/models/content_block_param.rbs +6 -5
  184. data/sig/anthropic/models/message_count_tokens_tool.rbs +2 -0
  185. data/sig/anthropic/models/model.rbs +4 -10
  186. data/sig/anthropic/models/raw_content_block_start_event.rbs +2 -2
  187. data/sig/anthropic/models/search_result_block_param.rbs +49 -0
  188. data/sig/anthropic/models/text_citation.rbs +1 -0
  189. data/sig/anthropic/models/text_citation_param.rbs +1 -0
  190. data/sig/anthropic/models/tool.rbs +14 -3
  191. data/sig/anthropic/models/tool_result_block_param.rbs +4 -1
  192. data/sig/anthropic/models/tool_text_editor_20250429.rbs +30 -0
  193. data/sig/anthropic/models/tool_text_editor_20250728.rbs +35 -0
  194. data/sig/anthropic/models/tool_union.rbs +2 -0
  195. data/sig/anthropic/models.rbs +10 -0
  196. data/sig/anthropic/streaming.rbs +3 -0
  197. metadata +44 -3
@@ -15,12 +15,14 @@ module Anthropic
15
15
  CoerceState =
16
16
  T.type_alias do
17
17
  {
18
- strictness: T.any(T::Boolean, Symbol),
18
+ translate_names: T::Boolean,
19
+ strictness: T::Boolean,
19
20
  exactness: {
20
21
  yes: Integer,
21
22
  no: Integer,
22
23
  maybe: Integer
23
24
  },
25
+ error: T::Class[StandardError],
24
26
  branched: Integer
25
27
  }
26
28
  end
@@ -88,6 +90,69 @@ module Anthropic
88
90
  def self.type_info(spec)
89
91
  end
90
92
 
93
+ # @api private
94
+ sig do
95
+ params(
96
+ type_info:
97
+ T.any(
98
+ {
99
+ const:
100
+ T.nilable(
101
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
102
+ ),
103
+ enum:
104
+ T.nilable(
105
+ T.proc.returns(
106
+ Anthropic::Internal::Type::Converter::Input
107
+ )
108
+ ),
109
+ union:
110
+ T.nilable(
111
+ T.proc.returns(
112
+ Anthropic::Internal::Type::Converter::Input
113
+ )
114
+ )
115
+ },
116
+ T.proc.returns(Anthropic::Internal::Type::Converter::Input),
117
+ Anthropic::Internal::Type::Converter::Input
118
+ ),
119
+ spec:
120
+ T.any(
121
+ {
122
+ const:
123
+ T.nilable(
124
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
125
+ ),
126
+ enum:
127
+ T.nilable(
128
+ T.proc.returns(
129
+ Anthropic::Internal::Type::Converter::Input
130
+ )
131
+ ),
132
+ union:
133
+ T.nilable(
134
+ T.proc.returns(
135
+ Anthropic::Internal::Type::Converter::Input
136
+ )
137
+ )
138
+ },
139
+ T.proc.returns(Anthropic::Internal::Type::Converter::Input),
140
+ Anthropic::Internal::Type::Converter::Input
141
+ )
142
+ ).returns(Anthropic::Internal::AnyHash)
143
+ end
144
+ def self.meta_info(type_info, spec)
145
+ end
146
+
147
+ # @api private
148
+ sig do
149
+ params(translate_names: T::Boolean).returns(
150
+ Anthropic::Internal::Type::Converter::CoerceState
151
+ )
152
+ end
153
+ def self.new_coerce_state(translate_names: true)
154
+ end
155
+
91
156
  # @api private
92
157
  #
93
158
  # Based on `target`, transform `value` into `target`, to the extent possible:
@@ -109,14 +174,11 @@ module Anthropic
109
174
  def self.coerce(
110
175
  target,
111
176
  value,
112
- # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
113
- # coercion strategy when we have to decide between multiple possible conversion
114
- # targets:
177
+ # The `strictness` is one of `true`, `false`. This informs the coercion strategy
178
+ # when we have to decide between multiple possible conversion targets:
115
179
  #
116
180
  # - `true`: the conversion must be exact, with minimum coercion.
117
181
  # - `false`: the conversion can be approximate, with some coercion.
118
- # - `:strong`: the conversion must be exact, with no coercion, and raise an error
119
- # if not possible.
120
182
  #
121
183
  # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
122
184
  # any given conversion attempt, the exactness will be updated based on how closely
@@ -128,15 +190,7 @@ module Anthropic
128
190
  # - `no`: the value cannot be converted to the target type.
129
191
  #
130
192
  # See implementation below for more details.
131
- state: {
132
- strictness: true,
133
- exactness: {
134
- yes: 0,
135
- no: 0,
136
- maybe: 0
137
- },
138
- branched: 0
139
- }
193
+ state: Anthropic::Internal::Type::Converter.new_coerce_state
140
194
  )
141
195
  end
142
196
 
@@ -16,7 +16,8 @@ module Anthropic
16
16
  T::Array[
17
17
  [
18
18
  T.nilable(Symbol),
19
- T.proc.returns(Anthropic::Internal::Type::Converter::Input)
19
+ T.proc.returns(Anthropic::Internal::Type::Converter::Input),
20
+ Anthropic::Internal::AnyHash
20
21
  ]
21
22
  ]
22
23
  )
@@ -25,7 +26,13 @@ module Anthropic
25
26
  end
26
27
 
27
28
  # @api private
28
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
29
+ sig do
30
+ returns(
31
+ T::Array[
32
+ [T.nilable(Symbol), T.anything, Anthropic::Internal::AnyHash]
33
+ ]
34
+ )
35
+ end
29
36
  protected def derefed_variants
30
37
  end
31
38
 
@@ -78,6 +85,11 @@ module Anthropic
78
85
  end
79
86
 
80
87
  # @api private
88
+ #
89
+ # Tries to efficiently coerce the given value to one of the known variants.
90
+ #
91
+ # If the value cannot match any of the known variants, the coercion is considered
92
+ # non-viable and returns the original value.
81
93
  sig do
82
94
  override
83
95
  .params(
@@ -22,6 +22,8 @@ module Anthropic
22
22
 
23
23
  class << self
24
24
  # @api private
25
+ #
26
+ # No coercion needed for Unknown type.
25
27
  sig do
26
28
  override
27
29
  .params(
@@ -332,6 +332,8 @@ module Anthropic
332
332
  end
333
333
 
334
334
  # @api private
335
+ #
336
+ # https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#special-considerations-for-multipart-content
335
337
  sig do
336
338
  params(body: T.anything).returns([String, T::Enumerable[String]])
337
339
  end
@@ -73,6 +73,8 @@ module Anthropic
73
73
  :"extended-cache-ttl-2025-04-11",
74
74
  Anthropic::AnthropicBeta::TaggedSymbol
75
75
  )
76
+ CONTEXT_1M_2025_08_07 =
77
+ T.let(:"context-1m-2025-08-07", Anthropic::AnthropicBeta::TaggedSymbol)
76
78
  end
77
79
  end
78
80
  end
@@ -5,134 +5,7 @@ module Anthropic
5
5
  BetaBase64PDFBlock = Beta::BetaBase64PDFBlock
6
6
 
7
7
  module Beta
8
- class BetaBase64PDFBlock < Anthropic::Internal::Type::BaseModel
9
- OrHash =
10
- T.type_alias do
11
- T.any(
12
- Anthropic::Beta::BetaBase64PDFBlock,
13
- Anthropic::Internal::AnyHash
14
- )
15
- end
16
-
17
- sig do
18
- returns(
19
- T.any(
20
- Anthropic::Beta::BetaBase64PDFSource,
21
- Anthropic::Beta::BetaPlainTextSource,
22
- Anthropic::Beta::BetaContentBlockSource,
23
- Anthropic::Beta::BetaURLPDFSource,
24
- Anthropic::Beta::BetaFileDocumentSource
25
- )
26
- )
27
- end
28
- attr_accessor :source
29
-
30
- sig { returns(Symbol) }
31
- attr_accessor :type
32
-
33
- # Create a cache control breakpoint at this content block.
34
- sig { returns(T.nilable(Anthropic::Beta::BetaCacheControlEphemeral)) }
35
- attr_reader :cache_control
36
-
37
- sig do
38
- params(
39
- cache_control:
40
- T.nilable(Anthropic::Beta::BetaCacheControlEphemeral::OrHash)
41
- ).void
42
- end
43
- attr_writer :cache_control
44
-
45
- sig { returns(T.nilable(Anthropic::Beta::BetaCitationsConfigParam)) }
46
- attr_reader :citations
47
-
48
- sig do
49
- params(
50
- citations: Anthropic::Beta::BetaCitationsConfigParam::OrHash
51
- ).void
52
- end
53
- attr_writer :citations
54
-
55
- sig { returns(T.nilable(String)) }
56
- attr_accessor :context
57
-
58
- sig { returns(T.nilable(String)) }
59
- attr_accessor :title
60
-
61
- sig do
62
- params(
63
- source:
64
- T.any(
65
- Anthropic::Beta::BetaBase64PDFSource::OrHash,
66
- Anthropic::Beta::BetaPlainTextSource::OrHash,
67
- Anthropic::Beta::BetaContentBlockSource::OrHash,
68
- Anthropic::Beta::BetaURLPDFSource::OrHash,
69
- Anthropic::Beta::BetaFileDocumentSource::OrHash
70
- ),
71
- cache_control:
72
- T.nilable(Anthropic::Beta::BetaCacheControlEphemeral::OrHash),
73
- citations: Anthropic::Beta::BetaCitationsConfigParam::OrHash,
74
- context: T.nilable(String),
75
- title: T.nilable(String),
76
- type: Symbol
77
- ).returns(T.attached_class)
78
- end
79
- def self.new(
80
- source:,
81
- # Create a cache control breakpoint at this content block.
82
- cache_control: nil,
83
- citations: nil,
84
- context: nil,
85
- title: nil,
86
- type: :document
87
- )
88
- end
89
-
90
- sig do
91
- override.returns(
92
- {
93
- source:
94
- T.any(
95
- Anthropic::Beta::BetaBase64PDFSource,
96
- Anthropic::Beta::BetaPlainTextSource,
97
- Anthropic::Beta::BetaContentBlockSource,
98
- Anthropic::Beta::BetaURLPDFSource,
99
- Anthropic::Beta::BetaFileDocumentSource
100
- ),
101
- type: Symbol,
102
- cache_control:
103
- T.nilable(Anthropic::Beta::BetaCacheControlEphemeral),
104
- citations: Anthropic::Beta::BetaCitationsConfigParam,
105
- context: T.nilable(String),
106
- title: T.nilable(String)
107
- }
108
- )
109
- end
110
- def to_hash
111
- end
112
-
113
- module Source
114
- extend Anthropic::Internal::Type::Union
115
-
116
- Variants =
117
- T.type_alias do
118
- T.any(
119
- Anthropic::Beta::BetaBase64PDFSource,
120
- Anthropic::Beta::BetaPlainTextSource,
121
- Anthropic::Beta::BetaContentBlockSource,
122
- Anthropic::Beta::BetaURLPDFSource,
123
- Anthropic::Beta::BetaFileDocumentSource
124
- )
125
- end
126
-
127
- sig do
128
- override.returns(
129
- T::Array[Anthropic::Beta::BetaBase64PDFBlock::Source::Variants]
130
- )
131
- end
132
- def self.variants
133
- end
134
- end
135
- end
8
+ BetaBase64PDFBlock = Anthropic::Models::Beta::BetaRequestDocumentBlock
136
9
  end
137
10
  end
138
11
  end
@@ -26,6 +26,9 @@ module Anthropic
26
26
  sig { returns(Integer) }
27
27
  attr_accessor :end_char_index
28
28
 
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :file_id
31
+
29
32
  sig { returns(Integer) }
30
33
  attr_accessor :start_char_index
31
34
 
@@ -38,6 +41,7 @@ module Anthropic
38
41
  document_index: Integer,
39
42
  document_title: T.nilable(String),
40
43
  end_char_index: Integer,
44
+ file_id: T.nilable(String),
41
45
  start_char_index: Integer,
42
46
  type: Symbol
43
47
  ).returns(T.attached_class)
@@ -47,6 +51,7 @@ module Anthropic
47
51
  document_index:,
48
52
  document_title:,
49
53
  end_char_index:,
54
+ file_id:,
50
55
  start_char_index:,
51
56
  type: :char_location
52
57
  )
@@ -59,6 +64,7 @@ module Anthropic
59
64
  document_index: Integer,
60
65
  document_title: T.nilable(String),
61
66
  end_char_index: Integer,
67
+ file_id: T.nilable(String),
62
68
  start_char_index: Integer,
63
69
  type: Symbol
64
70
  }
@@ -26,6 +26,9 @@ module Anthropic
26
26
  sig { returns(Integer) }
27
27
  attr_accessor :end_block_index
28
28
 
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :file_id
31
+
29
32
  sig { returns(Integer) }
30
33
  attr_accessor :start_block_index
31
34
 
@@ -38,6 +41,7 @@ module Anthropic
38
41
  document_index: Integer,
39
42
  document_title: T.nilable(String),
40
43
  end_block_index: Integer,
44
+ file_id: T.nilable(String),
41
45
  start_block_index: Integer,
42
46
  type: Symbol
43
47
  ).returns(T.attached_class)
@@ -47,6 +51,7 @@ module Anthropic
47
51
  document_index:,
48
52
  document_title:,
49
53
  end_block_index:,
54
+ file_id:,
50
55
  start_block_index:,
51
56
  type: :content_block_location
52
57
  )
@@ -59,6 +64,7 @@ module Anthropic
59
64
  document_index: Integer,
60
65
  document_title: T.nilable(String),
61
66
  end_block_index: Integer,
67
+ file_id: T.nilable(String),
62
68
  start_block_index: Integer,
63
69
  type: Symbol
64
70
  }
@@ -26,6 +26,9 @@ module Anthropic
26
26
  sig { returns(Integer) }
27
27
  attr_accessor :end_page_number
28
28
 
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :file_id
31
+
29
32
  sig { returns(Integer) }
30
33
  attr_accessor :start_page_number
31
34
 
@@ -38,6 +41,7 @@ module Anthropic
38
41
  document_index: Integer,
39
42
  document_title: T.nilable(String),
40
43
  end_page_number: Integer,
44
+ file_id: T.nilable(String),
41
45
  start_page_number: Integer,
42
46
  type: Symbol
43
47
  ).returns(T.attached_class)
@@ -47,6 +51,7 @@ module Anthropic
47
51
  document_index:,
48
52
  document_title:,
49
53
  end_page_number:,
54
+ file_id:,
50
55
  start_page_number:,
51
56
  type: :page_location
52
57
  )
@@ -59,6 +64,7 @@ module Anthropic
59
64
  document_index: Integer,
60
65
  document_title: T.nilable(String),
61
66
  end_page_number: Integer,
67
+ file_id: T.nilable(String),
62
68
  start_page_number: Integer,
63
69
  type: Symbol
64
70
  }
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Anthropic
4
+ module Models
5
+ BetaCitationSearchResultLocation = Beta::BetaCitationSearchResultLocation
6
+
7
+ module Beta
8
+ class BetaCitationSearchResultLocation < Anthropic::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Anthropic::Beta::BetaCitationSearchResultLocation,
13
+ Anthropic::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :cited_text
19
+
20
+ sig { returns(Integer) }
21
+ attr_accessor :end_block_index
22
+
23
+ sig { returns(Integer) }
24
+ attr_accessor :search_result_index
25
+
26
+ sig { returns(String) }
27
+ attr_accessor :source
28
+
29
+ sig { returns(Integer) }
30
+ attr_accessor :start_block_index
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :title
34
+
35
+ sig { returns(Symbol) }
36
+ attr_accessor :type
37
+
38
+ sig do
39
+ params(
40
+ cited_text: String,
41
+ end_block_index: Integer,
42
+ search_result_index: Integer,
43
+ source: String,
44
+ start_block_index: Integer,
45
+ title: T.nilable(String),
46
+ type: Symbol
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ cited_text:,
51
+ end_block_index:,
52
+ search_result_index:,
53
+ source:,
54
+ start_block_index:,
55
+ title:,
56
+ type: :search_result_location
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ cited_text: String,
64
+ end_block_index: Integer,
65
+ search_result_index: Integer,
66
+ source: String,
67
+ start_block_index: Integer,
68
+ title: T.nilable(String),
69
+ type: Symbol
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Anthropic
4
+ module Models
5
+ BetaCitationSearchResultLocationParam =
6
+ Beta::BetaCitationSearchResultLocationParam
7
+
8
+ module Beta
9
+ class BetaCitationSearchResultLocationParam < Anthropic::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Anthropic::Beta::BetaCitationSearchResultLocationParam,
14
+ Anthropic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :cited_text
20
+
21
+ sig { returns(Integer) }
22
+ attr_accessor :end_block_index
23
+
24
+ sig { returns(Integer) }
25
+ attr_accessor :search_result_index
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :source
29
+
30
+ sig { returns(Integer) }
31
+ attr_accessor :start_block_index
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :title
35
+
36
+ sig { returns(Symbol) }
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ cited_text: String,
42
+ end_block_index: Integer,
43
+ search_result_index: Integer,
44
+ source: String,
45
+ start_block_index: Integer,
46
+ title: T.nilable(String),
47
+ type: Symbol
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ cited_text:,
52
+ end_block_index:,
53
+ search_result_index:,
54
+ source:,
55
+ start_block_index:,
56
+ title:,
57
+ type: :search_result_location
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ cited_text: String,
65
+ end_block_index: Integer,
66
+ search_result_index: Integer,
67
+ source: String,
68
+ start_block_index: Integer,
69
+ title: T.nilable(String),
70
+ type: Symbol
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -27,7 +27,8 @@ module Anthropic
27
27
  Anthropic::Beta::BetaCitationCharLocation::OrHash,
28
28
  Anthropic::Beta::BetaCitationPageLocation::OrHash,
29
29
  Anthropic::Beta::BetaCitationContentBlockLocation::OrHash,
30
- Anthropic::Beta::BetaCitationsWebSearchResultLocation::OrHash
30
+ Anthropic::Beta::BetaCitationsWebSearchResultLocation::OrHash,
31
+ Anthropic::Beta::BetaCitationSearchResultLocation::OrHash
31
32
  ),
32
33
  type: Symbol
33
34
  ).returns(T.attached_class)
@@ -55,7 +56,8 @@ module Anthropic
55
56
  Anthropic::Beta::BetaCitationCharLocation,
56
57
  Anthropic::Beta::BetaCitationPageLocation,
57
58
  Anthropic::Beta::BetaCitationContentBlockLocation,
58
- Anthropic::Beta::BetaCitationsWebSearchResultLocation
59
+ Anthropic::Beta::BetaCitationsWebSearchResultLocation,
60
+ Anthropic::Beta::BetaCitationSearchResultLocation
59
61
  )
60
62
  end
61
63
 
@@ -13,15 +13,15 @@ module Anthropic
13
13
  T.type_alias do
14
14
  T.any(
15
15
  Anthropic::Beta::BetaTextBlock,
16
+ Anthropic::Beta::BetaThinkingBlock,
17
+ Anthropic::Beta::BetaRedactedThinkingBlock,
16
18
  Anthropic::Beta::BetaToolUseBlock,
17
19
  Anthropic::Beta::BetaServerToolUseBlock,
18
20
  Anthropic::Beta::BetaWebSearchToolResultBlock,
19
21
  Anthropic::Beta::BetaCodeExecutionToolResultBlock,
20
22
  Anthropic::Beta::BetaMCPToolUseBlock,
21
23
  Anthropic::Beta::BetaMCPToolResultBlock,
22
- Anthropic::Beta::BetaContainerUploadBlock,
23
- Anthropic::Beta::BetaThinkingBlock,
24
- Anthropic::Beta::BetaRedactedThinkingBlock
24
+ Anthropic::Beta::BetaContainerUploadBlock
25
25
  )
26
26
  end
27
27
 
@@ -12,18 +12,19 @@ module Anthropic
12
12
  Variants =
13
13
  T.type_alias do
14
14
  T.any(
15
+ Anthropic::Beta::BetaTextBlockParam,
16
+ Anthropic::Beta::BetaImageBlockParam,
17
+ Anthropic::Beta::BetaRequestDocumentBlock,
18
+ Anthropic::Beta::BetaSearchResultBlockParam,
19
+ Anthropic::Beta::BetaThinkingBlockParam,
20
+ Anthropic::Beta::BetaRedactedThinkingBlockParam,
21
+ Anthropic::Beta::BetaToolUseBlockParam,
22
+ Anthropic::Beta::BetaToolResultBlockParam,
15
23
  Anthropic::Beta::BetaServerToolUseBlockParam,
16
24
  Anthropic::Beta::BetaWebSearchToolResultBlockParam,
17
25
  Anthropic::Beta::BetaCodeExecutionToolResultBlockParam,
18
26
  Anthropic::Beta::BetaMCPToolUseBlockParam,
19
27
  Anthropic::Beta::BetaRequestMCPToolResultBlockParam,
20
- Anthropic::Beta::BetaTextBlockParam,
21
- Anthropic::Beta::BetaImageBlockParam,
22
- Anthropic::Beta::BetaToolUseBlockParam,
23
- Anthropic::Beta::BetaToolResultBlockParam,
24
- Anthropic::Beta::BetaBase64PDFBlock,
25
- Anthropic::Beta::BetaThinkingBlockParam,
26
- Anthropic::Beta::BetaRedactedThinkingBlockParam,
27
28
  Anthropic::Beta::BetaContainerUploadBlockParam
28
29
  )
29
30
  end
@@ -84,6 +84,10 @@ module Anthropic
84
84
  # - `"max_tokens"`: we exceeded the requested `max_tokens` or the model's maximum
85
85
  # - `"stop_sequence"`: one of your provided custom `stop_sequences` was generated
86
86
  # - `"tool_use"`: the model invoked one or more tools
87
+ # - `"pause_turn"`: we paused a long-running turn. You may provide the response
88
+ # back as-is in a subsequent request to let the model continue.
89
+ # - `"refusal"`: when streaming classifiers intervene to handle potential policy
90
+ # violations
87
91
  #
88
92
  # In non-streaming mode this value is always non-null. In streaming mode, it is
89
93
  # null in the `message_start` event and non-null otherwise.
@@ -134,15 +138,15 @@ module Anthropic
134
138
  T::Array[
135
139
  T.any(
136
140
  Anthropic::Beta::BetaTextBlock::OrHash,
141
+ Anthropic::Beta::BetaThinkingBlock::OrHash,
142
+ Anthropic::Beta::BetaRedactedThinkingBlock::OrHash,
137
143
  Anthropic::Beta::BetaToolUseBlock::OrHash,
138
144
  Anthropic::Beta::BetaServerToolUseBlock::OrHash,
139
145
  Anthropic::Beta::BetaWebSearchToolResultBlock::OrHash,
140
146
  Anthropic::Beta::BetaCodeExecutionToolResultBlock::OrHash,
141
147
  Anthropic::Beta::BetaMCPToolUseBlock::OrHash,
142
148
  Anthropic::Beta::BetaMCPToolResultBlock::OrHash,
143
- Anthropic::Beta::BetaContainerUploadBlock::OrHash,
144
- Anthropic::Beta::BetaThinkingBlock::OrHash,
145
- Anthropic::Beta::BetaRedactedThinkingBlock::OrHash
149
+ Anthropic::Beta::BetaContainerUploadBlock::OrHash
146
150
  )
147
151
  ],
148
152
  model: T.any(Anthropic::Model::OrSymbol, String),
@@ -206,6 +210,10 @@ module Anthropic
206
210
  # - `"max_tokens"`: we exceeded the requested `max_tokens` or the model's maximum
207
211
  # - `"stop_sequence"`: one of your provided custom `stop_sequences` was generated
208
212
  # - `"tool_use"`: the model invoked one or more tools
213
+ # - `"pause_turn"`: we paused a long-running turn. You may provide the response
214
+ # back as-is in a subsequent request to let the model continue.
215
+ # - `"refusal"`: when streaming classifiers intervene to handle potential policy
216
+ # violations
209
217
  #
210
218
  # In non-streaming mode this value is always non-null. In streaming mode, it is
211
219
  # null in the `message_start` event and non-null otherwise.