modal 1.0.6.dev61__py3-none-any.whl → 1.1.1__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.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

Files changed (75) hide show
  1. modal/__main__.py +2 -2
  2. modal/_clustered_functions.py +3 -0
  3. modal/_clustered_functions.pyi +3 -2
  4. modal/_functions.py +78 -26
  5. modal/_object.py +9 -1
  6. modal/_output.py +14 -25
  7. modal/_runtime/gpu_memory_snapshot.py +158 -54
  8. modal/_utils/async_utils.py +6 -4
  9. modal/_utils/auth_token_manager.py +1 -1
  10. modal/_utils/blob_utils.py +16 -21
  11. modal/_utils/function_utils.py +16 -4
  12. modal/_utils/time_utils.py +8 -4
  13. modal/app.py +0 -4
  14. modal/app.pyi +0 -4
  15. modal/cli/_traceback.py +3 -2
  16. modal/cli/app.py +4 -4
  17. modal/cli/cluster.py +4 -4
  18. modal/cli/config.py +2 -2
  19. modal/cli/container.py +2 -2
  20. modal/cli/dict.py +4 -4
  21. modal/cli/entry_point.py +2 -2
  22. modal/cli/import_refs.py +3 -3
  23. modal/cli/network_file_system.py +8 -9
  24. modal/cli/profile.py +2 -2
  25. modal/cli/queues.py +5 -5
  26. modal/cli/secret.py +5 -5
  27. modal/cli/utils.py +3 -4
  28. modal/cli/volume.py +8 -9
  29. modal/client.py +8 -1
  30. modal/client.pyi +9 -10
  31. modal/container_process.py +2 -2
  32. modal/dict.py +47 -3
  33. modal/dict.pyi +55 -0
  34. modal/exception.py +4 -0
  35. modal/experimental/__init__.py +1 -1
  36. modal/experimental/flash.py +18 -2
  37. modal/experimental/flash.pyi +19 -0
  38. modal/functions.pyi +6 -7
  39. modal/image.py +26 -10
  40. modal/image.pyi +12 -4
  41. modal/mount.py +1 -1
  42. modal/object.pyi +4 -0
  43. modal/parallel_map.py +432 -4
  44. modal/parallel_map.pyi +28 -0
  45. modal/queue.py +46 -3
  46. modal/queue.pyi +53 -0
  47. modal/sandbox.py +105 -25
  48. modal/sandbox.pyi +108 -18
  49. modal/secret.py +48 -5
  50. modal/secret.pyi +55 -0
  51. modal/token_flow.py +3 -3
  52. modal/volume.py +49 -18
  53. modal/volume.pyi +50 -8
  54. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/METADATA +2 -2
  55. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/RECORD +75 -75
  56. modal_proto/api.proto +140 -14
  57. modal_proto/api_grpc.py +80 -0
  58. modal_proto/api_pb2.py +927 -756
  59. modal_proto/api_pb2.pyi +488 -34
  60. modal_proto/api_pb2_grpc.py +166 -0
  61. modal_proto/api_pb2_grpc.pyi +52 -0
  62. modal_proto/modal_api_grpc.py +5 -0
  63. modal_version/__init__.py +1 -1
  64. /modal/{requirements → builder}/2023.12.312.txt +0 -0
  65. /modal/{requirements → builder}/2023.12.txt +0 -0
  66. /modal/{requirements → builder}/2024.04.txt +0 -0
  67. /modal/{requirements → builder}/2024.10.txt +0 -0
  68. /modal/{requirements → builder}/2025.06.txt +0 -0
  69. /modal/{requirements → builder}/PREVIEW.txt +0 -0
  70. /modal/{requirements → builder}/README.md +0 -0
  71. /modal/{requirements → builder}/base-images.json +0 -0
  72. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/WHEEL +0 -0
  73. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/entry_points.txt +0 -0
  74. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/licenses/LICENSE +0 -0
  75. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi CHANGED
@@ -649,6 +649,25 @@ SYSTEM_ERROR_CODE_NOSPC: SystemErrorCode.ValueType # 28
649
649
  """ENOSPC: No space left on device"""
650
650
  global___SystemErrorCode = SystemErrorCode
651
651
 
652
+ class _TaskSnapshotBehavior:
653
+ ValueType = typing.NewType("ValueType", builtins.int)
654
+ V: typing_extensions.TypeAlias = ValueType
655
+
656
+ class _TaskSnapshotBehaviorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TaskSnapshotBehavior.ValueType], builtins.type): # noqa: F821
657
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
658
+ TASK_SNAPSHOT_BEHAVIOR_UNSPECIFIED: _TaskSnapshotBehavior.ValueType # 0
659
+ TASK_SNAPSHOT_BEHAVIOR_SNAPSHOT: _TaskSnapshotBehavior.ValueType # 1
660
+ TASK_SNAPSHOT_BEHAVIOR_RESTORE: _TaskSnapshotBehavior.ValueType # 2
661
+ TASK_SNAPSHOT_BEHAVIOR_NONE: _TaskSnapshotBehavior.ValueType # 3
662
+
663
+ class TaskSnapshotBehavior(_TaskSnapshotBehavior, metaclass=_TaskSnapshotBehaviorEnumTypeWrapper): ...
664
+
665
+ TASK_SNAPSHOT_BEHAVIOR_UNSPECIFIED: TaskSnapshotBehavior.ValueType # 0
666
+ TASK_SNAPSHOT_BEHAVIOR_SNAPSHOT: TaskSnapshotBehavior.ValueType # 1
667
+ TASK_SNAPSHOT_BEHAVIOR_RESTORE: TaskSnapshotBehavior.ValueType # 2
668
+ TASK_SNAPSHOT_BEHAVIOR_NONE: TaskSnapshotBehavior.ValueType # 3
669
+ global___TaskSnapshotBehavior = TaskSnapshotBehavior
670
+
652
671
  class _TaskState:
653
672
  ValueType = typing.NewType("ValueType", builtins.int)
654
673
  V: typing_extensions.TypeAlias = ValueType
@@ -1940,7 +1959,8 @@ class AttemptStartResponse(google.protobuf.message.Message):
1940
1959
  RETRY_POLICY_FIELD_NUMBER: builtins.int
1941
1960
  attempt_token: builtins.str
1942
1961
  @property
1943
- def retry_policy(self) -> global___FunctionRetryPolicy: ...
1962
+ def retry_policy(self) -> global___FunctionRetryPolicy:
1963
+ """TODO(ben-okeefe) TODO(nathan): Not currently used"""
1944
1964
  def __init__(
1945
1965
  self,
1946
1966
  *,
@@ -2717,6 +2737,7 @@ class ContainerArguments(google.protobuf.message.Message):
2717
2737
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
2718
2738
  CHECKPOINT_ID_FIELD_NUMBER: builtins.int
2719
2739
  APP_LAYOUT_FIELD_NUMBER: builtins.int
2740
+ INPUT_PLANE_SERVER_URL_FIELD_NUMBER: builtins.int
2720
2741
  task_id: builtins.str
2721
2742
  function_id: builtins.str
2722
2743
  app_id: builtins.str
@@ -2732,6 +2753,7 @@ class ContainerArguments(google.protobuf.message.Message):
2732
2753
  checkpoint_id: builtins.str
2733
2754
  @property
2734
2755
  def app_layout(self) -> global___AppLayout: ...
2756
+ input_plane_server_url: builtins.str
2735
2757
  def __init__(
2736
2758
  self,
2737
2759
  *,
@@ -2746,9 +2768,10 @@ class ContainerArguments(google.protobuf.message.Message):
2746
2768
  environment_name: builtins.str = ...,
2747
2769
  checkpoint_id: builtins.str | None = ...,
2748
2770
  app_layout: global___AppLayout | None = ...,
2771
+ input_plane_server_url: builtins.str = ...,
2749
2772
  ) -> None: ...
2750
2773
  def HasField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "app_layout", b"app_layout", "checkpoint_id", b"checkpoint_id", "function_def", b"function_def", "proxy_info", b"proxy_info"]) -> builtins.bool: ...
