modal 1.5.2.dev11__tar.gz → 1.5.2.dev13__tar.gz

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.
Files changed (230) hide show
  1. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/PKG-INFO +1 -1
  2. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/client.pyi +2 -2
  3. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cls.py +5 -4
  4. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cls.pyi +4 -0
  5. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/functions.pyi +6 -6
  6. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/task_command_router_pb2.py +55 -45
  8. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/task_command_router_pb2.pyi +17 -3
  9. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_version/__init__.py +1 -1
  10. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/LICENSE +0 -0
  11. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/README.md +0 -0
  12. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/__init__.py +0 -0
  13. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/__main__.py +0 -0
  14. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_billing.py +0 -0
  15. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_clustered_functions.py +0 -0
  16. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_clustered_functions.pyi +0 -0
  17. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_container_entrypoint.py +0 -0
  18. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_environments.py +0 -0
  19. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_function_variants.py +0 -0
  20. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_functions.py +0 -0
  21. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_grpc_client.py +0 -0
  22. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_image.py +0 -0
  23. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_ipython.py +0 -0
  24. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_load_context.py +0 -0
  25. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_location.py +0 -0
  26. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_logs.py +0 -0
  27. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_object.py +0 -0
  28. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_output/__init__.py +0 -0
  29. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_output/manager.py +0 -0
  30. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_output/pty.py +0 -0
  31. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_output/rich.py +0 -0
  32. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_output/status.py +0 -0
  33. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_partial_function.py +0 -0
  34. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_resolver.py +0 -0
  35. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_resources.py +0 -0
  36. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/__init__.py +0 -0
  37. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/asgi.py +0 -0
  38. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/container_io_manager.py +0 -0
  39. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/container_io_manager.pyi +0 -0
  40. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/execution_context.py +0 -0
  41. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/execution_context.pyi +0 -0
  42. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  43. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/task_lifecycle_manager.py +0 -0
  44. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
  45. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/telemetry.py +0 -0
  46. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/user_code_event_loop.py +0 -0
  47. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_runtime/user_code_imports.py +0 -0
  48. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_serialization.py +0 -0
  49. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_server.py +0 -0
  50. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_traceback.py +0 -0
  51. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_tunnel.py +0 -0
  52. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_tunnel.pyi +0 -0
  53. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_type_manager.py +0 -0
  54. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/__init__.py +0 -0
  55. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/app_utils.py +0 -0
  56. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/async_utils.py +0 -0
  57. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/auth_token_manager.py +0 -0
  58. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/blob_utils.py +0 -0
  59. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/browser_utils.py +0 -0
  60. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/bytes_io_segment_payload.py +0 -0
  61. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/curl_utils.py +0 -0
  62. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/deprecation.py +0 -0
  63. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/docker_utils.py +0 -0
  64. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/function_utils.py +0 -0
  65. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/git_utils.py +0 -0
  66. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/grpc_testing.py +0 -0
  67. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/grpc_utils.py +0 -0
  68. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/hash_utils.py +0 -0
  69. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/http_utils.py +0 -0
  70. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/jwt_utils.py +0 -0
  71. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/logger.py +0 -0
  72. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/mount_utils.py +0 -0
  73. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/name_utils.py +0 -0
  74. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/package_utils.py +0 -0
  75. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/pattern_utils.py +0 -0
  76. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/proxy_support.py +0 -0
  77. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/rand_pb_testing.py +0 -0
  78. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/sandbox_fs_utils.py +0 -0
  79. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/shell_utils.py +0 -0
  80. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/task_command_router_client.py +0 -0
  81. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_utils/time_utils.py +0 -0
  82. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_vendor/__init__.py +0 -0
  83. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  84. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_vendor/cloudpickle.py +0 -0
  85. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_vendor/tblib.py +0 -0
  86. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_vendor/version.py +0 -0
  87. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_watcher.py +0 -0
  88. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/_workspace.py +0 -0
  89. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/app.py +0 -0
  90. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/app.pyi +0 -0
  91. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/billing.py +0 -0
  92. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/billing.pyi +0 -0
  93. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/2023.12.312.txt +0 -0
  94. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/2023.12.txt +0 -0
  95. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/2024.04.txt +0 -0
  96. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/2024.10.txt +0 -0
  97. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/2025.06.txt +0 -0
  98. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/PREVIEW.txt +0 -0
  99. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/README.md +0 -0
  100. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/builder/base-images.json +0 -0
  101. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/call_graph.py +0 -0
  102. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/__init__.py +0 -0
  103. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/_download.py +0 -0
  104. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/_help.py +0 -0
  105. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/_traceback.py +0 -0
  106. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/app.py +0 -0
  107. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/billing.py +0 -0
  108. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/bootstrap.py +0 -0
  109. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/changelog.py +0 -0
  110. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/cluster.py +0 -0
  111. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/config.py +0 -0
  112. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/container.py +0 -0
  113. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/curl.py +0 -0
  114. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/dashboard.py +0 -0
  115. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/dict.py +0 -0
  116. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/endpoint.py +0 -0
  117. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/entry_point.py +0 -0
  118. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/environment.py +0 -0
  119. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/image.py +0 -0
  120. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/import_refs.py +0 -0
  121. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/launch.py +0 -0
  122. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/logo.py +0 -0
  123. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/network_file_system.py +0 -0
  124. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/profile.py +0 -0
  125. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/programs/__init__.py +0 -0
  126. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/programs/run_jupyter.py +0 -0
  127. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/programs/vscode.py +0 -0
  128. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/queues.py +0 -0
  129. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/run.py +0 -0
  130. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/secret.py +0 -0
  131. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/selector.py +0 -0
  132. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/shell.py +0 -0
  133. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/skills.py +0 -0
  134. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/token.py +0 -0
  135. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/utils.py +0 -0
  136. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/volume.py +0 -0
  137. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cli/workspace.py +0 -0
  138. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/client.py +0 -0
  139. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cloud_bucket_mount.py +0 -0
  140. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/cloud_bucket_mount.pyi +0 -0
  141. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/config.py +0 -0
  142. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/container_process.py +0 -0
  143. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/container_process.pyi +0 -0
  144. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/dict.py +0 -0
  145. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/dict.pyi +0 -0
  146. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/environments.py +0 -0
  147. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/environments.pyi +0 -0
  148. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/exception.py +0 -0
  149. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/experimental/__init__.py +0 -0
  150. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/experimental/flash.py +0 -0
  151. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/experimental/flash.pyi +0 -0
  152. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/experimental/ipython.py +0 -0
  153. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/file_io.py +0 -0
  154. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/file_io.pyi +0 -0
  155. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/file_pattern_matcher.py +0 -0
  156. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/functions.py +0 -0
  157. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/image.py +0 -0
  158. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/image.pyi +0 -0
  159. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/io_streams.py +0 -0
  160. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/io_streams.pyi +0 -0
  161. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/mount.py +0 -0
  162. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/mount.pyi +0 -0
  163. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/network_file_system.py +0 -0
  164. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/network_file_system.pyi +0 -0
  165. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/object.py +0 -0
  166. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/object.pyi +0 -0
  167. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/output.py +0 -0
  168. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/parallel_map.py +0 -0
  169. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/parallel_map.pyi +0 -0
  170. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/partial_function.py +0 -0
  171. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/partial_function.pyi +0 -0
  172. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/proxy.py +0 -0
  173. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/proxy.pyi +0 -0
  174. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/py.typed +0 -0
  175. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/queue.py +0 -0
  176. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/queue.pyi +0 -0
  177. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/retries.py +0 -0
  178. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/runner.py +0 -0
  179. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/runner.pyi +0 -0
  180. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/running_app.py +0 -0
  181. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/sandbox.py +0 -0
  182. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/sandbox.pyi +0 -0
  183. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/sandbox_fs.py +0 -0
  184. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/sandbox_fs.pyi +0 -0
  185. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/schedule.py +0 -0
  186. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/scheduler_placement.py +0 -0
  187. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/secret.py +0 -0
  188. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/secret.pyi +0 -0
  189. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/server.py +0 -0
  190. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/server.pyi +0 -0
  191. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/serving.py +0 -0
  192. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/serving.pyi +0 -0
  193. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/skills/modal/SKILL.md +0 -0
  194. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/snapshot.py +0 -0
  195. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/snapshot.pyi +0 -0
  196. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/stream_type.py +0 -0
  197. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/token_flow.py +0 -0
  198. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/token_flow.pyi +0 -0
  199. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/volume.py +0 -0
  200. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/volume.pyi +0 -0
  201. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/workspace.py +0 -0
  202. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal/workspace.pyi +0 -0
  203. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal.egg-info/SOURCES.txt +0 -0
  204. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal.egg-info/dependency_links.txt +0 -0
  205. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal.egg-info/entry_points.txt +0 -0
  206. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal.egg-info/requires.txt +0 -0
  207. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal.egg-info/top_level.txt +0 -0
  208. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/__init__.py +0 -0
  209. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/gen_cli_docs.py +0 -0
  210. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/gen_cli_docs_main.py +0 -0
  211. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/gen_reference_docs.py +0 -0
  212. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/gen_reference_docs_main.py +0 -0
  213. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/mdmd/__init__.py +0 -0
  214. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/mdmd/mdmd.py +0 -0
  215. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/mdmd/signatures.py +0 -0
  216. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_docs/mdmd/types.py +0 -0
  217. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/__init__.py +0 -0
  218. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/api_grpc.py +0 -0
  219. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/api_pb2.py +0 -0
  220. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/api_pb2.pyi +0 -0
  221. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/api_pb2_grpc.py +0 -0
  222. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/api_pb2_grpc.pyi +0 -0
  223. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/modal_api_grpc.py +0 -0
  224. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/py.typed +0 -0
  225. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/task_command_router_grpc.py +0 -0
  226. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  227. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  228. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/modal_version/__main__.py +0 -0
  229. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/pyproject.toml +0 -0
  230. {modal-1.5.2.dev11 → modal-1.5.2.dev13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.2.dev11
3
+ Version: 1.5.2.dev13
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -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.5.2.dev11",
38
+ version: str = "1.5.2.dev13",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -205,7 +205,7 @@ class Client:
205
205
  server_url: str,
206
206
  client_type: int,
207
207
  credentials: typing.Optional[tuple[str, str]],
208
- version: str = "1.5.2.dev11",
208
+ version: str = "1.5.2.dev13",
209
209
  ):
