openrouter 0.0.15__py3-none-any.whl → 0.0.17__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 (71) hide show
  1. openrouter/_version.py +3 -3
  2. openrouter/analytics.py +5 -3
  3. openrouter/api_keys.py +35 -15
  4. openrouter/basesdk.py +6 -0
  5. openrouter/chat.py +154 -14
  6. openrouter/completions.py +2 -0
  7. openrouter/components/__init__.py +299 -76
  8. openrouter/components/_schema0.py +93 -0
  9. openrouter/components/_schema3.py +228 -0
  10. openrouter/components/chatgenerationparams.py +389 -16
  11. openrouter/components/chatmessagecontentitem.py +2 -1
  12. openrouter/components/chatmessagecontentitemaudio.py +6 -25
  13. openrouter/components/chatmessagecontentitemcachecontrol.py +32 -0
  14. openrouter/components/chatmessagecontentitemtext.py +9 -2
  15. openrouter/components/chatmessagecontentitemvideo.py +50 -9
  16. openrouter/components/chatresponsechoice.py +6 -1
  17. openrouter/components/chatstreamingmessagechunk.py +12 -1
  18. openrouter/components/completionchoice.py +18 -5
  19. openrouter/components/completioncreateparams.py +10 -10
  20. openrouter/components/completionresponse.py +3 -0
  21. openrouter/components/datacollection.py +19 -0
  22. openrouter/components/message.py +10 -9
  23. openrouter/components/openairesponsesannotation.py +11 -4
  24. openrouter/components/openairesponsesreasoningeffort.py +2 -0
  25. openrouter/components/openresponsesnonstreamingresponse.py +13 -10
  26. openrouter/components/openresponsesreasoning.py +1 -0
  27. openrouter/components/openresponsesrequest.py +194 -143
  28. openrouter/components/openresponsesstreamevent.py +110 -39
  29. openrouter/components/outputmessage.py +10 -4
  30. openrouter/components/parameter.py +1 -0
  31. openrouter/components/pdfparserengine.py +16 -0
  32. openrouter/components/pdfparseroptions.py +25 -0
  33. openrouter/components/providername.py +9 -26
  34. openrouter/components/providerpreferences.py +375 -0
  35. openrouter/components/providersort.py +15 -0
  36. openrouter/components/providersortconfig.py +71 -0
  37. openrouter/components/providersortunion.py +23 -0
  38. openrouter/components/publicendpoint.py +50 -45
  39. openrouter/components/publicpricing.py +50 -45
  40. openrouter/components/responseformattextconfig.py +9 -7
  41. openrouter/components/responsesoutputitem.py +12 -10
  42. openrouter/components/responsesoutputmessage.py +10 -5
  43. openrouter/components/websearchengine.py +15 -0
  44. openrouter/credits.py +6 -2
  45. openrouter/embeddings.py +37 -27
  46. openrouter/endpoints.py +9 -5
  47. openrouter/generations.py +4 -2
  48. openrouter/models/__init__.py +3 -0
  49. openrouter/models/internal/__init__.py +54 -0
  50. openrouter/models/internal/globals.py +41 -0
  51. openrouter/models_.py +13 -7
  52. openrouter/oauth.py +6 -2
  53. openrouter/operations/__init__.py +46 -49
  54. openrouter/operations/createembeddings.py +68 -264
  55. openrouter/operations/getcredits.py +19 -0
  56. openrouter/operations/getparameters.py +5 -77
  57. openrouter/operations/updatekeys.py +2 -2
  58. openrouter/parameters.py +6 -4
  59. openrouter/providers.py +5 -3
  60. openrouter/responses.py +74 -36
  61. openrouter/sdk.py +13 -0
  62. openrouter/sdkconfiguration.py +2 -0
  63. openrouter/utils/forms.py +21 -10
  64. openrouter/utils/queryparams.py +14 -2
  65. openrouter/utils/retries.py +69 -5
  66. openrouter/utils/unmarshal_json_response.py +15 -1
  67. {openrouter-0.0.15.dist-info → openrouter-0.0.17.dist-info}/METADATA +3 -1
  68. {openrouter-0.0.15.dist-info → openrouter-0.0.17.dist-info}/RECORD +71 -57
  69. {openrouter-0.0.15.dist-info → openrouter-0.0.17.dist-info}/WHEEL +0 -0
  70. {openrouter-0.0.15.dist-info → openrouter-0.0.17.dist-info}/licenses/LICENSE +0 -0
  71. {openrouter-0.0.15.dist-info → openrouter-0.0.17.dist-info}/top_level.txt +0 -0