2751
- def ClearField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "app_id", b"app_id", "app_layout", b"app_layout", "checkpoint_id", b"checkpoint_id", "environment_name", b"environment_name", "function_def", b"function_def", "function_id", b"function_id", "proxy_info", b"proxy_info", "runtime", b"runtime", "serialized_params", b"serialized_params", "task_id", b"task_id", "tracing_context", b"tracing_context"]) -> None: ...
2774
+ def ClearField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "app_id", b"app_id", "app_layout", b"app_layout", "checkpoint_id", b"checkpoint_id", "environment_name", b"environment_name", "function_def", b"function_def", "function_id", b"function_id", "input_plane_server_url", b"input_plane_server_url", "proxy_info", b"proxy_info", "runtime", b"runtime", "serialized_params", b"serialized_params", "task_id", b"task_id", "tracing_context", b"tracing_context"]) -> None: ...
2752
2775
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id"]) -> typing_extensions.Literal["checkpoint_id"] | None: ...
2753
2776
 
2754
2777
  global___ContainerArguments = ContainerArguments
@@ -3363,6 +3386,27 @@ class ContainerStopResponse(google.protobuf.message.Message):
3363
3386
 
3364
3387
  global___ContainerStopResponse = ContainerStopResponse
3365
3388
 
3389
+ class CreationInfo(google.protobuf.message.Message):
3390
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
3391
+
3392
+ CREATED_AT_FIELD_NUMBER: builtins.int
3393
+ CREATED_BY_FIELD_NUMBER: builtins.int
3394
+ created_at: builtins.float
3395
+ """This message is used in metadata for resource objects like Dict, Queue, Volume, etc.
3396
+ Timestamp of resource creation
3397
+ """
3398
+ created_by: builtins.str
3399
+ """User name or service name"""
3400
+ def __init__(
3401
+ self,
3402
+ *,
3403
+ created_at: builtins.float = ...,
3404
+ created_by: builtins.str = ...,
3405
+ ) -> None: ...
3406
+ def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "created_by", b"created_by"]) -> None: ...
3407
+
3408
+ global___CreationInfo = CreationInfo
3409
+
3366
3410
  class CustomDomainConfig(google.protobuf.message.Message):
3367
3411
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
3368
3412
 
@@ -3566,13 +3610,18 @@ class DictGetOrCreateResponse(google.protobuf.message.Message):
3566
3610
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
3567
3611
 
3568
3612
  DICT_ID_FIELD_NUMBER: builtins.int
3613
+ METADATA_FIELD_NUMBER: builtins.int
3569
3614
  dict_id: builtins.str
3615
+ @property
3616
+ def metadata(self) -> global___DictMetadata: ...
3570
3617
  def __init__(
3571
3618
  self,
3572
3619
  *,
3573
3620
  dict_id: builtins.str = ...,
3621
+ metadata: global___DictMetadata | None = ...,
3574
3622
  ) -> None: ...
3575
- def ClearField(self, field_name: typing_extensions.Literal["dict_id", b"dict_id"]) -> None: ...
3623
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
3624
+ def ClearField(self, field_name: typing_extensions.Literal["dict_id", b"dict_id", "metadata", b"metadata"]) -> None: ...
3576
3625
 
3577
3626
  global___DictGetOrCreateResponse = DictGetOrCreateResponse
3578
3627
 
@@ -3658,13 +3707,18 @@ class DictListRequest(google.protobuf.message.Message):
3658
3707
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
3659
3708
 
3660
3709
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
3710
+ PAGINATION_FIELD_NUMBER: builtins.int
3661
3711
  environment_name: builtins.str
3712
+ @property
3713
+ def pagination(self) -> global___ListPagination: ...
3662
3714
  def __init__(
3663
3715
  self,
3664
3716
  *,
3665
3717
  environment_name: builtins.str = ...,
3718
+ pagination: global___ListPagination | None = ...,
3666
3719
  ) -> None: ...
3667
- def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name"]) -> None: ...
3720
+ def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
3721
+ def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "pagination", b"pagination"]) -> None: ...
3668
3722
 
3669
3723
  global___DictListRequest = DictListRequest
3670
3724
 
@@ -3676,28 +3730,59 @@ class DictListResponse(google.protobuf.message.Message):
3676
3730
 
3677
3731
  NAME_FIELD_NUMBER: builtins.int
3678
3732
  CREATED_AT_FIELD_NUMBER: builtins.int
3733
+ DICT_ID_FIELD_NUMBER: builtins.int
3734
+ METADATA_FIELD_NUMBER: builtins.int
3679
3735
  name: builtins.str
3680
3736
  created_at: builtins.float
3737
+ """Superseded by metadata, used by clients up to 1.1.1"""
3738
+ dict_id: builtins.str
3739
+ @property
3740
+ def metadata(self) -> global___DictMetadata: ...
3681
3741
  def __init__(
3682
3742
  self,
3683
3743
  *,
3684
3744
  name: builtins.str = ...,
3685
3745
  created_at: builtins.float = ...,
3746
+ dict_id: builtins.str = ...,
3747
+ metadata: global___DictMetadata | None = ...,
3686
3748
  ) -> None: ...
3687
- def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "name", b"name"]) -> None: ...
3749
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
3750
+ def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "dict_id", b"dict_id", "metadata", b"metadata", "name", b"name"]) -> None: ...
3688
3751
 
3689
3752
  DICTS_FIELD_NUMBER: builtins.int
3753
+ ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
3690
3754
  @property
3691
3755
  def dicts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DictListResponse.DictInfo]: ...
3756
+ environment_name: builtins.str
3692
3757
  def __init__(
3693
3758
  self,
3694
3759
  *,
3695
3760
  dicts: collections.abc.Iterable[global___DictListResponse.DictInfo] | None = ...,
3761
+ environment_name: builtins.str = ...,
3696
3762
  ) -> None: ...
3697
- def ClearField(self, field_name: typing_extensions.Literal["dicts", b"dicts"]) -> None: ...
3763
+ def ClearField(self, field_name: typing_extensions.Literal["dicts", b"dicts", "environment_name", b"environment_name"]) -> None: ...
3698
3764
 
3699
3765
  global___DictListResponse = DictListResponse
3700
3766
 
3767
+ class DictMetadata(google.protobuf.message.Message):
3768
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
3769
+
3770
+ NAME_FIELD_NUMBER: builtins.int
3771
+ CREATION_INFO_FIELD_NUMBER: builtins.int
3772
+ name: builtins.str
3773
+ @property
3774
+ def creation_info(self) -> global___CreationInfo: ...
3775
+ def __init__(
3776
+ self,
3777
+ *,
3778
+ name: builtins.str = ...,
3779
+ creation_info: global___CreationInfo | None = ...,
3780
+ ) -> None: ...
3781
+ def HasField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info"]) -> builtins.bool: ...
3782
+ def ClearField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info", "name", b"name"]) -> None: ...
3783
+
3784
+ global___DictMetadata = DictMetadata
3785
+
3701
3786
  class DictPopRequest(google.protobuf.message.Message):
3702
3787
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
3703
3788
 
@@ -4633,11 +4718,14 @@ class FunctionBindParamsRequest(google.protobuf.message.Message):
4633
4718
  SERIALIZED_PARAMS_FIELD_NUMBER: builtins.int