210
210
  """mdmd:hidden
211
211
  The Modal client object is not intended to be instantiated directly by users.
@@ -83,10 +83,8 @@ def _bind_instance_method(cls: "_Cls", service_function: _Function, method_name:
83
83
  def hydrate_from_instance_service_function(new_function: _Function):
84
84
  assert service_function.is_hydrated
85
85
  assert cls.is_hydrated
86
- # After 0.67 is minimum required version, we should be able to use method metadata directly
87
- # from the service_function instead (see _Cls._hydrate_metadata), but for now we use the Cls
88
- # since it can take the data from the cls metadata OR function metadata depending on source
89
- method_metadata = cls._method_metadata[method_name]
86
+
87
+ method_metadata = service_function._method_handle_metadata[method_name]
90
88
  new_function._hydrate(service_function.object_id, service_function.client, method_metadata)
91
89
 
92
90
  async def _load(fun: "_Function", resolver: Resolver, load_context: LoadContext, existing_object_id: str | None):
@@ -734,6 +732,7 @@ More information on class parameterization can be found here: https://modal.com/
734
732
  timeout: int | None = None,
735
733
  region: str | Sequence[str] | None = None,
736
734
  cloud: str | None = None,
735
+ routing_region: str | None = None,
737
736
  ) -> "_Cls":
738
737
  """Override the static Cls configuration with invocation-specific values.
