loopix-sdk 2.30.0__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.
Files changed (238) hide show
  1. loopix/__init__.py +260 -0
  2. loopix/api/__init__.py +287 -0
  3. loopix/api/client/__init__.py +8 -0
  4. loopix/api/client/api/__init__.py +1 -0
  5. loopix/api/client/api/sandboxes/__init__.py +1 -0
  6. loopix/api/client/api/sandboxes/delete_sandboxes_sandbox_id.py +161 -0
  7. loopix/api/client/api/sandboxes/get_sandboxes.py +176 -0
  8. loopix/api/client/api/sandboxes/get_sandboxes_metrics.py +173 -0
  9. loopix/api/client/api/sandboxes/get_sandboxes_sandbox_id.py +163 -0
  10. loopix/api/client/api/sandboxes/get_sandboxes_sandbox_id_logs.py +199 -0
  11. loopix/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py +212 -0
  12. loopix/api/client/api/sandboxes/get_v2_sandboxes.py +230 -0
  13. loopix/api/client/api/sandboxes/get_v_2_sandboxes_sandbox_id_logs.py +254 -0
  14. loopix/api/client/api/sandboxes/post_sandboxes.py +172 -0
  15. loopix/api/client/api/sandboxes/post_sandboxes_sandbox_id_connect.py +193 -0
  16. loopix/api/client/api/sandboxes/post_sandboxes_sandbox_id_pause.py +187 -0
  17. loopix/api/client/api/sandboxes/post_sandboxes_sandbox_id_refreshes.py +181 -0
  18. loopix/api/client/api/sandboxes/post_sandboxes_sandbox_id_resume.py +189 -0
  19. loopix/api/client/api/sandboxes/post_sandboxes_sandbox_id_snapshots.py +195 -0
  20. loopix/api/client/api/sandboxes/post_sandboxes_sandbox_id_timeout.py +193 -0
  21. loopix/api/client/api/sandboxes/put_sandboxes_sandbox_id_network.py +199 -0
  22. loopix/api/client/api/snapshots/__init__.py +1 -0
  23. loopix/api/client/api/snapshots/get_snapshots.py +202 -0
  24. loopix/api/client/api/tags/__init__.py +1 -0
  25. loopix/api/client/api/tags/delete_templates_tags.py +174 -0
  26. loopix/api/client/api/tags/get_templates_template_id_tags.py +172 -0
  27. loopix/api/client/api/tags/post_templates_tags.py +176 -0
  28. loopix/api/client/api/templates/__init__.py +1 -0
  29. loopix/api/client/api/templates/delete_templates_template_id.py +157 -0
  30. loopix/api/client/api/templates/get_templates.py +172 -0
  31. loopix/api/client/api/templates/get_templates_aliases_alias.py +167 -0
  32. loopix/api/client/api/templates/get_templates_template_id.py +195 -0
  33. loopix/api/client/api/templates/get_templates_template_id_builds_build_id_logs.py +272 -0
  34. loopix/api/client/api/templates/get_templates_template_id_builds_build_id_status.py +232 -0
  35. loopix/api/client/api/templates/get_templates_template_id_files_hash.py +180 -0
  36. loopix/api/client/api/templates/patch_templates_template_id.py +183 -0
  37. loopix/api/client/api/templates/patch_v_2_templates_template_id.py +185 -0
  38. loopix/api/client/api/templates/post_templates.py +172 -0
  39. loopix/api/client/api/templates/post_templates_template_id.py +181 -0
  40. loopix/api/client/api/templates/post_templates_template_id_builds_build_id.py +170 -0
  41. loopix/api/client/api/templates/post_v2_templates.py +172 -0
  42. loopix/api/client/api/templates/post_v3_templates.py +176 -0
  43. loopix/api/client/api/templates/post_v_2_templates_template_id_builds_build_id.py +192 -0
  44. loopix/api/client/api/volumes/__init__.py +1 -0
  45. loopix/api/client/api/volumes/delete_volumes_volume_id.py +161 -0
  46. loopix/api/client/api/volumes/get_volumes.py +140 -0
  47. loopix/api/client/api/volumes/get_volumes_volume_id.py +163 -0
  48. loopix/api/client/api/volumes/post_volumes.py +172 -0
  49. loopix/api/client/client.py +286 -0
  50. loopix/api/client/errors.py +16 -0
  51. loopix/api/client/models/__init__.py +185 -0
  52. loopix/api/client/models/admin_build_cancel_result.py +67 -0
  53. loopix/api/client/models/admin_sandbox_kill_result.py +67 -0
  54. loopix/api/client/models/assign_template_tags_request.py +67 -0
  55. loopix/api/client/models/assigned_template_tags.py +68 -0
  56. loopix/api/client/models/aws_registry.py +85 -0
  57. loopix/api/client/models/aws_registry_type.py +8 -0
  58. loopix/api/client/models/build_log_entry.py +89 -0
  59. loopix/api/client/models/build_status_reason.py +95 -0
  60. loopix/api/client/models/connect_sandbox.py +59 -0
  61. loopix/api/client/models/created_access_token.py +100 -0
  62. loopix/api/client/models/created_team_api_key.py +166 -0
  63. loopix/api/client/models/delete_template_tags_request.py +67 -0
  64. loopix/api/client/models/disk_metrics.py +91 -0
  65. loopix/api/client/models/error.py +67 -0
  66. loopix/api/client/models/gcp_registry.py +69 -0
  67. loopix/api/client/models/gcp_registry_type.py +8 -0
  68. loopix/api/client/models/general_registry.py +77 -0
  69. loopix/api/client/models/general_registry_type.py +8 -0
  70. loopix/api/client/models/identifier_masking_details.py +83 -0
  71. loopix/api/client/models/listed_sandbox.py +179 -0
  72. loopix/api/client/models/log_level.py +11 -0
  73. loopix/api/client/models/logs_direction.py +9 -0
  74. loopix/api/client/models/logs_source.py +9 -0
  75. loopix/api/client/models/machine_info.py +83 -0
  76. loopix/api/client/models/max_team_metric.py +78 -0
  77. loopix/api/client/models/mcp_type_0.py +44 -0
  78. loopix/api/client/models/new_access_token.py +59 -0
  79. loopix/api/client/models/new_sandbox.py +224 -0
  80. loopix/api/client/models/new_team_api_key.py +59 -0
  81. loopix/api/client/models/new_volume.py +59 -0
  82. loopix/api/client/models/node.py +160 -0
  83. loopix/api/client/models/node_detail.py +160 -0
  84. loopix/api/client/models/node_metrics.py +122 -0
  85. loopix/api/client/models/node_status.py +12 -0
  86. loopix/api/client/models/node_status_change.py +82 -0
  87. loopix/api/client/models/post_sandboxes_sandbox_id_refreshes_body.py +59 -0
  88. loopix/api/client/models/post_sandboxes_sandbox_id_snapshots_body.py +60 -0
  89. loopix/api/client/models/post_sandboxes_sandbox_id_timeout_body.py +59 -0
  90. loopix/api/client/models/resumed_sandbox.py +68 -0
  91. loopix/api/client/models/sandbox.py +145 -0
  92. loopix/api/client/models/sandbox_auto_resume_config.py +60 -0
  93. loopix/api/client/models/sandbox_detail.py +267 -0
  94. loopix/api/client/models/sandbox_lifecycle.py +70 -0
  95. loopix/api/client/models/sandbox_log.py +70 -0
  96. loopix/api/client/models/sandbox_log_entry.py +93 -0
  97. loopix/api/client/models/sandbox_log_entry_fields.py +44 -0
  98. loopix/api/client/models/sandbox_logs.py +91 -0
  99. loopix/api/client/models/sandbox_logs_v2_response.py +73 -0
  100. loopix/api/client/models/sandbox_metric.py +126 -0
  101. loopix/api/client/models/sandbox_network_config.py +118 -0
  102. loopix/api/client/models/sandbox_network_config_rules.py +72 -0
  103. loopix/api/client/models/sandbox_network_rule.py +74 -0
  104. loopix/api/client/models/sandbox_network_transform.py +79 -0
  105. loopix/api/client/models/sandbox_network_transform_headers.py +47 -0
  106. loopix/api/client/models/sandbox_network_update_config.py +114 -0
  107. loopix/api/client/models/sandbox_network_update_config_rules.py +71 -0
  108. loopix/api/client/models/sandbox_on_timeout.py +9 -0
  109. loopix/api/client/models/sandbox_pause_request.py +62 -0
  110. loopix/api/client/models/sandbox_state.py +9 -0
  111. loopix/api/client/models/sandbox_volume_mount.py +67 -0
  112. loopix/api/client/models/sandboxes_with_metrics.py +59 -0
  113. loopix/api/client/models/snapshot_info.py +70 -0
  114. loopix/api/client/models/team.py +83 -0
  115. loopix/api/client/models/team_api_key.py +158 -0
  116. loopix/api/client/models/team_metric.py +86 -0
  117. loopix/api/client/models/team_user.py +75 -0
  118. loopix/api/client/models/template.py +225 -0
  119. loopix/api/client/models/template_alias_response.py +67 -0
  120. loopix/api/client/models/template_build.py +139 -0
  121. loopix/api/client/models/template_build_file_upload.py +70 -0
  122. loopix/api/client/models/template_build_info.py +126 -0
  123. loopix/api/client/models/template_build_logs_response.py +73 -0
  124. loopix/api/client/models/template_build_request.py +115 -0
  125. loopix/api/client/models/template_build_request_v2.py +88 -0
  126. loopix/api/client/models/template_build_request_v3.py +107 -0
  127. loopix/api/client/models/template_build_start_v2.py +184 -0
  128. loopix/api/client/models/template_build_status.py +11 -0
  129. loopix/api/client/models/template_legacy.py +207 -0
  130. loopix/api/client/models/template_request_response_v3.py +99 -0
  131. loopix/api/client/models/template_step.py +91 -0
  132. loopix/api/client/models/template_tag.py +78 -0
  133. loopix/api/client/models/template_update_request.py +59 -0
  134. loopix/api/client/models/template_update_response.py +59 -0
  135. loopix/api/client/models/template_with_builds.py +156 -0
  136. loopix/api/client/models/update_team_api_key.py +59 -0
  137. loopix/api/client/models/volume.py +67 -0
  138. loopix/api/client/models/volume_and_token.py +75 -0
  139. loopix/api/client/models/volume_token.py +59 -0
  140. loopix/api/client/py.typed +1 -0
  141. loopix/api/client/types.py +54 -0
  142. loopix/api/client_async/__init__.py +74 -0
  143. loopix/api/client_sync/__init__.py +73 -0
  144. loopix/api/metadata.py +14 -0
  145. loopix/connection_config.py +309 -0
  146. loopix/envd/api.py +170 -0
  147. loopix/envd/filesystem/filesystem_connect.py +193 -0
  148. loopix/envd/filesystem/filesystem_pb2.py +80 -0
  149. loopix/envd/filesystem/filesystem_pb2.pyi +272 -0
  150. loopix/envd/process/process_connect.py +174 -0
  151. loopix/envd/process/process_pb2.py +96 -0
  152. loopix/envd/process/process_pb2.pyi +316 -0
  153. loopix/envd/rpc.py +139 -0
  154. loopix/envd/versions.py +11 -0
  155. loopix/exceptions.py +133 -0
  156. loopix/io_utils.py +57 -0
  157. loopix/paginator.py +52 -0
  158. loopix/py.typed +0 -0
  159. loopix/sandbox/_git/__init__.py +85 -0
  160. loopix/sandbox/_git/args.py +363 -0
  161. loopix/sandbox/_git/auth.py +132 -0
  162. loopix/sandbox/_git/config.py +32 -0
  163. loopix/sandbox/_git/parse.py +222 -0
  164. loopix/sandbox/_git/types.py +149 -0
  165. loopix/sandbox/commands/command_handle.py +69 -0
  166. loopix/sandbox/commands/main.py +39 -0
  167. loopix/sandbox/filesystem/filesystem.py +337 -0
  168. loopix/sandbox/filesystem/watch_handle.py +70 -0
  169. loopix/sandbox/main.py +227 -0
  170. loopix/sandbox/mcp.py +1949 -0
  171. loopix/sandbox/network.py +8 -0
  172. loopix/sandbox/sandbox_api.py +624 -0
  173. loopix/sandbox/signature.py +47 -0
  174. loopix/sandbox/utils.py +34 -0
  175. loopix/sandbox_async/commands/command.py +396 -0
  176. loopix/sandbox_async/commands/command_handle.py +298 -0
  177. loopix/sandbox_async/commands/pty.py +257 -0
  178. loopix/sandbox_async/filesystem/filesystem.py +720 -0
  179. loopix/sandbox_async/filesystem/watch_handle.py +97 -0
  180. loopix/sandbox_async/git.py +1100 -0
  181. loopix/sandbox_async/main.py +987 -0
  182. loopix/sandbox_async/paginator.py +140 -0
  183. loopix/sandbox_async/sandbox_api.py +504 -0
  184. loopix/sandbox_async/utils.py +7 -0
  185. loopix/sandbox_domains.py +5 -0
  186. loopix/sandbox_sync/commands/command.py +420 -0
  187. loopix/sandbox_sync/commands/command_handle.py +239 -0
  188. loopix/sandbox_sync/commands/pty.py +279 -0
  189. loopix/sandbox_sync/filesystem/filesystem.py +710 -0
  190. loopix/sandbox_sync/filesystem/watch_handle.py +102 -0
  191. loopix/sandbox_sync/git.py +1077 -0
  192. loopix/sandbox_sync/main.py +975 -0
  193. loopix/sandbox_sync/paginator.py +140 -0
  194. loopix/sandbox_sync/sandbox_api.py +491 -0
  195. loopix/template/consts.py +45 -0
  196. loopix/template/dockerfile_parser.py +286 -0
  197. loopix/template/logger.py +232 -0
  198. loopix/template/main.py +1368 -0
  199. loopix/template/readycmd.py +144 -0
  200. loopix/template/types.py +194 -0
  201. loopix/template/utils.py +426 -0
  202. loopix/template_async/build_api.py +419 -0
  203. loopix/template_async/main.py +528 -0
  204. loopix/template_sync/build_api.py +409 -0
  205. loopix/template_sync/main.py +529 -0
  206. loopix/volume/client/__init__.py +8 -0
  207. loopix/volume/client/api/__init__.py +1 -0
  208. loopix/volume/client/api/volumes/__init__.py +1 -0
  209. loopix/volume/client/api/volumes/delete_volumecontent_volume_id_path.py +174 -0
  210. loopix/volume/client/api/volumes/get_volumecontent_volume_id_dir.py +204 -0
  211. loopix/volume/client/api/volumes/get_volumecontent_volume_id_file.py +179 -0
  212. loopix/volume/client/api/volumes/get_volumecontent_volume_id_path.py +176 -0
  213. loopix/volume/client/api/volumes/patch_volumecontent_volume_id_path.py +203 -0
  214. loopix/volume/client/api/volumes/post_volumecontent_volume_id_dir.py +239 -0
  215. loopix/volume/client/api/volumes/put_volumecontent_volume_id_file.py +259 -0
  216. loopix/volume/client/client.py +286 -0
  217. loopix/volume/client/errors.py +16 -0
  218. loopix/volume/client/models/__init__.py +13 -0
  219. loopix/volume/client/models/error.py +67 -0
  220. loopix/volume/client/models/patch_volumecontent_volume_id_path_body.py +77 -0
  221. loopix/volume/client/models/volume_entry_stat.py +145 -0
  222. loopix/volume/client/models/volume_entry_stat_type.py +11 -0
  223. loopix/volume/client/py.typed +1 -0
  224. loopix/volume/client/types.py +54 -0
  225. loopix/volume/client_async/__init__.py +88 -0
  226. loopix/volume/client_sync/__init__.py +80 -0
  227. loopix/volume/connection_config.py +145 -0
  228. loopix/volume/types.py +62 -0
  229. loopix/volume/utils.py +52 -0
  230. loopix/volume/volume_async.py +639 -0
  231. loopix/volume/volume_sync.py +639 -0
  232. loopix_connect/__init__.py +1 -0
  233. loopix_connect/client.py +534 -0
  234. loopix_connect/py.typed +0 -0
  235. loopix_sdk-2.30.0.dist-info/METADATA +98 -0
  236. loopix_sdk-2.30.0.dist-info/RECORD +238 -0
  237. loopix_sdk-2.30.0.dist-info/WHEEL +4 -0
  238. loopix_sdk-2.30.0.dist-info/licenses/LICENSE +9 -0
