modAL 1.4.2.dev13__py3-none-any.whl → 1.4.2.dev14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
modal/client.pyi CHANGED
@@ -35,7 +35,7 @@ class _Client:
35
35
  server_url: str,
36
36
  client_type: int,
37
37
  credentials: typing.Optional[tuple[str, str]],
38
- version: str = "1.4.2.dev13",
38
+ version: str = "1.4.2.dev14",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -175,7 +175,7 @@ class Client:
175
175
  server_url: str,
176
176
  client_type: int,
177
177
  credentials: typing.Optional[tuple[str, str]],
178
- version: str = "1.4.2.dev13",
178
+ version: str = "1.4.2.dev14",
179
179
  ):
180
180
  """mdmd:hidden
181
181
  The Modal client object is not intended to be instantiated directly by users.
modal/sandbox.py CHANGED
@@ -1110,7 +1110,12 @@ class _Sandbox(_Object, type_prefix="sb"):
1110
1110
 
1111
1111
  req = api_pb2.SandboxGetTunnelsRequest(sandbox_id=self.object_id, timeout=timeout)
1112
1112
  stub = self._client.stub
1113
- resp = await (stub.SandboxGetTunnelsV2(req) if self._is_v2 else stub.SandboxGetTunnels(req))
1113
+ if self._is_v2:
1114
+ assert self._client._auth_token_manager
1115
+ auth_token = await self._client._auth_token_manager.get_token()
1116
+ resp = await stub.SandboxGetTunnelsV2(req, metadata=[("x-modal-auth-token", auth_token)])
1117
+ else:
1118
+ resp = await stub.SandboxGetTunnels(req)
1114
1119
 
1115
1120
  # If we couldn't get the tunnels in time, report the timeout.
1116
1121
  if resp.result.status == api_pb2.GenericResult.GENERIC_STATUS_TIMEOUT:
@@ -1179,7 +1184,12 @@ class _Sandbox(_Object, type_prefix="sb"):
1179
1184
  This is a no-op if the Sandbox has already finished running."""
1180
1185
  req = api_pb2.SandboxTerminateRequest(sandbox_id=self.object_id)
1181
1186
  stub = self._client.stub
1182
- await (stub.SandboxTerminateV2(req) if self._is_v2 else stub.SandboxTerminate(req))
1187
+ if self._is_v2:
1188
+ assert self._client._auth_token_manager
1189
+ auth_token = await self._client._auth_token_manager.get_token()
1190
+ await stub.SandboxTerminateV2(req, metadata=[("x-modal-auth-token", auth_token)])
1191
+ else:
1192
+ await stub.SandboxTerminate(req)
1183
1193
  if wait:
1184
1194
  await self.wait(raise_on_termination=False)
1185
1195
  return self.returncode
@@ -1208,7 +1218,12 @@ class _Sandbox(_Object, type_prefix="sb"):
1208
1218
  while not self._task_id:
1209
1219
  req = api_pb2.SandboxGetTaskIdRequest(sandbox_id=self.object_id)
1210
1220
  stub = self._client.stub
1211
- resp = await (stub.SandboxGetTaskIdV2(req) if self._is_v2 else stub.SandboxGetTaskId(req))
1221
+ if self._is_v2:
1222
+ assert self._client._auth_token_manager
1223
+ auth_token = await self._client._auth_token_manager.get_token()
1224
+ resp = await stub.SandboxGetTaskIdV2(req, metadata=[("x-modal-auth-token", auth_token)])
1225
+ else:
1226
+ resp = await stub.SandboxGetTaskId(req)
1212
1227
  if not resp.task_id and raise_if_task_complete and resp.HasField("task_result"):
1213
1228
  msg = resp.task_result.exception or "Sandbox already finished"
1214
1229
  raise Error(msg)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.4.2.dev13
3
+ Version: 1.4.2.dev14
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -26,7 +26,7 @@ modal/app.pyi,sha256=mysbOCD6OjZi938NeMY40RpdpQbnI43Bb4s5P79x5OQ,53773
26
26
  modal/billing.py,sha256=B2zXa7KeMnpqi2AQINycEk-KSXVYaLTTTAQTtuf2Gfs,257
27
27
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
28
28
  modal/client.py,sha256=jjT4eLFHGcvIF6Xw4kPptIx-VmExtphRN8XJ1JA7fWI,15502