739
738
 
@@ -759,6 +758,7 @@ More information on class parameterization can be found here: https://modal.com/
759
758
  timeout: Function timeout in seconds.
760
759
  region: One region or a list of regions to schedule on.
761
760
  cloud: Cloud provider (for example ``aws``, ``gcp``, ``oci``, or ``auto``).
761
+ routing_region: Region that inputs and outputs are routed through for this Cls.
762
762
 
763
763
  Returns:
764
764
  A new ``Cls`` with the merged options.
@@ -793,6 +793,7 @@ More information on class parameterization can be found here: https://modal.com/
793
793
  timeout=timeout,
794
794
  region=region,
795
795
  cloud=cloud,
796
+ routing_region=routing_region,
796
797
  )
797
798
 
798
799
  return self._apply_dynamic_config(options, "with_options")
@@ -342,6 +342,7 @@ class _Cls(modal._object._Object):
342
342
  timeout: typing.Optional[int] = None,
343
343
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
344
344
  cloud: typing.Optional[str] = None,
345
+ routing_region: typing.Optional[str] = None,
345
346
  ) -> _Cls:
346
347
  """Override the static Cls configuration with invocation-specific values.
347
348
 
@@ -367,6 +368,7 @@ class _Cls(modal._object._Object):
367
368
  timeout: Function timeout in seconds.
368
369
  region: One region or a list of regions to schedule on.
369
370
  cloud: Cloud provider (for example ``aws``, ``gcp``, ``oci``, or ``auto``).
371
+ routing_region: Region that inputs and outputs are routed through for this Cls.
370
372
 
371
373
  Returns:
372
374
  A new ``Cls`` with the merged options.
@@ -556,6 +558,7 @@ class Cls(modal.object.Object):
556
558
  timeout: typing.Optional[int] = None,
557
559
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
558
560
  cloud: typing.Optional[str] = None,
561
+ routing_region: typing.Optional[str] = None,
559
562
  ) -> Cls:
560
563
  """Override the static Cls configuration with invocation-specific values.
561
564
 
@@ -581,6 +584,7 @@ class Cls(modal.object.Object):
581
584
  timeout: Function timeout in seconds.
582
585
  region: One region or a list of regions to schedule on.
583
586
  cloud: Cloud provider (for example ``aws``, ``gcp``, ``oci``, or ``auto``).
587
+ routing_region: Region that inputs and outputs are routed through for this Cls.
584
588
 
585
589
  Returns:
586
590
  A new ``Cls`` with the merged options.
@@ -491,7 +491,7 @@ class Function(
491
491
 
492
492
  _call_generator: ___call_generator_spec
493
493
 
494
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
494
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
495
495
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
496
496
  """Calls the function remotely, executing it with the given arguments and returning the execution's result.
497
497
 
@@ -516,7 +516,7 @@ class Function(
516
516
  """
517
517
  ...
518
518
 
519
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType]
519
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P]
520
520
 
521
521
  class __remote_gen_spec(typing_extensions.Protocol):
522
522
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -566,7 +566,7 @@ class Function(
566
566
  """
567
567
  ...
568
568
 
569
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
569
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
570
570
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
571
571
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
572
572
 
@@ -599,7 +599,7 @@ class Function(
599
599
  """
600
600
  ...
601
601
 
602
- _experimental_spawn: ___experimental_spawn_spec[modal._functions.P, modal._functions.ReturnType]
602
+ _experimental_spawn: ___experimental_spawn_spec[modal._functions.ReturnType, modal._functions.P]
603
603
 
604
604
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER]):
605
605
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
@@ -607,7 +607,7 @@ class Function(
607
607
 
608
608
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P]
609
609
 
610
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
610
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
611
611
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
612
612
  """Calls the function with the given arguments, without waiting for the results.
613
613
 
@@ -640,7 +640,7 @@ class Function(
640
640
  """
641
641
  ...
642
642
 
643
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType]
643
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P]
644
644
 