4634
4719
  FUNCTION_OPTIONS_FIELD_NUMBER: builtins.int
4635
4720
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
4721
+ AUTH_SECRET_FIELD_NUMBER: builtins.int
4636
4722
  function_id: builtins.str
4637
4723
  serialized_params: builtins.bytes
4638
4724
  @property
4639
4725
  def function_options(self) -> global___FunctionOptions: ...
4640
4726
  environment_name: builtins.str
4727
+ auth_secret: builtins.str
4728
+ """Only used for the input plane."""
4641
4729
  def __init__(
4642
4730
  self,
4643
4731
  *,
@@ -4645,9 +4733,10 @@ class FunctionBindParamsRequest(google.protobuf.message.Message):
4645
4733
  serialized_params: builtins.bytes = ...,
4646
4734
  function_options: global___FunctionOptions | None = ...,
4647
4735
  environment_name: builtins.str = ...,
4736
+ auth_secret: builtins.str = ...,
4648
4737
  ) -> None: ...
4649
4738
  def HasField(self, field_name: typing_extensions.Literal["function_options", b"function_options"]) -> builtins.bool: ...
4650
- def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "function_id", b"function_id", "function_options", b"function_options", "serialized_params", b"serialized_params"]) -> None: ...
4739
+ def ClearField(self, field_name: typing_extensions.Literal["auth_secret", b"auth_secret", "environment_name", b"environment_name", "function_id", b"function_id", "function_options", b"function_options", "serialized_params", b"serialized_params"]) -> None: ...
4651
4740
 
4652
4741
  global___FunctionBindParamsRequest = FunctionBindParamsRequest
4653
4742
 
@@ -4721,15 +4810,20 @@ class FunctionCallGetDataRequest(google.protobuf.message.Message):
4721
4810
 
4722
4811
  FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
4723
4812
  LAST_INDEX_FIELD_NUMBER: builtins.int
4813
+ ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
4724
4814
  function_call_id: builtins.str
4725
4815
  last_index: builtins.int
4816
+ attempt_token: builtins.str
4726
4817
  def __init__(
4727
4818
  self,
4728
4819
  *,
4729
4820
  function_call_id: builtins.str = ...,
4730
4821
  last_index: builtins.int = ...,
4822
+ attempt_token: builtins.str | None = ...,
4731
4823
  ) -> None: ...
4732
- def ClearField(self, field_name: typing_extensions.Literal["function_call_id", b"function_call_id", "last_index", b"last_index"]) -> None: ...
4824
+ def HasField(self, field_name: typing_extensions.Literal["_attempt_token", b"_attempt_token", "attempt_token", b"attempt_token"]) -> builtins.bool: ...
4825
+ def ClearField(self, field_name: typing_extensions.Literal["_attempt_token", b"_attempt_token", "attempt_token", b"attempt_token", "function_call_id", b"function_call_id", "last_index", b"last_index"]) -> None: ...
4826
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_attempt_token", b"_attempt_token"]) -> typing_extensions.Literal["attempt_token"] | None: ...
4733
4827
 
4734
4828
  global___FunctionCallGetDataRequest = FunctionCallGetDataRequest
4735
4829
 
@@ -5208,6 +5302,7 @@ class FunctionGetInputsItem(google.protobuf.message.Message):
5208
5302
  FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
5209
5303
  FUNCTION_CALL_INVOCATION_TYPE_FIELD_NUMBER: builtins.int
5210
5304
  RETRY_COUNT_FIELD_NUMBER: builtins.int
5305
+ FUNCTION_MAP_IDX_FIELD_NUMBER: builtins.int
5211
5306
  input_id: builtins.str
5212
5307
  @property
5213
5308
  def input(self) -> global___FunctionInput: ...
@@ -5215,6 +5310,8 @@ class FunctionGetInputsItem(google.protobuf.message.Message):
5215
5310
  function_call_id: builtins.str
5216
5311
  function_call_invocation_type: global___FunctionCallInvocationType.ValueType
5217
5312
  retry_count: builtins.int
5313
+ function_map_idx: builtins.int
5314
+ """intercepted and only used by the worker."""
5218
5315
  def __init__(
5219
5316
  self,
5220
5317
  *,
@@ -5224,9 +5321,11 @@ class FunctionGetInputsItem(google.protobuf.message.Message):
5224
5321
  function_call_id: builtins.str = ...,
5225
5322
  function_call_invocation_type: global___FunctionCallInvocationType.ValueType = ...,
5226
5323
  retry_count: builtins.int = ...,
5324
+ function_map_idx: builtins.int | None = ...,
5227
5325
  ) -> None: ...
5228
- def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
5229
- def ClearField(self, field_name: typing_extensions.Literal["function_call_id", b"function_call_id", "function_call_invocation_type", b"function_call_invocation_type", "input", b"input", "input_id", b"input_id", "kill_switch", b"kill_switch", "retry_count", b"retry_count"]) -> None: ...
5326
+ def HasField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "function_map_idx", b"function_map_idx", "input", b"input"]) -> builtins.bool: ...
5327
+ def ClearField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "function_call_id", b"function_call_id", "function_call_invocation_type", b"function_call_invocation_type", "function_map_idx", b"function_map_idx", "input", b"input", "input_id", b"input_id", "kill_switch", b"kill_switch", "retry_count", b"retry_count"]) -> None: ...
5328
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_function_map_idx", b"_function_map_idx"]) -> typing_extensions.Literal["function_map_idx"] | None: ...
5230
5329
 
5231
5330
  global___FunctionGetInputsItem = FunctionGetInputsItem
5232
5331
 
@@ -5824,22 +5923,22 @@ class FunctionPutInputsItem(google.protobuf.message.Message):
5824
5923
  IDX_FIELD_NUMBER: builtins.int
5825
5924
  INPUT_FIELD_NUMBER: builtins.int
5826
5925
  R2_FAILED_FIELD_NUMBER: builtins.int
5827
- R2_LATENCY_MS_FIELD_NUMBER: builtins.int
5926
+ R2_THROUGHPUT_BYTES_S_FIELD_NUMBER: builtins.int
5828
5927
  idx: builtins.int
5829
5928
  @property
5830
5929
  def input(self) -> global___FunctionInput: ...
5831
5930
  r2_failed: builtins.bool
5832
- r2_latency_ms: builtins.int
5931
+ r2_throughput_bytes_s: builtins.int
5833
5932
  def __init__(
5834
5933
  self,
5835
5934
  *,
5836
5935
  idx: builtins.int = ...,
5837
5936
  input: global___FunctionInput | None = ...,
5838
5937
  r2_failed: builtins.bool = ...,
5839
- r2_latency_ms: builtins.int = ...,
5938
+ r2_throughput_bytes_s: builtins.int = ...,
5840
5939
  ) -> None: ...
5841
5940
  def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
5842
- def ClearField(self, field_name: typing_extensions.Literal["idx", b"idx", "input", b"input", "r2_failed", b"r2_failed", "r2_latency_ms", b"r2_latency_ms"]) -> None: ...
5941
+ def ClearField(self, field_name: typing_extensions.Literal["idx", b"idx", "input", b"input", "r2_failed", b"r2_failed", "r2_throughput_bytes_s", b"r2_throughput_bytes_s"]) -> None: ...
5843
5942
 
5844
5943
  global___FunctionPutInputsItem = FunctionPutInputsItem
5845
5944
 
@@ -5908,6 +6007,8 @@ class FunctionPutOutputsItem(google.protobuf.message.Message):
5908
6007
  OUTPUT_CREATED_AT_FIELD_NUMBER: builtins.int