openrouter/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "openrouter"
6
- __version__: str = "0.0.15"
6
+ __version__: str = "0.0.17"
7
7
  __openapi_doc_version__: str = "1.0.0"
8
- __gen_version__: str = "2.753.6"
9
- __user_agent__: str = "speakeasy-sdk/python 0.0.15 2.753.6 1.0.0 openrouter"
8
+ __gen_version__: str = "2.768.0"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.0.17 2.768.0 1.0.0 openrouter"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
openrouter/analytics.py CHANGED
@@ -6,7 +6,7 @@ from openrouter._hooks import HookContext
6
6
  from openrouter.types import OptionalNullable, UNSET
7
7
  from openrouter.utils import get_security_from_env
8
8
  from openrouter.utils.unmarshal_json_response import unmarshal_json_response
9
- from typing import Any, List, Mapping, Optional
9
+ from typing import Any, Mapping, Optional
10
10
 
11
11
 
12
12
  class Analytics(BaseSDK):
@@ -20,7 +20,7 @@ class Analytics(BaseSDK):
20
20
  server_url: Optional[str] = None,
21
21
  timeout_ms: Optional[int] = None,
22
22
  http_headers: Optional[Mapping[str, str]] = None,
23
- ) -> List[components.ActivityItem]:
23
+ ) -> operations.GetUserActivityResponse:
24
24
  r"""Get user activity grouped by endpoint
25
25
 
26
26
  Returns user activity data grouped by endpoint for the last 30 (completed) UTC days
@@ -58,6 +58,7 @@ class Analytics(BaseSDK):
58
58
  accept_header_value="application/json",
59
59
  http_headers=http_headers,
60
60
  security=self.sdk_configuration.security,
61
+ allow_empty_value=None,
61
62
  timeout_ms=timeout_ms,
62
63
  )
63
64
 
@@ -128,7 +129,7 @@ class Analytics(BaseSDK):
128
129
  server_url: Optional[str] = None,
129
130
  timeout_ms: Optional[int] = None,
130
131
  http_headers: Optional[Mapping[str, str]] = None,
131
- ) -> List[components.ActivityItem]:
132
+ ) -> operations.GetUserActivityResponse:
132
133
  r"""Get user activity grouped by endpoint
133
134
 
134
135
  Returns user activity data grouped by endpoint for the last 30 (completed) UTC days
@@ -166,6 +167,7 @@ class Analytics(BaseSDK):
166
167
  accept_header_value="application/json",
167
168
  http_headers=http_headers,
168
169
  security=self.sdk_configuration.security,
170
+ allow_empty_value=None,
169
171
  timeout_ms=timeout_ms,
170
172
  )
171
173
 
openrouter/api_keys.py CHANGED
@@ -7,7 +7,7 @@ from openrouter._hooks import HookContext
7
7
  from openrouter.types import OptionalNullable, UNSET
8
8
  from openrouter.utils import get_security_from_env
9
9
  from openrouter.utils.unmarshal_json_response import unmarshal_json_response
10
- from typing import Any, List, Mapping, Optional
10
+ from typing import Any, Mapping, Optional
11
11
 
12
12
 
13
13
  class APIKeys(BaseSDK):
@@ -22,7 +22,7 @@ class APIKeys(BaseSDK):
22
22
  server_url: Optional[str] = None,
23
23
  timeout_ms: Optional[int] = None,
24
24
  http_headers: Optional[Mapping[str, str]] = None,
25
- ) -> List[operations.ListData]:
25
+ ) -> operations.ListResponse:
26
26
  r"""List API keys
27
27
 
28
28
  :param include_disabled: Whether to include disabled API keys in the response
@@ -60,6 +60,7 @@ class APIKeys(BaseSDK):
60
60
  accept_header_value="application/json",
61
61
  http_headers=http_headers,
62
62
  security=self.sdk_configuration.security,
63
+ allow_empty_value=None,
63
64
  timeout_ms=timeout_ms,
64
65
  )
65
66
 
@@ -126,7 +127,7 @@ class APIKeys(BaseSDK):
126
127
  server_url: Optional[str] = None,
127
128
  timeout_ms: Optional[int] = None,
128
129
  http_headers: Optional[Mapping[str, str]] = None,
129
- ) -> List[operations.ListData]:
130
+ ) -> operations.ListResponse:
130
131
  r"""List API keys
131
132
 
132
133
  :param include_disabled: Whether to include disabled API keys in the response