645
645
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
646
646
  """Return the inner Python object wrapped by this Modal Function.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.2.dev11
3
+ Version: 1.5.2.dev13
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
17
17
  from modal_proto import api_pb2 as modal__proto_dot_api__pb2
18
18
 
19
19
 
20
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"X\n\x1aSandboxStdinWriteV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x04 \x01(\x08\"\x1d\n\x1bSandboxStdinWriteV2Response\"\x8c\x01\n\x19SandboxStdioReadV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12N\n\x0f\x66ile_descriptor\x18\x03 \x01(\x0e\x32\x35.modal.task_command_router.SandboxStdioFileDescriptor\"C\n\x1aSandboxStdioReadV2Response\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x0fstarting_offset\x18\x02 \x01(\x04\"C\n\x1fSandboxWaitUntilReadyTcrRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x02\"4\n SandboxWaitUntilReadyTcrResponse\x12\x10\n\x08ready_at\x18\x01 \x01(\x01\"\xb5\x02\n\x1aTaskContainerCreateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12K\n\x03\x65nv\x18\x06 \x03(\x0b\x32>.modal.task_command_router.TaskContainerCreateRequest.EnvEntry\x12\x0f\n\x07workdir\x18\x07 \x01(\t\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12\x30\n\rvolume_mounts\x18\t \x03(\x0b\x32\x19.modal.client.VolumeMount\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"K\n\x1bTaskContainerCreateResponse\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\"^\n\x17TaskContainerGetRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x1a\n\x12include_terminated\x18\x03 \x01(\x08\"[\n\x18TaskContainerGetResponse\x12?\n\tcontainer\x18\x01 \x01(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"~\n\x11TaskContainerInfo\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12+\n\x06result\x18\x04 \x01(\x0b\x32\x1b.modal.client.GenericResult\"G\n\x18TaskContainerListRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x1a\n\x12include_terminated\x18\x02 \x01(\x08\"]\n\x19TaskContainerListResponse\x12@\n\ncontainers\x18\x01 \x03(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"F\n\x1dTaskContainerTerminateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\" \n\x1eTaskContainerTerminateResponse\"R\n\x18TaskContainerWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"H\n\x19TaskContainerWaitResponse\x12+\n\x06result\x18\x01 \x01(\x0b\x32\x1b.modal.client.GenericResult\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x9b\x04\n\x14TaskExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x12\x14\n\x0c\x63ontainer_id\x18\x0b \x01(\t\x12\x45\n\x03\x65nv\x18\x0c \x03(\x0b\x32\x38.modal.task_command_router.TaskExecStartRequest.EnvEntry\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\">\n\x1aTaskExecStdinStatusRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"H\n\x1bTaskExecStdinStatusResponse\x12\x19\n\x11num_bytes_written\x18\x01 \x01(\x04\x12\x0e\n\x06\x63losed\x18\x02 \x01(\x08\"h\n\x19TaskExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x87\x01\n\x1fTaskExecStdinWriteStreamRequest\x12I\n\x05start\x18\x01 \x01(\x0b\x32\x38.modal.task_command_router.TaskExecStdinWriteStreamStartH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"\"\n TaskExecStdinWriteStreamResponse\"Q\n\x1dTaskExecStdinWriteStreamStart\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\"\x9d\x01\n\x18TaskExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\xa0\x01\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42#\n!_customer_supplied_encryption_key\"+\n\x18TaskReloadVolumesRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\"\x1b\n\x19TaskReloadVolumesResponse\"c\n\x1bTaskSetNetworkAccessRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x33\n\x0enetwork_access\x18\x02 \x01(\x0b\x32\x1b.modal.client.NetworkAccess\"\x1e\n\x1cTaskSetNetworkAccessResponse\"\xd0\x01\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x13\n\x0bsnapshot_id\x18\x03 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"\xc3\x01\n\x1dTaskSnapshotFilesystemRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"2\n\x1eTaskSnapshotFilesystemResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"<\n\x1bTaskUnmountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c*p\n\x1aSandboxStdioFileDescriptor\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xb6\x15\n\x11TaskCommandRouter\x12\x84\x01\n\x13SandboxStdinWriteV2\x12\x35.modal.task_command_router.SandboxStdinWriteV2Request\x1a\x36.modal.task_command_router.SandboxStdinWriteV2Response\x12\x83\x01\n\x12SandboxStdioReadV2\x12\x34.modal.task_command_router.SandboxStdioReadV2Request\x1a\x35.modal.task_command_router.SandboxStdioReadV2Response0\x01\x12\x90\x01\n\x15SandboxWaitUntilReady\x12:.modal.task_command_router.SandboxWaitUntilReadyTcrRequest\x1a;.modal.task_command_router.SandboxWaitUntilReadyTcrResponse\x12\x84\x01\n\x13TaskContainerCreate\x12\x35.modal.task_command_router.TaskContainerCreateRequest\x1a\x36.modal.task_command_router.TaskContainerCreateResponse\x12{\n\x10TaskContainerGet\x12\x32.modal.task_command_router.TaskContainerGetRequest\x1a\x33.modal.task_command_router.TaskContainerGetResponse\x12~\n\x11TaskContainerList\x12\x33.modal.task_command_router.TaskContainerListRequest\x1a\x34.modal.task_command_router.TaskContainerListResponse\x12\x8d\x01\n\x16TaskContainerTerminate\x12\x38.modal.task_command_router.TaskContainerTerminateRequest\x1a\x39.modal.task_command_router.TaskContainerTerminateResponse\x12~\n\x11TaskContainerWait\x12\x33.modal.task_command_router.TaskContainerWaitRequest\x1a\x34.modal.task_command_router.TaskContainerWaitResponse\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x84\x01\n\x13TaskExecStdinStatus\x12\x35.modal.task_command_router.TaskExecStdinStatusRequest\x1a\x36.modal.task_command_router.TaskExecStdinStatusResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x95\x01\n\x18TaskExecStdinWriteStream\x12:.modal.task_command_router.TaskExecStdinWriteStreamRequest\x1a;.modal.task_command_router.TaskExecStdinWriteStreamResponse(\x01\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponse\x12\x62\n\x12TaskMountDirectory\x12\x34.modal.task_command_router.TaskMountDirectoryRequest\x1a\x16.google.protobuf.Empty\x12~\n\x11TaskReloadVolumes\x12\x33.modal.task_command_router.TaskReloadVolumesRequest\x1a\x34.modal.task_command_router.TaskReloadVolumesResponse\x12\x87\x01\n\x14TaskSetNetworkAccess\x12\x36.modal.task_command_router.TaskSetNetworkAccessRequest\x1a\x37.modal.task_command_router.TaskSetNetworkAccessResponse\x12\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponse\x12\x8d\x01\n\x16TaskSnapshotFilesystem\x12\x38.modal.task_command_router.TaskSnapshotFilesystemRequest\x1a\x39.modal.task_command_router.TaskSnapshotFilesystemResponse\x12\x66\n\x14TaskUnmountDirectory\x12\x36.modal.task_command_router.TaskUnmountDirectoryRequest\x1a\x16.google.protobuf.EmptyB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"X\n\x1aSandboxStdinWriteV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x04 \x01(\x08\"\x1d\n\x1bSandboxStdinWriteV2Response\"\x8c\x01\n\x19SandboxStdioReadV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12N\n\x0f\x66ile_descriptor\x18\x03 \x01(\x0e\x32\x35.modal.task_command_router.SandboxStdioFileDescriptor\"C\n\x1aSandboxStdioReadV2Response\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x0fstarting_offset\x18\x02 \x01(\x04\"C\n\x1fSandboxWaitUntilReadyTcrRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07timeout\x18\x02 \x01(\x02\"4\n SandboxWaitUntilReadyTcrResponse\x12\x10\n\x08ready_at\x18\x01 \x01(\x01\"\xb5\x02\n\x1aTaskContainerCreateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12K\n\x03\x65nv\x18\x06 \x03(\x0b\x32>.modal.task_command_router.TaskContainerCreateRequest.EnvEntry\x12\x0f\n\x07workdir\x18\x07 \x01(\t\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12\x30\n\rvolume_mounts\x18\t \x03(\x0b\x32\x19.modal.client.VolumeMount\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"K\n\x1bTaskContainerCreateResponse\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\"^\n\x17TaskContainerGetRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x1a\n\x12include_terminated\x18\x03 \x01(\x08\"[\n\x18TaskContainerGetResponse\x12?\n\tcontainer\x18\x01 \x01(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"~\n\x11TaskContainerInfo\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12+\n\x06result\x18\x04 \x01(\x0b\x32\x1b.modal.client.GenericResult\"G\n\x18TaskContainerListRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x1a\n\x12include_terminated\x18\x02 \x01(\x08\"]\n\x19TaskContainerListResponse\x12@\n\ncontainers\x18\x01 \x03(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"F\n\x1dTaskContainerTerminateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\" \n\x1eTaskContainerTerminateResponse\"R\n\x18TaskContainerWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"H\n\x19TaskContainerWaitResponse\x12+\n\x06result\x18\x01 \x01(\x0b\x32\x1b.modal.client.GenericResult\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x9b\x04\n\x14TaskExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x12\x14\n\x0c\x63ontainer_id\x18\x0b \x01(\t\x12\x45\n\x03\x65nv\x18\x0c \x03(\x0b\x32\x38.modal.task_command_router.TaskExecStartRequest.EnvEntry\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\">\n\x1aTaskExecStdinStatusRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"H\n\x1bTaskExecStdinStatusResponse\x12\x19\n\x11num_bytes_written\x18\x01 \x01(\x04\x12\x0e\n\x06\x63losed\x18\x02 \x01(\x08\"h\n\x19TaskExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x1d\n\x1bTaskExecStdinWriteStreamEnd\"\xce\x01\n\x1fTaskExecStdinWriteStreamRequest\x12I\n\x05start\x18\x01 \x01(\x0b\x32\x38.modal.task_command_router.TaskExecStdinWriteStreamStartH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x12\x45\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x36.modal.task_command_router.TaskExecStdinWriteStreamEndH\x00\x42\t\n\x07payload\"\"\n TaskExecStdinWriteStreamResponse\"Q\n\x1dTaskExecStdinWriteStreamStart\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\"\x9d\x01\n\x18TaskExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\xa0\x01\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42#\n!_customer_supplied_encryption_key\"+\n\x18TaskReloadVolumesRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\"\x1b\n\x19TaskReloadVolumesResponse\"c\n\x1bTaskSetNetworkAccessRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x33\n\x0enetwork_access\x18\x02 \x01(\x0b\x32\x1b.modal.client.NetworkAccess\"\x1e\n\x1cTaskSetNetworkAccessResponse\"\xd0\x01\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x13\n\x0bsnapshot_id\x18\x03 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"\xc3\x01\n\x1dTaskSnapshotFilesystemRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"2\n\x1eTaskSnapshotFilesystemResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"<\n\x1bTaskUnmountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c*p\n\x1aSandboxStdioFileDescriptor\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xb6\x15\n\x11TaskCommandRouter\x12\x84\x01\n\x13SandboxStdinWriteV2\x12\x35.modal.task_command_router.SandboxStdinWriteV2Request\x1a\x36.modal.task_command_router.SandboxStdinWriteV2Response\x12\x83\x01\n\x12SandboxStdioReadV2\x12\x34.modal.task_command_router.SandboxStdioReadV2Request\x1a\x35.modal.task_command_router.SandboxStdioReadV2Response0\x01\x12\x90\x01\n\x15SandboxWaitUntilReady\x12:.modal.task_command_router.SandboxWaitUntilReadyTcrRequest\x1a;.modal.task_command_router.SandboxWaitUntilReadyTcrResponse\x12\x84\x01\n\x13TaskContainerCreate\x12\x35.modal.task_command_router.TaskContainerCreateRequest\x1a\x36.modal.task_command_router.TaskContainerCreateResponse\x12{\n\x10TaskContainerGet\x12\x32.modal.task_command_router.TaskContainerGetRequest\x1a\x33.modal.task_command_router.TaskContainerGetResponse\x12~\n\x11TaskContainerList\x12\x33.modal.task_command_router.TaskContainerListRequest\x1a\x34.modal.task_command_router.TaskContainerListResponse\x12\x8d\x01\n\x16TaskContainerTerminate\x12\x38.modal.task_command_router.TaskContainerTerminateRequest\x1a\x39.modal.task_command_router.TaskContainerTerminateResponse\x12~\n\x11TaskContainerWait\x12\x33.modal.task_command_router.TaskContainerWaitRequest\x1a\x34.modal.task_command_router.TaskContainerWaitResponse\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x84\x01\n\x13TaskExecStdinStatus\x12\x35.modal.task_command_router.TaskExecStdinStatusRequest\x1a\x36.modal.task_command_router.TaskExecStdinStatusResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x95\x01\n\x18TaskExecStdinWriteStream\x12:.modal.task_command_router.TaskExecStdinWriteStreamRequest\x1a;.modal.task_command_router.TaskExecStdinWriteStreamResponse(\x01\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponse\x12\x62\n\x12TaskMountDirectory\x12\x34.modal.task_command_router.TaskMountDirectoryRequest\x1a\x16.google.protobuf.Empty\x12~\n\x11TaskReloadVolumes\x12\x33.modal.task_command_router.TaskReloadVolumesRequest\x1a\x34.modal.task_command_router.TaskReloadVolumesResponse\x12\x87\x01\n\x14TaskSetNetworkAccess\x12\x36.modal.task_command_router.TaskSetNetworkAccessRequest\x1a\x37.modal.task_command_router.TaskSetNetworkAccessResponse\x12\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponse\x12\x8d\x01\n\x16TaskSnapshotFilesystem\x12\x38.modal.task_command_router.TaskSnapshotFilesystemRequest\x1a\x39.modal.task_command_router.TaskSnapshotFilesystemResponse\x12\x66\n\x14TaskUnmountDirectory\x12\x36.modal.task_command_router.TaskUnmountDirectoryRequest\x1a\x16.google.protobuf.EmptyB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
21
21
 
22
22
  _SANDBOXSTDIOFILEDESCRIPTOR = DESCRIPTOR.enum_types_by_name['SandboxStdioFileDescriptor']
23
23
  SandboxStdioFileDescriptor = enum_type_wrapper.EnumTypeWrapper(_SANDBOXSTDIOFILEDESCRIPTOR)
@@ -65,6 +65,7 @@ _TASKEXECSTDINSTATUSREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdinSta
65
65
  _TASKEXECSTDINSTATUSRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdinStatusResponse']
66
66
  _TASKEXECSTDINWRITEREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteRequest']
67
67
  _TASKEXECSTDINWRITERESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteResponse']
68
+ _TASKEXECSTDINWRITESTREAMEND = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteStreamEnd']
68
69
  _TASKEXECSTDINWRITESTREAMREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteStreamRequest']
69
70
  _TASKEXECSTDINWRITESTREAMRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteStreamResponse']
70
71
  _TASKEXECSTDINWRITESTREAMSTART = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteStreamStart']
@@ -273,6 +274,13 @@ TaskExecStdinWriteResponse = _reflection.GeneratedProtocolMessageType('TaskExecS
273
274
  })
274
275
  _sym_db.RegisterMessage(TaskExecStdinWriteResponse)
275
276
 
277
+ TaskExecStdinWriteStreamEnd = _reflection.GeneratedProtocolMessageType('TaskExecStdinWriteStreamEnd', (_message.Message,), {
278
+ 'DESCRIPTOR' : _TASKEXECSTDINWRITESTREAMEND,
279
+ '__module__' : 'modal_proto.task_command_router_pb2'
280
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdinWriteStreamEnd)
281
+ })
282
+ _sym_db.RegisterMessage(TaskExecStdinWriteStreamEnd)
283
+
276
284
  TaskExecStdinWriteStreamRequest = _reflection.GeneratedProtocolMessageType('TaskExecStdinWriteStreamRequest', (_message.Message,), {
277
285
  'DESCRIPTOR' : _TASKEXECSTDINWRITESTREAMREQUEST,
278
286
  '__module__' : 'modal_proto.task_command_router_pb2'
@@ -401,14 +409,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
401
409
  _TASKCONTAINERCREATEREQUEST_ENVENTRY._serialized_options = b'8\001'
402
410
  _TASKEXECSTARTREQUEST_ENVENTRY._options = None
403
411
  _TASKEXECSTARTREQUEST_ENVENTRY._serialized_options = b'8\001'
404
- _SANDBOXSTDIOFILEDESCRIPTOR._serialized_start=4219
405
- _SANDBOXSTDIOFILEDESCRIPTOR._serialized_end=4331
406
- _TASKEXECSTDERRCONFIG._serialized_start=4334
407
- _TASKEXECSTDERRCONFIG._serialized_end=4463
408
- _TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=4465
409
- _TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=4582
410
- _TASKEXECSTDOUTCONFIG._serialized_start=4584
411
- _TASKEXECSTDOUTCONFIG._serialized_end=4677
412
+ _SANDBOXSTDIOFILEDESCRIPTOR._serialized_start=4321
413
+ _SANDBOXSTDIOFILEDESCRIPTOR._serialized_end=4433
414
+ _TASKEXECSTDERRCONFIG._serialized_start=4436
415
+ _TASKEXECSTDERRCONFIG._serialized_end=4565
416
+ _TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=4567
417
+ _TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=4684
418
+ _TASKEXECSTDOUTCONFIG._serialized_start=4686
419
+ _TASKEXECSTDOUTCONFIG._serialized_end=4779
412
420
  _SANDBOXSTDINWRITEV2REQUEST._serialized_start=120
413
421
  _SANDBOXSTDINWRITEV2REQUEST._serialized_end=208
414
422
  _SANDBOXSTDINWRITEV2RESPONSE._serialized_start=210
@@ -463,40 +471,42 @@ if _descriptor._USE_C_DESCRIPTORS == False:
463
471
  _TASKEXECSTDINWRITEREQUEST._serialized_end=2653
464
472
  _TASKEXECSTDINWRITERESPONSE._serialized_start=2655
465
473
  _TASKEXECSTDINWRITERESPONSE._serialized_end=2683
466
- _TASKEXECSTDINWRITESTREAMREQUEST._serialized_start=2686
467
- _TASKEXECSTDINWRITESTREAMREQUEST._serialized_end=2821
468
- _TASKEXECSTDINWRITESTREAMRESPONSE._serialized_start=2823
469
- _TASKEXECSTDINWRITESTREAMRESPONSE._serialized_end=2857
470
- _TASKEXECSTDINWRITESTREAMSTART._serialized_start=2859
471
- _TASKEXECSTDINWRITESTREAMSTART._serialized_end=2940
472
- _TASKEXECSTDIOREADREQUEST._serialized_start=2943
473
- _TASKEXECSTDIOREADREQUEST._serialized_end=3100
474
- _TASKEXECSTDIOREADRESPONSE._serialized_start=3102
475
- _TASKEXECSTDIOREADRESPONSE._serialized_end=3143
476
- _TASKEXECWAITREQUEST._serialized_start=3145
477
- _TASKEXECWAITREQUEST._serialized_end=3200
478
- _TASKEXECWAITRESPONSE._serialized_start=3202
479
- _TASKEXECWAITRESPONSE._serialized_end=3273
480
- _TASKMOUNTDIRECTORYREQUEST._serialized_start=3276
481
- _TASKMOUNTDIRECTORYREQUEST._serialized_end=3436
482
- _TASKRELOADVOLUMESREQUEST._serialized_start=3438
483
- _TASKRELOADVOLUMESREQUEST._serialized_end=3481
484
- _TASKRELOADVOLUMESRESPONSE._serialized_start=3483
485
- _TASKRELOADVOLUMESRESPONSE._serialized_end=3510
486
- _TASKSETNETWORKACCESSREQUEST._serialized_start=3512
487
- _TASKSETNETWORKACCESSREQUEST._serialized_end=3611
488
- _TASKSETNETWORKACCESSRESPONSE._serialized_start=3613
489
- _TASKSETNETWORKACCESSRESPONSE._serialized_end=3643
490
- _TASKSNAPSHOTDIRECTORYREQUEST._serialized_start=3646
491
- _TASKSNAPSHOTDIRECTORYREQUEST._serialized_end=3854
492
- _TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=3856
493
- _TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=3905
494
- _TASKSNAPSHOTFILESYSTEMREQUEST._serialized_start=3908
495
- _TASKSNAPSHOTFILESYSTEMREQUEST._serialized_end=4103
496
- _TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_start=4105
497
- _TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_end=4155
498
- _TASKUNMOUNTDIRECTORYREQUEST._serialized_start=4157
499
- _TASKUNMOUNTDIRECTORYREQUEST._serialized_end=4217
500
- _TASKCOMMANDROUTER._serialized_start=4680
501
- _TASKCOMMANDROUTER._serialized_end=7422
474
+ _TASKEXECSTDINWRITESTREAMEND._serialized_start=2685
475
+ _TASKEXECSTDINWRITESTREAMEND._serialized_end=2714
476
+ _TASKEXECSTDINWRITESTREAMREQUEST._serialized_start=2717
477
+ _TASKEXECSTDINWRITESTREAMREQUEST._serialized_end=2923
478
+ _TASKEXECSTDINWRITESTREAMRESPONSE._serialized_start=2925
479
+ _TASKEXECSTDINWRITESTREAMRESPONSE._serialized_end=2959
480
+ _TASKEXECSTDINWRITESTREAMSTART._serialized_start=2961
481
+ _TASKEXECSTDINWRITESTREAMSTART._serialized_end=3042
482
+ _TASKEXECSTDIOREADREQUEST._serialized_start=3045
483
+ _TASKEXECSTDIOREADREQUEST._serialized_end=3202
484
+ _TASKEXECSTDIOREADRESPONSE._serialized_start=3204
485
+ _TASKEXECSTDIOREADRESPONSE._serialized_end=3245
486
+ _TASKEXECWAITREQUEST._serialized_start=3247
487
+ _TASKEXECWAITREQUEST._serialized_end=3302
488
+ _TASKEXECWAITRESPONSE._serialized_start=3304
489
+ _TASKEXECWAITRESPONSE._serialized_end=3375
490
+ _TASKMOUNTDIRECTORYREQUEST._serialized_start=3378
491
+ _TASKMOUNTDIRECTORYREQUEST._serialized_end=3538
492
+ _TASKRELOADVOLUMESREQUEST._serialized_start=3540
493
+ _TASKRELOADVOLUMESREQUEST._serialized_end=3583
494
+ _TASKRELOADVOLUMESRESPONSE._serialized_start=3585
495
+ _TASKRELOADVOLUMESRESPONSE._serialized_end=3612
496
+ _TASKSETNETWORKACCESSREQUEST._serialized_start=3614
497
+ _TASKSETNETWORKACCESSREQUEST._serialized_end=3713
498
+ _TASKSETNETWORKACCESSRESPONSE._serialized_start=3715
499
+ _TASKSETNETWORKACCESSRESPONSE._serialized_end=3745
500
+ _TASKSNAPSHOTDIRECTORYREQUEST._serialized_start=3748
501
+ _TASKSNAPSHOTDIRECTORYREQUEST._serialized_end=3956
502
+ _TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=3958
503
+ _TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=4007
504
+ _TASKSNAPSHOTFILESYSTEMREQUEST._serialized_start=4010
505
+ _TASKSNAPSHOTFILESYSTEMREQUEST._serialized_end=4205
506
+ _TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_start=4207
507
+ _TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_end=4257
508
+ _TASKUNMOUNTDIRECTORYREQUEST._serialized_start=4259
509
+ _TASKUNMOUNTDIRECTORYREQUEST._serialized_end=4319
510
+ _TASKCOMMANDROUTER._serialized_start=4782
511
+ _TASKCOMMANDROUTER._serialized_end=7524
502
512
  # @@protoc_insertion_point(module_scope)
@@ -661,25 +661,39 @@ class TaskExecStdinWriteResponse(google.protobuf.message.Message):
661
661
 
662
662
  global___TaskExecStdinWriteResponse = TaskExecStdinWriteResponse
663
663
 
664
+ class TaskExecStdinWriteStreamEnd(google.protobuf.message.Message):
665
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
666
+
667
+ def __init__(
668
+ self,
669
+ ) -> None: ...
670
+
671
+ global___TaskExecStdinWriteStreamEnd = TaskExecStdinWriteStreamEnd
672
+
664
673
  class TaskExecStdinWriteStreamRequest(google.protobuf.message.Message):
665
674
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
666
675
 
667
676
  START_FIELD_NUMBER: builtins.int
668
677
  DATA_FIELD_NUMBER: builtins.int
678
+ END_FIELD_NUMBER: builtins.int
669
679
  @property
670
680
  def start(self) -> global___TaskExecStdinWriteStreamStart:
671
681
  """Start of a stdin write stream. Includes task_id, exec_id, and offset to write to."""
672
682
  data: builtins.bytes
673
683
  """A chunk of stdin data to write to the exec'd command."""