5909
6008
  DATA_FORMAT_FIELD_NUMBER: builtins.int
5910
6009
  RETRY_COUNT_FIELD_NUMBER: builtins.int
6010
+ FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
6011
+ FUNCTION_MAP_IDX_FIELD_NUMBER: builtins.int
5911
6012
  input_id: builtins.str
5912
6013
  @property
5913
6014
  def result(self) -> global___GenericResult: ...
@@ -5916,6 +6017,10 @@ class FunctionPutOutputsItem(google.protobuf.message.Message):
5916
6017
  data_format: global___DataFormat.ValueType
5917
6018
  """for result.data_oneof"""
5918
6019
  retry_count: builtins.int
6020
+ function_call_id: builtins.str
6021
+ """injected by the worker"""
6022
+ function_map_idx: builtins.int
6023
+ """injected by the worker"""
5919
6024
  def __init__(
5920
6025
  self,
5921
6026
  *,
@@ -5925,9 +6030,12 @@ class FunctionPutOutputsItem(google.protobuf.message.Message):
5925
6030
  output_created_at: builtins.float = ...,
5926
6031
  data_format: global___DataFormat.ValueType = ...,
5927
6032
  retry_count: builtins.int = ...,
6033
+ function_call_id: builtins.str = ...,
6034
+ function_map_idx: builtins.int | None = ...,
5928
6035
  ) -> None: ...
5929
- def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ...
5930
- def ClearField(self, field_name: typing_extensions.Literal["data_format", b"data_format", "input_id", b"input_id", "input_started_at", b"input_started_at", "output_created_at", b"output_created_at", "result", b"result", "retry_count", b"retry_count"]) -> None: ...
6036
+ def HasField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "function_map_idx", b"function_map_idx", "result", b"result"]) -> builtins.bool: ...
6037
+ def ClearField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "data_format", b"data_format", "function_call_id", b"function_call_id", "function_map_idx", b"function_map_idx", "input_id", b"input_id", "input_started_at", b"input_started_at", "output_created_at", b"output_created_at", "result", b"result", "retry_count", b"retry_count"]) -> None: ...
6038
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_function_map_idx", b"_function_map_idx"]) -> typing_extensions.Literal["function_map_idx"] | None: ...
5931
6039
 
5932
6040
  global___FunctionPutOutputsItem = FunctionPutOutputsItem
5933
6041
 
@@ -6663,6 +6771,179 @@ class InputInfo(google.protobuf.message.Message):
6663
6771
 
6664
6772
  global___InputInfo = InputInfo
6665
6773
 