@@ -164,6 +165,7 @@ class APIKeys(BaseSDK):
164
165
  accept_header_value="application/json",
165
166
  http_headers=http_headers,
166
167
  security=self.sdk_configuration.security,
168
+ allow_empty_value=None,
167
169
  timeout_ms=timeout_ms,
168
170
  )
169
171
 
@@ -233,7 +235,7 @@ class APIKeys(BaseSDK):
233
235
  server_url: Optional[str] = None,
234
236
  timeout_ms: Optional[int] = None,
235
237
  http_headers: Optional[Mapping[str, str]] = None,
236
- ) -> operations.CreateKeysData:
238
+ ) -> operations.CreateKeysResponse:
237
239
  r"""Create a new API key
238
240
 
239
241
  :param name: Name for the new API key
@@ -280,6 +282,7 @@ class APIKeys(BaseSDK):
280
282
  get_serialized_body=lambda: utils.serialize_request_body(
281
283
  request, False, False, "json", operations.CreateKeysRequest
282
284
  ),
285
+ allow_empty_value=None,
283
286
  timeout_ms=timeout_ms,
284
287
  )
285
288
 
@@ -354,7 +357,7 @@ class APIKeys(BaseSDK):
354
357
  server_url: Optional[str] = None,
355
358
  timeout_ms: Optional[int] = None,
356
359
  http_headers: Optional[Mapping[str, str]] = None,
357
- ) -> operations.CreateKeysData:
360
+ ) -> operations.CreateKeysResponse:
358
361
  r"""Create a new API key
359
362
 
360
363
  :param name: Name for the new API key
@@ -401,6 +404,7 @@ class APIKeys(BaseSDK):
401
404
  get_serialized_body=lambda: utils.serialize_request_body(
402
405
  request, False, False, "json", operations.CreateKeysRequest
403
406
  ),
407
+ allow_empty_value=None,
404
408
  timeout_ms=timeout_ms,
405
409
  )
406
410
 
@@ -476,7 +480,7 @@ class APIKeys(BaseSDK):
476
480
  server_url: Optional[str] = None,
477
481
  timeout_ms: Optional[int] = None,
478
482
  http_headers: Optional[Mapping[str, str]] = None,
479
- ) -> operations.UpdateKeysData:
483
+ ) -> operations.UpdateKeysResponse:
480
484
  r"""Update an API key
481
485
 
482
486
  :param hash: The hash identifier of the API key to update
@@ -502,7 +506,7 @@ class APIKeys(BaseSDK):
502
506
 
503
507
  request = operations.UpdateKeysRequest(
504
508
  hash=hash,
505
- body=operations.UpdateKeysRequestBody(
509
+ request_body=operations.UpdateKeysRequestBody(
506
510
  name=name,
507
511
  disabled=disabled,
508
512
  limit=limit,
@@ -525,8 +529,13 @@ class APIKeys(BaseSDK):
525
529
  http_headers=http_headers,
526
530
  security=self.sdk_configuration.security,
527
531
  get_serialized_body=lambda: utils.serialize_request_body(
528
- request.body, False, False, "json", operations.UpdateKeysRequestBody
532
+ request.request_body,
533
+ False,
534
+ False,
535
+ "json",
536
+ operations.UpdateKeysRequestBody,
529
537
  ),
538
+ allow_empty_value=None,
530
539
  timeout_ms=timeout_ms,
531
540
  )
532
541
 
@@ -607,7 +616,7 @@ class APIKeys(BaseSDK):
607
616
  server_url: Optional[str] = None,
608
617
  timeout_ms: Optional[int] = None,
609
618
  http_headers: Optional[Mapping[str, str]] = None,
610
- ) -> operations.UpdateKeysData:
619
+ ) -> operations.UpdateKeysResponse:
611
620
  r"""Update an API key
612
621
 
613
622
  :param hash: The hash identifier of the API key to update
@@ -633,7 +642,7 @@ class APIKeys(BaseSDK):
633
642
 