29
- modal/client.pyi,sha256=zoxiLuMLdCY5Hawmn572y6hFjf65qDcfRz4e5sTv9SI,15703
29
+ modal/client.pyi,sha256=gavLYn7MPjE5gpZ2Min3eHBppoosAogpNIuFkFBAJkk,15703
30
30
  modal/cloud_bucket_mount.py,sha256=KkaJVy5vpO_u2NtDYtv1JM-M3y4J0UtWBapTDKpQRcA,6034
31
31
  modal/cloud_bucket_mount.pyi,sha256=mGDeEd1XvxGpCE6O5jRBSfIvMXvZ5AtIybea5k-0w9w,7560
32
32
  modal/cls.py,sha256=Yrl5b_tQhZMhc5avInM-i5UlGuqeog6Gs4rX2d9lLjI,40390
@@ -68,7 +68,7 @@ modal/retries.py,sha256=vPWWKP-FRolJwTBuLPXdWqHV7aJfSQFgEW7vhlBBXRQ,5067
68
68
  modal/runner.py,sha256=yIB1PE5EGdvLWPPymyT4P0KYliREnFf-MAtULl3tVN0,30062
69
69
  modal/runner.pyi,sha256=ySefjmlMQ5FsvJgJkCWiUZKvcPNfEqdB5hwxI1fGtDo,9445
70
70
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
71
- modal/sandbox.py,sha256=LayePtgoare1fNR9DnGsYyBELz75b1FP5DB8jcPAkvw,81865
71
+ modal/sandbox.py,sha256=NTsVSS2XZNqz1A50KTnVq1XNeKVFsoH0aQJwFasF-AQ,82538
72
72
  modal/sandbox.pyi,sha256=YBf_dPM23kwYL9cBQyIsNTYw7rsEo3nyWckKemLXc8I,85634
73
73
  modal/sandbox_fs.py,sha256=pNlfii0vrCOBwhTEuT3Uzrp_f-0e6XZSx2sjtXnnPCc,15026
74
74
  modal/sandbox_fs.pyi,sha256=HEZnC31doeUdJMrdQYcAWGvbUGS2Y20do4heBN03pfg,23801
@@ -173,7 +173,7 @@ modal/experimental/__init__.py,sha256=Wb1YoAKAnNxH_0c2wA0T12I7bSu9PSO2nS_LuLska7
173
173
  modal/experimental/flash.py,sha256=ATGhVO8AleJ-TOe2PGolI5T7zfCEtj0kl_ivMPp7Rqg,33362
174
174
  modal/experimental/flash.pyi,sha256=R4h2nQl7-oiwqq_twCp0YqID_LnPjPGqxywXvxbiLIk,17011
175
175
  modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
176
- modal-1.4.2.dev13.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
176
+ modal-1.4.2.dev14.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
177
177
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
178
178
  modal_docs/gen_cli_docs.py,sha256=5sVABw4uGUqPXjcWT0Nqjkpe5KLs89C3tFnla58-D0M,3756
179
179
  modal_docs/gen_cli_docs_main.py,sha256=UPGr7O1DYTIRLwfINe2rbdh89J3cPVTU1OWL-SjxnOQ,198
@@ -183,22 +183,22 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
183
183
  modal_docs/mdmd/mdmd.py,sha256=z9T3lMktTq3N4r6T6MSSyw8lebbqKc3Igw8l9EdMJNM,9998