6774
+ class ListPagination(google.protobuf.message.Message):
6775
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6776
+
6777
+ MAX_OBJECTS_FIELD_NUMBER: builtins.int
6778
+ CREATED_BEFORE_FIELD_NUMBER: builtins.int
6779
+ max_objects: builtins.int
6780
+ created_before: builtins.float
6781
+ def __init__(
6782
+ self,
6783
+ *,
6784
+ max_objects: builtins.int = ...,
6785
+ created_before: builtins.float = ...,
6786
+ ) -> None: ...
6787
+ def ClearField(self, field_name: typing_extensions.Literal["created_before", b"created_before", "max_objects", b"max_objects"]) -> None: ...
6788
+
6789
+ global___ListPagination = ListPagination
6790
+
6791
+ class MapAwaitRequest(google.protobuf.message.Message):
6792
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6793
+
6794
+ FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
6795
+ LAST_ENTRY_ID_FIELD_NUMBER: builtins.int
6796
+ REQUESTED_AT_FIELD_NUMBER: builtins.int
6797
+ TIMEOUT_FIELD_NUMBER: builtins.int
6798
+ function_call_id: builtins.str
6799
+ last_entry_id: builtins.str
6800
+ requested_at: builtins.float
6801
+ """Used for waypoints."""
6802
+ timeout: builtins.float
6803
+ def __init__(
6804
+ self,
6805
+ *,
6806
+ function_call_id: builtins.str = ...,
6807
+ last_entry_id: builtins.str = ...,
6808
+ requested_at: builtins.float = ...,
6809
+ timeout: builtins.float = ...,
6810
+ ) -> None: ...
6811
+ def ClearField(self, field_name: typing_extensions.Literal["function_call_id", b"function_call_id", "last_entry_id", b"last_entry_id", "requested_at", b"requested_at", "timeout", b"timeout"]) -> None: ...
6812
+
6813
+ global___MapAwaitRequest = MapAwaitRequest
6814
+
6815
+ class MapAwaitResponse(google.protobuf.message.Message):
6816
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6817
+
6818
+ OUTPUTS_FIELD_NUMBER: builtins.int
6819
+ LAST_ENTRY_ID_FIELD_NUMBER: builtins.int
6820
+ @property
6821
+ def outputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FunctionGetOutputsItem]: ...
6822
+ last_entry_id: builtins.str
6823
+ def __init__(
6824
+ self,
6825
+ *,
6826
+ outputs: collections.abc.Iterable[global___FunctionGetOutputsItem] | None = ...,
6827
+ last_entry_id: builtins.str = ...,
6828
+ ) -> None: ...
6829
+ def ClearField(self, field_name: typing_extensions.Literal["last_entry_id", b"last_entry_id", "outputs", b"outputs"]) -> None: ...
6830
+
6831
+ global___MapAwaitResponse = MapAwaitResponse
6832
+
6833
+ class MapCheckInputsRequest(google.protobuf.message.Message):
6834
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6835
+
6836
+ LAST_ENTRY_ID_FIELD_NUMBER: builtins.int
6837
+ TIMEOUT_FIELD_NUMBER: builtins.int
6838
+ ATTEMPT_TOKENS_FIELD_NUMBER: builtins.int
6839
+ last_entry_id: builtins.str
6840
+ timeout: builtins.float
6841
+ @property
6842
+ def attempt_tokens(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
6843
+ def __init__(
6844
+ self,
6845
+ *,
6846
+ last_entry_id: builtins.str = ...,
6847
+ timeout: builtins.float = ...,
6848
+ attempt_tokens: collections.abc.Iterable[builtins.str] | None = ...,
6849
+ ) -> None: ...
6850
+ def ClearField(self, field_name: typing_extensions.Literal["attempt_tokens", b"attempt_tokens", "last_entry_id", b"last_entry_id", "timeout", b"timeout"]) -> None: ...
6851
+
6852
+ global___MapCheckInputsRequest = MapCheckInputsRequest
6853
+
6854
+ class MapCheckInputsResponse(google.protobuf.message.Message):
6855
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6856
+
6857
+ LOST_FIELD_NUMBER: builtins.int
6858
+ @property
6859
+ def lost(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bool]: ...
6860
+ def __init__(
6861
+ self,
6862
+ *,
6863
+ lost: collections.abc.Iterable[builtins.bool] | None = ...,
6864
+ ) -> None: ...
6865
+ def ClearField(self, field_name: typing_extensions.Literal["lost", b"lost"]) -> None: ...
6866
+
6867
+ global___MapCheckInputsResponse = MapCheckInputsResponse
6868
+
6869
+ class MapStartOrContinueItem(google.protobuf.message.Message):
6870
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6871
+
6872
+ INPUT_FIELD_NUMBER: builtins.int
6873
+ ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
6874
+ @property
6875
+ def input(self) -> global___FunctionPutInputsItem: ...
6876
+ attempt_token: builtins.str
6877
+ """None if this is a fresh input, otherwise it is the attempt token for a retry."""
6878
+ def __init__(
6879
+ self,
6880
+ *,
6881
+ input: global___FunctionPutInputsItem | None = ...,
6882
+ attempt_token: builtins.str | None = ...,
6883
+ ) -> None: ...
6884
+ def HasField(self, field_name: typing_extensions.Literal["_attempt_token", b"_attempt_token", "attempt_token", b"attempt_token", "input", b"input"]) -> builtins.bool: ...
6885
+ def ClearField(self, field_name: typing_extensions.Literal["_attempt_token", b"_attempt_token", "attempt_token", b"attempt_token", "input", b"input"]) -> None: ...
6886
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_attempt_token", b"_attempt_token"]) -> typing_extensions.Literal["attempt_token"] | None: ...
6887
+
6888
+ global___MapStartOrContinueItem = MapStartOrContinueItem
6889
+
6890
+ class MapStartOrContinueRequest(google.protobuf.message.Message):
6891
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6892
+
6893
+ FUNCTION_ID_FIELD_NUMBER: builtins.int
6894
+ PARENT_INPUT_ID_FIELD_NUMBER: builtins.int
6895
+ FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
6896
+ ITEMS_FIELD_NUMBER: builtins.int
6897
+ function_id: builtins.str
6898
+ parent_input_id: builtins.str
6899
+ function_call_id: builtins.str
6900
+ """This is given iff this is a map continue request."""
6901
+ @property
6902
+ def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MapStartOrContinueItem]: ...
6903
+ def __init__(
6904
+ self,
6905
+ *,
6906
+ function_id: builtins.str = ...,
6907
+ parent_input_id: builtins.str = ...,
6908
+ function_call_id: builtins.str | None = ...,
6909
+ items: collections.abc.Iterable[global___MapStartOrContinueItem] | None = ...,
6910
+ ) -> None: ...
6911
+ def HasField(self, field_name: typing_extensions.Literal["_function_call_id", b"_function_call_id", "function_call_id", b"function_call_id"]) -> builtins.bool: ...
6912
+ def ClearField(self, field_name: typing_extensions.Literal["_function_call_id", b"_function_call_id", "function_call_id", b"function_call_id", "function_id", b"function_id", "items", b"items", "parent_input_id", b"parent_input_id"]) -> None: ...
6913
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_function_call_id", b"_function_call_id"]) -> typing_extensions.Literal["function_call_id"] | None: ...
6914
+
6915
+ global___MapStartOrContinueRequest = MapStartOrContinueRequest
6916
+
6917
+ class MapStartOrContinueResponse(google.protobuf.message.Message):
6918
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6919
+
6920
+ FUNCTION_ID_FIELD_NUMBER: builtins.int
6921
+ FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
6922
+ MAX_INPUTS_OUTSTANDING_FIELD_NUMBER: builtins.int
6923
+ ATTEMPT_TOKENS_FIELD_NUMBER: builtins.int
6924
+ RETRY_POLICY_FIELD_NUMBER: builtins.int
6925
+ function_id: builtins.str
6926
+ function_call_id: builtins.str
6927
+ max_inputs_outstanding: builtins.int
6928
+ @property
6929
+ def attempt_tokens(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
6930
+ @property
6931
+ def retry_policy(self) -> global___FunctionRetryPolicy:
6932
+ """TODO(ben-okeefe): Not currently used"""
6933
+ def __init__(
6934
+ self,
6935
+ *,
6936
+ function_id: builtins.str = ...,
6937
+ function_call_id: builtins.str = ...,
6938
+ max_inputs_outstanding: builtins.int = ...,
6939
+ attempt_tokens: collections.abc.Iterable[builtins.str] | None = ...,
6940
+ retry_policy: global___FunctionRetryPolicy | None = ...,
6941
+ ) -> None: ...
6942
+ def HasField(self, field_name: typing_extensions.Literal["retry_policy", b"retry_policy"]) -> builtins.bool: ...
6943
+ def ClearField(self, field_name: typing_extensions.Literal["attempt_tokens", b"attempt_tokens", "function_call_id", b"function_call_id", "function_id", b"function_id", "max_inputs_outstanding", b"max_inputs_outstanding", "retry_policy", b"retry_policy"]) -> None: ...
6944
+
6945
+ global___MapStartOrContinueResponse = MapStartOrContinueResponse
6946
+
6666
6947
  class MethodDefinition(google.protobuf.message.Message):
6667
6948
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
6668
6949
 
@@ -7547,13 +7828,18 @@ class QueueGetOrCreateResponse(google.protobuf.message.Message):
7547
7828
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
7548
7829
 
7549
7830
  QUEUE_ID_FIELD_NUMBER: builtins.int
7831
+ METADATA_FIELD_NUMBER: builtins.int
7550
7832
  queue_id: builtins.str
7833
+ @property
7834
+ def metadata(self) -> global___QueueMetadata: ...
7551
7835
  def __init__(
7552
7836
  self,
7553
7837
  *,
7554
7838
  queue_id: builtins.str = ...,
7839
+ metadata: global___QueueMetadata | None = ...,
7555
7840
  ) -> None: ...
7556
- def ClearField(self, field_name: typing_extensions.Literal["queue_id", b"queue_id"]) -> None: ...
7841
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
7842
+ def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "queue_id", b"queue_id"]) -> None: ...
7557
7843
 
7558
7844
  global___QueueGetOrCreateResponse = QueueGetOrCreateResponse
7559
7845
 
@@ -7665,16 +7951,21 @@ class QueueListRequest(google.protobuf.message.Message):
7665
7951
 
7666
7952
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
7667
7953
  TOTAL_SIZE_LIMIT_FIELD_NUMBER: builtins.int
7954
+ PAGINATION_FIELD_NUMBER: builtins.int
7668
7955
  environment_name: builtins.str
7669
7956
  total_size_limit: builtins.int
7670
- """Allow client to report a bounded total size to reduce the number of partitions that need to be checked"""
7957
+ """Limit on "number of partitions" reported, since checking them is costly"""
7958
+ @property
7959
+ def pagination(self) -> global___ListPagination: ...
7671
7960
  def __init__(
7672
7961
  self,
7673
7962
  *,
7674
7963
  environment_name: builtins.str = ...,
7675
7964
  total_size_limit: builtins.int = ...,
7965
+ pagination: global___ListPagination | None = ...,
7676
7966
  ) -> None: ...
7677
- def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "total_size_limit", b"total_size_limit"]) -> None: ...
7967
+ def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
7968
+ def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "pagination", b"pagination", "total_size_limit", b"total_size_limit"]) -> None: ...
7678
7969
 
7679
7970
  global___QueueListRequest = QueueListRequest
7680
7971
 
@@ -7688,10 +7979,16 @@ class QueueListResponse(google.protobuf.message.Message):
7688
7979
  CREATED_AT_FIELD_NUMBER: builtins.int
7689
7980
  NUM_PARTITIONS_FIELD_NUMBER: builtins.int
7690
7981
  TOTAL_SIZE_FIELD_NUMBER: builtins.int
7982
+ QUEUE_ID_FIELD_NUMBER: builtins.int
7983
+ METADATA_FIELD_NUMBER: builtins.int
7691
7984
  name: builtins.str
7692
7985
  created_at: builtins.float
7986
+ """Superseded by metadata, used by clients up to 1.1.1"""
7693
7987
  num_partitions: builtins.int
7694
7988
  total_size: builtins.int
7989
+ queue_id: builtins.str
7990
+ @property
7991
+ def metadata(self) -> global___QueueMetadata: ...
7695
7992
  def __init__(
7696
7993
  self,
7697
7994
  *,
@@ -7699,21 +7996,46 @@ class QueueListResponse(google.protobuf.message.Message):
7699
7996
  created_at: builtins.float = ...,
7700
7997
  num_partitions: builtins.int = ...,
7701
7998
  total_size: builtins.int = ...,
7999
+ queue_id: builtins.str = ...,
8000
+ metadata: global___QueueMetadata | None = ...,
7702
8001
  ) -> None: ...
