moru 0.1.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 (152) hide show
  1. moru/__init__.py +174 -0
  2. moru/api/__init__.py +164 -0
  3. moru/api/client/__init__.py +8 -0
  4. moru/api/client/api/__init__.py +1 -0
  5. moru/api/client/api/sandboxes/__init__.py +1 -0
  6. moru/api/client/api/sandboxes/delete_sandboxes_sandbox_id.py +161 -0
  7. moru/api/client/api/sandboxes/get_sandboxes.py +176 -0
  8. moru/api/client/api/sandboxes/get_sandboxes_metrics.py +173 -0
  9. moru/api/client/api/sandboxes/get_sandboxes_sandbox_id.py +163 -0
  10. moru/api/client/api/sandboxes/get_sandboxes_sandbox_id_logs.py +199 -0
  11. moru/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py +212 -0
  12. moru/api/client/api/sandboxes/get_v2_sandboxes.py +230 -0
  13. moru/api/client/api/sandboxes/post_sandboxes.py +172 -0
  14. moru/api/client/api/sandboxes/post_sandboxes_sandbox_id_connect.py +193 -0
  15. moru/api/client/api/sandboxes/post_sandboxes_sandbox_id_pause.py +165 -0
  16. moru/api/client/api/sandboxes/post_sandboxes_sandbox_id_refreshes.py +181 -0
  17. moru/api/client/api/sandboxes/post_sandboxes_sandbox_id_resume.py +189 -0
  18. moru/api/client/api/sandboxes/post_sandboxes_sandbox_id_timeout.py +193 -0
  19. moru/api/client/api/templates/__init__.py +1 -0
  20. moru/api/client/api/templates/delete_templates_template_id.py +157 -0
  21. moru/api/client/api/templates/get_templates.py +172 -0
  22. moru/api/client/api/templates/get_templates_template_id.py +195 -0
  23. moru/api/client/api/templates/get_templates_template_id_builds_build_id_status.py +217 -0
  24. moru/api/client/api/templates/get_templates_template_id_files_hash.py +180 -0
  25. moru/api/client/api/templates/patch_templates_template_id.py +183 -0
  26. moru/api/client/api/templates/post_templates.py +172 -0
  27. moru/api/client/api/templates/post_templates_template_id.py +181 -0
  28. moru/api/client/api/templates/post_templates_template_id_builds_build_id.py +170 -0
  29. moru/api/client/api/templates/post_v2_templates.py +172 -0
  30. moru/api/client/api/templates/post_v3_templates.py +172 -0
  31. moru/api/client/api/templates/post_v_2_templates_template_id_builds_build_id.py +192 -0
  32. moru/api/client/client.py +286 -0
  33. moru/api/client/errors.py +16 -0
  34. moru/api/client/models/__init__.py +123 -0
  35. moru/api/client/models/aws_registry.py +85 -0
  36. moru/api/client/models/aws_registry_type.py +8 -0
  37. moru/api/client/models/build_log_entry.py +89 -0
  38. moru/api/client/models/build_status_reason.py +95 -0
  39. moru/api/client/models/connect_sandbox.py +59 -0
  40. moru/api/client/models/created_access_token.py +100 -0
  41. moru/api/client/models/created_team_api_key.py +166 -0
  42. moru/api/client/models/disk_metrics.py +91 -0
  43. moru/api/client/models/error.py +67 -0
  44. moru/api/client/models/gcp_registry.py +69 -0
  45. moru/api/client/models/gcp_registry_type.py +8 -0
  46. moru/api/client/models/general_registry.py +77 -0
  47. moru/api/client/models/general_registry_type.py +8 -0
  48. moru/api/client/models/identifier_masking_details.py +83 -0
  49. moru/api/client/models/listed_sandbox.py +154 -0
  50. moru/api/client/models/log_level.py +11 -0
  51. moru/api/client/models/max_team_metric.py +78 -0
  52. moru/api/client/models/mcp_type_0.py +44 -0
  53. moru/api/client/models/new_access_token.py +59 -0
  54. moru/api/client/models/new_sandbox.py +172 -0
  55. moru/api/client/models/new_team_api_key.py +59 -0
  56. moru/api/client/models/node.py +155 -0
  57. moru/api/client/models/node_detail.py +165 -0
  58. moru/api/client/models/node_metrics.py +122 -0
  59. moru/api/client/models/node_status.py +11 -0
  60. moru/api/client/models/node_status_change.py +79 -0
  61. moru/api/client/models/post_sandboxes_sandbox_id_refreshes_body.py +59 -0
  62. moru/api/client/models/post_sandboxes_sandbox_id_timeout_body.py +59 -0
  63. moru/api/client/models/resumed_sandbox.py +68 -0
  64. moru/api/client/models/sandbox.py +145 -0
  65. moru/api/client/models/sandbox_detail.py +183 -0
  66. moru/api/client/models/sandbox_log.py +70 -0
  67. moru/api/client/models/sandbox_log_entry.py +93 -0
  68. moru/api/client/models/sandbox_log_entry_fields.py +44 -0
  69. moru/api/client/models/sandbox_logs.py +91 -0
  70. moru/api/client/models/sandbox_metric.py +118 -0
  71. moru/api/client/models/sandbox_network_config.py +92 -0
  72. moru/api/client/models/sandbox_state.py +9 -0
  73. moru/api/client/models/sandboxes_with_metrics.py +59 -0
  74. moru/api/client/models/team.py +83 -0
  75. moru/api/client/models/team_api_key.py +158 -0
  76. moru/api/client/models/team_metric.py +86 -0
  77. moru/api/client/models/team_user.py +68 -0
  78. moru/api/client/models/template.py +217 -0
  79. moru/api/client/models/template_build.py +139 -0
  80. moru/api/client/models/template_build_file_upload.py +70 -0
  81. moru/api/client/models/template_build_info.py +126 -0
  82. moru/api/client/models/template_build_request.py +115 -0
  83. moru/api/client/models/template_build_request_v2.py +88 -0
  84. moru/api/client/models/template_build_request_v3.py +88 -0
  85. moru/api/client/models/template_build_start_v2.py +184 -0
  86. moru/api/client/models/template_build_status.py +11 -0
  87. moru/api/client/models/template_legacy.py +207 -0
  88. moru/api/client/models/template_request_response_v3.py +83 -0
  89. moru/api/client/models/template_step.py +91 -0
  90. moru/api/client/models/template_update_request.py +59 -0
  91. moru/api/client/models/template_with_builds.py +148 -0
  92. moru/api/client/models/update_team_api_key.py +59 -0
  93. moru/api/client/py.typed +1 -0
  94. moru/api/client/types.py +54 -0
  95. moru/api/client_async/__init__.py +50 -0
  96. moru/api/client_sync/__init__.py +52 -0
  97. moru/api/metadata.py +14 -0
  98. moru/connection_config.py +217 -0
  99. moru/envd/api.py +59 -0
  100. moru/envd/filesystem/filesystem_connect.py +193 -0
  101. moru/envd/filesystem/filesystem_pb2.py +76 -0
  102. moru/envd/filesystem/filesystem_pb2.pyi +233 -0
  103. moru/envd/process/process_connect.py +155 -0
  104. moru/envd/process/process_pb2.py +92 -0
  105. moru/envd/process/process_pb2.pyi +304 -0
  106. moru/envd/rpc.py +61 -0
  107. moru/envd/versions.py +6 -0
  108. moru/exceptions.py +95 -0
  109. moru/sandbox/commands/command_handle.py +69 -0
  110. moru/sandbox/commands/main.py +39 -0
  111. moru/sandbox/filesystem/filesystem.py +94 -0
  112. moru/sandbox/filesystem/watch_handle.py +60 -0
  113. moru/sandbox/main.py +210 -0
  114. moru/sandbox/mcp.py +1120 -0
  115. moru/sandbox/network.py +8 -0
  116. moru/sandbox/sandbox_api.py +210 -0
  117. moru/sandbox/signature.py +45 -0
  118. moru/sandbox/utils.py +34 -0
  119. moru/sandbox_async/commands/command.py +336 -0
  120. moru/sandbox_async/commands/command_handle.py +196 -0
  121. moru/sandbox_async/commands/pty.py +240 -0
  122. moru/sandbox_async/filesystem/filesystem.py +531 -0
  123. moru/sandbox_async/filesystem/watch_handle.py +62 -0
  124. moru/sandbox_async/main.py +734 -0
  125. moru/sandbox_async/paginator.py +69 -0
  126. moru/sandbox_async/sandbox_api.py +325 -0
  127. moru/sandbox_async/utils.py +7 -0
  128. moru/sandbox_sync/commands/command.py +328 -0
  129. moru/sandbox_sync/commands/command_handle.py +150 -0
  130. moru/sandbox_sync/commands/pty.py +230 -0
  131. moru/sandbox_sync/filesystem/filesystem.py +518 -0
  132. moru/sandbox_sync/filesystem/watch_handle.py +69 -0
  133. moru/sandbox_sync/main.py +726 -0
  134. moru/sandbox_sync/paginator.py +69 -0
  135. moru/sandbox_sync/sandbox_api.py +308 -0
  136. moru/template/consts.py +30 -0
  137. moru/template/dockerfile_parser.py +275 -0
  138. moru/template/logger.py +232 -0
  139. moru/template/main.py +1360 -0
  140. moru/template/readycmd.py +138 -0
  141. moru/template/types.py +105 -0
  142. moru/template/utils.py +320 -0
  143. moru/template_async/build_api.py +202 -0
  144. moru/template_async/main.py +366 -0
  145. moru/template_sync/build_api.py +199 -0
  146. moru/template_sync/main.py +371 -0
  147. moru-0.1.0.dist-info/METADATA +63 -0
  148. moru-0.1.0.dist-info/RECORD +152 -0
  149. moru-0.1.0.dist-info/WHEEL +4 -0
  150. moru-0.1.0.dist-info/licenses/LICENSE +9 -0
  151. moru_connect/__init__.py +1 -0
  152. moru_connect/client.py +493 -0