634
643
  request = operations.UpdateKeysRequest(
635
644
  hash=hash,
636
- body=operations.UpdateKeysRequestBody(
645
+ request_body=operations.UpdateKeysRequestBody(
637
646
  name=name,
638
647
  disabled=disabled,
639
648
  limit=limit,
@@ -656,8 +665,13 @@ class APIKeys(BaseSDK):
656
665
  http_headers=http_headers,
657
666
  security=self.sdk_configuration.security,
658
667
  get_serialized_body=lambda: utils.serialize_request_body(
659
- request.body, False, False, "json", operations.UpdateKeysRequestBody
668
+ request.request_body,
669
+ False,
670
+ False,
671
+ "json",
672
+ operations.UpdateKeysRequestBody,
660
673
  ),
674
+ allow_empty_value=None,
661
675
  timeout_ms=timeout_ms,
662
676
  )
663
677
 
@@ -769,6 +783,7 @@ class APIKeys(BaseSDK):
769
783
  accept_header_value="application/json",
770
784
  http_headers=http_headers,
771
785
  security=self.sdk_configuration.security,
786
+ allow_empty_value=None,
772
787
  timeout_ms=timeout_ms,
773
788
  )
774
789
 
@@ -875,6 +890,7 @@ class APIKeys(BaseSDK):
875
890
  accept_header_value="application/json",
876
891
  http_headers=http_headers,
877
892
  security=self.sdk_configuration.security,
893
+ allow_empty_value=None,
878
894
  timeout_ms=timeout_ms,
879
895
  )
880
896
 
@@ -945,7 +961,7 @@ class APIKeys(BaseSDK):
945
961
  server_url: Optional[str] = None,
946
962
  timeout_ms: Optional[int] = None,
947
963
  http_headers: Optional[Mapping[str, str]] = None,
948
- ) -> operations.GetKeyData:
964
+ ) -> operations.GetKeyResponse:
949
965
  r"""Get a single API key
950
966
 
951
967
  :param hash: The hash identifier of the API key to retrieve
@@ -981,6 +997,7 @@ class APIKeys(BaseSDK):
981
997
  accept_header_value="application/json",
982
998
  http_headers=http_headers,
983
999
  security=self.sdk_configuration.security,
1000
+ allow_empty_value=None,
984
1001
  timeout_ms=timeout_ms,
985
1002
  )
986
1003
 
@@ -1051,7 +1068,7 @@ class APIKeys(BaseSDK):
1051
1068
  server_url: Optional[str] = None,
1052
1069
  timeout_ms: Optional[int] = None,
1053
1070
  http_headers: Optional[Mapping[str, str]] = None,
1054
- ) -> operations.GetKeyData:
1071
+ ) -> operations.GetKeyResponse:
1055
1072
  r"""Get a single API key
1056
1073
 
1057
1074
  :param hash: The hash identifier of the API key to retrieve
@@ -1087,6 +1104,7 @@ class APIKeys(BaseSDK):
1087
1104
  accept_header_value="application/json",
1088
1105
  http_headers=http_headers,
1089
1106
  security=self.sdk_configuration.security,
1107
+ allow_empty_value=None,
1090
1108
  timeout_ms=timeout_ms,
1091
1109
  )
1092
1110
 
@@ -1156,7 +1174,7 @@ class APIKeys(BaseSDK):
1156
1174
  server_url: Optional[str] = None,
1157
1175
  timeout_ms: Optional[int] = None,
1158
1176
  http_headers: Optional[Mapping[str, str]] = None,
1159
- ) -> operations.GetCurrentKeyData:
1177
+ ) -> operations.GetCurrentKeyResponse:
1160
1178
  r"""Get current API key
1161
1179
 
1162
1180
  Get information on the API key associated with the current authentication session
@@ -1188,6 +1206,7 @@ class APIKeys(BaseSDK):
1188
1206
  accept_header_value="application/json",
1189
1207
  http_headers=http_headers,
1190
1208
  security=self.sdk_configuration.security,
1209
+ allow_empty_value=None,
1191
1210
  timeout_ms=timeout_ms,
1192
1211
  )
1193
1212
 
@@ -1247,7 +1266,7 @@ class APIKeys(BaseSDK):
1247
1266
  server_url: Optional[str] = None,
1248
1267
  timeout_ms: Optional[int] = None,
1249
1268
  http_headers: Optional[Mapping[str, str]] = None,
1250
- ) -> operations.GetCurrentKeyData:
1269
+ ) -> operations.GetCurrentKeyResponse:
1251
1270
  r"""Get current API key
1252
1271
 
1253
1272
  Get information on the API key associated with the current authentication session
@@ -1279,6 +1298,7 @@ class APIKeys(BaseSDK):
1279
1298
  accept_header_value="application/json",
1280
1299
  http_headers=http_headers,
1281
1300
  security=self.sdk_configuration.security,
1301
+ allow_empty_value=None,
1282
1302
  timeout_ms=timeout_ms,
1283
1303
  )
1284
1304
 
openrouter/basesdk.py CHANGED
@@ -60,6 +60,7 @@ class BaseSDK:
60
60
  ] = None,
61
61
  url_override: Optional[str] = None,
62
62
  http_headers: Optional[Mapping[str, str]] = None,
63
+ allow_empty_value: Optional[List[str]] = None,
63
64
  ) -> httpx.Request:
64
65
  client = self.sdk_configuration.async_client
65
66
  return self._build_request_with_client(
@@ -80,6 +81,7 @@ class BaseSDK:
80
81
  get_serialized_body,
81
82
  url_override,
82
83
  http_headers,
84
+ allow_empty_value,
83
85
  )
84
86
 
85
87
  def _build_request(
@@ -102,6 +104,7 @@ class BaseSDK:
102
104
  ] = None,
103
105
  url_override: Optional[str] = None,
104
106
  http_headers: Optional[Mapping[str, str]] = None,
107
+ allow_empty_value: Optional[List[str]] = None,
105
108
  ) -> httpx.Request:
106
109
  client = self.sdk_configuration.client
107
110
  return self._build_request_with_client(
@@ -122,6 +125,7 @@ class BaseSDK:
122
125
  get_serialized_body,
123
126
  url_override,
124
127
  http_headers,
128
+ allow_empty_value,
125
129
  )
126
130
 
127
131
  def _build_request_with_client(
@@ -145,6 +149,7 @@ class BaseSDK:
145
149
  ] = None,
146
150
  url_override: Optional[str] = None,
147
151
  http_headers: Optional[Mapping[str, str]] = None,
152
+ allow_empty_value: Optional[List[str]] = None,
148
153
  ) -> httpx.Request:
149
154
  query_params = {}
150
155
 
@@ -160,6 +165,7 @@ class BaseSDK:
160
165
  query_params = utils.get_query_params(
161
166
  request if request_has_query_params else None,
162
167
  _globals if request_has_query_params else None,
168
+ allow_empty_value,
163
169
  )
164
170
  else:
165
171
  # Pick up the query parameter from the override so they can be
openrouter/chat.py CHANGED
@@ -21,6 +21,21 @@ class Chat(BaseSDK):
21
21
  self,
22
22
  *,
23
23
  messages: Union[List[components.Message], List[components.MessageTypedDict]],
24
+ provider: OptionalNullable[
25
+ Union[
26
+ components.ChatGenerationParamsProvider,
27
+ components.ChatGenerationParamsProviderTypedDict,
28
+ ]
29
+ ] = UNSET,
30
+ plugins: Optional[
31
+ Union[
32
+ List[components.ChatGenerationParamsPluginUnion],
33
+ List[components.ChatGenerationParamsPluginUnionTypedDict],
34
+ ]
35
+ ] = None,
36
+ route: OptionalNullable[components.Route] = UNSET,
37
+ user: Optional[str] = None,
38
+ session_id: Optional[str] = None,
24
39
  model: Optional[str] = None,
25
40
  models: Optional[List[str]] = None,
26
41
  frequency_penalty: OptionalNullable[float] = UNSET,
@@ -60,7 +75,7 @@ class Chat(BaseSDK):
60
75
  ]
61
76
  ] = None,
62
77
  top_p: OptionalNullable[float] = UNSET,
63
- user: Optional[str] = None,
78
+ debug: Optional[Union[components.Debug, components.DebugTypedDict]] = None,
64
79
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
65
80
  server_url: Optional[str] = None,
66
81
  timeout_ms: Optional[int] = None,
@@ -71,6 +86,11 @@ class Chat(BaseSDK):
71
86
  Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
72
87
 
73
88
  :param messages:
89
+ :param provider: When multiple model providers are available, optionally indicate your routing preference.
90
+ :param plugins: Plugins you want to enable for this request, including their settings.
91
+ :param route:
92
+ :param user:
93
+ :param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.
74
94
  :param model:
75
95
  :param models:
76
96
  :param frequency_penalty:
@@ -91,7 +111,7 @@ class Chat(BaseSDK):
91
111
  :param tool_choice:
92
112
  :param tools:
93
113
  :param top_p:
94
- :param user:
114
+ :param debug:
95
115
  :param retries: Override the default retry configuration for this method
96
116
  :param server_url: Override the default server URL for this method
97
117
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -104,6 +124,21 @@ class Chat(BaseSDK):
104
124
  self,
105
125
  *,
106
126
  messages: Union[List[components.Message], List[components.MessageTypedDict]],
