@@ -970,6 +970,52 @@ def get(self, *args, **kwargs):
970970 return _FetcherWrapper (self ._binding .get (* args , ** kwargs ))
971971
972972
973+ class _WorkflowInstanceWrapper :
974+ def __init__ (self , binding ):
975+ self ._binding = binding
976+
977+ def __getattr__ (self , name ):
978+ return getattr (self ._binding , name )
979+
980+ async def send_event (self , * args , ** kwargs ):
981+ return self ._binding .sendEvent (* args , ** kwargs )
982+
983+ async def pause (self , * args , ** kwargs ):
984+ return self ._binding .pause (* args , ** kwargs )
985+
986+ async def resume (self , * args , ** kwargs ):
987+ return self ._binding .resume (* args , ** kwargs )
988+
989+ async def terminate (self , * args , ** kwargs ):
990+ return self ._binding .terminate (* args , ** kwargs )
991+
992+ async def restart (self , * args , ** kwargs ):
993+ return self ._binding .restart (* args , ** kwargs )
994+
995+ async def status (self , * args , ** kwargs ):
996+ return self ._binding .status (* args , ** kwargs )
997+
998+
999+ class _WorkflowBindingWrapper :
1000+ def __init__ (self , binding ):
1001+ self ._binding = binding
1002+
1003+ def __getattr__ (self , name ):
1004+ return getattr (self ._binding , name )
1005+
1006+ async def get (self , * args , ** kwargs ):
1007+ return _WorkflowInstanceWrapper (await self ._binding .get (* args , ** kwargs ))
1008+
1009+ async def create (self , * args , ** kwargs ):
1010+ return _WorkflowInstanceWrapper (await self ._binding .create (* args , ** kwargs ))
1011+
1012+ async def create_batch (self , * args , ** kwargs ):
1013+ return [
1014+ _WorkflowInstanceWrapper (w )
1015+ for w in await self ._binding .createBatch (* args , ** kwargs )
1016+ ]
1017+
1018+
9731019class _EnvWrapper :
9741020 def __init__ (self , env : Any ):
9751021 self ._env = env
@@ -982,6 +1028,9 @@ def _getattr_helper(self, name):
9821028 if _is_js_instance (binding , "DurableObjectNamespace" ):
9831029 return _DurableObjectNamespaceWrapper (binding )
9841030
1031+ if _is_js_instance (binding , "WorkflowImpl" ):
1032+ return _WorkflowBindingWrapper (binding )
1033+
9851034 # TODO: Implement APIs for bindings.
9861035 return binding
9871036
0 commit comments