44
44
except (ImportError , AttributeError ):
45
45
BaseAgent = Any
46
46
47
+ try :
48
+ from google .adk .plugins .base_plugin import BasePlugin
49
+
50
+ BasePlugin = BasePlugin
51
+ except (ImportError , AttributeError ):
52
+ BasePlugin = Any
53
+
47
54
try :
48
55
from google .adk .sessions import BaseSessionService
49
56
72
79
except (ImportError , AttributeError ):
73
80
BaseMemoryService = Any
74
81
82
+ try :
83
+ from google .adk .auth .credential_service .base_credential_service import (
84
+ BaseCredentialService ,
85
+ )
86
+
87
+ BaseCredentialService = BaseCredentialService
88
+ except (ImportError , AttributeError ):
89
+ BaseCredentialService = Any
90
+
75
91
try :
76
92
from opentelemetry .sdk import trace
77
93
@@ -322,10 +338,14 @@ def __init__(
322
338
self ,
323
339
* ,
324
340
agent : "BaseAgent" ,
341
+ plugins : Optional [List ["BasePlugin" ]] = None ,
325
342
enable_tracing : bool = False ,
326
343
session_service_builder : Optional [Callable [..., "BaseSessionService" ]] = None ,
327
344
artifact_service_builder : Optional [Callable [..., "BaseArtifactService" ]] = None ,
328
345
memory_service_builder : Optional [Callable [..., "BaseMemoryService" ]] = None ,
346
+ credential_service_builder : Optional [
347
+ Callable [..., "BaseCredentialService" ]
348
+ ] = None ,
329
349
env_vars : Optional [Dict [str , str ]] = None ,
330
350
):
331
351
"""An ADK Application."""
@@ -343,10 +363,12 @@ def __init__(
343
363
"project" : initializer .global_config .project ,
344
364
"location" : initializer .global_config .location ,
345
365
"agent" : agent ,
366
+ "plugins" : plugins ,
346
367
"enable_tracing" : enable_tracing ,
347
368
"session_service_builder" : session_service_builder ,
348
369
"artifact_service_builder" : artifact_service_builder ,
349
370
"memory_service_builder" : memory_service_builder ,
371
+ "credential_service_builder" : credential_service_builder ,
350
372
"app_name" : _DEFAULT_APP_NAME ,
351
373
"env_vars" : env_vars or {},
352
374
}
@@ -533,8 +555,19 @@ def set_up(self):
533
555
else :
534
556
self ._tmpl_attrs ["memory_service" ] = InMemoryMemoryService ()
535
557
558
+ credential_service_builder = self ._tmpl_attrs .get ("credential_service_builder" )
559
+ if credential_service_builder :
560
+ self ._tmpl_attrs ["credential_service" ] = credential_service_builder ()
561
+ else :
562
+ from google .adk .auth .credential_service .in_memory_credential_service import (
563
+ InMemoryCredentialService ,
564
+ )
565
+
566
+ self ._tmpl_attrs ["credential_service" ] = InMemoryCredentialService ()
567
+
536
568
self ._tmpl_attrs ["runner" ] = Runner (
537
569
agent = self ._tmpl_attrs .get ("agent" ),
570
+ plugins = self ._tmpl_attrs .get ("plugins" ),
538
571
session_service = self ._tmpl_attrs .get ("session_service" ),
539
572
artifact_service = self ._tmpl_attrs .get ("artifact_service" ),
540
573
memory_service = self ._tmpl_attrs .get ("memory_service" ),
@@ -548,6 +581,7 @@ def set_up(self):
548
581
session_service = self ._tmpl_attrs .get ("in_memory_session_service" ),
549
582
artifact_service = self ._tmpl_attrs .get ("in_memory_artifact_service" ),
550
583
memory_service = self ._tmpl_attrs .get ("in_memory_memory_service" ),
584
+ credential_service = self ._tmpl_attrs .get ("credential_service" ),
551
585
app_name = self ._tmpl_attrs .get ("app_name" ),
552
586
)
553
587
0 commit comments