7703
- def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "name", b"name", "num_partitions", b"num_partitions", "total_size", b"total_size"]) -> None: ...
8002
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
8003
+ def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "metadata", b"metadata", "name", b"name", "num_partitions", b"num_partitions", "queue_id", b"queue_id", "total_size", b"total_size"]) -> None: ...
7704
8004
 
7705
8005
  QUEUES_FIELD_NUMBER: builtins.int
8006
+ ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
7706
8007
  @property
7707
8008
  def queues(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QueueListResponse.QueueInfo]: ...
8009
+ environment_name: builtins.str
7708
8010
  def __init__(
7709
8011
  self,
7710
8012
  *,
7711
8013
  queues: collections.abc.Iterable[global___QueueListResponse.QueueInfo] | None = ...,
8014
+ environment_name: builtins.str = ...,
7712
8015
  ) -> None: ...
7713
- def ClearField(self, field_name: typing_extensions.Literal["queues", b"queues"]) -> None: ...
8016
+ def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "queues", b"queues"]) -> None: ...
7714
8017
 
7715
8018
  global___QueueListResponse = QueueListResponse
7716
8019
 
8020
+ class QueueMetadata(google.protobuf.message.Message):
8021
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
8022
+
8023
+ NAME_FIELD_NUMBER: builtins.int
8024
+ CREATION_INFO_FIELD_NUMBER: builtins.int
8025
+ name: builtins.str
8026
+ @property
8027
+ def creation_info(self) -> global___CreationInfo: ...
8028
+ def __init__(
8029
+ self,
8030
+ *,
8031
+ name: builtins.str = ...,
8032
+ creation_info: global___CreationInfo | None = ...,
8033
+ ) -> None: ...
8034
+ def HasField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info"]) -> builtins.bool: ...
8035
+ def ClearField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info", "name", b"name"]) -> None: ...
8036
+
8037
+ global___QueueMetadata = QueueMetadata
8038
+
7717
8039
  class QueueNextItemsRequest(google.protobuf.message.Message):
7718
8040
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
7719
8041
 
@@ -7939,6 +8261,21 @@ global___S3Mount = S3Mount
7939
8261
  class Sandbox(google.protobuf.message.Message):
7940
8262
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
7941
8263
 
8264
+ class ExperimentalOptionsEntry(google.protobuf.message.Message):
8265
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
8266
+
8267
+ KEY_FIELD_NUMBER: builtins.int
8268
+ VALUE_FIELD_NUMBER: builtins.int
8269
+ key: builtins.str
8270
+ value: builtins.bool
8271
+ def __init__(
8272
+ self,
8273
+ *,
8274
+ key: builtins.str = ...,
8275
+ value: builtins.bool = ...,
8276
+ ) -> None: ...
8277
+ def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
8278
+
7942
8279
  ENTRYPOINT_ARGS_FIELD_NUMBER: builtins.int
7943
8280
  MOUNT_IDS_FIELD_NUMBER: builtins.int
7944
8281
  IMAGE_ID_FIELD_NUMBER: builtins.int
@@ -7967,6 +8304,7 @@ class Sandbox(google.protobuf.message.Message):
7967
8304
  RUNTIME_FIELD_NUMBER: builtins.int
7968
8305
  VERBOSE_FIELD_NUMBER: builtins.int
7969
8306
  NAME_FIELD_NUMBER: builtins.int
8307
+ EXPERIMENTAL_OPTIONS_FIELD_NUMBER: builtins.int
7970
8308
  @property
7971
8309
  def entrypoint_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
7972
8310
  @property
@@ -8024,6 +8362,9 @@ class Sandbox(google.protobuf.message.Message):
8024
8362
  """If set, the sandbox will be created with verbose logging enabled."""
8025
8363
  name: builtins.str
8026
8364
  """If set, the sandbox will be created with a name."""
8365
+ @property
8366
+ def experimental_options(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.bool]:
8367
+ """Experimental options"""
8027
8368
  def __init__(
8028
8369
  self,
8029
8370
  *,
@@ -8055,9 +8396,10 @@ class Sandbox(google.protobuf.message.Message):
8055
8396
  runtime: builtins.str | None = ...,
8056
8397
  verbose: builtins.bool = ...,
8057
8398
  name: builtins.str | None = ...,
8399
+ experimental_options: collections.abc.Mapping[builtins.str, builtins.bool] | None = ...,
8058
8400
  ) -> None: ...
