openrouter 0.0.19__py3-none-any.whl → 0.0.22__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.
- openrouter/_version.py +3 -3
- openrouter/analytics.py +2 -0
- openrouter/api_keys.py +24 -4
- openrouter/basesdk.py +6 -0
- openrouter/chat.py +154 -14
- openrouter/completions.py +2 -0
- openrouter/components/__init__.py +156 -61
- openrouter/components/_schema0.py +93 -0
- openrouter/components/chatcompletionfinishreason.py +17 -0
- openrouter/components/chatgenerationparams.py +397 -13
- openrouter/components/chatmessagecontentitem.py +1 -1
- openrouter/components/chatmessagecontentitemaudio.py +6 -25
- openrouter/components/chatmessagecontentitemcachecontrol.py +32 -0
- openrouter/components/chatmessagecontentitemtext.py +9 -2
- openrouter/components/chatmessagecontentitemvideo.py +9 -5
- openrouter/components/chatresponsechoice.py +1 -67
- openrouter/components/chatstreamingchoice.py +72 -0
- openrouter/components/chatstreamingresponsechunk.py +1 -1
- openrouter/components/completionchoice.py +18 -5
- openrouter/components/completioncreateparams.py +10 -10
- openrouter/components/completionresponse.py +3 -0
- openrouter/components/message.py +10 -9
- openrouter/components/openairesponsesannotation.py +11 -4
- openrouter/components/openairesponsesreasoningeffort.py +1 -0
- openrouter/components/openresponsesnonstreamingresponse.py +13 -10
- openrouter/components/openresponsesrequest.py +155 -81
- openrouter/components/openresponsesstreamevent.py +110 -39
- openrouter/components/outputmessage.py +10 -4
- openrouter/components/providername.py +8 -1
- openrouter/components/publicendpoint.py +49 -49
- openrouter/components/publicpricing.py +49 -49
- openrouter/components/responseformattextconfig.py +9 -7
- openrouter/components/responsesoutputitem.py +12 -10
- openrouter/components/responsesoutputmessage.py +10 -5
- openrouter/credits.py +4 -0
- openrouter/embeddings.py +4 -0
- openrouter/endpoints.py +4 -0
- openrouter/generations.py +2 -0
- openrouter/models/__init__.py +3 -0
- openrouter/models/internal/__init__.py +54 -0
- openrouter/models/internal/globals.py +41 -0
- openrouter/models_.py +6 -0
- openrouter/oauth.py +4 -0
- openrouter/operations/__init__.py +10 -1
- openrouter/operations/createembeddings.py +44 -24
- openrouter/operations/getcredits.py +19 -0
- openrouter/operations/getparameters.py +8 -1
- openrouter/operations/updatekeys.py +2 -2
- openrouter/parameters.py +2 -0
- openrouter/providers.py +2 -0
- openrouter/responses.py +88 -36
- openrouter/sdk.py +13 -0
- openrouter/sdkconfiguration.py +2 -0
- openrouter/utils/forms.py +21 -10
- openrouter/utils/queryparams.py +14 -2
- openrouter/utils/retries.py +69 -5
- {openrouter-0.0.19.dist-info → openrouter-0.0.22.dist-info}/METADATA +1 -1
- {openrouter-0.0.19.dist-info → openrouter-0.0.22.dist-info}/RECORD +61 -54
- {openrouter-0.0.19.dist-info → openrouter-0.0.22.dist-info}/WHEEL +0 -0
- {openrouter-0.0.19.dist-info → openrouter-0.0.22.dist-info}/licenses/LICENSE +0 -0
- {openrouter-0.0.19.dist-info → openrouter-0.0.22.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.
|
|
6
|
+
__version__: str = "0.0.22"
|
|
7
7
|
__openapi_doc_version__: str = "1.0.0"
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.0.
|
|
8
|
+
__gen_version__: str = "2.768.0"
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.0.22 2.768.0 1.0.0 openrouter"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
openrouter/analytics.py
CHANGED
|
@@ -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
|
|
|
@@ -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
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -502,7 +506,7 @@ class APIKeys(BaseSDK):
|
|
|
502
506
|
|
|
503
507
|
request = operations.UpdateKeysRequest(
|
|
504
508
|
hash=hash,
|
|
505
|
-
|
|
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.
|
|
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
|
|
|
@@ -633,7 +642,7 @@ class APIKeys(BaseSDK):
|
|
|
633
642
|
|
|
634
643
|
request = operations.UpdateKeysRequest(
|
|
635
644
|
hash=hash,
|
|
636
|
-
|
|
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.
|
|
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
|
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -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.ChatGenerationParamsRoute] = 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
|
-
|
|
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: Routing strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.
|
|
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
|
|
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.ChatGenerationParamsRoute] = 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
|
-
|
|
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: Routing strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.
|
|
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
|
|
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.ChatGenerationParamsRoute] = 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
|
-
|
|
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: Routing strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.
|
|
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
|
|
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
|
-
|
|
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.ChatGenerationParamsRoute] = 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
|
-
|
|
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: Routing strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.
|
|
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
|
|
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.ChatGenerationParamsRoute] = 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
|
-
|
|
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: Routing strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.
|
|
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
|
|
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.ChatGenerationParamsRoute] = 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
|
-
|
|
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: Routing strategy for multiple models: \"fallback\" (default) uses secondary models as backups, \"sort\" sorts all endpoints together by routing criteria.
|
|
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
|
|
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
|
-
|
|
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
|
|
openrouter/completions.py
CHANGED
|
@@ -136,6 +136,7 @@ class Completions(BaseSDK):
|
|
|
136
136
|
get_serialized_body=lambda: utils.serialize_request_body(
|
|
137
137
|
request, False, False, "json", components.CompletionCreateParams
|
|
138
138
|
),
|
|
139
|
+
allow_empty_value=None,
|
|
139
140
|
timeout_ms=timeout_ms,
|
|
140
141
|
)
|
|
141
142
|
|
|
@@ -310,6 +311,7 @@ class Completions(BaseSDK):
|
|
|
310
311
|
get_serialized_body=lambda: utils.serialize_request_body(
|
|
311
312
|
request, False, False, "json", components.CompletionCreateParams
|
|
312
313
|
),
|
|
314
|
+
allow_empty_value=None,
|
|
313
315
|
timeout_ms=timeout_ms,
|
|
314
316
|
)
|
|
315
317
|
|