@@ -0,0 +1,233 @@
1
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
2
+ from google.protobuf.internal import containers as _containers
3
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import (
7
+ ClassVar as _ClassVar,
8
+ Iterable as _Iterable,
9
+ Mapping as _Mapping,
10
+ Optional as _Optional,
11
+ Union as _Union,
12
+ )
13
+
14
+ DESCRIPTOR: _descriptor.FileDescriptor
15
+
16
+ class FileType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17
+ __slots__ = ()
18
+ FILE_TYPE_UNSPECIFIED: _ClassVar[FileType]
19
+ FILE_TYPE_FILE: _ClassVar[FileType]
20
+ FILE_TYPE_DIRECTORY: _ClassVar[FileType]
21
+
22
+ class EventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
23
+ __slots__ = ()
24
+ EVENT_TYPE_UNSPECIFIED: _ClassVar[EventType]
25
+ EVENT_TYPE_CREATE: _ClassVar[EventType]
26
+ EVENT_TYPE_WRITE: _ClassVar[EventType]
27
+ EVENT_TYPE_REMOVE: _ClassVar[EventType]
28
+ EVENT_TYPE_RENAME: _ClassVar[EventType]
29
+ EVENT_TYPE_CHMOD: _ClassVar[EventType]
30
+
31
+ FILE_TYPE_UNSPECIFIED: FileType
32
+ FILE_TYPE_FILE: FileType
33
+ FILE_TYPE_DIRECTORY: FileType
34
+ EVENT_TYPE_UNSPECIFIED: EventType
35
+ EVENT_TYPE_CREATE: EventType
36
+ EVENT_TYPE_WRITE: EventType
37
+ EVENT_TYPE_REMOVE: EventType
38
+ EVENT_TYPE_RENAME: EventType
39
+ EVENT_TYPE_CHMOD: EventType
40
+
41
+ class MoveRequest(_message.Message):
42
+ __slots__ = ("source", "destination")
43
+ SOURCE_FIELD_NUMBER: _ClassVar[int]
44
+ DESTINATION_FIELD_NUMBER: _ClassVar[int]
45
+ source: str
46
+ destination: str
47
+ def __init__(
48
+ self, source: _Optional[str] = ..., destination: _Optional[str] = ...
49
+ ) -> None: ...
50
+
51
+ class MoveResponse(_message.Message):
52
+ __slots__ = ("entry",)
53
+ ENTRY_FIELD_NUMBER: _ClassVar[int]
54
+ entry: EntryInfo
55
+ def __init__(self, entry: _Optional[_Union[EntryInfo, _Mapping]] = ...) -> None: ...
56
+
57
+ class MakeDirRequest(_message.Message):
58
+ __slots__ = ("path",)
59
+ PATH_FIELD_NUMBER: _ClassVar[int]
60
+ path: str
61
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
62
+
63
+ class MakeDirResponse(_message.Message):
64
+ __slots__ = ("entry",)
65
+ ENTRY_FIELD_NUMBER: _ClassVar[int]
66
+ entry: EntryInfo
67
+ def __init__(self, entry: _Optional[_Union[EntryInfo, _Mapping]] = ...) -> None: ...
68
+
69
+ class RemoveRequest(_message.Message):
70
+ __slots__ = ("path",)
71
+ PATH_FIELD_NUMBER: _ClassVar[int]
72
+ path: str
73
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
74
+
75
+ class RemoveResponse(_message.Message):
76
+ __slots__ = ()
77
+ def __init__(self) -> None: ...
78
+
79
+ class StatRequest(_message.Message):
80
+ __slots__ = ("path",)
81
+ PATH_FIELD_NUMBER: _ClassVar[int]
82
+ path: str
83
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
84
+
85
+ class StatResponse(_message.Message):
86
+ __slots__ = ("entry",)
87
+ ENTRY_FIELD_NUMBER: _ClassVar[int]
88
+ entry: EntryInfo
89
+ def __init__(self, entry: _Optional[_Union[EntryInfo, _Mapping]] = ...) -> None: ...
90
+
91
+ class EntryInfo(_message.Message):
92
+ __slots__ = (
93
+ "name",
94
+ "type",
95
+ "path",
96
+ "size",
97
+ "mode",
98
+ "permissions",
99
+ "owner",
100
+ "group",
101
+ "modified_time",
102
+ "symlink_target",
103
+ )
104
+ NAME_FIELD_NUMBER: _ClassVar[int]
105
+ TYPE_FIELD_NUMBER: _ClassVar[int]
106
+ PATH_FIELD_NUMBER: _ClassVar[int]
107
+ SIZE_FIELD_NUMBER: _ClassVar[int]
108
+ MODE_FIELD_NUMBER: _ClassVar[int]
109
+ PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
110
+ OWNER_FIELD_NUMBER: _ClassVar[int]
111
+ GROUP_FIELD_NUMBER: _ClassVar[int]
112
+ MODIFIED_TIME_FIELD_NUMBER: _ClassVar[int]
113
+ SYMLINK_TARGET_FIELD_NUMBER: _ClassVar[int]
114
+ name: str
115
+ type: FileType
116
+ path: str
117
+ size: int
118
+ mode: int
119
+ permissions: str
120
+ owner: str
121
+ group: str
122
+ modified_time: _timestamp_pb2.Timestamp
123
+ symlink_target: str
124
+ def __init__(
125
+ self,
126
+ name: _Optional[str] = ...,
127
+ type: _Optional[_Union[FileType, str]] = ...,
128
+ path: _Optional[str] = ...,
129
+ size: _Optional[int] = ...,
130
+ mode: _Optional[int] = ...,
131
+ permissions: _Optional[str] = ...,
132
+ owner: _Optional[str] = ...,
133
+ group: _Optional[str] = ...,
134
+ modified_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...,
135
+ symlink_target: _Optional[str] = ...,
136
+ ) -> None: ...
137
+
138
+ class ListDirRequest(_message.Message):
139
+ __slots__ = ("path", "depth")
140
+ PATH_FIELD_NUMBER: _ClassVar[int]
141
+ DEPTH_FIELD_NUMBER: _ClassVar[int]
142
+ path: str
143
+ depth: int
144
+ def __init__(
145
+ self, path: _Optional[str] = ..., depth: _Optional[int] = ...
146
+ ) -> None: ...
147
+
148
+ class ListDirResponse(_message.Message):
149
+ __slots__ = ("entries",)
150
+ ENTRIES_FIELD_NUMBER: _ClassVar[int]
151
+ entries: _containers.RepeatedCompositeFieldContainer[EntryInfo]
152
+ def __init__(
153
+ self, entries: _Optional[_Iterable[_Union[EntryInfo, _Mapping]]] = ...
154
+ ) -> None: ...
155
+
156
+ class WatchDirRequest(_message.Message):
157
+ __slots__ = ("path", "recursive")
158
+ PATH_FIELD_NUMBER: _ClassVar[int]
159
+ RECURSIVE_FIELD_NUMBER: _ClassVar[int]
160
+ path: str
161
+ recursive: bool
162
+ def __init__(self, path: _Optional[str] = ..., recursive: bool = ...) -> None: ...
163
+
164
+ class FilesystemEvent(_message.Message):
165
+ __slots__ = ("name", "type")
166
+ NAME_FIELD_NUMBER: _ClassVar[int]
167
+ TYPE_FIELD_NUMBER: _ClassVar[int]
168
+ name: str
169
+ type: EventType
170
+ def __init__(
171
+ self, name: _Optional[str] = ..., type: _Optional[_Union[EventType, str]] = ...
172
+ ) -> None: ...
173
+
174
+ class WatchDirResponse(_message.Message):
175
+ __slots__ = ("start", "filesystem", "keepalive")
176
+ class StartEvent(_message.Message):
177
+ __slots__ = ()
178
+ def __init__(self) -> None: ...
179
+
180
+ class KeepAlive(_message.Message):
181
+ __slots__ = ()
182
+ def __init__(self) -> None: ...
183
+
184
+ START_FIELD_NUMBER: _ClassVar[int]
185
+ FILESYSTEM_FIELD_NUMBER: _ClassVar[int]
186
+ KEEPALIVE_FIELD_NUMBER: _ClassVar[int]
187
+ start: WatchDirResponse.StartEvent
188
+ filesystem: FilesystemEvent
189
+ keepalive: WatchDirResponse.KeepAlive
190
+ def __init__(
191
+ self,
192
+ start: _Optional[_Union[WatchDirResponse.StartEvent, _Mapping]] = ...,
193
+ filesystem: _Optional[_Union[FilesystemEvent, _Mapping]] = ...,
194
+ keepalive: _Optional[_Union[WatchDirResponse.KeepAlive, _Mapping]] = ...,
195
+ ) -> None: ...
196
+
197
+ class CreateWatcherRequest(_message.Message):
198
+ __slots__ = ("path", "recursive")
199
+ PATH_FIELD_NUMBER: _ClassVar[int]
200
+ RECURSIVE_FIELD_NUMBER: _ClassVar[int]
201
+ path: str
202
+ recursive: bool
203
+ def __init__(self, path: _Optional[str] = ..., recursive: bool = ...) -> None: ...
204
+
205
+ class CreateWatcherResponse(_message.Message):
206
+ __slots__ = ("watcher_id",)
207
+ WATCHER_ID_FIELD_NUMBER: _ClassVar[int]
208
+ watcher_id: str
209
+ def __init__(self, watcher_id: _Optional[str] = ...) -> None: ...
210
+
211
+ class GetWatcherEventsRequest(_message.Message):
212
+ __slots__ = ("watcher_id",)
213
+ WATCHER_ID_FIELD_NUMBER: _ClassVar[int]
214
+ watcher_id: str
215
+ def __init__(self, watcher_id: _Optional[str] = ...) -> None: ...
216
+
217
+ class GetWatcherEventsResponse(_message.Message):
218
+ __slots__ = ("events",)
219
+ EVENTS_FIELD_NUMBER: _ClassVar[int]
220
+ events: _containers.RepeatedCompositeFieldContainer[FilesystemEvent]
221
+ def __init__(
222
+ self, events: _Optional[_Iterable[_Union[FilesystemEvent, _Mapping]]] = ...
223
+ ) -> None: ...
224
+
225
+ class RemoveWatcherRequest(_message.Message):
226
+ __slots__ = ("watcher_id",)
227
+ WATCHER_ID_FIELD_NUMBER: _ClassVar[int]
228
+ watcher_id: str
229
+ def __init__(self, watcher_id: _Optional[str] = ...) -> None: ...
230
+
231
+ class RemoveWatcherResponse(_message.Message):
232
+ __slots__ = ()
233
+ def __init__(self) -> None: ...
@@ -0,0 +1,155 @@
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 moru_connect as connect
6
+
7
+ from moru.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
+
87
+ def list(
88
+ self, req: process_dot_process__pb2.ListRequest, **opts
89
+ ) -> process_dot_process__pb2.ListResponse:
90
+ return self._list.call_unary(req, **opts)
91
+
92
+ def alist(
93
+ self, req: process_dot_process__pb2.ListRequest, **opts
94
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.ListResponse]:
95
+ return self._list.acall_unary(req, **opts)
96
+
97
+ def connect(
98
+ self, req: process_dot_process__pb2.ConnectRequest, **opts
99
+ ) -> Generator[process_dot_process__pb2.ConnectResponse, Any, None]:
100
+ return self._connect.call_server_stream(req, **opts)
101
+
102
+ def aconnect(
103
+ self, req: process_dot_process__pb2.ConnectRequest, **opts
104
+ ) -> AsyncGenerator[process_dot_process__pb2.ConnectResponse, Any]:
105
+ return self._connect.acall_server_stream(req, **opts)
106
+
107
+ def start(
108
+ self, req: process_dot_process__pb2.StartRequest, **opts
109
+ ) -> Generator[process_dot_process__pb2.StartResponse, Any, None]:
110
+ return self._start.call_server_stream(req, **opts)
111
+
112
+ def astart(
113
+ self, req: process_dot_process__pb2.StartRequest, **opts
114
+ ) -> AsyncGenerator[process_dot_process__pb2.StartResponse, Any]:
115
+ return self._start.acall_server_stream(req, **opts)
116
+
117
+ def update(
118
+ self, req: process_dot_process__pb2.UpdateRequest, **opts
119
+ ) -> process_dot_process__pb2.UpdateResponse:
120
+ return self._update.call_unary(req, **opts)
121
+
122
+ def aupdate(
123
+ self, req: process_dot_process__pb2.UpdateRequest, **opts
124
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.UpdateResponse]:
125
+ return self._update.acall_unary(req, **opts)
126
+
127
+ def stream_input(
128
+ self, req: process_dot_process__pb2.StreamInputRequest, **opts
129
+ ) -> process_dot_process__pb2.StreamInputResponse:
130
+ return self._stream_input.call_client_stream(req, **opts)
131
+
132
+ def astream_input(
133
+ self, req: process_dot_process__pb2.StreamInputRequest, **opts
134
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.StreamInputResponse]:
135
+ return self._stream_input.acall_client_stream(req, **opts)
136
+
137
+ def send_input(
138
+ self, req: process_dot_process__pb2.SendInputRequest, **opts
139
+ ) -> process_dot_process__pb2.SendInputResponse:
140
+ return self._send_input.call_unary(req, **opts)
141
+
142
+ def asend_input(
143
+ self, req: process_dot_process__pb2.SendInputRequest, **opts
144
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.SendInputResponse]:
145
+ return self._send_input.acall_unary(req, **opts)
146
+
147
+ def send_signal(
148
+ self, req: process_dot_process__pb2.SendSignalRequest, **opts
149
+ ) -> process_dot_process__pb2.SendSignalResponse:
150
+ return self._send_signal.call_unary(req, **opts)
151
+
152
+ def asend_signal(
153
+ self, req: process_dot_process__pb2.SendSignalRequest, **opts
154
+ ) -> Coroutine[Any, Any, process_dot_process__pb2.SendSignalResponse]:
155
+ return self._send_signal.acall_unary(req, **opts)
@@ -0,0 +1,92 @@
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"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\xca\x03\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.SendSignalResponseBW\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 = 2353
31
+ _globals["_SIGNAL"]._serialized_end = 2425
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["_CONNECTREQUEST"]._serialized_start = 2212
87
+ _globals["_CONNECTREQUEST"]._serialized_end = 2280
88
+ _globals["_PROCESSSELECTOR"]._serialized_start = 2282
89
+ _globals["_PROCESSSELECTOR"]._serialized_end = 2351
90
+ _globals["_PROCESS"]._serialized_start = 2428
91
+ _globals["_PROCESS"]._serialized_end = 2886
92
+ # @@protoc_insertion_point(module_scope)