@@ -0,0 +1,174 @@
1
+ # Code generated by protoc-gen-connect-python 0.1.0.dev2, DO NOT EDIT.
2
+ from typing import Any, Generator, Coroutine, AsyncGenerator, Optional
3
+ from httpcore import ConnectionPool, AsyncConnectionPool
4
+
5
+ import loopix_connect as connect
6
+
7
+ from loopix.envd.process import process_pb2 as process_dot_process__pb2
8
+
9
+ ProcessName = "process.Process"
10
+
11
+
12
+ class ProcessClient:
13
+ def __init__(
14
+ self,
15
+ base_url: str,
16
+ *,
17
+ pool: Optional[ConnectionPool] = None,
18
+ async_pool: Optional[AsyncConnectionPool] = None,
19
+ compressor=None,
20
+ json=False,
21
+ **opts,
22
+ ):
23
+ self._list = connect.Client(
24
+ pool=pool,
25
+ async_pool=async_pool,
26
+ url=f"{base_url}/{ProcessName}/List",
27
+ response_type=process_dot_process__pb2.ListResponse,
28
+ compressor=compressor,
29
+ json=json,
30
+ **opts,
31
+ )
32
+ self._connect = connect.Client(
33
+ pool=pool,
34
+ async_pool=async_pool,
35
+ url=f"{base_url}/{ProcessName}/Connect",
36
+ response_type=process_dot_process__pb2.ConnectResponse,
37
+ compressor=compressor,
38
+ json=json,
39
+ **opts,
40
+ )
41
+ self._start = connect.Client(
42
+ pool=pool,
43
+ async_pool=async_pool,
44
+ url=f"{base_url}/{ProcessName}/Start",
45
+ response_type=process_dot_process__pb2.StartResponse,
46
+ compressor=compressor,
47
+ json=json,
48
+ **opts,
49
+ )
50
+ self._update = connect.Client(
51
+ pool=pool,
52
+ async_pool=async_pool,
53
+ url=f"{base_url}/{ProcessName}/Update",
54
+ response_type=process_dot_process__pb2.UpdateResponse,
55
+ compressor=compressor,
56
+ json=json,
57
+ **opts,
58
+ )
59
+ self._stream_input = connect.Client(
60
+ pool=pool,
61
+ async_pool=async_pool,
62
+ url=f"{base_url}/{ProcessName}/StreamInput",
63
+ response_type=process_dot_process__pb2.StreamInputResponse,
64
+ compressor=compressor,
65
+ json=json,
66
+ **opts,
67
+ )
68
+ self._send_input = connect.Client(
69
+ pool=pool,
70
+ async_pool=async_pool,
71
+ url=f"{base_url}/{ProcessName}/SendInput",
72
+ response_type=process_dot_process__pb2.SendInputResponse,
73
+ compressor=compressor,
74
+ json=json,
75
+ **opts,
76
+ )
77
+ self._send_signal = connect.Client(
78
+ pool=pool,
79
+ async_pool=async_pool,
80
+ url=f"{base_url}/{ProcessName}/SendSignal",
81
+ response_type=process_dot_process__pb2.SendSignalResponse,
82
+ compressor=compressor,
83
+ json=json,
84
+ **opts,
85
+ )
86
+ self._close_stdin = connect.Client(
87
+ pool=pool,
88
+ async_pool=async_pool,
89
+ url=f"{base_url}/{ProcessName}/CloseStdin",
90
+ response_type=process_dot_process__pb2.CloseStdinResponse,
91
+ compressor=compressor,
92
+ json=json,
93
+ **opts,
94
+ )
95
+
96
+ def list(
97
+ self, req: process_dot_process__pb2.ListRequest, **opts
98
+ ) -> process_dot_process__pb2.ListResponse:
99
+ return self._list.call_unary(req, **opts)
100
+
101
+ def alist(
102
+ self, req: process_dot_process__pb2.ListRequest, **opts
103
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.ListResponse]:
104
+ return self._list.acall_unary(req, **opts)
105
+
106
+ def connect(
107
+ self, req: process_dot_process__pb2.ConnectRequest, **opts
108
+ ) -> Generator[process_dot_process__pb2.ConnectResponse, Any, None]:
109
+ return self._connect.call_server_stream(req, **opts)
110
+
111
+ def aconnect(
112
+ self, req: process_dot_process__pb2.ConnectRequest, **opts
113
+ ) -> AsyncGenerator[process_dot_process__pb2.ConnectResponse, Any]:
114
+ return self._connect.acall_server_stream(req, **opts)
115
+
116
+ def start(
117
+ self, req: process_dot_process__pb2.StartRequest, **opts
118
+ ) -> Generator[process_dot_process__pb2.StartResponse, Any, None]:
119
+ return self._start.call_server_stream(req, **opts)
120
+
121
+ def astart(
122
+ self, req: process_dot_process__pb2.StartRequest, **opts
123
+ ) -> AsyncGenerator[process_dot_process__pb2.StartResponse, Any]:
124
+ return self._start.acall_server_stream(req, **opts)
125
+
126
+ def update(
127
+ self, req: process_dot_process__pb2.UpdateRequest, **opts
128
+ ) -> process_dot_process__pb2.UpdateResponse:
129
+ return self._update.call_unary(req, **opts)
130
+
131
+ def aupdate(
132
+ self, req: process_dot_process__pb2.UpdateRequest, **opts
133
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.UpdateResponse]:
134
+ return self._update.acall_unary(req, **opts)
135
+
136
+ def stream_input(
137
+ self, req: process_dot_process__pb2.StreamInputRequest, **opts
138
+ ) -> process_dot_process__pb2.StreamInputResponse:
139
+ return self._stream_input.call_client_stream(req, **opts)
140
+
141
+ def astream_input(
142
+ self, req: process_dot_process__pb2.StreamInputRequest, **opts
143
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.StreamInputResponse]:
144
+ return self._stream_input.acall_client_stream(req, **opts)
145
+
146
+ def send_input(
147
+ self, req: process_dot_process__pb2.SendInputRequest, **opts
148
+ ) -> process_dot_process__pb2.SendInputResponse:
149
+ return self._send_input.call_unary(req, **opts)
150
+
151
+ def asend_input(
152
+ self, req: process_dot_process__pb2.SendInputRequest, **opts
153
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.SendInputResponse]:
154
+ return self._send_input.acall_unary(req, **opts)
155
+
156
+ def send_signal(
157
+ self, req: process_dot_process__pb2.SendSignalRequest, **opts
158
+ ) -> process_dot_process__pb2.SendSignalResponse:
159
+ return self._send_signal.call_unary(req, **opts)
160
+
161
+ def asend_signal(
162
+ self, req: process_dot_process__pb2.SendSignalRequest, **opts
163
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.SendSignalResponse]:
164
+ return self._send_signal.acall_unary(req, **opts)
165
+
166
+ def close_stdin(
167
+ self, req: process_dot_process__pb2.CloseStdinRequest, **opts
168
+ ) -> process_dot_process__pb2.CloseStdinResponse:
169
+ return self._close_stdin.call_unary(req, **opts)
170
+
171
+ def aclose_stdin(
172
+ self, req: process_dot_process__pb2.CloseStdinRequest, **opts
173
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.CloseStdinResponse]:
174
+ return self._close_stdin.acall_unary(req, **opts)
@@ -0,0 +1,96 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: process/process.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import symbol_database as _symbol_database
10
+ from google.protobuf.internal import builder as _builder
11
+ # @@protoc_insertion_point(imports)
12
+
13
+ _sym_db = _symbol_database.Default()
14
+
15
+
16
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
17
+ b'\n\x15process/process.proto\x12\x07process"\\\n\x03PTY\x12%\n\x04size\x18\x01 \x01(\x0b\x32\x11.process.PTY.SizeR\x04size\x1a.\n\x04Size\x12\x12\n\x04\x63ols\x18\x01 \x01(\rR\x04\x63ols\x12\x12\n\x04rows\x18\x02 \x01(\rR\x04rows"\xc3\x01\n\rProcessConfig\x12\x10\n\x03\x63md\x18\x01 \x01(\tR\x03\x63md\x12\x12\n\x04\x61rgs\x18\x02 \x03(\tR\x04\x61rgs\x12\x34\n\x04\x65nvs\x18\x03 \x03(\x0b\x32 .process.ProcessConfig.EnvsEntryR\x04\x65nvs\x12\x15\n\x03\x63wd\x18\x04 \x01(\tH\x00R\x03\x63wd\x88\x01\x01\x1a\x37\n\tEnvsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x06\n\x04_cwd"\r\n\x0bListRequest"n\n\x0bProcessInfo\x12.\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x16.process.ProcessConfigR\x06\x63onfig\x12\x10\n\x03pid\x18\x02 \x01(\rR\x03pid\x12\x15\n\x03tag\x18\x03 \x01(\tH\x00R\x03tag\x88\x01\x01\x42\x06\n\x04_tag"B\n\x0cListResponse\x12\x32\n\tprocesses\x18\x01 \x03(\x0b\x32\x14.process.ProcessInfoR\tprocesses"\xb1\x01\n\x0cStartRequest\x12\x30\n\x07process\x18\x01 \x01(\x0b\x32\x16.process.ProcessConfigR\x07process\x12#\n\x03pty\x18\x02 \x01(\x0b\x32\x0c.process.PTYH\x00R\x03pty\x88\x01\x01\x12\x15\n\x03tag\x18\x03 \x01(\tH\x01R\x03tag\x88\x01\x01\x12\x19\n\x05stdin\x18\x04 \x01(\x08H\x02R\x05stdin\x88\x01\x01\x42\x06\n\x04_ptyB\x06\n\x04_tagB\x08\n\x06_stdin"p\n\rUpdateRequest\x12\x32\n\x07process\x18\x01 \x01(\x0b\x32\x18.process.ProcessSelectorR\x07process\x12#\n\x03pty\x18\x02 \x01(\x0b\x32\x0c.process.PTYH\x00R\x03pty\x88\x01\x01\x42\x06\n\x04_pty"\x10\n\x0eUpdateResponse"\x87\x04\n\x0cProcessEvent\x12\x38\n\x05start\x18\x01 \x01(\x0b\x32 .process.ProcessEvent.StartEventH\x00R\x05start\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.process.ProcessEvent.DataEventH\x00R\x04\x64\x61ta\x12\x32\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1e.process.ProcessEvent.EndEventH\x00R\x03\x65nd\x12?\n\tkeepalive\x18\x04 \x01(\x0b\x32\x1f.process.ProcessEvent.KeepAliveH\x00R\tkeepalive\x1a\x1e\n\nStartEvent\x12\x10\n\x03pid\x18\x01 \x01(\rR\x03pid\x1a]\n\tDataEvent\x12\x18\n\x06stdout\x18\x01 \x01(\x0cH\x00R\x06stdout\x12\x18\n\x06stderr\x18\x02 \x01(\x0cH\x00R\x06stderr\x12\x12\n\x03pty\x18\x03 \x01(\x0cH\x00R\x03ptyB\x08\n\x06output\x1a|\n\x08\x45ndEvent\x12\x1b\n\texit_code\x18\x01 \x01(\x11R\x08\x65xitCode\x12\x16\n\x06\x65xited\x18\x02 \x01(\x08R\x06\x65xited\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\x12\x19\n\x05\x65rror\x18\x04 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\x1a\x0b\n\tKeepAliveB\x07\n\x05\x65vent"<\n\rStartResponse\x12+\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x15.process.ProcessEventR\x05\x65vent">\n\x0f\x43onnectResponse\x12+\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x15.process.ProcessEventR\x05\x65vent"s\n\x10SendInputRequest\x12\x32\n\x07process\x18\x01 \x01(\x0b\x32\x18.process.ProcessSelectorR\x07process\x12+\n\x05input\x18\x02 \x01(\x0b\x32\x15.process.ProcessInputR\x05input"\x13\n\x11SendInputResponse"C\n\x0cProcessInput\x12\x16\n\x05stdin\x18\x01 \x01(\x0cH\x00R\x05stdin\x12\x12\n\x03pty\x18\x02 \x01(\x0cH\x00R\x03ptyB\x07\n\x05input"\xea\x02\n\x12StreamInputRequest\x12>\n\x05start\x18\x01 \x01(\x0b\x32&.process.StreamInputRequest.StartEventH\x00R\x05start\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.process.StreamInputRequest.DataEventH\x00R\x04\x64\x61ta\x12\x45\n\tkeepalive\x18\x03 \x01(\x0b\x32%.process.StreamInputRequest.KeepAliveH\x00R\tkeepalive\x1a@\n\nStartEvent\x12\x32\n\x07process\x18\x01 \x01(\x0b\x32\x18.process.ProcessSelectorR\x07process\x1a\x38\n\tDataEvent\x12+\n\x05input\x18\x02 \x01(\x0b\x32\x15.process.ProcessInputR\x05input\x1a\x0b\n\tKeepAliveB\x07\n\x05\x65vent"\x15\n\x13StreamInputResponse"p\n\x11SendSignalRequest\x12\x32\n\x07process\x18\x01 \x01(\x0b\x32\x18.process.ProcessSelectorR\x07process\x12\'\n\x06signal\x18\x02 \x01(\x0e\x32\x0f.process.SignalR\x06signal"\x14\n\x12SendSignalResponse"G\n\x11\x43loseStdinRequest\x12\x32\n\x07process\x18\x01 \x01(\x0b\x32\x18.process.ProcessSelectorR\x07process"\x14\n\x12\x43loseStdinResponse"D\n\x0e\x43onnectRequest\x12\x32\n\x07process\x18\x01 \x01(\x0b\x32\x18.process.ProcessSelectorR\x07process"E\n\x0fProcessSelector\x12\x12\n\x03pid\x18\x01 \x01(\rH\x00R\x03pid\x12\x12\n\x03tag\x18\x02 \x01(\tH\x00R\x03tagB\n\n\x08selector*H\n\x06Signal\x12\x16\n\x12SIGNAL_UNSPECIFIED\x10\x00\x12\x12\n\x0eSIGNAL_SIGTERM\x10\x0f\x12\x12\n\x0eSIGNAL_SIGKILL\x10\t2\x91\x04\n\x07Process\x12\x33\n\x04List\x12\x14.process.ListRequest\x1a\x15.process.ListResponse\x12>\n\x07\x43onnect\x12\x17.process.ConnectRequest\x1a\x18.process.ConnectResponse0\x01\x12\x38\n\x05Start\x12\x15.process.StartRequest\x1a\x16.process.StartResponse0\x01\x12\x39\n\x06Update\x12\x16.process.UpdateRequest\x1a\x17.process.UpdateResponse\x12J\n\x0bStreamInput\x12\x1b.process.StreamInputRequest\x1a\x1c.process.StreamInputResponse(\x01\x12\x42\n\tSendInput\x12\x19.process.SendInputRequest\x1a\x1a.process.SendInputResponse\x12\x45\n\nSendSignal\x12\x1a.process.SendSignalRequest\x1a\x1b.process.SendSignalResponse\x12\x45\n\nCloseStdin\x12\x1a.process.CloseStdinRequest\x1a\x1b.process.CloseStdinResponseBW\n\x0b\x63om.processB\x0cProcessProtoP\x01\xa2\x02\x03PXX\xaa\x02\x07Process\xca\x02\x07Process\xe2\x02\x13Process\\GPBMetadata\xea\x02\x07Processb\x06proto3'
18
+ )
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "process.process_pb2", _globals)
23
+ if not _descriptor._USE_C_DESCRIPTORS:
24
+ _globals["DESCRIPTOR"]._loaded_options = None
25
+ _globals[
26
+ "DESCRIPTOR"
27
+ ]._serialized_options = b"\n\013com.processB\014ProcessProtoP\001\242\002\003PXX\252\002\007Process\312\002\007Process\342\002\023Process\\GPBMetadata\352\002\007Process"
28
+ _globals["_PROCESSCONFIG_ENVSENTRY"]._loaded_options = None
29
+ _globals["_PROCESSCONFIG_ENVSENTRY"]._serialized_options = b"8\001"
30
+ _globals["_SIGNAL"]._serialized_start = 2448
31
+ _globals["_SIGNAL"]._serialized_end = 2520
32
+ _globals["_PTY"]._serialized_start = 34
33
+ _globals["_PTY"]._serialized_end = 126
34
+ _globals["_PTY_SIZE"]._serialized_start = 80
35
+ _globals["_PTY_SIZE"]._serialized_end = 126
36
+ _globals["_PROCESSCONFIG"]._serialized_start = 129
37
+ _globals["_PROCESSCONFIG"]._serialized_end = 324
38
+ _globals["_PROCESSCONFIG_ENVSENTRY"]._serialized_start = 261
39
+ _globals["_PROCESSCONFIG_ENVSENTRY"]._serialized_end = 316
40
+ _globals["_LISTREQUEST"]._serialized_start = 326
41
+ _globals["_LISTREQUEST"]._serialized_end = 339
42
+ _globals["_PROCESSINFO"]._serialized_start = 341
43
+ _globals["_PROCESSINFO"]._serialized_end = 451
44
+ _globals["_LISTRESPONSE"]._serialized_start = 453
45
+ _globals["_LISTRESPONSE"]._serialized_end = 519
46
+ _globals["_STARTREQUEST"]._serialized_start = 522
47
+ _globals["_STARTREQUEST"]._serialized_end = 699
48
+ _globals["_UPDATEREQUEST"]._serialized_start = 701
49
+ _globals["_UPDATEREQUEST"]._serialized_end = 813
50
+ _globals["_UPDATERESPONSE"]._serialized_start = 815
51
+ _globals["_UPDATERESPONSE"]._serialized_end = 831
52
+ _globals["_PROCESSEVENT"]._serialized_start = 834
53
+ _globals["_PROCESSEVENT"]._serialized_end = 1353
54
+ _globals["_PROCESSEVENT_STARTEVENT"]._serialized_start = 1080
55
+ _globals["_PROCESSEVENT_STARTEVENT"]._serialized_end = 1110
56
+ _globals["_PROCESSEVENT_DATAEVENT"]._serialized_start = 1112
57
+ _globals["_PROCESSEVENT_DATAEVENT"]._serialized_end = 1205
58
+ _globals["_PROCESSEVENT_ENDEVENT"]._serialized_start = 1207
59
+ _globals["_PROCESSEVENT_ENDEVENT"]._serialized_end = 1331
60
+ _globals["_PROCESSEVENT_KEEPALIVE"]._serialized_start = 1333
61
+ _globals["_PROCESSEVENT_KEEPALIVE"]._serialized_end = 1344
62
+ _globals["_STARTRESPONSE"]._serialized_start = 1355
63
+ _globals["_STARTRESPONSE"]._serialized_end = 1415
64
+ _globals["_CONNECTRESPONSE"]._serialized_start = 1417
65
+ _globals["_CONNECTRESPONSE"]._serialized_end = 1479
66
+ _globals["_SENDINPUTREQUEST"]._serialized_start = 1481
67
+ _globals["_SENDINPUTREQUEST"]._serialized_end = 1596
68
+ _globals["_SENDINPUTRESPONSE"]._serialized_start = 1598
69
+ _globals["_SENDINPUTRESPONSE"]._serialized_end = 1617
70
+ _globals["_PROCESSINPUT"]._serialized_start = 1619
71
+ _globals["_PROCESSINPUT"]._serialized_end = 1686
72
+ _globals["_STREAMINPUTREQUEST"]._serialized_start = 1689
73
+ _globals["_STREAMINPUTREQUEST"]._serialized_end = 2051
74
+ _globals["_STREAMINPUTREQUEST_STARTEVENT"]._serialized_start = 1907
75
+ _globals["_STREAMINPUTREQUEST_STARTEVENT"]._serialized_end = 1971
76
+ _globals["_STREAMINPUTREQUEST_DATAEVENT"]._serialized_start = 1973
77
+ _globals["_STREAMINPUTREQUEST_DATAEVENT"]._serialized_end = 2029
78
+ _globals["_STREAMINPUTREQUEST_KEEPALIVE"]._serialized_start = 1333
79
+ _globals["_STREAMINPUTREQUEST_KEEPALIVE"]._serialized_end = 1344
80
+ _globals["_STREAMINPUTRESPONSE"]._serialized_start = 2053
81
+ _globals["_STREAMINPUTRESPONSE"]._serialized_end = 2074
82
+ _globals["_SENDSIGNALREQUEST"]._serialized_start = 2076
83
+ _globals["_SENDSIGNALREQUEST"]._serialized_end = 2188
84
+ _globals["_SENDSIGNALRESPONSE"]._serialized_start = 2190
85
+ _globals["_SENDSIGNALRESPONSE"]._serialized_end = 2210
86
+ _globals["_CLOSESTDINREQUEST"]._serialized_start = 2212
87
+ _globals["_CLOSESTDINREQUEST"]._serialized_end = 2283
88
+ _globals["_CLOSESTDINRESPONSE"]._serialized_start = 2285
89
+ _globals["_CLOSESTDINRESPONSE"]._serialized_end = 2305
90
+ _globals["_CONNECTREQUEST"]._serialized_start = 2307
91
+ _globals["_CONNECTREQUEST"]._serialized_end = 2375
92
+ _globals["_PROCESSSELECTOR"]._serialized_start = 2377
93
+ _globals["_PROCESSSELECTOR"]._serialized_end = 2446
94
+ _globals["_PROCESS"]._serialized_start = 2523
95
+ _globals["_PROCESS"]._serialized_end = 3052
96
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,316 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from typing import (
6
+ ClassVar as _ClassVar,
7
+ Iterable as _Iterable,
8
+ Mapping as _Mapping,
9
+ Optional as _Optional,
10
+ Union as _Union,
11
+ )
12
+
13
+ DESCRIPTOR: _descriptor.FileDescriptor
14
+
15
+ class Signal(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
16
+ __slots__ = ()
17
+ SIGNAL_UNSPECIFIED: _ClassVar[Signal]
18
+ SIGNAL_SIGTERM: _ClassVar[Signal]
19
+ SIGNAL_SIGKILL: _ClassVar[Signal]
20
+
21
+ SIGNAL_UNSPECIFIED: Signal
22
+ SIGNAL_SIGTERM: Signal
23
+ SIGNAL_SIGKILL: Signal
24
+
25
+ class PTY(_message.Message):
26
+ __slots__ = ("size",)
27
+ class Size(_message.Message):
28
+ __slots__ = ("cols", "rows")
29
+ COLS_FIELD_NUMBER: _ClassVar[int]
30
+ ROWS_FIELD_NUMBER: _ClassVar[int]
31
+ cols: int
32
+ rows: int
33
+ def __init__(
34
+ self, cols: _Optional[int] = ..., rows: _Optional[int] = ...
35
+ ) -> None: ...
36
+
37
+ SIZE_FIELD_NUMBER: _ClassVar[int]
38
+ size: PTY.Size
39
+ def __init__(self, size: _Optional[_Union[PTY.Size, _Mapping]] = ...) -> None: ...
40
+
41
+ class ProcessConfig(_message.Message):
42
+ __slots__ = ("cmd", "args", "envs", "cwd")
43
+ class EnvsEntry(_message.Message):
44
+ __slots__ = ("key", "value")
45
+ KEY_FIELD_NUMBER: _ClassVar[int]
46
+ VALUE_FIELD_NUMBER: _ClassVar[int]
47
+ key: str
48
+ value: str
49
+ def __init__(
50
+ self, key: _Optional[str] = ..., value: _Optional[str] = ...
51
+ ) -> None: ...
52
+
53
+ CMD_FIELD_NUMBER: _ClassVar[int]
54
+ ARGS_FIELD_NUMBER: _ClassVar[int]
55
+ ENVS_FIELD_NUMBER: _ClassVar[int]
56
+ CWD_FIELD_NUMBER: _ClassVar[int]
57
+ cmd: str
58
+ args: _containers.RepeatedScalarFieldContainer[str]
59
+ envs: _containers.ScalarMap[str, str]
60
+ cwd: str
61
+ def __init__(
62
+ self,
63
+ cmd: _Optional[str] = ...,
64
+ args: _Optional[_Iterable[str]] = ...,
65
+ envs: _Optional[_Mapping[str, str]] = ...,
66
+ cwd: _Optional[str] = ...,
67
+ ) -> None: ...
68
+
69
+ class ListRequest(_message.Message):
70
+ __slots__ = ()
71
+ def __init__(self) -> None: ...
72
+
73
+ class ProcessInfo(_message.Message):
74
+ __slots__ = ("config", "pid", "tag")
75
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
76
+ PID_FIELD_NUMBER: _ClassVar[int]
77
+ TAG_FIELD_NUMBER: _ClassVar[int]
78
+ config: ProcessConfig
79
+ pid: int
80
+ tag: str
81
+ def __init__(
82
+ self,
83
+ config: _Optional[_Union[ProcessConfig, _Mapping]] = ...,
84
+ pid: _Optional[int] = ...,
85
+ tag: _Optional[str] = ...,
86
+ ) -> None: ...
87
+
88
+ class ListResponse(_message.Message):
89
+ __slots__ = ("processes",)
90
+ PROCESSES_FIELD_NUMBER: _ClassVar[int]
91
+ processes: _containers.RepeatedCompositeFieldContainer[ProcessInfo]
92
+ def __init__(
93
+ self, processes: _Optional[_Iterable[_Union[ProcessInfo, _Mapping]]] = ...
94
+ ) -> None: ...
95
+
96
+ class StartRequest(_message.Message):
97
+ __slots__ = ("process", "pty", "tag", "stdin")
98
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
99
+ PTY_FIELD_NUMBER: _ClassVar[int]
100
+ TAG_FIELD_NUMBER: _ClassVar[int]
101
+ STDIN_FIELD_NUMBER: _ClassVar[int]
102
+ process: ProcessConfig
103
+ pty: PTY
104
+ tag: str
105
+ stdin: bool
106
+ def __init__(
107
+ self,
108
+ process: _Optional[_Union[ProcessConfig, _Mapping]] = ...,
109
+ pty: _Optional[_Union[PTY, _Mapping]] = ...,
110
+ tag: _Optional[str] = ...,
111
+ stdin: bool = ...,
112
+ ) -> None: ...
113
+
114
+ class UpdateRequest(_message.Message):
115
+ __slots__ = ("process", "pty")
116
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
117
+ PTY_FIELD_NUMBER: _ClassVar[int]
118
+ process: ProcessSelector
119
+ pty: PTY
120
+ def __init__(
121
+ self,
122
+ process: _Optional[_Union[ProcessSelector, _Mapping]] = ...,
123
+ pty: _Optional[_Union[PTY, _Mapping]] = ...,
124
+ ) -> None: ...
125
+
126
+ class UpdateResponse(_message.Message):
127
+ __slots__ = ()
128
+ def __init__(self) -> None: ...
129
+
130
+ class ProcessEvent(_message.Message):
131
+ __slots__ = ("start", "data", "end", "keepalive")
132
+ class StartEvent(_message.Message):
133
+ __slots__ = ("pid",)
134
+ PID_FIELD_NUMBER: _ClassVar[int]
135
+ pid: int
136
+ def __init__(self, pid: _Optional[int] = ...) -> None: ...
137
+
138
+ class DataEvent(_message.Message):
139
+ __slots__ = ("stdout", "stderr", "pty")
140
+ STDOUT_FIELD_NUMBER: _ClassVar[int]
141
+ STDERR_FIELD_NUMBER: _ClassVar[int]
142
+ PTY_FIELD_NUMBER: _ClassVar[int]
143
+ stdout: bytes
144
+ stderr: bytes
145
+ pty: bytes
146
+ def __init__(
147
+ self,
148
+ stdout: _Optional[bytes] = ...,
149
+ stderr: _Optional[bytes] = ...,
150
+ pty: _Optional[bytes] = ...,
151
+ ) -> None: ...
152
+
153
+ class EndEvent(_message.Message):
154
+ __slots__ = ("exit_code", "exited", "status", "error")
155
+ EXIT_CODE_FIELD_NUMBER: _ClassVar[int]
156
+ EXITED_FIELD_NUMBER: _ClassVar[int]
157
+ STATUS_FIELD_NUMBER: _ClassVar[int]
158
+ ERROR_FIELD_NUMBER: _ClassVar[int]
159
+ exit_code: int
160
+ exited: bool
161
+ status: str
162
+ error: str
163
+ def __init__(
164
+ self,
165
+ exit_code: _Optional[int] = ...,
166
+ exited: bool = ...,
167
+ status: _Optional[str] = ...,
168
+ error: _Optional[str] = ...,
169
+ ) -> None: ...
170
+
171
+ class KeepAlive(_message.Message):
172
+ __slots__ = ()
173
+ def __init__(self) -> None: ...
174
+
175
+ START_FIELD_NUMBER: _ClassVar[int]
176
+ DATA_FIELD_NUMBER: _ClassVar[int]
177
+ END_FIELD_NUMBER: _ClassVar[int]
178
+ KEEPALIVE_FIELD_NUMBER: _ClassVar[int]
179
+ start: ProcessEvent.StartEvent
180
+ data: ProcessEvent.DataEvent
181
+ end: ProcessEvent.EndEvent
182
+ keepalive: ProcessEvent.KeepAlive
183
+ def __init__(
184
+ self,
185
+ start: _Optional[_Union[ProcessEvent.StartEvent, _Mapping]] = ...,
186
+ data: _Optional[_Union[ProcessEvent.DataEvent, _Mapping]] = ...,
187
+ end: _Optional[_Union[ProcessEvent.EndEvent, _Mapping]] = ...,
188
+ keepalive: _Optional[_Union[ProcessEvent.KeepAlive, _Mapping]] = ...,
189
+ ) -> None: ...
190
+
191
+ class StartResponse(_message.Message):
192
+ __slots__ = ("event",)
193
+ EVENT_FIELD_NUMBER: _ClassVar[int]
194
+ event: ProcessEvent
195
+ def __init__(
196
+ self, event: _Optional[_Union[ProcessEvent, _Mapping]] = ...
197
+ ) -> None: ...
198
+
199
+ class ConnectResponse(_message.Message):
200
+ __slots__ = ("event",)
201
+ EVENT_FIELD_NUMBER: _ClassVar[int]
202
+ event: ProcessEvent
203
+ def __init__(
204
+ self, event: _Optional[_Union[ProcessEvent, _Mapping]] = ...
205
+ ) -> None: ...
206
+
207
+ class SendInputRequest(_message.Message):
208
+ __slots__ = ("process", "input")
209
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
210
+ INPUT_FIELD_NUMBER: _ClassVar[int]
211
+ process: ProcessSelector
212
+ input: ProcessInput
213
+ def __init__(
214
+ self,
215
+ process: _Optional[_Union[ProcessSelector, _Mapping]] = ...,
216
+ input: _Optional[_Union[ProcessInput, _Mapping]] = ...,
217
+ ) -> None: ...
218
+
219
+ class SendInputResponse(_message.Message):
220
+ __slots__ = ()
221
+ def __init__(self) -> None: ...
222
+
223
+ class ProcessInput(_message.Message):
224
+ __slots__ = ("stdin", "pty")
225
+ STDIN_FIELD_NUMBER: _ClassVar[int]
226
+ PTY_FIELD_NUMBER: _ClassVar[int]
227
+ stdin: bytes
228
+ pty: bytes
229
+ def __init__(
230
+ self, stdin: _Optional[bytes] = ..., pty: _Optional[bytes] = ...
231
+ ) -> None: ...
232
+
233
+ class StreamInputRequest(_message.Message):
234
+ __slots__ = ("start", "data", "keepalive")
235
+ class StartEvent(_message.Message):
236
+ __slots__ = ("process",)
237
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
238
+ process: ProcessSelector
239
+ def __init__(
240
+ self, process: _Optional[_Union[ProcessSelector, _Mapping]] = ...
241
+ ) -> None: ...
242
+
243
+ class DataEvent(_message.Message):
244
+ __slots__ = ("input",)
245
+ INPUT_FIELD_NUMBER: _ClassVar[int]
246
+ input: ProcessInput
247
+ def __init__(
248
+ self, input: _Optional[_Union[ProcessInput, _Mapping]] = ...
249
+ ) -> None: ...
250
+
251
+ class KeepAlive(_message.Message):
252
+ __slots__ = ()
253
+ def __init__(self) -> None: ...
254
+
255
+ START_FIELD_NUMBER: _ClassVar[int]
256
+ DATA_FIELD_NUMBER: _ClassVar[int]
257
+ KEEPALIVE_FIELD_NUMBER: _ClassVar[int]
258
+ start: StreamInputRequest.StartEvent
259
+ data: StreamInputRequest.DataEvent
260
+ keepalive: StreamInputRequest.KeepAlive
261
+ def __init__(
262
+ self,
263
+ start: _Optional[_Union[StreamInputRequest.StartEvent, _Mapping]] = ...,
264
+ data: _Optional[_Union[StreamInputRequest.DataEvent, _Mapping]] = ...,
265
+ keepalive: _Optional[_Union[StreamInputRequest.KeepAlive, _Mapping]] = ...,
266
+ ) -> None: ...
267
+
268
+ class StreamInputResponse(_message.Message):
269
+ __slots__ = ()
270
+ def __init__(self) -> None: ...
271
+
272
+ class SendSignalRequest(_message.Message):
273
+ __slots__ = ("process", "signal")
274
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
275
+ SIGNAL_FIELD_NUMBER: _ClassVar[int]
276
+ process: ProcessSelector
277
+ signal: Signal
278
+ def __init__(
279
+ self,
280
+ process: _Optional[_Union[ProcessSelector, _Mapping]] = ...,
281
+ signal: _Optional[_Union[Signal, str]] = ...,
282
+ ) -> None: ...
283
+
284
+ class SendSignalResponse(_message.Message):
285
+ __slots__ = ()
286
+ def __init__(self) -> None: ...
287
+
288
+ class CloseStdinRequest(_message.Message):
289
+ __slots__ = ("process",)
290
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
291
+ process: ProcessSelector
292
+ def __init__(
293
+ self, process: _Optional[_Union[ProcessSelector, _Mapping]] = ...
294
+ ) -> None: ...
295
+
296
+ class CloseStdinResponse(_message.Message):
297
+ __slots__ = ()
298
+ def __init__(self) -> None: ...
299
+
300
+ class ConnectRequest(_message.Message):
301
+ __slots__ = ("process",)
302
+ PROCESS_FIELD_NUMBER: _ClassVar[int]
303
+ process: ProcessSelector
304
+ def __init__(
305
+ self, process: _Optional[_Union[ProcessSelector, _Mapping]] = ...
306
+ ) -> None: ...
307
+
308
+ class ProcessSelector(_message.Message):
309
+ __slots__ = ("pid", "tag")
310
+ PID_FIELD_NUMBER: _ClassVar[int]
311
+ TAG_FIELD_NUMBER: _ClassVar[int]
312
+ pid: int
313
+ tag: str
314
+ def __init__(
315
+ self, pid: _Optional[int] = ..., tag: _Optional[str] = ...
316
+ ) -> None: ...