@@ -9,15 +9,15 @@ def is_timezone_aware(dt: datetime):
9
9
10
10
11
11
class CredentialType (Enum ):
12
- Tool = "tool" ,
13
- ModelProvider = "modelProvider"
12
+ tool = "tool" ,
13
+ modelProvider = "modelProvider"
14
14
15
15
16
16
class Credential :
17
17
def __init__ (self ,
18
18
context : str = "default" ,
19
19
toolName : str = "" ,
20
- type : CredentialType = CredentialType .Tool ,
20
+ type : CredentialType = CredentialType .tool ,
21
21
env : dict [str , str ] = None ,
22
22
ephemeral : bool = False ,
23
23
expiresAt : datetime = None ,
@@ -76,3 +76,20 @@ def __init__(self,
76
76
self .allContexts = allContexts
77
77
self .contexts = contexts
78
78
self .name = name
79
+
80
+ def to_credential (c ) -> Credential :
81
+ expiresAt = c ["expiresAt" ]
82
+ if expiresAt is not None :
83
+ if expiresAt .endswith ("Z" ):
84
+ expiresAt = expiresAt .replace ("Z" , "+00:00" )
85
+ expiresAt = datetime .fromisoformat (expiresAt )
86
+
87
+ return Credential (
88
+ context = c ["context" ],
89
+ toolName = c ["toolName" ],
90
+ type = CredentialType [c ["type" ]],
91
+ env = c ["env" ],
92
+ ephemeral = c .get ("ephemeral" , False ),
93
+ expiresAt = expiresAt ,
94
+ refreshToken = c ["refreshToken" ],
95
+ )
0 commit comments