anthropic 0.68.2__py3-none-any.whl → 0.70.0__py3-none-any.whl

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 (40) hide show
  1. anthropic/_version.py +1 -1
  2. anthropic/lib/streaming/_beta_messages.py +1 -0
  3. anthropic/lib/tools/__init__.py +7 -0
  4. anthropic/lib/tools/_beta_builtin_memory_tool.py +245 -0
  5. anthropic/lib/tools/_beta_functions.py +30 -0
  6. anthropic/lib/tools/_beta_runner.py +18 -6
  7. anthropic/resources/beta/messages/messages.py +55 -11
  8. anthropic/types/anthropic_beta_param.py +2 -0
  9. anthropic/types/beta/__init__.py +35 -0
  10. anthropic/types/beta/beta_clear_tool_uses_20250919_edit_param.py +38 -0
  11. anthropic/types/beta/beta_clear_tool_uses_20250919_edit_response.py +18 -0
  12. anthropic/types/beta/beta_context_management_config_param.py +15 -0
  13. anthropic/types/beta/beta_context_management_response.py +13 -0
  14. anthropic/types/beta/beta_count_tokens_context_management_response.py +10 -0
  15. anthropic/types/beta/beta_input_tokens_clear_at_least_param.py +13 -0
  16. anthropic/types/beta/beta_input_tokens_trigger_param.py +13 -0
  17. anthropic/types/beta/beta_memory_tool_20250818_command.py +26 -0
  18. anthropic/types/beta/beta_memory_tool_20250818_create_command.py +18 -0
  19. anthropic/types/beta/beta_memory_tool_20250818_delete_command.py +15 -0
  20. anthropic/types/beta/beta_memory_tool_20250818_insert_command.py +21 -0
  21. anthropic/types/beta/beta_memory_tool_20250818_param.py +23 -0
  22. anthropic/types/beta/beta_memory_tool_20250818_rename_command.py +18 -0
  23. anthropic/types/beta/beta_memory_tool_20250818_str_replace_command.py +21 -0
  24. anthropic/types/beta/beta_memory_tool_20250818_view_command.py +19 -0
  25. anthropic/types/beta/beta_message.py +4 -0
  26. anthropic/types/beta/beta_message_tokens_count.py +6 -0
  27. anthropic/types/beta/beta_raw_message_delta_event.py +4 -0
  28. anthropic/types/beta/beta_stop_reason.py +3 -1
  29. anthropic/types/beta/beta_tool_union_param.py +2 -0
  30. anthropic/types/beta/beta_tool_uses_keep_param.py +13 -0
  31. anthropic/types/beta/beta_tool_uses_trigger_param.py +13 -0
  32. anthropic/types/beta/message_count_tokens_params.py +7 -1
  33. anthropic/types/beta/message_create_params.py +4 -0
  34. anthropic/types/model.py +4 -0
  35. anthropic/types/model_param.py +4 -0
  36. anthropic/types/stop_reason.py +3 -1
  37. {anthropic-0.68.2.dist-info → anthropic-0.70.0.dist-info}/METADATA +19 -19
  38. {anthropic-0.68.2.dist-info → anthropic-0.70.0.dist-info}/RECORD +40 -22
  39. {anthropic-0.68.2.dist-info → anthropic-0.70.0.dist-info}/WHEEL +0 -0
  40. {anthropic-0.68.2.dist-info → anthropic-0.70.0.dist-info}/licenses/LICENSE +0 -0
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import warnings
6
- from typing import TYPE_CHECKING, Any, List, Union, Iterable, Optional, cast
6
+ from typing import TYPE_CHECKING, List, Union, Iterable, Optional, cast
7
7
  from functools import partial
8
8
  from itertools import chain
9
9
  from typing_extensions import Literal, overload
@@ -26,9 +26,7 @@ from ...._resource import SyncAPIResource, AsyncAPIResource
26
26
  from ...._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
27
27
  from ....lib.tools import (
28
28
  BetaToolRunner,
29
- BetaFunctionTool,
30
29
  BetaAsyncToolRunner,
31
- BetaAsyncFunctionTool,
32
30
  BetaStreamingToolRunner,
33
31
  BetaAsyncStreamingToolRunner,
34
32
  )
@@ -44,6 +42,7 @@ from ....lib.streaming import BetaMessageStreamManager, BetaAsyncMessageStreamMa
44
42
  from ...messages.messages import DEPRECATED_MODELS
45
43
  from ....types.model_param import ModelParam
46
44
  from ....types.beta.beta_message import BetaMessage
45
+ from ....lib.tools._beta_functions import BetaRunnableTool, BetaAsyncRunnableTool
47
46
  from ....types.anthropic_beta_param import AnthropicBetaParam
48
47
  from ....types.beta.beta_message_param import BetaMessageParam
49
48
  from ....types.beta.beta_metadata_param import BetaMetadataParam
@@ -53,6 +52,7 @@ from ....types.beta.beta_tool_choice_param import BetaToolChoiceParam
53
52
  from ....types.beta.beta_message_tokens_count import BetaMessageTokensCount
54
53
  from ....types.beta.beta_thinking_config_param import BetaThinkingConfigParam
55
54
  from ....types.beta.beta_raw_message_stream_event import BetaRawMessageStreamEvent
55
+ from ....types.beta.beta_context_management_config_param import BetaContextManagementConfigParam
56
56
  from ....types.beta.beta_request_mcp_server_url_definition_param import BetaRequestMCPServerURLDefinitionParam
57
57
 
58
58
  if TYPE_CHECKING:
@@ -93,6 +93,7 @@ class Messages(SyncAPIResource):
93
93
  messages: Iterable[BetaMessageParam],
94
94
  model: ModelParam,
95
95
  container: Optional[str] | Omit = omit,
96
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
96
97
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
97
98
  metadata: BetaMetadataParam | Omit = omit,
98
99
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -203,6 +204,8 @@ class Messages(SyncAPIResource):
203
204
 
204
205
  container: Container identifier for reuse across requests.
205
206
 
207
+ context_management: Configuration for context management operations.
208
+
206
209
  mcp_servers: MCP servers to be utilized in this request
207
210
 
208
211
  metadata: An object describing metadata about the request.
@@ -371,6 +374,7 @@ class Messages(SyncAPIResource):
371
374
  model: ModelParam,
372
375
  stream: Literal[True],
373
376
  container: Optional[str] | Omit = omit,
377
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
374
378
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
375
379
  metadata: BetaMetadataParam | Omit = omit,
376
380
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -485,6 +489,8 @@ class Messages(SyncAPIResource):
485
489
 
486
490
  container: Container identifier for reuse across requests.
487
491
 
492
+ context_management: Configuration for context management operations.
493
+
488
494
  mcp_servers: MCP servers to be utilized in this request
489
495
 
490
496
  metadata: An object describing metadata about the request.
@@ -648,6 +654,7 @@ class Messages(SyncAPIResource):
648
654
  model: ModelParam,
649
655
  stream: bool,
650
656
  container: Optional[str] | Omit = omit,
657
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
651
658
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
652
659
  metadata: BetaMetadataParam | Omit = omit,
653
660
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -762,6 +769,8 @@ class Messages(SyncAPIResource):
762
769
 
763
770
  container: Container identifier for reuse across requests.
764
771
 
772
+ context_management: Configuration for context management operations.
773
+
765
774
  mcp_servers: MCP servers to be utilized in this request
766
775
 
767
776
  metadata: An object describing metadata about the request.
@@ -924,6 +933,7 @@ class Messages(SyncAPIResource):
924
933
  messages: Iterable[BetaMessageParam],
925
934
  model: ModelParam,
926
935
  container: Optional[str] | Omit = omit,
936
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
927
937
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
928
938
  metadata: BetaMetadataParam | Omit = omit,
929
939
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -968,6 +978,7 @@ class Messages(SyncAPIResource):
968
978
  "messages": messages,
969
979
  "model": model,
970
980
  "container": container,
981
+ "context_management": context_management,
971
982
  "mcp_servers": mcp_servers,
972
983
  "metadata": metadata,
973
984
  "service_tier": service_tier,
@@ -1000,9 +1011,10 @@ class Messages(SyncAPIResource):
1000
1011
  max_tokens: int,
1001
1012
  messages: Iterable[BetaMessageParam],
1002
1013
  model: ModelParam,
1003
- tools: Iterable[BetaFunctionTool[Any]],
1014
+ tools: Iterable[BetaRunnableTool],
1004
1015
  max_iterations: int | Omit = omit,
1005
1016
  container: Optional[str] | Omit = omit,
1017
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1006
1018
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1007
1019
  metadata: BetaMetadataParam | Omit = omit,
1008
1020
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1030,10 +1042,11 @@ class Messages(SyncAPIResource):
1030
1042
  max_tokens: int,
1031
1043
  messages: Iterable[BetaMessageParam],
1032
1044
  model: ModelParam,
1033
- tools: Iterable[BetaFunctionTool[Any]],
1045
+ tools: Iterable[BetaRunnableTool],
1034
1046
  stream: Literal[True],
1035
1047
  max_iterations: int | Omit = omit,
1036
1048
  container: Optional[str] | Omit = omit,
1049
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1037
1050
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1038
1051
  metadata: BetaMetadataParam | Omit = omit,
1039
1052
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1060,10 +1073,11 @@ class Messages(SyncAPIResource):
1060
1073
  max_tokens: int,
1061
1074
  messages: Iterable[BetaMessageParam],
1062
1075
  model: ModelParam,
1063
- tools: Iterable[BetaFunctionTool[Any]],
1076
+ tools: Iterable[BetaRunnableTool],
1064
1077
  stream: bool,
1065
1078
  max_iterations: int | Omit = omit,
1066
1079
  container: Optional[str] | Omit = omit,
1080
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1067
1081
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1068
1082
  metadata: BetaMetadataParam | Omit = omit,
1069
1083
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1089,9 +1103,10 @@ class Messages(SyncAPIResource):
1089
1103
  max_tokens: int,
1090
1104
  messages: Iterable[BetaMessageParam],
1091
1105
  model: ModelParam,
1092
- tools: Iterable[BetaFunctionTool[Any]],
1106
+ tools: Iterable[BetaRunnableTool],
1093
1107
  max_iterations: int | Omit = omit,
1094
1108
  container: Optional[str] | Omit = omit,
1109
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1095
1110
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1096
1111
  metadata: BetaMetadataParam | Omit = omit,
1097
1112
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1132,6 +1147,7 @@ class Messages(SyncAPIResource):
1132
1147
  "messages": messages,
1133
1148
  "model": model,
1134
1149
  "container": container,
1150
+ "context_management": context_management,
1135
1151
  "mcp_servers": mcp_servers,
1136
1152
  "metadata": metadata,
1137
1153
  "service_tier": service_tier,
@@ -1179,6 +1195,7 @@ class Messages(SyncAPIResource):
1179
1195
  messages: Iterable[BetaMessageParam],
1180
1196
  model: ModelParam,
1181
1197
  container: Optional[str] | Omit = omit,
1198
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1182
1199
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1183
1200
  metadata: BetaMetadataParam | Omit = omit,
1184
1201
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1221,6 +1238,7 @@ class Messages(SyncAPIResource):
1221
1238
  "model": model,
1222
1239
  "metadata": metadata,
1223
1240
  "container": container,
1241
+ "context_management": context_management,
1224
1242
  "mcp_servers": mcp_servers,
1225
1243
  "service_tier": service_tier,
1226
1244
  "stop_sequences": stop_sequences,
@@ -1249,6 +1267,7 @@ class Messages(SyncAPIResource):
1249
1267
  *,
1250
1268
  messages: Iterable[BetaMessageParam],
1251
1269
  model: ModelParam,
1270
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1252
1271
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1253
1272
  system: Union[str, Iterable[BetaTextBlockParam]] | Omit = omit,
1254
1273
  thinking: BetaThinkingConfigParam | Omit = omit,
