File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed
Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -250,15 +250,26 @@ class AgentSpec:
250250
251251 _runtime : Runtime | None = None
252252
253+ async def run (self , msg : RawMessage , timeout : float = 0.5 ) -> RawMessage :
254+ self ._assert_runtime ()
255+
256+ addr = Address (name = self .name , id = uuid .uuid4 ().hex )
257+ return await self ._runtime .channel .publish (
258+ addr , msg , request = True , timeout = timeout
259+ )
260+
253261 async def run_stream (self , msg : RawMessage ) -> AsyncIterator [RawMessage ]:
254- if self ._runtime is None :
255- raise ValueError (f"AgentSpec { self .name } is not registered to a runtime." )
262+ self ._assert_runtime ()
256263
257264 addr = Address (name = self .name , id = uuid .uuid4 ().hex )
258265 result = self ._runtime .channel .publish_multi (addr , msg )
259266 async for chunk in result :
260267 yield chunk
261268
269+ def _assert_runtime (self ) -> None :
270+ if self ._runtime is None :
271+ raise ValueError (f"AgentSpec { self .name } is not registered to a runtime." )
272+
262273
263274class Runtime (abc .ABC ):
264275 async def __aenter__ (self ):
You can’t perform that action at this time.
0 commit comments