127
+ provider: OptionalNullable[
128
+ Union[
129
+ components.ChatGenerationParamsProvider,
130
+ components.ChatGenerationParamsProviderTypedDict,
131
+ ]
132
+ ] = UNSET,
133
+ plugins: Optional[
134
+ Union[
135
+ List[components.ChatGenerationParamsPluginUnion],
136
+ List[components.ChatGenerationParamsPluginUnionTypedDict],
137
+ ]
138
+ ] = None,
139
+ route: OptionalNullable[components.Route] = UNSET,
140
+ user: Optional[str] = None,
141
+ session_id: Optional[str] = None,
107
142
  model: Optional[str] = None,
108
143
  models: Optional[List[str]] = None,
109
144
  frequency_penalty: OptionalNullable[float] = UNSET,
@@ -143,7 +178,7 @@ class Chat(BaseSDK):
143
178
  ]
144
179
  ] = None,
145
180
  top_p: OptionalNullable[float] = UNSET,
146
- user: Optional[str] = None,
181
+ debug: Optional[Union[components.Debug, components.DebugTypedDict]] = None,
147
182
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
148
183
  server_url: Optional[str] = None,
149
184
  timeout_ms: Optional[int] = None,
@@ -154,6 +189,11 @@ class Chat(BaseSDK):
154
189
  Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
155
190
 
156
191
  :param messages:
192
+ :param provider: When multiple model providers are available, optionally indicate your routing preference.
193
+ :param plugins: Plugins you want to enable for this request, including their settings.
194
+ :param route:
195
+ :param user:
196
+ :param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.
157
197
  :param model:
158
198
  :param models:
159
199
  :param frequency_penalty:
@@ -174,7 +214,7 @@ class Chat(BaseSDK):
174
214
  :param tool_choice:
175
215
  :param tools:
176
216
  :param top_p:
177
- :param user:
217
+ :param debug:
178
218
  :param retries: Override the default retry configuration for this method
179
219
  :param server_url: Override the default server URL for this method
180
220
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -186,6 +226,21 @@ class Chat(BaseSDK):
186
226
  self,
187
227
  *,
188
228
  messages: Union[List[components.Message], List[components.MessageTypedDict]],
229
+ provider: OptionalNullable[
230
+ Union[
231
+ components.ChatGenerationParamsProvider,
232
+ components.ChatGenerationParamsProviderTypedDict,
233
+ ]
234
+ ] = UNSET,
235
+ plugins: Optional[
236
+ Union[
237
+ List[components.ChatGenerationParamsPluginUnion],
238
+ List[components.ChatGenerationParamsPluginUnionTypedDict],
239
+ ]
240
+ ] = None,
241
+ route: OptionalNullable[components.Route] = UNSET,
242
+ user: Optional[str] = None,
243
+ session_id: Optional[str] = None,
189
244
  model: Optional[str] = None,
190
245
  models: Optional[List[str]] = None,
191
246
  frequency_penalty: OptionalNullable[float] = UNSET,
@@ -225,7 +280,7 @@ class Chat(BaseSDK):
225
280
  ]
226
281
  ] = None,
227
282
  top_p: OptionalNullable[float] = UNSET,
228
- user: Optional[str] = None,
283
+ debug: Optional[Union[components.Debug, components.DebugTypedDict]] = None,
229
284
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
230
285
  server_url: Optional[str] = None,
231
286
  timeout_ms: Optional[int] = None,
@@ -236,6 +291,11 @@ class Chat(BaseSDK):
236
291
  Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
237
292
 
238
293
  :param messages:
294
+ :param provider: When multiple model providers are available, optionally indicate your routing preference.
295
+ :param plugins: Plugins you want to enable for this request, including their settings.
296
+ :param route:
297
+ :param user:
298
+ :param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.
239
299
  :param model:
240
300
  :param models:
241
301
  :param frequency_penalty:
@@ -256,7 +316,7 @@ class Chat(BaseSDK):
256
316
  :param tool_choice:
257
317
  :param tools:
258
318
  :param top_p:
259
- :param user:
319
+ :param debug:
260
320
  :param retries: Override the default retry configuration for this method
261
321
  :param server_url: Override the default server URL for this method
262
322
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -274,6 +334,15 @@ class Chat(BaseSDK):
274
334
  base_url = self._get_url(base_url, url_variables)
275
335
 