184
184
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
185
185
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
186
- modal_proto/api_grpc.py,sha256=XRW6PS7TAMwsI90sbW1GH8aa2wft0ZA4AeDrOMH3ULk,149205
187
- modal_proto/api_pb2.py,sha256=t4SUnufDsMzehOaVyGEB8gInXBGXe8TPInos--Bpf3I,414280
188
- modal_proto/api_pb2.pyi,sha256=4KAFG4bWAKFuI-o6itDmf_rKrlebx0hW-hqLkRQd9qU,580502
189
- modal_proto/api_pb2_grpc.py,sha256=Li6NnZt0kW4DIDOYecagfGaImcVkQBmGOgIgwK9GvGQ,321425
190
- modal_proto/api_pb2_grpc.pyi,sha256=IQEuD26-FJAAs4rvWQQbv6E_-wriUSod1OCbybn-uVE,75061
191
- modal_proto/modal_api_grpc.py,sha256=dFGRDQp8kmoh3Bl6e-rkiAzchAwQhTvu-xne9UViiPQ,23547
186
+ modal_proto/api_grpc.py,sha256=H4Z21x81592KlGzgDIcgltk5WixY5vs5EyOH8Q89wvA,153140
187
+ modal_proto/api_pb2.py,sha256=aBiF3ao8juCQ37cS0PnauYI6Y3_bSfwt3RL-6fEVb7E,423723
188
+ modal_proto/api_pb2.pyi,sha256=nrxMqbHx9VNhq4wOv8jqgMLIGL4f0WKNj57wXxIMvF4,592885
189
+ modal_proto/api_pb2_grpc.py,sha256=dWnojBtfuaqHvBos1FL-JMNEB7LsNHM1UGUpKXO5IFY,329867
190
+ modal_proto/api_pb2_grpc.pyi,sha256=qDqqKIs18olWaoBjLOJ8Z6Gn8_GjpNn3Z1Pw1yG_M4I,77024
191
+ modal_proto/modal_api_grpc.py,sha256=bBPhTehvCriGANMHxXNxKa58ew_2QbSvO88zhKCr4CE,24177
192
192
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
193
  modal_proto/task_command_router_grpc.py,sha256=wbRjiCyx9MlvkmPKM_6UVU1KmJaynUO4Eyt6tDKtmRk,12572
194
194
  modal_proto/task_command_router_pb2.py,sha256=Kadayms1M02hoAtV4hom00t143GAHxUNvohOxTIRaCg,24322
195
195
  modal_proto/task_command_router_pb2.pyi,sha256=nnMXJQ81eSbgeA0SkBOcUHXiD5hRknYi5MK7wVkPlU0,27068
196
196
  modal_proto/task_command_router_pb2_grpc.py,sha256=CW52Dj00YLRRAc2-KIz_aimGe7RuKvx0cROMs2No-b0,25002
197
197
  modal_proto/task_command_router_pb2_grpc.pyi,sha256=j4-VU3QFp8nUyx5_6F04T4IIU28KWHpAFMnY8Eg521g,8018
198
- modal_version/__init__.py,sha256=i3yyCvfu1TL4UrZ52wJhan-DxclsalsHrE9B4QZ9DO8,121
198
+ modal_version/__init__.py,sha256=SGJgmgTsGVJ0OJHpDmLDQrZP1D9VFYeIxyTVhgRdLBU,121
199
199
  modal_version/__main__.py,sha256=nLUbubxKx7GXNzJIkTB7M7_u8080LyLM0IS0rzFkC_c,119
200
- modal-1.4.2.dev13.dist-info/METADATA,sha256=3WAulmtrP2DabERweC85FgtFoKiODaGPKRAz4FAZFoU,2365
201
- modal-1.4.2.dev13.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
202
- modal-1.4.2.dev13.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
203
- modal-1.4.2.dev13.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
204
- modal-1.4.2.dev13.dist-info/RECORD,,
200
+ modal-1.4.2.dev14.dist-info/METADATA,sha256=7hlQWy82I3NNj0vuscIfVNuOIL0Jh_UnGLBWPbpcyKQ,2365
201
+ modal-1.4.2.dev14.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
202
+ modal-1.4.2.dev14.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
203
+ modal-1.4.2.dev14.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
204
+ modal-1.4.2.dev14.dist-info/RECORD,,
modal_proto/api_grpc.py CHANGED
@@ -267,6 +267,10 @@ class ModalClientBase(abc.ABC):
267
267
  async def EnvironmentDelete(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentDeleteRequest, google.protobuf.empty_pb2.Empty]') -> None:
268
268
  pass
269
269
 
270
+ @abc.abstractmethod
271
+ async def EnvironmentGetManaged(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentGetManagedRequest, modal_proto.api_pb2.EnvironmentGetManagedResponse]') -> None:
272
+ pass
273
+
270
274
  @abc.abstractmethod
271
275
  async def EnvironmentGetOrCreate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentGetOrCreateRequest, modal_proto.api_pb2.EnvironmentGetOrCreateResponse]') -> None:
272
276
  pass
@@ -275,6 +279,14 @@ class ModalClientBase(abc.ABC):
275
279
  async def EnvironmentList(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.EnvironmentListResponse]') -> None:
276
280
  pass
277
281
 
282
+ @abc.abstractmethod
283
+ async def EnvironmentRoleSet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentRoleSetRequest, google.protobuf.empty_pb2.Empty]') -> None:
284
+ pass
285
+
286
+ @abc.abstractmethod
287
+ async def EnvironmentSetManaged(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentSetManagedRequest, google.protobuf.empty_pb2.Empty]') -> None:
288
+ pass
289
+
278
290
  @abc.abstractmethod
279
291
  async def EnvironmentUpdate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentUpdateRequest, modal_proto.api_pb2.EnvironmentListItem]') -> None:
280
292
  pass
@@ -623,6 +635,10 @@ class ModalClientBase(abc.ABC):
623
635
  async def SecretUpdate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SecretUpdateRequest, google.protobuf.empty_pb2.Empty]') -> None:
624
636
  pass
625
637
 
638
+ @abc.abstractmethod
639
+ async def ServiceUserList(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.ServiceUserListResponse]') -> None:
640
+ pass
641
+
626
642
  @abc.abstractmethod
627
643
  async def SharedVolumeDelete(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SharedVolumeDeleteRequest, google.protobuf.empty_pb2.Empty]') -> None:
628
644
  pass
@@ -787,6 +803,10 @@ class ModalClientBase(abc.ABC):
787
803
  async def WorkspaceDashboardUrlGet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.WorkspaceDashboardUrlRequest, modal_proto.api_pb2.WorkspaceDashboardUrlResponse]') -> None:
788
804
  pass
789
805
 
806
+ @abc.abstractmethod
807
+ async def WorkspaceMembersList(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.WorkspaceMembersListResponse]') -> None:
808
+ pass
809
+
790
810
  @abc.abstractmethod
791
811
  async def WorkspaceNameLookup(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.WorkspaceNameLookupResponse]') -> None:
792
812
  pass
@@ -1165,6 +1185,12 @@ class ModalClientBase(abc.ABC):
1165
1185
  modal_proto.api_pb2.EnvironmentDeleteRequest,
1166
1186
  google.protobuf.empty_pb2.Empty,
1167
1187
  ),
1188
+ '/modal.client.ModalClient/EnvironmentGetManaged': grpclib.const.Handler(
1189
+ self.EnvironmentGetManaged,
1190
+ grpclib.const.Cardinality.UNARY_UNARY,
1191
+ modal_proto.api_pb2.EnvironmentGetManagedRequest,
1192
+ modal_proto.api_pb2.EnvironmentGetManagedResponse,
1193
+ ),
1168
1194
  '/modal.client.ModalClient/EnvironmentGetOrCreate': grpclib.const.Handler(
1169
1195
  self.EnvironmentGetOrCreate,
1170
1196
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1177,6 +1203,18 @@ class ModalClientBase(abc.ABC):
1177
1203
  google.protobuf.empty_pb2.Empty,
1178
1204
  modal_proto.api_pb2.EnvironmentListResponse,
1179
1205
  ),
1206
+ '/modal.client.ModalClient/EnvironmentRoleSet': grpclib.const.Handler(
1207
+ self.EnvironmentRoleSet,
1208
+ grpclib.const.Cardinality.UNARY_UNARY,
1209
+ modal_proto.api_pb2.EnvironmentRoleSetRequest,
1210
+ google.protobuf.empty_pb2.Empty,
1211
+ ),
1212
+ '/modal.client.ModalClient/EnvironmentSetManaged': grpclib.const.Handler(
1213
+ self.EnvironmentSetManaged,
1214
+ grpclib.const.Cardinality.UNARY_UNARY,
1215
+ modal_proto.api_pb2.EnvironmentSetManagedRequest,
1216
+ google.protobuf.empty_pb2.Empty,
1217
+ ),
1180
1218
  '/modal.client.ModalClient/EnvironmentUpdate': grpclib.const.Handler(
1181
1219
  self.EnvironmentUpdate,
1182
1220
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1699,6 +1737,12 @@ class ModalClientBase(abc.ABC):
1699
1737
  modal_proto.api_pb2.SecretUpdateRequest,
1700
1738
  google.protobuf.empty_pb2.Empty,
1701
1739
  ),
1740
+ '/modal.client.ModalClient/ServiceUserList': grpclib.const.Handler(
1741
+ self.ServiceUserList,
1742
+ grpclib.const.Cardinality.UNARY_UNARY,
1743
+ google.protobuf.empty_pb2.Empty,
1744
+ modal_proto.api_pb2.ServiceUserListResponse,
1745
+ ),
1702
1746
  '/modal.client.ModalClient/SharedVolumeDelete': grpclib.const.Handler(
1703
1747
  self.SharedVolumeDelete,
1704
1748
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1945,6 +1989,12 @@ class ModalClientBase(abc.ABC):
1945
1989
  modal_proto.api_pb2.WorkspaceDashboardUrlRequest,
1946
1990
  modal_proto.api_pb2.WorkspaceDashboardUrlResponse,
1947
1991
  ),
1992
+ '/modal.client.ModalClient/WorkspaceMembersList': grpclib.const.Handler(
1993
+ self.WorkspaceMembersList,
1994
+ grpclib.const.Cardinality.UNARY_UNARY,
1995
+ google.protobuf.empty_pb2.Empty,
1996
+ modal_proto.api_pb2.WorkspaceMembersListResponse,
1997
+ ),
1948
1998
  '/modal.client.ModalClient/WorkspaceNameLookup': grpclib.const.Handler(
1949
1999
  self.WorkspaceNameLookup,
1950
2000
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2329,6 +2379,12 @@ class ModalClientStub:
2329
2379
  modal_proto.api_pb2.EnvironmentDeleteRequest,
2330
2380
  google.protobuf.empty_pb2.Empty,
2331
2381
  )
2382
+ self.EnvironmentGetManaged = grpclib.client.UnaryUnaryMethod(
2383
+ channel,
2384
+ '/modal.client.ModalClient/EnvironmentGetManaged',
2385
+ modal_proto.api_pb2.EnvironmentGetManagedRequest,
2386
+ modal_proto.api_pb2.EnvironmentGetManagedResponse,
2387
+ )
2332
2388
  self.EnvironmentGetOrCreate = grpclib.client.UnaryUnaryMethod(
2333
2389
  channel,
2334
2390
  '/modal.client.ModalClient/EnvironmentGetOrCreate',
@@ -2341,6 +2397,18 @@ class ModalClientStub:
2341
2397
  google.protobuf.empty_pb2.Empty,
2342
2398
  modal_proto.api_pb2.EnvironmentListResponse,
2343
2399
  )
2400
+ self.EnvironmentRoleSet = grpclib.client.UnaryUnaryMethod(
2401
+ channel,
2402
+ '/modal.client.ModalClient/EnvironmentRoleSet',
2403
+ modal_proto.api_pb2.EnvironmentRoleSetRequest,
2404
+ google.protobuf.empty_pb2.Empty,
2405
+ )
2406
+ self.EnvironmentSetManaged = grpclib.client.UnaryUnaryMethod(
2407
+ channel,
2408
+ '/modal.client.ModalClient/EnvironmentSetManaged',
2409
+ modal_proto.api_pb2.EnvironmentSetManagedRequest,
2410
+ google.protobuf.empty_pb2.Empty,
2411
+ )
2344
2412
  self.EnvironmentUpdate = grpclib.client.UnaryUnaryMethod(
2345
2413
  channel,
2346
2414
  '/modal.client.ModalClient/EnvironmentUpdate',
@@ -2863,6 +2931,12 @@ class ModalClientStub:
2863
2931
  modal_proto.api_pb2.SecretUpdateRequest,
2864
2932
  google.protobuf.empty_pb2.Empty,
2865
2933
  )
2934
+ self.ServiceUserList = grpclib.client.UnaryUnaryMethod(
2935
+ channel,
2936
+ '/modal.client.ModalClient/ServiceUserList',
2937
+ google.protobuf.empty_pb2.Empty,
2938
+ modal_proto.api_pb2.ServiceUserListResponse,
2939
+ )
2866
2940
  self.SharedVolumeDelete = grpclib.client.UnaryUnaryMethod(
2867
2941
  channel,
2868
2942
  '/modal.client.ModalClient/SharedVolumeDelete',
@@ -3109,6 +3183,12 @@ class ModalClientStub:
3109
3183
  modal_proto.api_pb2.WorkspaceDashboardUrlRequest,
3110
3184
  modal_proto.api_pb2.WorkspaceDashboardUrlResponse,
3111
3185
  )
3186
+ self.WorkspaceMembersList = grpclib.client.UnaryUnaryMethod(
3187
+ channel,
3188
+ '/modal.client.ModalClient/WorkspaceMembersList',
3189
+ google.protobuf.empty_pb2.Empty,
3190
+ modal_proto.api_pb2.WorkspaceMembersListResponse,
3191
+ )
3112
3192
  self.WorkspaceNameLookup = grpclib.client.UnaryUnaryMethod(
3113
3193
  channel,
3114
3194
  '/modal.client.ModalClient/WorkspaceNameLookup',