8059
8401
  def HasField(self, field_name: typing_extensions.Literal["_name", b"_name", "_proxy_id", b"_proxy_id", "_runsc_runtime_version", b"_runsc_runtime_version", "_runtime", b"_runtime", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "name", b"name", "network_access", b"network_access", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runsc_runtime_version", b"runsc_runtime_version", "runtime", b"runtime", "scheduler_placement", b"scheduler_placement", "snapshot_version", b"snapshot_version", "workdir", b"workdir"]) -> builtins.bool: ...
8060
- def ClearField(self, field_name: typing_extensions.Literal["_name", b"_name", "_proxy_id", b"_proxy_id", "_runsc_runtime_version", b"_runsc_runtime_version", "_runtime", b"_runtime", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "enable_snapshot", b"enable_snapshot", "entrypoint_args", b"entrypoint_args", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "mount_ids", b"mount_ids", "name", b"name", "network_access", b"network_access", "nfs_mounts", b"nfs_mounts", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runsc_runtime_version", b"runsc_runtime_version", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "s3_mounts", b"s3_mounts", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "snapshot_version", b"snapshot_version", "timeout_secs", b"timeout_secs", "verbose", b"verbose", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
8402
+ def ClearField(self, field_name: typing_extensions.Literal["_name", b"_name", "_proxy_id", b"_proxy_id", "_runsc_runtime_version", b"_runsc_runtime_version", "_runtime", b"_runtime", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "enable_snapshot", b"enable_snapshot", "entrypoint_args", b"entrypoint_args", "experimental_options", b"experimental_options", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "mount_ids", b"mount_ids", "name", b"name", "network_access", b"network_access", "nfs_mounts", b"nfs_mounts", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runsc_runtime_version", b"runsc_runtime_version", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "s3_mounts", b"s3_mounts", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "snapshot_version", b"snapshot_version", "timeout_secs", b"timeout_secs", "verbose", b"verbose", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
8061
8403
  @typing.overload
8062
8404
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_name", b"_name"]) -> typing_extensions.Literal["name"] | None: ...
8063
8405
  @typing.overload
@@ -8436,6 +8778,51 @@ class SandboxRestoreResponse(google.protobuf.message.Message):
8436
8778
 
8437
8779
  global___SandboxRestoreResponse = SandboxRestoreResponse
8438
8780
 
8781
+ class SandboxSnapshotFsAsyncGetRequest(google.protobuf.message.Message):
8782
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
8783
+
8784
+ IMAGE_ID_FIELD_NUMBER: builtins.int
8785
+ TIMEOUT_FIELD_NUMBER: builtins.int
8786
+ image_id: builtins.str
8787
+ timeout: builtins.float
8788
+ def __init__(
8789
+ self,
8790
+ *,
8791
+ image_id: builtins.str = ...,
8792
+ timeout: builtins.float = ...,
8793
+ ) -> None: ...
8794
+ def ClearField(self, field_name: typing_extensions.Literal["image_id", b"image_id", "timeout", b"timeout"]) -> None: ...
8795
+
8796
+ global___SandboxSnapshotFsAsyncGetRequest = SandboxSnapshotFsAsyncGetRequest
8797
+
8798
+ class SandboxSnapshotFsAsyncRequest(google.protobuf.message.Message):
8799
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
8800
+
8801
+ SANDBOX_ID_FIELD_NUMBER: builtins.int
8802
+ sandbox_id: builtins.str
8803
+ def __init__(
8804
+ self,
8805
+ *,
8806
+ sandbox_id: builtins.str = ...,
8807
+ ) -> None: ...
8808
+ def ClearField(self, field_name: typing_extensions.Literal["sandbox_id", b"sandbox_id"]) -> None: ...
8809
+
8810
+ global___SandboxSnapshotFsAsyncRequest = SandboxSnapshotFsAsyncRequest
8811
+
8812
+ class SandboxSnapshotFsAsyncResponse(google.protobuf.message.Message):
8813
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
8814
+
8815
+ IMAGE_ID_FIELD_NUMBER: builtins.int
8816
+ image_id: builtins.str
8817
+ def __init__(
8818
+ self,
8819
+ *,
8820
+ image_id: builtins.str = ...,
8821
+ ) -> None: ...
8822
+ def ClearField(self, field_name: typing_extensions.Literal["image_id", b"image_id"]) -> None: ...
8823
+
8824
+ global___SandboxSnapshotFsAsyncResponse = SandboxSnapshotFsAsyncResponse
8825
+
8439
8826
  class SandboxSnapshotFsRequest(google.protobuf.message.Message):
8440
8827
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
8441
8828
 
@@ -8930,13 +9317,18 @@ class SecretGetOrCreateResponse(google.protobuf.message.Message):
8930
9317
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
8931
9318
 
8932
9319
  SECRET_ID_FIELD_NUMBER: builtins.int
9320
+ METADATA_FIELD_NUMBER: builtins.int
8933
9321
  secret_id: builtins.str
9322
+ @property
9323
+ def metadata(self) -> global___SecretMetadata: ...
8934
9324
  def __init__(
8935
9325
  self,
8936
9326
  *,
8937
9327
  secret_id: builtins.str = ...,
9328
+ metadata: global___SecretMetadata | None = ...,
8938
9329
  ) -> None: ...
8939
- def ClearField(self, field_name: typing_extensions.Literal["secret_id", b"secret_id"]) -> None: ...
9330
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
9331
+ def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "secret_id", b"secret_id"]) -> None: ...
8940
9332
 
8941
9333
  global___SecretGetOrCreateResponse = SecretGetOrCreateResponse
8942
9334
 
@@ -8948,11 +9340,16 @@ class SecretListItem(google.protobuf.message.Message):
8948
9340
  LAST_USED_AT_FIELD_NUMBER: builtins.int
8949
9341
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
8950
9342
  SECRET_ID_FIELD_NUMBER: builtins.int
9343
+ METADATA_FIELD_NUMBER: builtins.int
8951
9344
  label: builtins.str
8952
9345
  created_at: builtins.float
9346
+ """Superseded by metadata, used by clients up to 1.1.1"""
8953
9347
  last_used_at: builtins.float
8954
9348
  environment_name: builtins.str
9349
+ """Unused by client"""
8955
9350
  secret_id: builtins.str
9351
+ @property
9352
+ def metadata(self) -> global___SecretMetadata: ...
8956
9353
  def __init__(
8957
9354
  self,
8958
9355
  *,
@@ -8961,8 +9358,10 @@ class SecretListItem(google.protobuf.message.Message):
8961
9358
  last_used_at: builtins.float = ...,
8962
9359
  environment_name: builtins.str = ...,
8963
9360
  secret_id: builtins.str = ...,
9361
+ metadata: global___SecretMetadata | None = ...,
8964
9362
  ) -> None: ...
8965
- def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "environment_name", b"environment_name", "label", b"label", "last_used_at", b"last_used_at", "secret_id", b"secret_id"]) -> None: ...
9363
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
9364
+ def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "environment_name", b"environment_name", "label", b"label", "last_used_at", b"last_used_at", "metadata", b"metadata", "secret_id", b"secret_id"]) -> None: ...
8966
9365
 
8967
9366
  global___SecretListItem = SecretListItem
8968
9367
 
@@ -8970,14 +9369,18 @@ class SecretListRequest(google.protobuf.message.Message):
8970
9369
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
8971
9370
 
8972
9371
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
9372
+ PAGINATION_FIELD_NUMBER: builtins.int
8973
9373
  environment_name: builtins.str
8974
- """leaving empty will assume a singular environment"""
9374
+ @property
9375
+ def pagination(self) -> global___ListPagination: ...
8975
9376
  def __init__(
8976
9377
  self,
8977
9378
  *,
8978
9379
  environment_name: builtins.str = ...,
9380
+ pagination: global___ListPagination | None = ...,
8979
9381
  ) -> None: ...
8980
- def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name"]) -> None: ...
9382
+ def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
9383
+ def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "pagination", b"pagination"]) -> None: ...
8981
9384
 
8982
9385
  global___SecretListRequest = SecretListRequest
8983
9386
 
@@ -8989,7 +9392,6 @@ class SecretListResponse(google.protobuf.message.Message):
8989
9392
  @property
8990
9393
  def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecretListItem]: ...
8991
9394
  environment_name: builtins.str
8992
- """the environment that was listed (useful when relying on "default" logic)"""
8993
9395
  def __init__(
8994
9396
  self,
8995
9397
  *,
@@ -9000,7 +9402,28 @@ class SecretListResponse(google.protobuf.message.Message):
9000
9402
 
9001
9403
  global___SecretListResponse = SecretListResponse
9002
9404
 
9405
+ class SecretMetadata(google.protobuf.message.Message):
9406
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
9407
+
9408
+ NAME_FIELD_NUMBER: builtins.int
9409
+ CREATION_INFO_FIELD_NUMBER: builtins.int
9410
+ name: builtins.str
9411
+ @property
9412
+ def creation_info(self) -> global___CreationInfo: ...
9413
+ def __init__(
9414
+ self,
9415
+ *,
9416
+ name: builtins.str = ...,
9417
+ creation_info: global___CreationInfo | None = ...,
9418
+ ) -> None: ...
9419
+ def HasField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info"]) -> builtins.bool: ...
9420
+ def ClearField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info", "name", b"name"]) -> None: ...
9421
+
9422
+ global___SecretMetadata = SecretMetadata
9423
+
9003
9424
  class SharedVolumeDeleteRequest(google.protobuf.message.Message):
9425
+ """SharedVolume in the backend corresponds to NetworkFileSystem in the current API"""
9426
+
9004
9427
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
9005
9428
 
9006
9429
  SHARED_VOLUME_ID_FIELD_NUMBER: builtins.int
@@ -9319,19 +9742,23 @@ class TaskClusterHelloResponse(google.protobuf.message.Message):
9319
9742
  CLUSTER_ID_FIELD_NUMBER: builtins.int
9320
9743
  CLUSTER_RANK_FIELD_NUMBER: builtins.int
9321
9744
  CONTAINER_IPS_FIELD_NUMBER: builtins.int
9745
+ CONTAINER_IPV4_IPS_FIELD_NUMBER: builtins.int
9322
9746
  cluster_id: builtins.str
9323
9747
  cluster_rank: builtins.int
9324
9748
  @property
9325
9749
  def container_ips(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
9326
- """All IP addresses in cluster, ordered by cluster rank"""
9750
+ """All IPv6 addresses in cluster, ordered by cluster rank"""
9751
+ @property
9752
+ def container_ipv4_ips(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
9327
9753
  def __init__(
9328
9754
  self,
9329
9755
  *,
9330
9756
  cluster_id: builtins.str = ...,
9331
9757
  cluster_rank: builtins.int = ...,
9332
9758
  container_ips: collections.abc.Iterable[builtins.str] | None = ...,
9759
+ container_ipv4_ips: collections.abc.Iterable[builtins.str] | None = ...,
9333
9760
  ) -> None: ...
9334
- def ClearField(self, field_name: typing_extensions.Literal["cluster_id", b"cluster_id", "cluster_rank", b"cluster_rank", "container_ips", b"container_ips"]) -> None: ...
9761
+ def ClearField(self, field_name: typing_extensions.Literal["cluster_id", b"cluster_id", "cluster_rank", b"cluster_rank", "container_ips", b"container_ips", "container_ipv4_ips", b"container_ipv4_ips"]) -> None: ...
9335
9762
 
9336
9763
  global___TaskClusterHelloResponse = TaskClusterHelloResponse
9337
9764
 
@@ -9360,6 +9787,8 @@ class TaskInfo(google.protobuf.message.Message):
9360
9787
  ENQUEUED_AT_FIELD_NUMBER: builtins.int
9361
9788
  GPU_TYPE_FIELD_NUMBER: builtins.int
9362
9789
  SANDBOX_ID_FIELD_NUMBER: builtins.int
9790
+ SNAPSHOT_BEHAVIOR_FIELD_NUMBER: builtins.int
9791
+ GPU_CONFIG_FIELD_NUMBER: builtins.int
9363
9792
  id: builtins.str
9364
9793
  started_at: builtins.float
9365
9794
  finished_at: builtins.float
@@ -9368,6 +9797,9 @@ class TaskInfo(google.protobuf.message.Message):
9368
9797
  enqueued_at: builtins.float
9369
9798
  gpu_type: builtins.str
9370
9799
  sandbox_id: builtins.str
9800
+ snapshot_behavior: global___TaskSnapshotBehavior.ValueType
9801
+ @property
9802
+ def gpu_config(self) -> global___GPUConfig: ...
9371
9803
  def __init__(
9372
9804
  self,
9373
9805
  *,
@@ -9378,9 +9810,11 @@ class TaskInfo(google.protobuf.message.Message):
9378
9810
  enqueued_at: builtins.float = ...,
9379
9811
  gpu_type: builtins.str = ...,
9380
9812
  sandbox_id: builtins.str = ...,
9813
+ snapshot_behavior: global___TaskSnapshotBehavior.ValueType = ...,
9814
+ gpu_config: global___GPUConfig | None = ...,
9381
9815
  ) -> None: ...
9382
- def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ...
9383
- def ClearField(self, field_name: typing_extensions.Literal["enqueued_at", b"enqueued_at", "finished_at", b"finished_at", "gpu_type", b"gpu_type", "id", b"id", "result", b"result", "sandbox_id", b"sandbox_id", "started_at", b"started_at"]) -> None: ...
9816
+ def HasField(self, field_name: typing_extensions.Literal["gpu_config", b"gpu_config", "result", b"result"]) -> builtins.bool: ...
9817
+ def ClearField(self, field_name: typing_extensions.Literal["enqueued_at", b"enqueued_at", "finished_at", b"finished_at", "gpu_config", b"gpu_config", "gpu_type", b"gpu_type", "id", b"id", "result", b"result", "sandbox_id", b"sandbox_id", "snapshot_behavior", b"snapshot_behavior", "started_at", b"started_at"]) -> None: ...
9384
9818
 
9385
9819
  global___TaskInfo = TaskInfo
9386
9820
 
@@ -10035,6 +10469,7 @@ class VolumeGetOrCreateResponse(google.protobuf.message.Message):
10035
10469
  METADATA_FIELD_NUMBER: builtins.int
10036
10470
  volume_id: builtins.str
10037
10471
  version: global___VolumeFsVersion.ValueType
10472
+ """Not used directly; version is part of the metadata"""
10038
10473
  @property
10039
10474
  def metadata(self) -> global___VolumeMetadata: ...
10040
10475
  def __init__(
@@ -10149,18 +10584,24 @@ class VolumeListItem(google.protobuf.message.Message):
10149
10584
  LABEL_FIELD_NUMBER: builtins.int
10150
10585
  VOLUME_ID_FIELD_NUMBER: builtins.int
10151
10586
  CREATED_AT_FIELD_NUMBER: builtins.int
10587
+ METADATA_FIELD_NUMBER: builtins.int
10152
10588
  label: builtins.str
10153
10589
  """app name of object entity app"""
10154
10590
  volume_id: builtins.str
10155
10591
  created_at: builtins.float
10592
+ """Superseded by metadata, used by clients up to 1.1.1"""
10593
+ @property
10594
+ def metadata(self) -> global___VolumeMetadata: ...
10156
10595
  def __init__(
10157
10596
  self,
10158
10597
  *,
10159
10598
  label: builtins.str = ...,
10160
10599
  volume_id: builtins.str = ...,
10161
10600
  created_at: builtins.float = ...,
10601
+ metadata: global___VolumeMetadata | None = ...,
10162
10602
  ) -> None: ...
10163
- def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "label", b"label", "volume_id", b"volume_id"]) -> None: ...
10603
+ def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
10604
+ def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "label", b"label", "metadata", b"metadata", "volume_id", b"volume_id"]) -> None: ...
10164
10605
 
10165
10606
  global___VolumeListItem = VolumeListItem
10166
10607
 
@@ -10168,13 +10609,18 @@ class VolumeListRequest(google.protobuf.message.Message):
10168
10609
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
10169
10610
 
10170
10611
  ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
10612
+ PAGINATION_FIELD_NUMBER: builtins.int
10171
10613
  environment_name: builtins.str
10614
+ @property
10615
+ def pagination(self) -> global___ListPagination: ...
10172
10616
  def __init__(
10173
10617
  self,
10174
10618
  *,
10175
10619
  environment_name: builtins.str = ...,
10620
+ pagination: global___ListPagination | None = ...,
10176
10621
  ) -> None: ...
10177
- def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name"]) -> None: ...
10622
+ def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
10623
+ def ClearField(self, field_name: typing_extensions.Literal["environment_name", b"environment_name", "pagination", b"pagination"]) -> None: ...
10178
10624
 
10179
10625
  global___VolumeListRequest = VolumeListRequest
10180
10626
 
@@ -10200,13 +10646,21 @@ class VolumeMetadata(google.protobuf.message.Message):
10200
10646
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
10201
10647
 
10202
10648
  VERSION_FIELD_NUMBER: builtins.int
10649
+ NAME_FIELD_NUMBER: builtins.int
10650
+ CREATION_INFO_FIELD_NUMBER: builtins.int
10203
10651
  version: global___VolumeFsVersion.ValueType
10652
+ name: builtins.str
10653
+ @property
10654
+ def creation_info(self) -> global___CreationInfo: ...
10204
10655
  def __init__(
10205
10656
  self,
10206
10657
  *,
10207
10658
  version: global___VolumeFsVersion.ValueType = ...,
10659
+ name: builtins.str = ...,
10660
+ creation_info: global___CreationInfo | None = ...,
10208
10661
  ) -> None: ...
10209
- def ClearField(self, field_name: typing_extensions.Literal["version", b"version"]) -> None: ...
10662
+ def HasField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info"]) -> builtins.bool: ...
10663
+ def ClearField(self, field_name: typing_extensions.Literal["creation_info", b"creation_info", "name", b"name", "version", b"version"]) -> None: ...
10210
10664
 
10211
10665
  global___VolumeMetadata = VolumeMetadata
10212
10666