684
+ @property
685
+ def end(self) -> global___TaskExecStdinWriteStreamEnd:
686
+ """Signals EOF: close stdin after the data sent so far."""
674
687
  def __init__(
675
688
  self,
676
689
  *,
677
690
  start: global___TaskExecStdinWriteStreamStart | None = ...,
678
691
  data: builtins.bytes = ...,
692
+ end: global___TaskExecStdinWriteStreamEnd | None = ...,
679
693
  ) -> None: ...
680
- def HasField(self, field_name: typing_extensions.Literal["data", b"data", "payload", b"payload", "start", b"start"]) -> builtins.bool: ...
681
- def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "payload", b"payload", "start", b"start"]) -> None: ...
682
- def WhichOneof(self, oneof_group: typing_extensions.Literal["payload", b"payload"]) -> typing_extensions.Literal["start", "data"] | None: ...
694
+ def HasField(self, field_name: typing_extensions.Literal["data", b"data", "end", b"end", "payload", b"payload", "start", b"start"]) -> builtins.bool: ...
695
+ def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "end", b"end", "payload", b"payload", "start", b"start"]) -> None: ...
696
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["payload", b"payload"]) -> typing_extensions.Literal["start", "data", "end"] | None: ...
683
697
 
684
698
  global___TaskExecStdinWriteStreamRequest = TaskExecStdinWriteStreamRequest
685
699
 
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2026
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.5.2.dev11"
4
+ __version__ = "1.5.2.dev13"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes