mirror of
https://github.com/wassname/openrouter-python-sdk-retry-errors.git
synced 2026-07-30 12:20:57 +08:00
Project import generated by Copybara.
GitOrigin-RevId: 2592bdc8b4b7c695a3d689390aedc9a42914acc8
This commit is contained in:
@@ -6,6 +6,38 @@ import builtins
|
||||
import sys
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .bulkassignkeystoguardrail import (
|
||||
BulkAssignKeysToGuardrailRequest,
|
||||
BulkAssignKeysToGuardrailRequestBody,
|
||||
BulkAssignKeysToGuardrailRequestBodyTypedDict,
|
||||
BulkAssignKeysToGuardrailRequestTypedDict,
|
||||
BulkAssignKeysToGuardrailResponse,
|
||||
BulkAssignKeysToGuardrailResponseTypedDict,
|
||||
)
|
||||
from .bulkassignmemberstoguardrail import (
|
||||
BulkAssignMembersToGuardrailRequest,
|
||||
BulkAssignMembersToGuardrailRequestBody,
|
||||
BulkAssignMembersToGuardrailRequestBodyTypedDict,
|
||||
BulkAssignMembersToGuardrailRequestTypedDict,
|
||||
BulkAssignMembersToGuardrailResponse,
|
||||
BulkAssignMembersToGuardrailResponseTypedDict,
|
||||
)
|
||||
from .bulkunassignkeysfromguardrail import (
|
||||
BulkUnassignKeysFromGuardrailRequest,
|
||||
BulkUnassignKeysFromGuardrailRequestBody,
|
||||
BulkUnassignKeysFromGuardrailRequestBodyTypedDict,
|
||||
BulkUnassignKeysFromGuardrailRequestTypedDict,
|
||||
BulkUnassignKeysFromGuardrailResponse,
|
||||
BulkUnassignKeysFromGuardrailResponseTypedDict,
|
||||
)
|
||||
from .bulkunassignmembersfromguardrail import (
|
||||
BulkUnassignMembersFromGuardrailRequest,
|
||||
BulkUnassignMembersFromGuardrailRequestBody,
|
||||
BulkUnassignMembersFromGuardrailRequestBodyTypedDict,
|
||||
BulkUnassignMembersFromGuardrailRequestTypedDict,
|
||||
BulkUnassignMembersFromGuardrailResponse,
|
||||
BulkUnassignMembersFromGuardrailResponseTypedDict,
|
||||
)
|
||||
from .createauthkeyscode import (
|
||||
CreateAuthKeysCodeCodeChallengeMethod,
|
||||
CreateAuthKeysCodeData,
|
||||
@@ -62,6 +94,16 @@ if TYPE_CHECKING:
|
||||
Usage,
|
||||
UsageTypedDict,
|
||||
)
|
||||
from .createguardrail import (
|
||||
CreateGuardrailData,
|
||||
CreateGuardrailDataTypedDict,
|
||||
CreateGuardrailRequest,
|
||||
CreateGuardrailRequestTypedDict,
|
||||
CreateGuardrailResetIntervalRequest,
|
||||
CreateGuardrailResetIntervalResponse,
|
||||
CreateGuardrailResponse,
|
||||
CreateGuardrailResponseTypedDict,
|
||||
)
|
||||
from .createkeys import (
|
||||
CreateKeysData,
|
||||
CreateKeysDataTypedDict,
|
||||
@@ -77,6 +119,12 @@ if TYPE_CHECKING:
|
||||
CreateResponsesResponseBodyTypedDict,
|
||||
CreateResponsesResponseTypedDict,
|
||||
)
|
||||
from .deleteguardrail import (
|
||||
DeleteGuardrailRequest,
|
||||
DeleteGuardrailRequestTypedDict,
|
||||
DeleteGuardrailResponse,
|
||||
DeleteGuardrailResponseTypedDict,
|
||||
)
|
||||
from .deletekeys import (
|
||||
DeleteKeysRequest,
|
||||
DeleteKeysRequestTypedDict,
|
||||
@@ -113,6 +161,15 @@ if TYPE_CHECKING:
|
||||
GetGenerationResponse,
|
||||
GetGenerationResponseTypedDict,
|
||||
)
|
||||
from .getguardrail import (
|
||||
GetGuardrailData,
|
||||
GetGuardrailDataTypedDict,
|
||||
GetGuardrailRequest,
|
||||
GetGuardrailRequestTypedDict,
|
||||
GetGuardrailResetInterval,
|
||||
GetGuardrailResponse,
|
||||
GetGuardrailResponseTypedDict,
|
||||
)
|
||||
from .getkey import (
|
||||
GetKeyData,
|
||||
GetKeyDataTypedDict,
|
||||
@@ -121,18 +178,7 @@ if TYPE_CHECKING:
|
||||
GetKeyResponse,
|
||||
GetKeyResponseTypedDict,
|
||||
)
|
||||
from .getmodels import GetModelsRequest, GetModelsRequestTypedDict
|
||||
from .getparameters import (
|
||||
GetParametersData,
|
||||
GetParametersDataTypedDict,
|
||||
GetParametersRequest,
|
||||
GetParametersRequestTypedDict,
|
||||
GetParametersResponse,
|
||||
GetParametersResponseTypedDict,
|
||||
GetParametersSecurity,
|
||||
GetParametersSecurityTypedDict,
|
||||
SupportedParameter,
|
||||
)
|
||||
from .getmodels import Category, GetModelsRequest, GetModelsRequestTypedDict
|
||||
from .getuseractivity import (
|
||||
GetUserActivityRequest,
|
||||
GetUserActivityRequestTypedDict,
|
||||
@@ -157,6 +203,47 @@ if TYPE_CHECKING:
|
||||
ListEndpointsZdrResponse,
|
||||
ListEndpointsZdrResponseTypedDict,
|
||||
)
|
||||
from .listguardrailkeyassignments import (
|
||||
ListGuardrailKeyAssignmentsData,
|
||||
ListGuardrailKeyAssignmentsDataTypedDict,
|
||||
ListGuardrailKeyAssignmentsRequest,
|
||||
ListGuardrailKeyAssignmentsRequestTypedDict,
|
||||
ListGuardrailKeyAssignmentsResponse,
|
||||
ListGuardrailKeyAssignmentsResponseTypedDict,
|
||||
)
|
||||
from .listguardrailmemberassignments import (
|
||||
ListGuardrailMemberAssignmentsData,
|
||||
ListGuardrailMemberAssignmentsDataTypedDict,
|
||||
ListGuardrailMemberAssignmentsRequest,
|
||||
ListGuardrailMemberAssignmentsRequestTypedDict,
|
||||
ListGuardrailMemberAssignmentsResponse,
|
||||
ListGuardrailMemberAssignmentsResponseTypedDict,
|
||||
)
|
||||
from .listguardrails import (
|
||||
ListGuardrailsData,
|
||||
ListGuardrailsDataTypedDict,
|
||||
ListGuardrailsRequest,
|
||||
ListGuardrailsRequestTypedDict,
|
||||
ListGuardrailsResetInterval,
|
||||
ListGuardrailsResponse,
|
||||
ListGuardrailsResponseTypedDict,
|
||||
)
|
||||
from .listkeyassignments import (
|
||||
ListKeyAssignmentsData,
|
||||
ListKeyAssignmentsDataTypedDict,
|
||||
ListKeyAssignmentsRequest,
|
||||
ListKeyAssignmentsRequestTypedDict,
|
||||
ListKeyAssignmentsResponse,
|
||||
ListKeyAssignmentsResponseTypedDict,
|
||||
)
|
||||
from .listmemberassignments import (
|
||||
ListMemberAssignmentsData,
|
||||
ListMemberAssignmentsDataTypedDict,
|
||||
ListMemberAssignmentsRequest,
|
||||
ListMemberAssignmentsRequestTypedDict,
|
||||
ListMemberAssignmentsResponse,
|
||||
ListMemberAssignmentsResponseTypedDict,
|
||||
)
|
||||
from .listmodelsuser import ListModelsUserSecurity, ListModelsUserSecurityTypedDict
|
||||
from .listproviders import (
|
||||
ListProvidersData,
|
||||
@@ -168,6 +255,18 @@ if TYPE_CHECKING:
|
||||
SendChatCompletionRequestResponse,
|
||||
SendChatCompletionRequestResponseTypedDict,
|
||||
)
|
||||
from .updateguardrail import (
|
||||
UpdateGuardrailData,
|
||||
UpdateGuardrailDataTypedDict,
|
||||
UpdateGuardrailRequest,
|
||||
UpdateGuardrailRequestBody,
|
||||
UpdateGuardrailRequestBodyTypedDict,
|
||||
UpdateGuardrailRequestTypedDict,
|
||||
UpdateGuardrailResetIntervalRequest,
|
||||
UpdateGuardrailResetIntervalResponse,
|
||||
UpdateGuardrailResponse,
|
||||
UpdateGuardrailResponseTypedDict,
|
||||
)
|
||||
from .updatekeys import (
|
||||
UpdateKeysData,
|
||||
UpdateKeysDataTypedDict,
|
||||
@@ -182,8 +281,33 @@ if TYPE_CHECKING:
|
||||
|
||||
__all__ = [
|
||||
"APIType",
|
||||
"BulkAssignKeysToGuardrailRequest",
|
||||
"BulkAssignKeysToGuardrailRequestBody",
|
||||
"BulkAssignKeysToGuardrailRequestBodyTypedDict",
|
||||
"BulkAssignKeysToGuardrailRequestTypedDict",
|
||||
"BulkAssignKeysToGuardrailResponse",
|
||||
"BulkAssignKeysToGuardrailResponseTypedDict",
|
||||
"BulkAssignMembersToGuardrailRequest",
|
||||
"BulkAssignMembersToGuardrailRequestBody",
|
||||
"BulkAssignMembersToGuardrailRequestBodyTypedDict",
|
||||
"BulkAssignMembersToGuardrailRequestTypedDict",
|
||||
"BulkAssignMembersToGuardrailResponse",
|
||||
"BulkAssignMembersToGuardrailResponseTypedDict",
|
||||
"BulkUnassignKeysFromGuardrailRequest",
|
||||
"BulkUnassignKeysFromGuardrailRequestBody",
|
||||
"BulkUnassignKeysFromGuardrailRequestBodyTypedDict",
|
||||
"BulkUnassignKeysFromGuardrailRequestTypedDict",
|
||||
"BulkUnassignKeysFromGuardrailResponse",
|
||||
"BulkUnassignKeysFromGuardrailResponseTypedDict",
|
||||
"BulkUnassignMembersFromGuardrailRequest",
|
||||
"BulkUnassignMembersFromGuardrailRequestBody",
|
||||
"BulkUnassignMembersFromGuardrailRequestBodyTypedDict",
|
||||
"BulkUnassignMembersFromGuardrailRequestTypedDict",
|
||||
"BulkUnassignMembersFromGuardrailResponse",
|
||||
"BulkUnassignMembersFromGuardrailResponseTypedDict",
|
||||
"CallData",
|
||||
"CallDataTypedDict",
|
||||
"Category",
|
||||
"Content",
|
||||
"ContentImageURL",
|
||||
"ContentImageURLTypedDict",
|
||||
@@ -211,6 +335,14 @@ __all__ = [
|
||||
"CreateEmbeddingsResponseBody",
|
||||
"CreateEmbeddingsResponseBodyTypedDict",
|
||||
"CreateEmbeddingsResponseTypedDict",
|
||||
"CreateGuardrailData",
|
||||
"CreateGuardrailDataTypedDict",
|
||||
"CreateGuardrailRequest",
|
||||
"CreateGuardrailRequestTypedDict",
|
||||
"CreateGuardrailResetIntervalRequest",
|
||||
"CreateGuardrailResetIntervalResponse",
|
||||
"CreateGuardrailResponse",
|
||||
"CreateGuardrailResponseTypedDict",
|
||||
"CreateKeysData",
|
||||
"CreateKeysDataTypedDict",
|
||||
"CreateKeysLimitReset",
|
||||
@@ -222,6 +354,10 @@ __all__ = [
|
||||
"CreateResponsesResponseBody",
|
||||
"CreateResponsesResponseBodyTypedDict",
|
||||
"CreateResponsesResponseTypedDict",
|
||||
"DeleteGuardrailRequest",
|
||||
"DeleteGuardrailRequestTypedDict",
|
||||
"DeleteGuardrailResponse",
|
||||
"DeleteGuardrailResponseTypedDict",
|
||||
"DeleteKeysRequest",
|
||||
"DeleteKeysRequestTypedDict",
|
||||
"DeleteKeysResponse",
|
||||
@@ -248,6 +384,13 @@ __all__ = [
|
||||
"GetGenerationRequestTypedDict",
|
||||
"GetGenerationResponse",
|
||||
"GetGenerationResponseTypedDict",
|
||||
"GetGuardrailData",
|
||||
"GetGuardrailDataTypedDict",
|
||||
"GetGuardrailRequest",
|
||||
"GetGuardrailRequestTypedDict",
|
||||
"GetGuardrailResetInterval",
|
||||
"GetGuardrailResponse",
|
||||
"GetGuardrailResponseTypedDict",
|
||||
"GetKeyData",
|
||||
"GetKeyDataTypedDict",
|
||||
"GetKeyRequest",
|
||||
@@ -256,14 +399,6 @@ __all__ = [
|
||||
"GetKeyResponseTypedDict",
|
||||
"GetModelsRequest",
|
||||
"GetModelsRequestTypedDict",
|
||||
"GetParametersData",
|
||||
"GetParametersDataTypedDict",
|
||||
"GetParametersRequest",
|
||||
"GetParametersRequestTypedDict",
|
||||
"GetParametersResponse",
|
||||
"GetParametersResponseTypedDict",
|
||||
"GetParametersSecurity",
|
||||
"GetParametersSecurityTypedDict",
|
||||
"GetUserActivityRequest",
|
||||
"GetUserActivityRequestTypedDict",
|
||||
"GetUserActivityResponse",
|
||||
@@ -282,6 +417,37 @@ __all__ = [
|
||||
"ListEndpointsResponseTypedDict",
|
||||
"ListEndpointsZdrResponse",
|
||||
"ListEndpointsZdrResponseTypedDict",
|
||||
"ListGuardrailKeyAssignmentsData",
|
||||
"ListGuardrailKeyAssignmentsDataTypedDict",
|
||||
"ListGuardrailKeyAssignmentsRequest",
|
||||
"ListGuardrailKeyAssignmentsRequestTypedDict",
|
||||
"ListGuardrailKeyAssignmentsResponse",
|
||||
"ListGuardrailKeyAssignmentsResponseTypedDict",
|
||||
"ListGuardrailMemberAssignmentsData",
|
||||
"ListGuardrailMemberAssignmentsDataTypedDict",
|
||||
"ListGuardrailMemberAssignmentsRequest",
|
||||
"ListGuardrailMemberAssignmentsRequestTypedDict",
|
||||
"ListGuardrailMemberAssignmentsResponse",
|
||||
"ListGuardrailMemberAssignmentsResponseTypedDict",
|
||||
"ListGuardrailsData",
|
||||
"ListGuardrailsDataTypedDict",
|
||||
"ListGuardrailsRequest",
|
||||
"ListGuardrailsRequestTypedDict",
|
||||
"ListGuardrailsResetInterval",
|
||||
"ListGuardrailsResponse",
|
||||
"ListGuardrailsResponseTypedDict",
|
||||
"ListKeyAssignmentsData",
|
||||
"ListKeyAssignmentsDataTypedDict",
|
||||
"ListKeyAssignmentsRequest",
|
||||
"ListKeyAssignmentsRequestTypedDict",
|
||||
"ListKeyAssignmentsResponse",
|
||||
"ListKeyAssignmentsResponseTypedDict",
|
||||
"ListMemberAssignmentsData",
|
||||
"ListMemberAssignmentsDataTypedDict",
|
||||
"ListMemberAssignmentsRequest",
|
||||
"ListMemberAssignmentsRequestTypedDict",
|
||||
"ListMemberAssignmentsResponse",
|
||||
"ListMemberAssignmentsResponseTypedDict",
|
||||
"ListModelsUserSecurity",
|
||||
"ListModelsUserSecurityTypedDict",
|
||||
"ListProvidersData",
|
||||
@@ -300,11 +466,20 @@ __all__ = [
|
||||
"RateLimitTypedDict",
|
||||
"SendChatCompletionRequestResponse",
|
||||
"SendChatCompletionRequestResponseTypedDict",
|
||||
"SupportedParameter",
|
||||
"TransferIntent",
|
||||
"TransferIntentTypedDict",
|
||||
"TypeImageURL",
|
||||
"TypeText",
|
||||
"UpdateGuardrailData",
|
||||
"UpdateGuardrailDataTypedDict",
|
||||
"UpdateGuardrailRequest",
|
||||
"UpdateGuardrailRequestBody",
|
||||
"UpdateGuardrailRequestBodyTypedDict",
|
||||
"UpdateGuardrailRequestTypedDict",
|
||||
"UpdateGuardrailResetIntervalRequest",
|
||||
"UpdateGuardrailResetIntervalResponse",
|
||||
"UpdateGuardrailResponse",
|
||||
"UpdateGuardrailResponseTypedDict",
|
||||
"UpdateKeysData",
|
||||
"UpdateKeysDataTypedDict",
|
||||
"UpdateKeysLimitReset",
|
||||
@@ -321,6 +496,30 @@ __all__ = [
|
||||
]
|
||||
|
||||
_dynamic_imports: dict[str, str] = {
|
||||
"BulkAssignKeysToGuardrailRequest": ".bulkassignkeystoguardrail",
|
||||
"BulkAssignKeysToGuardrailRequestBody": ".bulkassignkeystoguardrail",
|
||||
"BulkAssignKeysToGuardrailRequestBodyTypedDict": ".bulkassignkeystoguardrail",
|
||||
"BulkAssignKeysToGuardrailRequestTypedDict": ".bulkassignkeystoguardrail",
|
||||
"BulkAssignKeysToGuardrailResponse": ".bulkassignkeystoguardrail",
|
||||
"BulkAssignKeysToGuardrailResponseTypedDict": ".bulkassignkeystoguardrail",
|
||||
"BulkAssignMembersToGuardrailRequest": ".bulkassignmemberstoguardrail",
|
||||
"BulkAssignMembersToGuardrailRequestBody": ".bulkassignmemberstoguardrail",
|
||||
"BulkAssignMembersToGuardrailRequestBodyTypedDict": ".bulkassignmemberstoguardrail",
|
||||
"BulkAssignMembersToGuardrailRequestTypedDict": ".bulkassignmemberstoguardrail",
|
||||
"BulkAssignMembersToGuardrailResponse": ".bulkassignmemberstoguardrail",
|
||||
"BulkAssignMembersToGuardrailResponseTypedDict": ".bulkassignmemberstoguardrail",
|
||||
"BulkUnassignKeysFromGuardrailRequest": ".bulkunassignkeysfromguardrail",
|
||||
"BulkUnassignKeysFromGuardrailRequestBody": ".bulkunassignkeysfromguardrail",
|
||||
"BulkUnassignKeysFromGuardrailRequestBodyTypedDict": ".bulkunassignkeysfromguardrail",
|
||||
"BulkUnassignKeysFromGuardrailRequestTypedDict": ".bulkunassignkeysfromguardrail",
|
||||
"BulkUnassignKeysFromGuardrailResponse": ".bulkunassignkeysfromguardrail",
|
||||
"BulkUnassignKeysFromGuardrailResponseTypedDict": ".bulkunassignkeysfromguardrail",
|
||||
"BulkUnassignMembersFromGuardrailRequest": ".bulkunassignmembersfromguardrail",
|
||||
"BulkUnassignMembersFromGuardrailRequestBody": ".bulkunassignmembersfromguardrail",
|
||||
"BulkUnassignMembersFromGuardrailRequestBodyTypedDict": ".bulkunassignmembersfromguardrail",
|
||||
"BulkUnassignMembersFromGuardrailRequestTypedDict": ".bulkunassignmembersfromguardrail",
|
||||
"BulkUnassignMembersFromGuardrailResponse": ".bulkunassignmembersfromguardrail",
|
||||
"BulkUnassignMembersFromGuardrailResponseTypedDict": ".bulkunassignmembersfromguardrail",
|
||||
"CreateAuthKeysCodeCodeChallengeMethod": ".createauthkeyscode",
|
||||
"CreateAuthKeysCodeData": ".createauthkeyscode",
|
||||
"CreateAuthKeysCodeDataTypedDict": ".createauthkeyscode",
|
||||
@@ -371,6 +570,14 @@ _dynamic_imports: dict[str, str] = {
|
||||
"TypeText": ".createembeddings",
|
||||
"Usage": ".createembeddings",
|
||||
"UsageTypedDict": ".createembeddings",
|
||||
"CreateGuardrailData": ".createguardrail",
|
||||
"CreateGuardrailDataTypedDict": ".createguardrail",
|
||||
"CreateGuardrailRequest": ".createguardrail",
|
||||
"CreateGuardrailRequestTypedDict": ".createguardrail",
|
||||
"CreateGuardrailResetIntervalRequest": ".createguardrail",
|
||||
"CreateGuardrailResetIntervalResponse": ".createguardrail",
|
||||
"CreateGuardrailResponse": ".createguardrail",
|
||||
"CreateGuardrailResponseTypedDict": ".createguardrail",
|
||||
"CreateKeysData": ".createkeys",
|
||||
"CreateKeysDataTypedDict": ".createkeys",
|
||||
"CreateKeysLimitReset": ".createkeys",
|
||||
@@ -382,6 +589,10 @@ _dynamic_imports: dict[str, str] = {
|
||||
"CreateResponsesResponseBody": ".createresponses",
|
||||
"CreateResponsesResponseBodyTypedDict": ".createresponses",
|
||||
"CreateResponsesResponseTypedDict": ".createresponses",
|
||||
"DeleteGuardrailRequest": ".deleteguardrail",
|
||||
"DeleteGuardrailRequestTypedDict": ".deleteguardrail",
|
||||
"DeleteGuardrailResponse": ".deleteguardrail",
|
||||
"DeleteGuardrailResponseTypedDict": ".deleteguardrail",
|
||||
"DeleteKeysRequest": ".deletekeys",
|
||||
"DeleteKeysRequestTypedDict": ".deletekeys",
|
||||
"DeleteKeysResponse": ".deletekeys",
|
||||
@@ -408,23 +619,22 @@ _dynamic_imports: dict[str, str] = {
|
||||
"GetGenerationRequestTypedDict": ".getgeneration",
|
||||
"GetGenerationResponse": ".getgeneration",
|
||||
"GetGenerationResponseTypedDict": ".getgeneration",
|
||||
"GetGuardrailData": ".getguardrail",
|
||||
"GetGuardrailDataTypedDict": ".getguardrail",
|
||||
"GetGuardrailRequest": ".getguardrail",
|
||||
"GetGuardrailRequestTypedDict": ".getguardrail",
|
||||
"GetGuardrailResetInterval": ".getguardrail",
|
||||
"GetGuardrailResponse": ".getguardrail",
|
||||
"GetGuardrailResponseTypedDict": ".getguardrail",
|
||||
"GetKeyData": ".getkey",
|
||||
"GetKeyDataTypedDict": ".getkey",
|
||||
"GetKeyRequest": ".getkey",
|
||||
"GetKeyRequestTypedDict": ".getkey",
|
||||
"GetKeyResponse": ".getkey",
|
||||
"GetKeyResponseTypedDict": ".getkey",
|
||||
"Category": ".getmodels",
|
||||
"GetModelsRequest": ".getmodels",
|
||||
"GetModelsRequestTypedDict": ".getmodels",
|
||||
"GetParametersData": ".getparameters",
|
||||
"GetParametersDataTypedDict": ".getparameters",
|
||||
"GetParametersRequest": ".getparameters",
|
||||
"GetParametersRequestTypedDict": ".getparameters",
|
||||
"GetParametersResponse": ".getparameters",
|
||||
"GetParametersResponseTypedDict": ".getparameters",
|
||||
"GetParametersSecurity": ".getparameters",
|
||||
"GetParametersSecurityTypedDict": ".getparameters",
|
||||
"SupportedParameter": ".getparameters",
|
||||
"GetUserActivityRequest": ".getuseractivity",
|
||||
"GetUserActivityRequestTypedDict": ".getuseractivity",
|
||||
"GetUserActivityResponse": ".getuseractivity",
|
||||
@@ -441,6 +651,37 @@ _dynamic_imports: dict[str, str] = {
|
||||
"ListEndpointsResponseTypedDict": ".listendpoints",
|
||||
"ListEndpointsZdrResponse": ".listendpointszdr",
|
||||
"ListEndpointsZdrResponseTypedDict": ".listendpointszdr",
|
||||
"ListGuardrailKeyAssignmentsData": ".listguardrailkeyassignments",
|
||||
"ListGuardrailKeyAssignmentsDataTypedDict": ".listguardrailkeyassignments",
|
||||
"ListGuardrailKeyAssignmentsRequest": ".listguardrailkeyassignments",
|
||||
"ListGuardrailKeyAssignmentsRequestTypedDict": ".listguardrailkeyassignments",
|
||||
"ListGuardrailKeyAssignmentsResponse": ".listguardrailkeyassignments",
|
||||
"ListGuardrailKeyAssignmentsResponseTypedDict": ".listguardrailkeyassignments",
|
||||
"ListGuardrailMemberAssignmentsData": ".listguardrailmemberassignments",
|
||||
"ListGuardrailMemberAssignmentsDataTypedDict": ".listguardrailmemberassignments",
|
||||
"ListGuardrailMemberAssignmentsRequest": ".listguardrailmemberassignments",
|
||||
"ListGuardrailMemberAssignmentsRequestTypedDict": ".listguardrailmemberassignments",
|
||||
"ListGuardrailMemberAssignmentsResponse": ".listguardrailmemberassignments",
|
||||
"ListGuardrailMemberAssignmentsResponseTypedDict": ".listguardrailmemberassignments",
|
||||
"ListGuardrailsData": ".listguardrails",
|
||||
"ListGuardrailsDataTypedDict": ".listguardrails",
|
||||
"ListGuardrailsRequest": ".listguardrails",
|
||||
"ListGuardrailsRequestTypedDict": ".listguardrails",
|
||||
"ListGuardrailsResetInterval": ".listguardrails",
|
||||
"ListGuardrailsResponse": ".listguardrails",
|
||||
"ListGuardrailsResponseTypedDict": ".listguardrails",
|
||||
"ListKeyAssignmentsData": ".listkeyassignments",
|
||||
"ListKeyAssignmentsDataTypedDict": ".listkeyassignments",
|
||||
"ListKeyAssignmentsRequest": ".listkeyassignments",
|
||||
"ListKeyAssignmentsRequestTypedDict": ".listkeyassignments",
|
||||
"ListKeyAssignmentsResponse": ".listkeyassignments",
|
||||
"ListKeyAssignmentsResponseTypedDict": ".listkeyassignments",
|
||||
"ListMemberAssignmentsData": ".listmemberassignments",
|
||||
"ListMemberAssignmentsDataTypedDict": ".listmemberassignments",
|
||||
"ListMemberAssignmentsRequest": ".listmemberassignments",
|
||||
"ListMemberAssignmentsRequestTypedDict": ".listmemberassignments",
|
||||
"ListMemberAssignmentsResponse": ".listmemberassignments",
|
||||
"ListMemberAssignmentsResponseTypedDict": ".listmemberassignments",
|
||||
"ListModelsUserSecurity": ".listmodelsuser",
|
||||
"ListModelsUserSecurityTypedDict": ".listmodelsuser",
|
||||
"ListProvidersData": ".listproviders",
|
||||
@@ -449,6 +690,16 @@ _dynamic_imports: dict[str, str] = {
|
||||
"ListProvidersResponseTypedDict": ".listproviders",
|
||||
"SendChatCompletionRequestResponse": ".sendchatcompletionrequest",
|
||||
"SendChatCompletionRequestResponseTypedDict": ".sendchatcompletionrequest",
|
||||
"UpdateGuardrailData": ".updateguardrail",
|
||||
"UpdateGuardrailDataTypedDict": ".updateguardrail",
|
||||
"UpdateGuardrailRequest": ".updateguardrail",
|
||||
"UpdateGuardrailRequestBody": ".updateguardrail",
|
||||
"UpdateGuardrailRequestBodyTypedDict": ".updateguardrail",
|
||||
"UpdateGuardrailRequestTypedDict": ".updateguardrail",
|
||||
"UpdateGuardrailResetIntervalRequest": ".updateguardrail",
|
||||
"UpdateGuardrailResetIntervalResponse": ".updateguardrail",
|
||||
"UpdateGuardrailResponse": ".updateguardrail",
|
||||
"UpdateGuardrailResponseTypedDict": ".updateguardrail",
|
||||
"UpdateKeysData": ".updatekeys",
|
||||
"UpdateKeysDataTypedDict": ".updatekeys",
|
||||
"UpdateKeysLimitReset": ".updatekeys",
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
||||
from typing import List
|
||||
from typing_extensions import Annotated, TypedDict
|
||||
|
||||
|
||||
class BulkAssignKeysToGuardrailRequestBodyTypedDict(TypedDict):
|
||||
key_hashes: List[str]
|
||||
r"""Array of API key hashes to assign to the guardrail"""
|
||||
|
||||
|
||||
class BulkAssignKeysToGuardrailRequestBody(BaseModel):
|
||||
key_hashes: List[str]
|
||||
r"""Array of API key hashes to assign to the guardrail"""
|
||||
|
||||
|
||||
class BulkAssignKeysToGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail"""
|
||||
request_body: BulkAssignKeysToGuardrailRequestBodyTypedDict
|
||||
|
||||
|
||||
class BulkAssignKeysToGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail"""
|
||||
|
||||
request_body: Annotated[
|
||||
BulkAssignKeysToGuardrailRequestBody,
|
||||
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
||||
]
|
||||
|
||||
|
||||
class BulkAssignKeysToGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Assignment result"""
|
||||
|
||||
assigned_count: float
|
||||
r"""Number of keys successfully assigned"""
|
||||
|
||||
|
||||
class BulkAssignKeysToGuardrailResponse(BaseModel):
|
||||
r"""Assignment result"""
|
||||
|
||||
assigned_count: float
|
||||
r"""Number of keys successfully assigned"""
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
||||
from typing import List
|
||||
from typing_extensions import Annotated, TypedDict
|
||||
|
||||
|
||||
class BulkAssignMembersToGuardrailRequestBodyTypedDict(TypedDict):
|
||||
member_user_ids: List[str]
|
||||
r"""Array of member user IDs to assign to the guardrail"""
|
||||
|
||||
|
||||
class BulkAssignMembersToGuardrailRequestBody(BaseModel):
|
||||
member_user_ids: List[str]
|
||||
r"""Array of member user IDs to assign to the guardrail"""
|
||||
|
||||
|
||||
class BulkAssignMembersToGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail"""
|
||||
request_body: BulkAssignMembersToGuardrailRequestBodyTypedDict
|
||||
|
||||
|
||||
class BulkAssignMembersToGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail"""
|
||||
|
||||
request_body: Annotated[
|
||||
BulkAssignMembersToGuardrailRequestBody,
|
||||
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
||||
]
|
||||
|
||||
|
||||
class BulkAssignMembersToGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Assignment result"""
|
||||
|
||||
assigned_count: float
|
||||
r"""Number of members successfully assigned"""
|
||||
|
||||
|
||||
class BulkAssignMembersToGuardrailResponse(BaseModel):
|
||||
r"""Assignment result"""
|
||||
|
||||
assigned_count: float
|
||||
r"""Number of members successfully assigned"""
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
||||
from typing import List
|
||||
from typing_extensions import Annotated, TypedDict
|
||||
|
||||
|
||||
class BulkUnassignKeysFromGuardrailRequestBodyTypedDict(TypedDict):
|
||||
key_hashes: List[str]
|
||||
r"""Array of API key hashes to unassign from the guardrail"""
|
||||
|
||||
|
||||
class BulkUnassignKeysFromGuardrailRequestBody(BaseModel):
|
||||
key_hashes: List[str]
|
||||
r"""Array of API key hashes to unassign from the guardrail"""
|
||||
|
||||
|
||||
class BulkUnassignKeysFromGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail"""
|
||||
request_body: BulkUnassignKeysFromGuardrailRequestBodyTypedDict
|
||||
|
||||
|
||||
class BulkUnassignKeysFromGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail"""
|
||||
|
||||
request_body: Annotated[
|
||||
BulkUnassignKeysFromGuardrailRequestBody,
|
||||
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
||||
]
|
||||
|
||||
|
||||
class BulkUnassignKeysFromGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Unassignment result"""
|
||||
|
||||
unassigned_count: float
|
||||
r"""Number of keys successfully unassigned"""
|
||||
|
||||
|
||||
class BulkUnassignKeysFromGuardrailResponse(BaseModel):
|
||||
r"""Unassignment result"""
|
||||
|
||||
unassigned_count: float
|
||||
r"""Number of keys successfully unassigned"""
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
||||
from typing import List
|
||||
from typing_extensions import Annotated, TypedDict
|
||||
|
||||
|
||||
class BulkUnassignMembersFromGuardrailRequestBodyTypedDict(TypedDict):
|
||||
member_user_ids: List[str]
|
||||
r"""Array of member user IDs to unassign from the guardrail"""
|
||||
|
||||
|
||||
class BulkUnassignMembersFromGuardrailRequestBody(BaseModel):
|
||||
member_user_ids: List[str]
|
||||
r"""Array of member user IDs to unassign from the guardrail"""
|
||||
|
||||
|
||||
class BulkUnassignMembersFromGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail"""
|
||||
request_body: BulkUnassignMembersFromGuardrailRequestBodyTypedDict
|
||||
|
||||
|
||||
class BulkUnassignMembersFromGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail"""
|
||||
|
||||
request_body: Annotated[
|
||||
BulkUnassignMembersFromGuardrailRequestBody,
|
||||
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
||||
]
|
||||
|
||||
|
||||
class BulkUnassignMembersFromGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Unassignment result"""
|
||||
|
||||
unassigned_count: float
|
||||
r"""Number of members successfully unassigned"""
|
||||
|
||||
|
||||
class BulkUnassignMembersFromGuardrailResponse(BaseModel):
|
||||
r"""Unassignment result"""
|
||||
|
||||
unassigned_count: float
|
||||
r"""Number of members successfully unassigned"""
|
||||
@@ -0,0 +1,247 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import (
|
||||
BaseModel,
|
||||
Nullable,
|
||||
OptionalNullable,
|
||||
UNSET,
|
||||
UNSET_SENTINEL,
|
||||
UnrecognizedStr,
|
||||
)
|
||||
from openrouter.utils import validate_open_enum
|
||||
from pydantic import model_serializer
|
||||
from pydantic.functional_validators import PlainValidator
|
||||
from typing import List, Literal, Union
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
CreateGuardrailResetIntervalRequest = Union[
|
||||
Literal[
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
|
||||
class CreateGuardrailRequestTypedDict(TypedDict):
|
||||
name: str
|
||||
r"""Name for the new guardrail"""
|
||||
description: NotRequired[Nullable[str]]
|
||||
r"""Description of the guardrail"""
|
||||
limit_usd: NotRequired[Nullable[float]]
|
||||
r"""Spending limit in USD"""
|
||||
reset_interval: NotRequired[Nullable[CreateGuardrailResetIntervalRequest]]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
allowed_providers: NotRequired[Nullable[List[str]]]
|
||||
r"""List of allowed provider IDs"""
|
||||
allowed_models: NotRequired[Nullable[List[str]]]
|
||||
r"""Array of model identifiers (slug or canonical_slug accepted)"""
|
||||
enforce_zdr: NotRequired[Nullable[bool]]
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
|
||||
class CreateGuardrailRequest(BaseModel):
|
||||
name: str
|
||||
r"""Name for the new guardrail"""
|
||||
|
||||
description: OptionalNullable[str] = UNSET
|
||||
r"""Description of the guardrail"""
|
||||
|
||||
limit_usd: OptionalNullable[float] = UNSET
|
||||
r"""Spending limit in USD"""
|
||||
|
||||
reset_interval: Annotated[
|
||||
OptionalNullable[CreateGuardrailResetIntervalRequest],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
] = UNSET
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
allowed_providers: OptionalNullable[List[str]] = UNSET
|
||||
r"""List of allowed provider IDs"""
|
||||
|
||||
allowed_models: OptionalNullable[List[str]] = UNSET
|
||||
r"""Array of model identifiers (slug or canonical_slug accepted)"""
|
||||
|
||||
enforce_zdr: OptionalNullable[bool] = UNSET
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
]
|
||||
nullable_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
CreateGuardrailResetIntervalResponse = Union[
|
||||
Literal[
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
|
||||
class CreateGuardrailDataTypedDict(TypedDict):
|
||||
r"""The created guardrail"""
|
||||
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
description: NotRequired[Nullable[str]]
|
||||
r"""Description of the guardrail"""
|
||||
limit_usd: NotRequired[Nullable[float]]
|
||||
r"""Spending limit in USD"""
|
||||
reset_interval: NotRequired[Nullable[CreateGuardrailResetIntervalResponse]]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
allowed_providers: NotRequired[Nullable[List[str]]]
|
||||
r"""List of allowed provider IDs"""
|
||||
allowed_models: NotRequired[Nullable[List[str]]]
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
enforce_zdr: NotRequired[Nullable[bool]]
|
||||
r"""Whether to enforce zero data retention"""
|
||||
updated_at: NotRequired[Nullable[str]]
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
|
||||
class CreateGuardrailData(BaseModel):
|
||||
r"""The created guardrail"""
|
||||
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
|
||||
description: OptionalNullable[str] = UNSET
|
||||
r"""Description of the guardrail"""
|
||||
|
||||
limit_usd: OptionalNullable[float] = UNSET
|
||||
r"""Spending limit in USD"""
|
||||
|
||||
reset_interval: Annotated[
|
||||
OptionalNullable[CreateGuardrailResetIntervalResponse],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
] = UNSET
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
allowed_providers: OptionalNullable[List[str]] = UNSET
|
||||
r"""List of allowed provider IDs"""
|
||||
|
||||
allowed_models: OptionalNullable[List[str]] = UNSET
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
|
||||
enforce_zdr: OptionalNullable[bool] = UNSET
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
updated_at: OptionalNullable[str] = UNSET
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
nullable_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class CreateGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Guardrail created successfully"""
|
||||
|
||||
data: CreateGuardrailDataTypedDict
|
||||
r"""The created guardrail"""
|
||||
|
||||
|
||||
class CreateGuardrailResponse(BaseModel):
|
||||
r"""Guardrail created successfully"""
|
||||
|
||||
data: CreateGuardrailData
|
||||
r"""The created guardrail"""
|
||||
@@ -0,0 +1,38 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, validate_const
|
||||
import pydantic
|
||||
from pydantic.functional_validators import AfterValidator
|
||||
from typing import Literal
|
||||
from typing_extensions import Annotated, TypedDict
|
||||
|
||||
|
||||
class DeleteGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail to delete"""
|
||||
|
||||
|
||||
class DeleteGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail to delete"""
|
||||
|
||||
|
||||
class DeleteGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Guardrail deleted successfully"""
|
||||
|
||||
deleted: Literal[True]
|
||||
r"""Confirmation that the guardrail was deleted"""
|
||||
|
||||
|
||||
class DeleteGuardrailResponse(BaseModel):
|
||||
r"""Guardrail deleted successfully"""
|
||||
|
||||
DELETED: Annotated[
|
||||
Annotated[Literal[True], AfterValidator(validate_const(True))],
|
||||
pydantic.Field(alias="deleted"),
|
||||
] = True
|
||||
r"""Confirmation that the guardrail was deleted"""
|
||||
@@ -0,0 +1,161 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import (
|
||||
BaseModel,
|
||||
Nullable,
|
||||
OptionalNullable,
|
||||
UNSET,
|
||||
UNSET_SENTINEL,
|
||||
UnrecognizedStr,
|
||||
)
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, validate_open_enum
|
||||
from pydantic import model_serializer
|
||||
from pydantic.functional_validators import PlainValidator
|
||||
from typing import List, Literal, Union
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class GetGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail to retrieve"""
|
||||
|
||||
|
||||
class GetGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail to retrieve"""
|
||||
|
||||
|
||||
GetGuardrailResetInterval = Union[
|
||||
Literal[
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
|
||||
class GetGuardrailDataTypedDict(TypedDict):
|
||||
r"""The guardrail"""
|
||||
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
description: NotRequired[Nullable[str]]
|
||||
r"""Description of the guardrail"""
|
||||
limit_usd: NotRequired[Nullable[float]]
|
||||
r"""Spending limit in USD"""
|
||||
reset_interval: NotRequired[Nullable[GetGuardrailResetInterval]]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
allowed_providers: NotRequired[Nullable[List[str]]]
|
||||
r"""List of allowed provider IDs"""
|
||||
allowed_models: NotRequired[Nullable[List[str]]]
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
enforce_zdr: NotRequired[Nullable[bool]]
|
||||
r"""Whether to enforce zero data retention"""
|
||||
updated_at: NotRequired[Nullable[str]]
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
|
||||
class GetGuardrailData(BaseModel):
|
||||
r"""The guardrail"""
|
||||
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
|
||||
description: OptionalNullable[str] = UNSET
|
||||
r"""Description of the guardrail"""
|
||||
|
||||
limit_usd: OptionalNullable[float] = UNSET
|
||||
r"""Spending limit in USD"""
|
||||
|
||||
reset_interval: Annotated[
|
||||
OptionalNullable[GetGuardrailResetInterval],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
] = UNSET
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
allowed_providers: OptionalNullable[List[str]] = UNSET
|
||||
r"""List of allowed provider IDs"""
|
||||
|
||||
allowed_models: OptionalNullable[List[str]] = UNSET
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
|
||||
enforce_zdr: OptionalNullable[bool] = UNSET
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
updated_at: OptionalNullable[str] = UNSET
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
nullable_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class GetGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Guardrail details"""
|
||||
|
||||
data: GetGuardrailDataTypedDict
|
||||
r"""The guardrail"""
|
||||
|
||||
|
||||
class GetGuardrailResponse(BaseModel):
|
||||
r"""Guardrail details"""
|
||||
|
||||
data: GetGuardrailData
|
||||
r"""The guardrail"""
|
||||
@@ -1,22 +1,45 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel
|
||||
from openrouter.utils import FieldMetadata, QueryParamMetadata
|
||||
from typing import Optional
|
||||
from openrouter.types import BaseModel, UnrecognizedStr
|
||||
from openrouter.utils import FieldMetadata, QueryParamMetadata, validate_open_enum
|
||||
from pydantic.functional_validators import PlainValidator
|
||||
from typing import Literal, Optional, Union
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
Category = Union[
|
||||
Literal[
|
||||
"programming",
|
||||
"roleplay",
|
||||
"marketing",
|
||||
"marketing/seo",
|
||||
"technology",
|
||||
"science",
|
||||
"translation",
|
||||
"legal",
|
||||
"finance",
|
||||
"health",
|
||||
"trivia",
|
||||
"academia",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Filter models by use case category"""
|
||||
|
||||
|
||||
class GetModelsRequestTypedDict(TypedDict):
|
||||
category: NotRequired[str]
|
||||
category: NotRequired[Category]
|
||||
r"""Filter models by use case category"""
|
||||
supported_parameters: NotRequired[str]
|
||||
|
||||
|
||||
class GetModelsRequest(BaseModel):
|
||||
category: Annotated[
|
||||
Optional[str],
|
||||
Annotated[Optional[Category], PlainValidator(validate_open_enum(False))],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Filter models by use case category"""
|
||||
|
||||
supported_parameters: Annotated[
|
||||
Optional[str],
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.components import providername as components_providername
|
||||
from openrouter.types import BaseModel, UnrecognizedStr
|
||||
from openrouter.utils import (
|
||||
FieldMetadata,
|
||||
PathParamMetadata,
|
||||
QueryParamMetadata,
|
||||
SecurityMetadata,
|
||||
validate_open_enum,
|
||||
)
|
||||
from pydantic.functional_validators import PlainValidator
|
||||
from typing import List, Literal, Optional, Union
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class GetParametersSecurityTypedDict(TypedDict):
|
||||
bearer: str
|
||||
|
||||
|
||||
class GetParametersSecurity(BaseModel):
|
||||
bearer: Annotated[
|
||||
str,
|
||||
FieldMetadata(
|
||||
security=SecurityMetadata(
|
||||
scheme=True,
|
||||
scheme_type="http",
|
||||
sub_type="bearer",
|
||||
field_name="Authorization",
|
||||
)
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
class GetParametersRequestTypedDict(TypedDict):
|
||||
author: str
|
||||
slug: str
|
||||
provider: NotRequired[components_providername.ProviderName]
|
||||
|
||||
|
||||
class GetParametersRequest(BaseModel):
|
||||
author: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
|
||||
slug: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
|
||||
provider: Annotated[
|
||||
Annotated[
|
||||
Optional[components_providername.ProviderName],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
|
||||
|
||||
SupportedParameter = Union[
|
||||
Literal[
|
||||
"temperature",
|
||||
"top_p",
|
||||
"top_k",
|
||||
"min_p",
|
||||
"top_a",
|
||||
"frequency_penalty",
|
||||
"presence_penalty",
|
||||
"repetition_penalty",
|
||||
"max_tokens",
|
||||
"logit_bias",
|
||||
"logprobs",
|
||||
"top_logprobs",
|
||||
"seed",
|
||||
"response_format",
|
||||
"structured_outputs",
|
||||
"stop",
|
||||
"tools",
|
||||
"tool_choice",
|
||||
"parallel_tool_calls",
|
||||
"include_reasoning",
|
||||
"reasoning",
|
||||
"reasoning_effort",
|
||||
"web_search_options",
|
||||
"verbosity",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
|
||||
|
||||
class GetParametersDataTypedDict(TypedDict):
|
||||
r"""Parameter analytics data"""
|
||||
|
||||
model: str
|
||||
r"""Model identifier"""
|
||||
supported_parameters: List[SupportedParameter]
|
||||
r"""List of parameters supported by this model"""
|
||||
|
||||
|
||||
class GetParametersData(BaseModel):
|
||||
r"""Parameter analytics data"""
|
||||
|
||||
model: str
|
||||
r"""Model identifier"""
|
||||
|
||||
supported_parameters: List[
|
||||
Annotated[SupportedParameter, PlainValidator(validate_open_enum(False))]
|
||||
]
|
||||
r"""List of parameters supported by this model"""
|
||||
|
||||
|
||||
class GetParametersResponseTypedDict(TypedDict):
|
||||
r"""Returns the parameters for the specified model"""
|
||||
|
||||
data: GetParametersDataTypedDict
|
||||
r"""Parameter analytics data"""
|
||||
|
||||
|
||||
class GetParametersResponse(BaseModel):
|
||||
r"""Returns the parameters for the specified model"""
|
||||
|
||||
data: GetParametersData
|
||||
r"""Parameter analytics data"""
|
||||
@@ -0,0 +1,125 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
|
||||
from pydantic import model_serializer
|
||||
from typing import List, Optional
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class ListGuardrailKeyAssignmentsRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail"""
|
||||
offset: NotRequired[str]
|
||||
r"""Number of records to skip for pagination"""
|
||||
limit: NotRequired[str]
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListGuardrailKeyAssignmentsRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail"""
|
||||
|
||||
offset: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Number of records to skip for pagination"""
|
||||
|
||||
limit: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListGuardrailKeyAssignmentsDataTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
key_hash: str
|
||||
r"""Hash of the assigned API key"""
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
key_name: str
|
||||
r"""Name of the API key"""
|
||||
key_label: str
|
||||
r"""Label of the API key"""
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
|
||||
class ListGuardrailKeyAssignmentsData(BaseModel):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
|
||||
key_hash: str
|
||||
r"""Hash of the assigned API key"""
|
||||
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
|
||||
key_name: str
|
||||
r"""Name of the API key"""
|
||||
|
||||
key_label: str
|
||||
r"""Label of the API key"""
|
||||
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = []
|
||||
nullable_fields = ["assigned_by"]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class ListGuardrailKeyAssignmentsResponseTypedDict(TypedDict):
|
||||
r"""List of key assignments"""
|
||||
|
||||
data: List[ListGuardrailKeyAssignmentsDataTypedDict]
|
||||
r"""List of key assignments"""
|
||||
total_count: float
|
||||
r"""Total number of key assignments for this guardrail"""
|
||||
|
||||
|
||||
class ListGuardrailKeyAssignmentsResponse(BaseModel):
|
||||
r"""List of key assignments"""
|
||||
|
||||
data: List[ListGuardrailKeyAssignmentsData]
|
||||
r"""List of key assignments"""
|
||||
|
||||
total_count: float
|
||||
r"""Total number of key assignments for this guardrail"""
|
||||
@@ -0,0 +1,120 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL
|
||||
from openrouter.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
|
||||
from pydantic import model_serializer
|
||||
from typing import List, Optional
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class ListGuardrailMemberAssignmentsRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail"""
|
||||
offset: NotRequired[str]
|
||||
r"""Number of records to skip for pagination"""
|
||||
limit: NotRequired[str]
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListGuardrailMemberAssignmentsRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail"""
|
||||
|
||||
offset: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Number of records to skip for pagination"""
|
||||
|
||||
limit: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListGuardrailMemberAssignmentsDataTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
user_id: str
|
||||
r"""Clerk user ID of the assigned member"""
|
||||
organization_id: str
|
||||
r"""Organization ID"""
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
|
||||
class ListGuardrailMemberAssignmentsData(BaseModel):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
|
||||
user_id: str
|
||||
r"""Clerk user ID of the assigned member"""
|
||||
|
||||
organization_id: str
|
||||
r"""Organization ID"""
|
||||
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = []
|
||||
nullable_fields = ["assigned_by"]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class ListGuardrailMemberAssignmentsResponseTypedDict(TypedDict):
|
||||
r"""List of member assignments"""
|
||||
|
||||
data: List[ListGuardrailMemberAssignmentsDataTypedDict]
|
||||
r"""List of member assignments"""
|
||||
total_count: float
|
||||
r"""Total number of member assignments"""
|
||||
|
||||
|
||||
class ListGuardrailMemberAssignmentsResponse(BaseModel):
|
||||
r"""List of member assignments"""
|
||||
|
||||
data: List[ListGuardrailMemberAssignmentsData]
|
||||
r"""List of member assignments"""
|
||||
|
||||
total_count: float
|
||||
r"""Total number of member assignments"""
|
||||
@@ -0,0 +1,171 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import (
|
||||
BaseModel,
|
||||
Nullable,
|
||||
OptionalNullable,
|
||||
UNSET,
|
||||
UNSET_SENTINEL,
|
||||
UnrecognizedStr,
|
||||
)
|
||||
from openrouter.utils import FieldMetadata, QueryParamMetadata, validate_open_enum
|
||||
from pydantic import model_serializer
|
||||
from pydantic.functional_validators import PlainValidator
|
||||
from typing import List, Literal, Optional, Union
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class ListGuardrailsRequestTypedDict(TypedDict):
|
||||
offset: NotRequired[str]
|
||||
r"""Number of records to skip for pagination"""
|
||||
limit: NotRequired[str]
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListGuardrailsRequest(BaseModel):
|
||||
offset: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Number of records to skip for pagination"""
|
||||
|
||||
limit: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
ListGuardrailsResetInterval = Union[
|
||||
Literal[
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
|
||||
class ListGuardrailsDataTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
description: NotRequired[Nullable[str]]
|
||||
r"""Description of the guardrail"""
|
||||
limit_usd: NotRequired[Nullable[float]]
|
||||
r"""Spending limit in USD"""
|
||||
reset_interval: NotRequired[Nullable[ListGuardrailsResetInterval]]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
allowed_providers: NotRequired[Nullable[List[str]]]
|
||||
r"""List of allowed provider IDs"""
|
||||
allowed_models: NotRequired[Nullable[List[str]]]
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
enforce_zdr: NotRequired[Nullable[bool]]
|
||||
r"""Whether to enforce zero data retention"""
|
||||
updated_at: NotRequired[Nullable[str]]
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
|
||||
class ListGuardrailsData(BaseModel):
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
|
||||
description: OptionalNullable[str] = UNSET
|
||||
r"""Description of the guardrail"""
|
||||
|
||||
limit_usd: OptionalNullable[float] = UNSET
|
||||
r"""Spending limit in USD"""
|
||||
|
||||
reset_interval: Annotated[
|
||||
OptionalNullable[ListGuardrailsResetInterval],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
] = UNSET
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
allowed_providers: OptionalNullable[List[str]] = UNSET
|
||||
r"""List of allowed provider IDs"""
|
||||
|
||||
allowed_models: OptionalNullable[List[str]] = UNSET
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
|
||||
enforce_zdr: OptionalNullable[bool] = UNSET
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
updated_at: OptionalNullable[str] = UNSET
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
nullable_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class ListGuardrailsResponseTypedDict(TypedDict):
|
||||
r"""List of guardrails"""
|
||||
|
||||
data: List[ListGuardrailsDataTypedDict]
|
||||
r"""List of guardrails"""
|
||||
total_count: float
|
||||
r"""Total number of guardrails"""
|
||||
|
||||
|
||||
class ListGuardrailsResponse(BaseModel):
|
||||
r"""List of guardrails"""
|
||||
|
||||
data: List[ListGuardrailsData]
|
||||
r"""List of guardrails"""
|
||||
|
||||
total_count: float
|
||||
r"""Total number of guardrails"""
|
||||
@@ -0,0 +1,118 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL
|
||||
from openrouter.utils import FieldMetadata, QueryParamMetadata
|
||||
from pydantic import model_serializer
|
||||
from typing import List, Optional
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class ListKeyAssignmentsRequestTypedDict(TypedDict):
|
||||
offset: NotRequired[str]
|
||||
r"""Number of records to skip for pagination"""
|
||||
limit: NotRequired[str]
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListKeyAssignmentsRequest(BaseModel):
|
||||
offset: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Number of records to skip for pagination"""
|
||||
|
||||
limit: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListKeyAssignmentsDataTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
key_hash: str
|
||||
r"""Hash of the assigned API key"""
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
key_name: str
|
||||
r"""Name of the API key"""
|
||||
key_label: str
|
||||
r"""Label of the API key"""
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
|
||||
class ListKeyAssignmentsData(BaseModel):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
|
||||
key_hash: str
|
||||
r"""Hash of the assigned API key"""
|
||||
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
|
||||
key_name: str
|
||||
r"""Name of the API key"""
|
||||
|
||||
key_label: str
|
||||
r"""Label of the API key"""
|
||||
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = []
|
||||
nullable_fields = ["assigned_by"]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class ListKeyAssignmentsResponseTypedDict(TypedDict):
|
||||
r"""List of key assignments"""
|
||||
|
||||
data: List[ListKeyAssignmentsDataTypedDict]
|
||||
r"""List of key assignments"""
|
||||
total_count: float
|
||||
r"""Total number of key assignments for this guardrail"""
|
||||
|
||||
|
||||
class ListKeyAssignmentsResponse(BaseModel):
|
||||
r"""List of key assignments"""
|
||||
|
||||
data: List[ListKeyAssignmentsData]
|
||||
r"""List of key assignments"""
|
||||
|
||||
total_count: float
|
||||
r"""Total number of key assignments for this guardrail"""
|
||||
@@ -0,0 +1,113 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL
|
||||
from openrouter.utils import FieldMetadata, QueryParamMetadata
|
||||
from pydantic import model_serializer
|
||||
from typing import List, Optional
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
class ListMemberAssignmentsRequestTypedDict(TypedDict):
|
||||
offset: NotRequired[str]
|
||||
r"""Number of records to skip for pagination"""
|
||||
limit: NotRequired[str]
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListMemberAssignmentsRequest(BaseModel):
|
||||
offset: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Number of records to skip for pagination"""
|
||||
|
||||
limit: Annotated[
|
||||
Optional[str],
|
||||
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
||||
] = None
|
||||
r"""Maximum number of records to return (max 100)"""
|
||||
|
||||
|
||||
class ListMemberAssignmentsDataTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
user_id: str
|
||||
r"""Clerk user ID of the assigned member"""
|
||||
organization_id: str
|
||||
r"""Organization ID"""
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
|
||||
class ListMemberAssignmentsData(BaseModel):
|
||||
id: str
|
||||
r"""Unique identifier for the assignment"""
|
||||
|
||||
user_id: str
|
||||
r"""Clerk user ID of the assigned member"""
|
||||
|
||||
organization_id: str
|
||||
r"""Organization ID"""
|
||||
|
||||
guardrail_id: str
|
||||
r"""ID of the guardrail"""
|
||||
|
||||
assigned_by: Nullable[str]
|
||||
r"""User ID of who made the assignment"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the assignment was created"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = []
|
||||
nullable_fields = ["assigned_by"]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class ListMemberAssignmentsResponseTypedDict(TypedDict):
|
||||
r"""List of member assignments"""
|
||||
|
||||
data: List[ListMemberAssignmentsDataTypedDict]
|
||||
r"""List of member assignments"""
|
||||
total_count: float
|
||||
r"""Total number of member assignments"""
|
||||
|
||||
|
||||
class ListMemberAssignmentsResponse(BaseModel):
|
||||
r"""List of member assignments"""
|
||||
|
||||
data: List[ListMemberAssignmentsData]
|
||||
r"""List of member assignments"""
|
||||
|
||||
total_count: float
|
||||
r"""Total number of member assignments"""
|
||||
@@ -0,0 +1,271 @@
|
||||
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
||||
|
||||
from __future__ import annotations
|
||||
from openrouter.types import (
|
||||
BaseModel,
|
||||
Nullable,
|
||||
OptionalNullable,
|
||||
UNSET,
|
||||
UNSET_SENTINEL,
|
||||
UnrecognizedStr,
|
||||
)
|
||||
from openrouter.utils import (
|
||||
FieldMetadata,
|
||||
PathParamMetadata,
|
||||
RequestMetadata,
|
||||
validate_open_enum,
|
||||
)
|
||||
from pydantic import model_serializer
|
||||
from pydantic.functional_validators import PlainValidator
|
||||
from typing import List, Literal, Optional, Union
|
||||
from typing_extensions import Annotated, NotRequired, TypedDict
|
||||
|
||||
|
||||
UpdateGuardrailResetIntervalRequest = Union[
|
||||
Literal[
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
|
||||
class UpdateGuardrailRequestBodyTypedDict(TypedDict):
|
||||
name: NotRequired[str]
|
||||
r"""New name for the guardrail"""
|
||||
description: NotRequired[Nullable[str]]
|
||||
r"""New description for the guardrail"""
|
||||
limit_usd: NotRequired[Nullable[float]]
|
||||
r"""New spending limit in USD"""
|
||||
reset_interval: NotRequired[Nullable[UpdateGuardrailResetIntervalRequest]]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
allowed_providers: NotRequired[Nullable[List[str]]]
|
||||
r"""New list of allowed provider IDs"""
|
||||
allowed_models: NotRequired[Nullable[List[str]]]
|
||||
r"""Array of model identifiers (slug or canonical_slug accepted)"""
|
||||
enforce_zdr: NotRequired[Nullable[bool]]
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
|
||||
class UpdateGuardrailRequestBody(BaseModel):
|
||||
name: Optional[str] = None
|
||||
r"""New name for the guardrail"""
|
||||
|
||||
description: OptionalNullable[str] = UNSET
|
||||
r"""New description for the guardrail"""
|
||||
|
||||
limit_usd: OptionalNullable[float] = UNSET
|
||||
r"""New spending limit in USD"""
|
||||
|
||||
reset_interval: Annotated[
|
||||
OptionalNullable[UpdateGuardrailResetIntervalRequest],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
] = UNSET
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
allowed_providers: OptionalNullable[List[str]] = UNSET
|
||||
r"""New list of allowed provider IDs"""
|
||||
|
||||
allowed_models: OptionalNullable[List[str]] = UNSET
|
||||
r"""Array of model identifiers (slug or canonical_slug accepted)"""
|
||||
|
||||
enforce_zdr: OptionalNullable[bool] = UNSET
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = [
|
||||
"name",
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
]
|
||||
nullable_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class UpdateGuardrailRequestTypedDict(TypedDict):
|
||||
id: str
|
||||
r"""The unique identifier of the guardrail to update"""
|
||||
request_body: UpdateGuardrailRequestBodyTypedDict
|
||||
|
||||
|
||||
class UpdateGuardrailRequest(BaseModel):
|
||||
id: Annotated[
|
||||
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
||||
]
|
||||
r"""The unique identifier of the guardrail to update"""
|
||||
|
||||
request_body: Annotated[
|
||||
UpdateGuardrailRequestBody,
|
||||
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
||||
]
|
||||
|
||||
|
||||
UpdateGuardrailResetIntervalResponse = Union[
|
||||
Literal[
|
||||
"daily",
|
||||
"weekly",
|
||||
"monthly",
|
||||
],
|
||||
UnrecognizedStr,
|
||||
]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
|
||||
class UpdateGuardrailDataTypedDict(TypedDict):
|
||||
r"""The updated guardrail"""
|
||||
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
description: NotRequired[Nullable[str]]
|
||||
r"""Description of the guardrail"""
|
||||
limit_usd: NotRequired[Nullable[float]]
|
||||
r"""Spending limit in USD"""
|
||||
reset_interval: NotRequired[Nullable[UpdateGuardrailResetIntervalResponse]]
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
allowed_providers: NotRequired[Nullable[List[str]]]
|
||||
r"""List of allowed provider IDs"""
|
||||
allowed_models: NotRequired[Nullable[List[str]]]
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
enforce_zdr: NotRequired[Nullable[bool]]
|
||||
r"""Whether to enforce zero data retention"""
|
||||
updated_at: NotRequired[Nullable[str]]
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
|
||||
class UpdateGuardrailData(BaseModel):
|
||||
r"""The updated guardrail"""
|
||||
|
||||
id: str
|
||||
r"""Unique identifier for the guardrail"""
|
||||
|
||||
name: str
|
||||
r"""Name of the guardrail"""
|
||||
|
||||
created_at: str
|
||||
r"""ISO 8601 timestamp of when the guardrail was created"""
|
||||
|
||||
description: OptionalNullable[str] = UNSET
|
||||
r"""Description of the guardrail"""
|
||||
|
||||
limit_usd: OptionalNullable[float] = UNSET
|
||||
r"""Spending limit in USD"""
|
||||
|
||||
reset_interval: Annotated[
|
||||
OptionalNullable[UpdateGuardrailResetIntervalResponse],
|
||||
PlainValidator(validate_open_enum(False)),
|
||||
] = UNSET
|
||||
r"""Interval at which the limit resets (daily, weekly, monthly)"""
|
||||
|
||||
allowed_providers: OptionalNullable[List[str]] = UNSET
|
||||
r"""List of allowed provider IDs"""
|
||||
|
||||
allowed_models: OptionalNullable[List[str]] = UNSET
|
||||
r"""Array of model canonical_slugs (immutable identifiers)"""
|
||||
|
||||
enforce_zdr: OptionalNullable[bool] = UNSET
|
||||
r"""Whether to enforce zero data retention"""
|
||||
|
||||
updated_at: OptionalNullable[str] = UNSET
|
||||
r"""ISO 8601 timestamp of when the guardrail was last updated"""
|
||||
|
||||
@model_serializer(mode="wrap")
|
||||
def serialize_model(self, handler):
|
||||
optional_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
nullable_fields = [
|
||||
"description",
|
||||
"limit_usd",
|
||||
"reset_interval",
|
||||
"allowed_providers",
|
||||
"allowed_models",
|
||||
"enforce_zdr",
|
||||
"updated_at",
|
||||
]
|
||||
null_default_fields = []
|
||||
|
||||
serialized = handler(self)
|
||||
|
||||
m = {}
|
||||
|
||||
for n, f in type(self).model_fields.items():
|
||||
k = f.alias or n
|
||||
val = serialized.get(k)
|
||||
serialized.pop(k, None)
|
||||
|
||||
optional_nullable = k in optional_fields and k in nullable_fields
|
||||
is_set = (
|
||||
self.__pydantic_fields_set__.intersection({n})
|
||||
or k in null_default_fields
|
||||
) # pylint: disable=no-member
|
||||
|
||||
if val is not None and val != UNSET_SENTINEL:
|
||||
m[k] = val
|
||||
elif val != UNSET_SENTINEL and (
|
||||
not k in optional_fields or (optional_nullable and is_set)
|
||||
):
|
||||
m[k] = val
|
||||
|
||||
return m
|
||||
|
||||
|
||||
class UpdateGuardrailResponseTypedDict(TypedDict):
|
||||
r"""Guardrail updated successfully"""
|
||||
|
||||
data: UpdateGuardrailDataTypedDict
|
||||
r"""The updated guardrail"""
|
||||
|
||||
|
||||
class UpdateGuardrailResponse(BaseModel):
|
||||
r"""Guardrail updated successfully"""
|
||||
|
||||
data: UpdateGuardrailData
|
||||
r"""The updated guardrail"""
|
||||
Reference in New Issue
Block a user