276
336
  request = components.ChatGenerationParams(
337
+ provider=utils.get_pydantic_model(
338
+ provider, OptionalNullable[components.ChatGenerationParamsProvider]
339
+ ),
340
+ plugins=utils.get_pydantic_model(
341
+ plugins, Optional[List[components.ChatGenerationParamsPluginUnion]]
342
+ ),
343
+ route=route,
344
+ user=user,
345
+ session_id=session_id,
277
346
  messages=utils.get_pydantic_model(messages, List[components.Message]),
278
347
  model=model,
279
348
  models=models,
@@ -304,7 +373,7 @@ class Chat(BaseSDK):
304
373
  tools, Optional[List[components.ToolDefinitionJSON]]
305
374
  ),
306
375
  top_p=top_p,
307
- user=user,
376
+ debug=utils.get_pydantic_model(debug, Optional[components.Debug]),
308
377
  )
309
378
 
310
379
  req = self._build_request(
@@ -323,6 +392,7 @@ class Chat(BaseSDK):
323
392
  get_serialized_body=lambda: utils.serialize_request_body(
324
393
  request, False, False, "json", components.ChatGenerationParams
325
394
  ),
395
+ allow_empty_value=None,
326
396
  timeout_ms=timeout_ms,
327
397
  )
328
398
 
@@ -398,6 +468,21 @@ class Chat(BaseSDK):
398
468
  self,
399
469
  *,
400
470
  messages: Union[List[components.Message], List[components.MessageTypedDict]],
471
+ provider: OptionalNullable[
472
+ Union[
473
+ components.ChatGenerationParamsProvider,
474
+ components.ChatGenerationParamsProviderTypedDict,
475
+ ]
476
+ ] = UNSET,
477
+ plugins: Optional[
478
+ Union[
479
+ List[components.ChatGenerationParamsPluginUnion],
480
+ List[components.ChatGenerationParamsPluginUnionTypedDict],
481
+ ]
482
+ ] = None,
483
+ route: OptionalNullable[components.Route] = UNSET,
484
+ user: Optional[str] = None,
485
+ session_id: Optional[str] = None,
401
486
  model: Optional[str] = None,
402
487
  models: Optional[List[str]] = None,
403
488
  frequency_penalty: OptionalNullable[float] = UNSET,
@@ -437,7 +522,7 @@ class Chat(BaseSDK):
437
522
  ]
438
523
  ] = None,
439
524
  top_p: OptionalNullable[float] = UNSET,
440
- user: Optional[str] = None,
525
+ debug: Optional[Union[components.Debug, components.DebugTypedDict]] = None,
441
526
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
442
527
  server_url: Optional[str] = None,
443
528
  timeout_ms: Optional[int] = None,
@@ -448,6 +533,11 @@ class Chat(BaseSDK):
448
533
  Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
449
534
 
450
535
  :param messages:
536
+ :param provider: When multiple model providers are available, optionally indicate your routing preference.
537
+ :param plugins: Plugins you want to enable for this request, including their settings.
538
+ :param route:
539
+ :param user:
540
+ :param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.
451
541
  :param model:
452
542
  :param models:
453
543
  :param frequency_penalty:
@@ -468,7 +558,7 @@ class Chat(BaseSDK):
468
558
  :param tool_choice:
469
559
  :param tools:
470
560
  :param top_p:
471
- :param user:
561
+ :param debug:
472
562
  :param retries: Override the default retry configuration for this method
473
563
  :param server_url: Override the default server URL for this method
474
564
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -481,6 +571,21 @@ class Chat(BaseSDK):
481
571
  self,
482
572
  *,
483
573
  messages: Union[List[components.Message], List[components.MessageTypedDict]],
574
+ provider: OptionalNullable[
575
+ Union[
576
+ components.ChatGenerationParamsProvider,
577
+ components.ChatGenerationParamsProviderTypedDict,
578
+ ]
579
+ ] = UNSET,
580
+ plugins: Optional[
581
+ Union[
582
+ List[components.ChatGenerationParamsPluginUnion],
583
+ List[components.ChatGenerationParamsPluginUnionTypedDict],
584
+ ]
585
+ ] = None,
586
+ route: OptionalNullable[components.Route] = UNSET,
587
+ user: Optional[str] = None,
588
+ session_id: Optional[str] = None,
484
589
  model: Optional[str] = None,
485
590
  models: Optional[List[str]] = None,
486
591
  frequency_penalty: OptionalNullable[float] = UNSET,
@@ -520,7 +625,7 @@ class Chat(BaseSDK):
520
625
  ]
521
626
  ] = None,
522
627
  top_p: OptionalNullable[float] = UNSET,
523
- user: Optional[str] = None,
628
+ debug: Optional[Union[components.Debug, components.DebugTypedDict]] = None,
524
629
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
525
630
  server_url: Optional[str] = None,
526
631
  timeout_ms: Optional[int] = None,
@@ -531,6 +636,11 @@ class Chat(BaseSDK):
531
636
  Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
532
637
 
533
638
  :param messages:
639
+ :param provider: When multiple model providers are available, optionally indicate your routing preference.
640
+ :param plugins: Plugins you want to enable for this request, including their settings.
641
+ :param route:
642
+ :param user:
643
+ :param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.
534
644
  :param model:
535
645
  :param models:
536
646
  :param frequency_penalty:
@@ -551,7 +661,7 @@ class Chat(BaseSDK):
551
661
  :param tool_choice:
552
662
  :param tools:
553
663
  :param top_p:
554
- :param user:
664
+ :param debug:
555
665
  :param retries: Override the default retry configuration for this method
556
666
  :param server_url: Override the default server URL for this method
557
667
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -563,6 +673,21 @@ class Chat(BaseSDK):
563
673
  self,
564
674
  *,
565
675
  messages: Union[List[components.Message], List[components.MessageTypedDict]],
676
+ provider: OptionalNullable[
677
+ Union[
678
+ components.ChatGenerationParamsProvider,
679
+ components.ChatGenerationParamsProviderTypedDict,
680
+ ]
681
+ ] = UNSET,
682
+ plugins: Optional[
683
+ Union[
684
+ List[components.ChatGenerationParamsPluginUnion],
685
+ List[components.ChatGenerationParamsPluginUnionTypedDict],
686
+ ]
687
+ ] = None,
688
+ route: OptionalNullable[components.Route] = UNSET,
689
+ user: Optional[str] = None,
690
+ session_id: Optional[str] = None,
566
691
  model: Optional[str] = None,
567
692
  models: Optional[List[str]] = None,
568
693
  frequency_penalty: OptionalNullable[float] = UNSET,
@@ -602,7 +727,7 @@ class Chat(BaseSDK):
602
727
  ]
603
728
  ] = None,
604
729
  top_p: OptionalNullable[float] = UNSET,
605
- user: Optional[str] = None,
730
+ debug: Optional[Union[components.Debug, components.DebugTypedDict]] = None,
606
731
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
607
732
  server_url: Optional[str] = None,
608
733
  timeout_ms: Optional[int] = None,
@@ -613,6 +738,11 @@ class Chat(BaseSDK):
613
738
  Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
614
739
 
615
740
  :param messages:
741
+ :param provider: When multiple model providers are available, optionally indicate your routing preference.
742
+ :param plugins: Plugins you want to enable for this request, including their settings.
743
+ :param route:
744
+ :param user:
745
+ :param session_id: A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters.
616
746
  :param model:
617
747
  :param models:
618
748
  :param frequency_penalty:
@@ -633,7 +763,7 @@ class Chat(BaseSDK):
633
763
  :param tool_choice:
634
764
  :param tools:
635
765
  :param top_p:
636
- :param user:
766
+ :param debug:
637
767
  :param retries: Override the default retry configuration for this method
638
768
  :param server_url: Override the default server URL for this method
639
769
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -651,6 +781,15 @@ class Chat(BaseSDK):
651
781
  base_url = self._get_url(base_url, url_variables)
652
782
 
653
783
  request = components.ChatGenerationParams(
784
+ provider=utils.get_pydantic_model(
785
+ provider, OptionalNullable[components.ChatGenerationParamsProvider]
786
+ ),
787
+ plugins=utils.get_pydantic_model(
788
+ plugins, Optional[List[components.ChatGenerationParamsPluginUnion]]
789
+ ),
790
+ route=route,
791
+ user=user,
792
+ session_id=session_id,
654
793
  messages=utils.get_pydantic_model(messages, List[components.Message]),
655
794
  model=model,
656
795
  models=models,
@@ -681,7 +820,7 @@ class Chat(BaseSDK):
681
820
  tools, Optional[List[components.ToolDefinitionJSON]]
682
821
  ),
683
822
  top_p=top_p,
684
- user=user,
823
+ debug=utils.get_pydantic_model(debug, Optional[components.Debug]),
685
824
  )
686
825
 
687
826
  req = self._build_request_async(
@@ -700,6 +839,7 @@ class Chat(BaseSDK):
700
839
  get_serialized_body=lambda: utils.serialize_request_body(
701
840
  request, False, False, "json", components.ChatGenerationParams
702
841
  ),
842
+ allow_empty_value=None,
703
843
  timeout_ms=timeout_ms,
704
844
  )
705
845