@@ -1342,6 +1361,8 @@ class Messages(SyncAPIResource):
1342
1361
  [models](https://docs.anthropic.com/en/docs/models-overview) for additional
1343
1362
  details and options.
1344
1363
 
1364
+ context_management: Configuration for context management operations.
1365
+
1345
1366
  mcp_servers: MCP servers to be utilized in this request
1346
1367
 
1347
1368
  system: System prompt.
@@ -1466,6 +1487,7 @@ class Messages(SyncAPIResource):
1466
1487
  {
1467
1488
  "messages": messages,
1468
1489
  "model": model,
1490
+ "context_management": context_management,
1469
1491
  "mcp_servers": mcp_servers,
1470
1492
  "system": system,
1471
1493
  "thinking": thinking,
@@ -1513,6 +1535,7 @@ class AsyncMessages(AsyncAPIResource):
1513
1535
  messages: Iterable[BetaMessageParam],
1514
1536
  model: ModelParam,
1515
1537
  container: Optional[str] | Omit = omit,
1538
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1516
1539
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1517
1540
  metadata: BetaMetadataParam | Omit = omit,
1518
1541
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1623,6 +1646,8 @@ class AsyncMessages(AsyncAPIResource):
1623
1646
 
1624
1647
  container: Container identifier for reuse across requests.
1625
1648
 
1649
+ context_management: Configuration for context management operations.
1650
+
1626
1651
  mcp_servers: MCP servers to be utilized in this request
1627
1652
 
1628
1653
  metadata: An object describing metadata about the request.
@@ -1791,6 +1816,7 @@ class AsyncMessages(AsyncAPIResource):
1791
1816
  model: ModelParam,
1792
1817
  stream: Literal[True],
1793
1818
  container: Optional[str] | Omit = omit,
1819
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
1794
1820
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
1795
1821
  metadata: BetaMetadataParam | Omit = omit,
1796
1822
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -1905,6 +1931,8 @@ class AsyncMessages(AsyncAPIResource):
1905
1931
 
1906
1932
  container: Container identifier for reuse across requests.
1907
1933
 
1934
+ context_management: Configuration for context management operations.
1935
+
1908
1936
  mcp_servers: MCP servers to be utilized in this request
1909
1937
 
1910
1938
  metadata: An object describing metadata about the request.
@@ -2068,6 +2096,7 @@ class AsyncMessages(AsyncAPIResource):
2068
2096
  model: ModelParam,
2069
2097
  stream: bool,
2070
2098
  container: Optional[str] | Omit = omit,
2099
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2071
2100
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2072
2101
  metadata: BetaMetadataParam | Omit = omit,
2073
2102
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -2182,6 +2211,8 @@ class AsyncMessages(AsyncAPIResource):
2182
2211
 
2183
2212
  container: Container identifier for reuse across requests.
2184
2213
 
2214
+ context_management: Configuration for context management operations.
2215
+
2185
2216
  mcp_servers: MCP servers to be utilized in this request
2186
2217
 
2187
2218
  metadata: An object describing metadata about the request.
@@ -2344,6 +2375,7 @@ class AsyncMessages(AsyncAPIResource):
2344
2375
  messages: Iterable[BetaMessageParam],
2345
2376
  model: ModelParam,
2346
2377
  container: Optional[str] | Omit = omit,
2378
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2347
2379
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2348
2380
  metadata: BetaMetadataParam | Omit = omit,
2349
2381
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -2388,6 +2420,7 @@ class AsyncMessages(AsyncAPIResource):
2388
2420
  "messages": messages,
2389
2421
  "model": model,
2390
2422
  "container": container,
2423
+ "context_management": context_management,
2391
2424
  "mcp_servers": mcp_servers,
2392
2425
  "metadata": metadata,
2393
2426
  "service_tier": service_tier,
@@ -2420,9 +2453,10 @@ class AsyncMessages(AsyncAPIResource):
2420
2453
  max_tokens: int,
2421
2454
  messages: Iterable[BetaMessageParam],
2422
2455
  model: ModelParam,
2423
- tools: Iterable[BetaAsyncFunctionTool[Any]],
2456
+ tools: Iterable[BetaAsyncRunnableTool],
2424
2457
  max_iterations: int | Omit = omit,
2425
2458
  container: Optional[str] | Omit = omit,
2459
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2426
2460
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2427
2461
  metadata: BetaMetadataParam | Omit = omit,
2428
2462
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -2450,10 +2484,11 @@ class AsyncMessages(AsyncAPIResource):
2450
2484
  max_tokens: int,
2451
2485
  messages: Iterable[BetaMessageParam],
2452
2486
  model: ModelParam,
2453
- tools: Iterable[BetaAsyncFunctionTool[Any]],
2487
+ tools: Iterable[BetaAsyncRunnableTool],
2454
2488
  stream: Literal[True],
2455
2489
  max_iterations: int | Omit = omit,
2456
2490
  container: Optional[str] | Omit = omit,
2491
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2457
2492
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2458
2493
  metadata: BetaMetadataParam | Omit = omit,
2459
2494
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -2480,10 +2515,11 @@ class AsyncMessages(AsyncAPIResource):
2480
2515
  max_tokens: int,
2481
2516
  messages: Iterable[BetaMessageParam],
2482
2517
  model: ModelParam,
2483
- tools: Iterable[BetaAsyncFunctionTool[Any]],
2518
+ tools: Iterable[BetaAsyncRunnableTool],
2484
2519
  stream: bool,
2485
2520
  max_iterations: int | Omit = omit,
2486
2521
  container: Optional[str] | Omit = omit,
2522
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2487
2523
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2488
2524
  metadata: BetaMetadataParam | Omit = omit,
2489
2525
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -2509,9 +2545,10 @@ class AsyncMessages(AsyncAPIResource):
2509
2545
  max_tokens: int,
2510
2546
  messages: Iterable[BetaMessageParam],
2511
2547
  model: ModelParam,
2512
- tools: Iterable[BetaAsyncFunctionTool[Any]],
2548
+ tools: Iterable[BetaAsyncRunnableTool],
2513
2549
  max_iterations: int | Omit = omit,
2514
2550
  container: Optional[str] | Omit = omit,
2551
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2515
2552
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2516
2553
  metadata: BetaMetadataParam | Omit = omit,
2517
2554
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
@@ -2552,6 +2589,7 @@ class AsyncMessages(AsyncAPIResource):
2552
2589
  "messages": messages,
2553
2590
  "model": model,
2554
2591
  "container": container,
2592
+ "context_management": context_management,
2555
2593
  "mcp_servers": mcp_servers,
2556
2594
  "metadata": metadata,
2557
2595
  "service_tier": service_tier,
@@ -2600,6 +2638,7 @@ class AsyncMessages(AsyncAPIResource):
2600
2638
  model: ModelParam,
2601
2639
  metadata: BetaMetadataParam | Omit = omit,
2602
2640
  container: Optional[str] | Omit = omit,
2641
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2603
2642
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2604
2643
  service_tier: Literal["auto", "standard_only"] | Omit = omit,
2605
2644
  stop_sequences: SequenceNotStr[str] | Omit = omit,
@@ -2639,6 +2678,7 @@ class AsyncMessages(AsyncAPIResource):
2639
2678
  "model": model,
2640
2679
  "metadata": metadata,
2641
2680
  "container": container,
2681
+ "context_management": context_management,
2642
2682
  "mcp_servers": mcp_servers,
2643
2683
  "service_tier": service_tier,
2644
2684
  "stop_sequences": stop_sequences,
@@ -2667,6 +2707,7 @@ class AsyncMessages(AsyncAPIResource):
2667
2707
  *,
2668
2708
  messages: Iterable[BetaMessageParam],
2669
2709
  model: ModelParam,
2710
+ context_management: Optional[BetaContextManagementConfigParam] | Omit = omit,
2670
2711
  mcp_servers: Iterable[BetaRequestMCPServerURLDefinitionParam] | Omit = omit,
2671
2712
  system: Union[str, Iterable[BetaTextBlockParam]] | Omit = omit,
2672
2713
  thinking: BetaThinkingConfigParam | Omit = omit,
@@ -2760,6 +2801,8 @@ class AsyncMessages(AsyncAPIResource):
2760
2801
  [models](https://docs.anthropic.com/en/docs/models-overview) for additional
2761
2802
  details and options.
2762
2803
 
2804
+ context_management: Configuration for context management operations.
2805
+
2763
2806
  mcp_servers: MCP servers to be utilized in this request
2764
2807
 
2765
2808
  system: System prompt.
@@ -2884,6 +2927,7 @@ class AsyncMessages(AsyncAPIResource):
2884
2927
  {
2885
2928
  "messages": messages,
2886
2929
  "model": model,
2930
+ "context_management": context_management,
2887
2931
  "mcp_servers": mcp_servers,
2888
2932
  "system": system,
2889
2933
  "thinking": thinking,
@@ -25,5 +25,7 @@ AnthropicBetaParam: TypeAlias = Union[
25
25
  "code-execution-2025-05-22",
26
26
  "extended-cache-ttl-2025-04-11",
27
27
  "context-1m-2025-08-07",
28
+ "context-management-2025-06-27",
29
+ "model-context-window-exceeded-2025-08-26",
28
30
  ],
29
31
  ]
@@ -44,6 +44,7 @@ from .beta_text_citation_param import BetaTextCitationParam as BetaTextCitationP
44
44
  from .beta_message_tokens_count import BetaMessageTokensCount as BetaMessageTokensCount
45
45
  from .beta_thinking_block_param import BetaThinkingBlockParam as BetaThinkingBlockParam
46
46
  from .beta_tool_use_block_param import BetaToolUseBlockParam as BetaToolUseBlockParam
47
+ from .beta_tool_uses_keep_param import BetaToolUsesKeepParam as BetaToolUsesKeepParam
47
48
  from .beta_url_pdf_source_param import BetaURLPDFSourceParam as BetaURLPDFSourceParam
48
49
  from .beta_mcp_tool_result_block import BetaMCPToolResultBlock as BetaMCPToolResultBlock
49
50
  from .beta_server_tool_use_block import BetaServerToolUseBlock as BetaServerToolUseBlock
@@ -69,6 +70,7 @@ from .beta_raw_message_delta_event import BetaRawMessageDeltaEvent as BetaRawMes
69
70
  from .beta_raw_message_start_event import BetaRawMessageStartEvent as BetaRawMessageStartEvent
70
71
  from .beta_redacted_thinking_block import BetaRedactedThinkingBlock as BetaRedactedThinkingBlock
71
72
  from .beta_tool_result_block_param import BetaToolResultBlockParam as BetaToolResultBlockParam
73
+ from .beta_tool_uses_trigger_param import BetaToolUsesTriggerParam as BetaToolUsesTriggerParam
72
74
  from .beta_web_search_result_block import BetaWebSearchResultBlock as BetaWebSearchResultBlock
73
75
  from .beta_mcp_tool_use_block_param import BetaMCPToolUseBlockParam as BetaMCPToolUseBlockParam
74
76
  from .beta_raw_message_stream_event import BetaRawMessageStreamEvent as BetaRawMessageStreamEvent
@@ -78,13 +80,17 @@ from .beta_base64_image_source_param import BetaBase64ImageSourceParam as BetaBa
78
80
  from .beta_search_result_block_param import BetaSearchResultBlockParam as BetaSearchResultBlockParam
79
81
  from .beta_content_block_source_param import BetaContentBlockSourceParam as BetaContentBlockSourceParam
80
82
  from .beta_file_document_source_param import BetaFileDocumentSourceParam as BetaFileDocumentSourceParam
83
+ from .beta_input_tokens_trigger_param import BetaInputTokensTriggerParam as BetaInputTokensTriggerParam
84
+ from .beta_memory_tool_20250818_param import BetaMemoryTool20250818Param as BetaMemoryTool20250818Param
81
85
  from .beta_code_execution_output_block import BetaCodeExecutionOutputBlock as BetaCodeExecutionOutputBlock
82
86
  from .beta_code_execution_result_block import BetaCodeExecutionResultBlock as BetaCodeExecutionResultBlock
87
+ from .beta_context_management_response import BetaContextManagementResponse as BetaContextManagementResponse
83
88
  from .beta_server_tool_use_block_param import BetaServerToolUseBlockParam as BetaServerToolUseBlockParam
84
89
  from .beta_web_fetch_tool_result_block import BetaWebFetchToolResultBlock as BetaWebFetchToolResultBlock
85
90
  from .beta_citation_char_location_param import BetaCitationCharLocationParam as BetaCitationCharLocationParam
86
91
  from .beta_citation_page_location_param import BetaCitationPageLocationParam as BetaCitationPageLocationParam
87
92
  from .beta_container_upload_block_param import BetaContainerUploadBlockParam as BetaContainerUploadBlockParam
93
+ from .beta_memory_tool_20250818_command import BetaMemoryTool20250818Command as BetaMemoryTool20250818Command
88
94
  from .beta_raw_content_block_stop_event import BetaRawContentBlockStopEvent as BetaRawContentBlockStopEvent
89
95
  from .beta_request_document_block_param import BetaRequestDocumentBlockParam as BetaRequestDocumentBlockParam
90
96
  from .beta_web_search_tool_result_block import BetaWebSearchToolResultBlock as BetaWebSearchToolResultBlock
@@ -100,6 +106,7 @@ from .beta_thinking_config_disabled_param import BetaThinkingConfigDisabledParam
100
106
  from .beta_web_search_tool_20250305_param import BetaWebSearchTool20250305Param as BetaWebSearchTool20250305Param
101
107
  from .beta_citation_content_block_location import BetaCitationContentBlockLocation as BetaCitationContentBlockLocation
102
108
  from .beta_citation_search_result_location import BetaCitationSearchResultLocation as BetaCitationSearchResultLocation
109
+ from .beta_context_management_config_param import BetaContextManagementConfigParam as BetaContextManagementConfigParam
103
110
  from .beta_tool_text_editor_20241022_param import BetaToolTextEditor20241022Param as BetaToolTextEditor20241022Param
104
111
  from .beta_tool_text_editor_20250124_param import BetaToolTextEditor20250124Param as BetaToolTextEditor20250124Param
105
112
  from .beta_tool_text_editor_20250429_param import BetaToolTextEditor20250429Param as BetaToolTextEditor20250429Param
@@ -117,6 +124,10 @@ from .beta_code_execution_output_block_param import (
117
124
  from .beta_code_execution_result_block_param import (
118
125
  BetaCodeExecutionResultBlockParam as BetaCodeExecutionResultBlockParam,
119
126
  )
127
+ from .beta_input_tokens_clear_at_least_param import BetaInputTokensClearAtLeastParam as BetaInputTokensClearAtLeastParam
128
+ from .beta_memory_tool_20250818_view_command import (
129
+ BetaMemoryTool20250818ViewCommand as BetaMemoryTool20250818ViewCommand,
130
+ )
120
131
  from .beta_web_fetch_tool_result_block_param import BetaWebFetchToolResultBlockParam as BetaWebFetchToolResultBlockParam
121
132
  from .beta_web_fetch_tool_result_error_block import BetaWebFetchToolResultErrorBlock as BetaWebFetchToolResultErrorBlock
122
133
  from .beta_web_search_tool_result_error_code import BetaWebSearchToolResultErrorCode as BetaWebSearchToolResultErrorCode
@@ -132,6 +143,21 @@ from .beta_content_block_source_content_param import (
132
143
  from .beta_web_search_tool_result_block_param import (
133
144
  BetaWebSearchToolResultBlockParam as BetaWebSearchToolResultBlockParam,
134
145
  )
146
+ from .beta_clear_tool_uses_20250919_edit_param import (
147
+ BetaClearToolUses20250919EditParam as BetaClearToolUses20250919EditParam,
148
+ )
149
+ from .beta_memory_tool_20250818_create_command import (
150
+ BetaMemoryTool20250818CreateCommand as BetaMemoryTool20250818CreateCommand,
151
+ )
152
+ from .beta_memory_tool_20250818_delete_command import (
153
+ BetaMemoryTool20250818DeleteCommand as BetaMemoryTool20250818DeleteCommand,
154
+ )
155
+ from .beta_memory_tool_20250818_insert_command import (
156
+ BetaMemoryTool20250818InsertCommand as BetaMemoryTool20250818InsertCommand,
157
+ )
158
+ from .beta_memory_tool_20250818_rename_command import (
159
+ BetaMemoryTool20250818RenameCommand as BetaMemoryTool20250818RenameCommand,
160
+ )
135
161
  from .beta_request_mcp_tool_result_block_param import (
136
162
  BetaRequestMCPToolResultBlockParam as BetaRequestMCPToolResultBlockParam,
137
163
  )
@@ -165,6 +191,9 @@ from .beta_bash_code_execution_output_block_param import (
165
191
  from .beta_bash_code_execution_result_block_param import (
166
192
  BetaBashCodeExecutionResultBlockParam as BetaBashCodeExecutionResultBlockParam,
167
193
  )
194
+ from .beta_clear_tool_uses_20250919_edit_response import (
195
+ BetaClearToolUses20250919EditResponse as BetaClearToolUses20250919EditResponse,
196
+ )
168
197
  from .beta_code_execution_tool_result_block_param import (
169
198
  BetaCodeExecutionToolResultBlockParam as BetaCodeExecutionToolResultBlockParam,
170
199
  )
@@ -180,6 +209,12 @@ from .beta_web_fetch_tool_result_error_block_param import (
180
209
  from .beta_code_execution_tool_result_block_content import (
181
210
  BetaCodeExecutionToolResultBlockContent as BetaCodeExecutionToolResultBlockContent,
182
211
  )
212
+ from .beta_count_tokens_context_management_response import (
213
+ BetaCountTokensContextManagementResponse as BetaCountTokensContextManagementResponse,
214
+ )
215
+ from .beta_memory_tool_20250818_str_replace_command import (
216
+ BetaMemoryTool20250818StrReplaceCommand as BetaMemoryTool20250818StrReplaceCommand,
217
+ )
183
218
  from .beta_citation_web_search_result_location_param import (
184
219
  BetaCitationWebSearchResultLocationParam as BetaCitationWebSearchResultLocationParam,
185
220
  )
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Optional
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+ from .beta_tool_uses_keep_param import BetaToolUsesKeepParam
10
+ from .beta_tool_uses_trigger_param import BetaToolUsesTriggerParam
11
+ from .beta_input_tokens_trigger_param import BetaInputTokensTriggerParam
12
+ from .beta_input_tokens_clear_at_least_param import BetaInputTokensClearAtLeastParam
13
+
14
+ __all__ = ["BetaClearToolUses20250919EditParam", "Trigger"]
15
+
16
+ Trigger: TypeAlias = Union[BetaInputTokensTriggerParam, BetaToolUsesTriggerParam]
17
+
18
+
19
+ class BetaClearToolUses20250919EditParam(TypedDict, total=False):
20
+ type: Required[Literal["clear_tool_uses_20250919"]]
21
+
22
+ clear_at_least: Optional[BetaInputTokensClearAtLeastParam]
23
+ """Minimum number of tokens that must be cleared when triggered.
24
+
25
+ Context will only be modified if at least this many tokens can be removed.
26
+ """
27
+
28
+ clear_tool_inputs: Union[bool, SequenceNotStr[str], None]
29
+ """Whether to clear all tool inputs (bool) or specific tool inputs to clear (list)"""
30
+
31
+ exclude_tools: Optional[SequenceNotStr[str]]
32
+ """Tool names whose uses are preserved from clearing"""
33
+
34
+ keep: BetaToolUsesKeepParam
35
+ """Number of tool uses to retain in the conversation"""
36
+
37
+ trigger: Trigger
38
+ """Condition that triggers the context management strategy"""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["BetaClearToolUses20250919EditResponse"]
8
+
9
+
10
+ class BetaClearToolUses20250919EditResponse(BaseModel):
11
+ cleared_input_tokens: int
12
+ """Number of input tokens cleared by this edit."""
13
+
14
+ cleared_tool_uses: int
15
+ """Number of tool uses that were cleared."""
16
+
17
+ type: Literal["clear_tool_uses_20250919"]
18
+ """The type of context management edit applied."""
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import TypedDict
7
+
8
+ from .beta_clear_tool_uses_20250919_edit_param import BetaClearToolUses20250919EditParam
9
+
10
+ __all__ = ["BetaContextManagementConfigParam"]
11
+
12
+
13
+ class BetaContextManagementConfigParam(TypedDict, total=False):
14
+ edits: Iterable[BetaClearToolUses20250919EditParam]
15
+ """List of context management edits to apply"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from ..._models import BaseModel
6
+ from .beta_clear_tool_uses_20250919_edit_response import BetaClearToolUses20250919EditResponse
7
+
8
+ __all__ = ["BetaContextManagementResponse"]
9
+
10
+
11
+ class BetaContextManagementResponse(BaseModel):
12
+ applied_edits: List[BetaClearToolUses20250919EditResponse]
13
+ """List of context management edits that were applied."""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["BetaCountTokensContextManagementResponse"]
6
+
7
+
8
+ class BetaCountTokensContextManagementResponse(BaseModel):
9
+ original_input_tokens: int
10
+ """The original token count before context management was applied"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, TypedDict
6
+
7
+ __all__ = ["BetaInputTokensClearAtLeastParam"]
8
+
9
+
10
+ class BetaInputTokensClearAtLeastParam(TypedDict, total=False):
11
+ type: Required[Literal["input_tokens"]]
12
+
13
+ value: Required[int]
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, TypedDict
6
+
7
+ __all__ = ["BetaInputTokensTriggerParam"]
8
+
9
+
10
+ class BetaInputTokensTriggerParam(TypedDict, total=False):
11
+ type: Required[Literal["input_tokens"]]
12
+
13
+ value: Required[int]
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Union
4
+ from typing_extensions import Annotated, TypeAlias
5
+
6
+ from ..._utils import PropertyInfo
7
+ from .beta_memory_tool_20250818_view_command import BetaMemoryTool20250818ViewCommand
8
+ from .beta_memory_tool_20250818_create_command import BetaMemoryTool20250818CreateCommand
9
+ from .beta_memory_tool_20250818_delete_command import BetaMemoryTool20250818DeleteCommand
10
+ from .beta_memory_tool_20250818_insert_command import BetaMemoryTool20250818InsertCommand
11
+ from .beta_memory_tool_20250818_rename_command import BetaMemoryTool20250818RenameCommand
12
+ from .beta_memory_tool_20250818_str_replace_command import BetaMemoryTool20250818StrReplaceCommand
13
+
14
+ __all__ = ["BetaMemoryTool20250818Command"]
15
+
16
+ BetaMemoryTool20250818Command: TypeAlias = Annotated[
17
+ Union[
18
+ BetaMemoryTool20250818ViewCommand,
19
+ BetaMemoryTool20250818CreateCommand,
20
+ BetaMemoryTool20250818StrReplaceCommand,
21
+ BetaMemoryTool20250818InsertCommand,
22
+ BetaMemoryTool20250818DeleteCommand,
23
+ BetaMemoryTool20250818RenameCommand,
24
+ ],
25
+ PropertyInfo(discriminator="command"),
26
+ ]
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["BetaMemoryTool20250818CreateCommand"]
8
+
9
+
10
+ class BetaMemoryTool20250818CreateCommand(BaseModel):
11
+ command: Literal["create"]
12
+ """Command type identifier"""
13
+
14
+ file_text: str
15
+ """Content to write to the file"""
16
+
17
+ path: str
18
+ """Path where the file should be created"""
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["BetaMemoryTool20250818DeleteCommand"]
8
+
9
+
10
+ class BetaMemoryTool20250818DeleteCommand(BaseModel):
11
+ command: Literal["delete"]
12
+ """Command type identifier"""
13
+
14
+ path: str
15
+ """Path to the file or directory to delete"""