modal-rb 0.0.0 → 0.0.2

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.
@@ -25,16 +25,16 @@ module Modal
25
25
  rpc :AppGetLogs, ::Modal::Client::AppGetLogsRequest, stream(::Modal::Client::TaskLogsBatch)
26
26
  rpc :AppGetObjects, ::Modal::Client::AppGetObjectsRequest, ::Modal::Client::AppGetObjectsResponse
27
27
  rpc :AppGetOrCreate, ::Modal::Client::AppGetOrCreateRequest, ::Modal::Client::AppGetOrCreateResponse
28
+ rpc :AppGetTags, ::Modal::Client::AppGetTagsRequest, ::Modal::Client::AppGetTagsResponse
28
29
  rpc :AppHeartbeat, ::Modal::Client::AppHeartbeatRequest, ::Google::Protobuf::Empty
29
30
  rpc :AppList, ::Modal::Client::AppListRequest, ::Modal::Client::AppListResponse
30
31
  rpc :AppLookup, ::Modal::Client::AppLookupRequest, ::Modal::Client::AppLookupResponse
31
32
  rpc :AppPublish, ::Modal::Client::AppPublishRequest, ::Modal::Client::AppPublishResponse
32
33
  rpc :AppRollback, ::Modal::Client::AppRollbackRequest, ::Google::Protobuf::Empty
33
34
  rpc :AppSetObjects, ::Modal::Client::AppSetObjectsRequest, ::Google::Protobuf::Empty
35
+ rpc :AppSetTags, ::Modal::Client::AppSetTagsRequest, ::Google::Protobuf::Empty
34
36
  rpc :AppStop, ::Modal::Client::AppStopRequest, ::Google::Protobuf::Empty
35
37
  # Input Plane
36
- # These RPCs are experimental, not deployed to production, and can be changed / removed
37
- # without needing to worry about backwards compatibility.
38
38
  rpc :AttemptAwait, ::Modal::Client::AttemptAwaitRequest, ::Modal::Client::AttemptAwaitResponse
39
39
  rpc :AttemptRetry, ::Modal::Client::AttemptRetryRequest, ::Modal::Client::AttemptRetryResponse
40
40
  rpc :AttemptStart, ::Modal::Client::AttemptStartRequest, ::Modal::Client::AttemptStartResponse
@@ -90,15 +90,19 @@ module Modal
90
90
  rpc :FlashContainerDeregister, ::Modal::Client::FlashContainerDeregisterRequest, ::Google::Protobuf::Empty
91
91
  rpc :FlashContainerList, ::Modal::Client::FlashContainerListRequest, ::Modal::Client::FlashContainerListResponse
92
92
  rpc :FlashContainerRegister, ::Modal::Client::FlashContainerRegisterRequest, ::Modal::Client::FlashContainerRegisterResponse
93
+ rpc :FlashSetTargetSlotsMetrics, ::Modal::Client::FlashSetTargetSlotsMetricsRequest, ::Modal::Client::FlashSetTargetSlotsMetricsResponse
93
94
  # Functions
94
95
  rpc :FunctionAsyncInvoke, ::Modal::Client::FunctionAsyncInvokeRequest, ::Modal::Client::FunctionAsyncInvokeResponse
95
96
  rpc :FunctionBindParams, ::Modal::Client::FunctionBindParamsRequest, ::Modal::Client::FunctionBindParamsResponse
96
97
  rpc :FunctionCallCancel, ::Modal::Client::FunctionCallCancelRequest, ::Google::Protobuf::Empty
98
+ rpc :FunctionCallFromId, ::Modal::Client::FunctionCallFromIdRequest, ::Modal::Client::FunctionCallFromIdResponse
97
99
  rpc :FunctionCallGetDataIn, ::Modal::Client::FunctionCallGetDataRequest, stream(::Modal::Client::DataChunk)
98
100
  rpc :FunctionCallGetDataOut, ::Modal::Client::FunctionCallGetDataRequest, stream(::Modal::Client::DataChunk)
99
101
  rpc :FunctionCallList, ::Modal::Client::FunctionCallListRequest, ::Modal::Client::FunctionCallListResponse
100
102
  rpc :FunctionCallPutDataOut, ::Modal::Client::FunctionCallPutDataRequest, ::Google::Protobuf::Empty
101
103
  rpc :FunctionCreate, ::Modal::Client::FunctionCreateRequest, ::Modal::Client::FunctionCreateResponse
104
+ rpc :FunctionFinishInputs, ::Modal::Client::FunctionFinishInputsRequest, ::Google::Protobuf::Empty
105
+ # For map RPCs, to signal that all inputs have been sent
102
106
  rpc :FunctionGet, ::Modal::Client::FunctionGetRequest, ::Modal::Client::FunctionGetResponse
103
107
  rpc :FunctionGetCallGraph, ::Modal::Client::FunctionGetCallGraphRequest, ::Modal::Client::FunctionGetCallGraphResponse
104
108
  rpc :FunctionGetCurrentStats, ::Modal::Client::FunctionGetCurrentStatsRequest, ::Modal::Client::FunctionStats
@@ -117,6 +121,7 @@ module Modal
117
121
  rpc :FunctionStartPtyShell, ::Google::Protobuf::Empty, ::Google::Protobuf::Empty
118
122
  rpc :FunctionUpdateSchedulingParams, ::Modal::Client::FunctionUpdateSchedulingParamsRequest, ::Modal::Client::FunctionUpdateSchedulingParamsResponse
119
123
  # Images
124
+ rpc :ImageDelete, ::Modal::Client::ImageDeleteRequest, ::Google::Protobuf::Empty
120
125
  rpc :ImageFromId, ::Modal::Client::ImageFromIdRequest, ::Modal::Client::ImageFromIdResponse
121
126
  rpc :ImageGetOrCreate, ::Modal::Client::ImageGetOrCreateRequest, ::Modal::Client::ImageGetOrCreateResponse
122
127
  rpc :ImageJoinStreaming, ::Modal::Client::ImageJoinStreamingRequest, stream(::Modal::Client::ImageJoinStreamingResponse)
@@ -149,6 +154,7 @@ module Modal
149
154
  rpc :QueuePut, ::Modal::Client::QueuePutRequest, ::Google::Protobuf::Empty
150
155
  # Sandboxes
151
156
  rpc :SandboxCreate, ::Modal::Client::SandboxCreateRequest, ::Modal::Client::SandboxCreateResponse
157
+ rpc :SandboxCreateConnectToken, ::Modal::Client::SandboxCreateConnectTokenRequest, ::Modal::Client::SandboxCreateConnectTokenResponse
152
158
  rpc :SandboxGetFromName, ::Modal::Client::SandboxGetFromNameRequest, ::Modal::Client::SandboxGetFromNameResponse
153
159
  rpc :SandboxGetLogs, ::Modal::Client::SandboxGetLogsRequest, stream(::Modal::Client::TaskLogsBatch)
154
160
  rpc :SandboxGetResourceUsage, ::Modal::Client::SandboxGetResourceUsageRequest, ::Modal::Client::SandboxGetResourceUsageResponse
@@ -159,9 +165,12 @@ module Modal
159
165
  rpc :SandboxRestore, ::Modal::Client::SandboxRestoreRequest, ::Modal::Client::SandboxRestoreResponse
160
166
  rpc :SandboxSnapshot, ::Modal::Client::SandboxSnapshotRequest, ::Modal::Client::SandboxSnapshotResponse
161
167
  rpc :SandboxSnapshotFs, ::Modal::Client::SandboxSnapshotFsRequest, ::Modal::Client::SandboxSnapshotFsResponse
168
+ rpc :SandboxSnapshotFsAsync, ::Modal::Client::SandboxSnapshotFsAsyncRequest, ::Modal::Client::SandboxSnapshotFsAsyncResponse
169
+ rpc :SandboxSnapshotFsAsyncGet, ::Modal::Client::SandboxSnapshotFsAsyncGetRequest, ::Modal::Client::SandboxSnapshotFsResponse
162
170
  rpc :SandboxSnapshotGet, ::Modal::Client::SandboxSnapshotGetRequest, ::Modal::Client::SandboxSnapshotGetResponse
163
171
  rpc :SandboxSnapshotWait, ::Modal::Client::SandboxSnapshotWaitRequest, ::Modal::Client::SandboxSnapshotWaitResponse
164
172
  rpc :SandboxStdinWrite, ::Modal::Client::SandboxStdinWriteRequest, ::Modal::Client::SandboxStdinWriteResponse
173
+ rpc :SandboxTagsGet, ::Modal::Client::SandboxTagsGetRequest, ::Modal::Client::SandboxTagsGetResponse
165
174
  rpc :SandboxTagsSet, ::Modal::Client::SandboxTagsSetRequest, ::Google::Protobuf::Empty
166
175
  rpc :SandboxTerminate, ::Modal::Client::SandboxTerminateRequest, ::Modal::Client::SandboxTerminateResponse
167
176
  rpc :SandboxWait, ::Modal::Client::SandboxWaitRequest, ::Modal::Client::SandboxWaitResponse
@@ -182,6 +191,7 @@ module Modal
182
191
  # Tasks
183
192
  rpc :TaskClusterHello, ::Modal::Client::TaskClusterHelloRequest, ::Modal::Client::TaskClusterHelloResponse
184
193
  rpc :TaskCurrentInputs, ::Google::Protobuf::Empty, ::Modal::Client::TaskCurrentInputsResponse
194
+ rpc :TaskGetCommandRouterAccess, ::Modal::Client::TaskGetCommandRouterAccessRequest, ::Modal::Client::TaskGetCommandRouterAccessResponse
185
195
  rpc :TaskList, ::Modal::Client::TaskListRequest, ::Modal::Client::TaskListResponse
186
196
  rpc :TaskResult, ::Modal::Client::TaskResultRequest, ::Google::Protobuf::Empty
187
197
  # Tokens (web auth flow)
@@ -209,6 +219,7 @@ module Modal
209
219
  rpc :VolumeRemoveFile2, ::Modal::Client::VolumeRemoveFile2Request, ::Google::Protobuf::Empty
210
220
  rpc :VolumeRename, ::Modal::Client::VolumeRenameRequest, ::Google::Protobuf::Empty
211
221
  # Workspaces
222
+ rpc :WorkspaceBillingReport, ::Modal::Client::WorkspaceBillingReportRequest, stream(::Modal::Client::WorkspaceBillingReportItem)
212
223
  rpc :WorkspaceNameLookup, ::Google::Protobuf::Empty, ::Modal::Client::WorkspaceNameLookupResponse
213
224
  end
214
225
 
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: modal_proto/task_command_router.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/empty_pb'
8
+ require 'modal_proto/api_pb'
9
+
10
+
11
+ descriptor_data = "\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"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\"\x92\x03\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\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\"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\"\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\"L\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\"=\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t*\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\xe1\x06\n\x11TaskCommandRouter\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\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\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\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponseB&Z$github.com/modal-labs/modal/go/protob\x06proto3"
12
+
13
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
15
+
16
+ module Modal
17
+ module TaskCommandRouter
18
+ TaskExecPollRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecPollRequest").msgclass
19
+ TaskExecPollResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecPollResponse").msgclass
20
+ TaskExecStartRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStartRequest").msgclass
21
+ TaskExecStartResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStartResponse").msgclass
22
+ TaskExecStdinWriteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStdinWriteRequest").msgclass
23
+ TaskExecStdinWriteResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStdinWriteResponse").msgclass
24
+ TaskExecStdioReadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStdioReadRequest").msgclass
25
+ TaskExecStdioReadResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStdioReadResponse").msgclass
26
+ TaskExecWaitRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecWaitRequest").msgclass
27
+ TaskExecWaitResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecWaitResponse").msgclass
28
+ TaskMountDirectoryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskMountDirectoryRequest").msgclass
29
+ TaskSnapshotDirectoryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskSnapshotDirectoryRequest").msgclass
30
+ TaskSnapshotDirectoryResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskSnapshotDirectoryResponse").msgclass
31
+ TaskExecStderrConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStderrConfig").enummodule
32
+ TaskExecStdioFileDescriptor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStdioFileDescriptor").enummodule
33
+ TaskExecStdoutConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("modal.task_command_router.TaskExecStdoutConfig").enummodule
34
+ end
35
+ end
@@ -0,0 +1,37 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: modal_proto/task_command_router.proto for package 'modal.task_command_router'
3
+
4
+ require 'grpc'
5
+ require 'modal_proto/task_command_router_pb'
6
+
7
+ module Modal
8
+ module TaskCommandRouter
9
+ module TaskCommandRouter
10
+ class Service
11
+
12
+ include ::GRPC::GenericService
13
+
14
+ self.marshal_class_method = :encode
15
+ self.unmarshal_class_method = :decode
16
+ self.service_name = 'modal.task_command_router.TaskCommandRouter'
17
+
18
+ # Poll for the exit status of an exec'd command.
19
+ rpc :TaskExecPoll, ::Modal::TaskCommandRouter::TaskExecPollRequest, ::Modal::TaskCommandRouter::TaskExecPollResponse
20
+ # Execute a command in the task.
21
+ rpc :TaskExecStart, ::Modal::TaskCommandRouter::TaskExecStartRequest, ::Modal::TaskCommandRouter::TaskExecStartResponse
22
+ # Write to the stdin stream of an exec'd command.
23
+ rpc :TaskExecStdinWrite, ::Modal::TaskCommandRouter::TaskExecStdinWriteRequest, ::Modal::TaskCommandRouter::TaskExecStdinWriteResponse
24
+ # Get a stream of output from the stdout or stderr stream of an exec'd command.
25
+ rpc :TaskExecStdioRead, ::Modal::TaskCommandRouter::TaskExecStdioReadRequest, stream(::Modal::TaskCommandRouter::TaskExecStdioReadResponse)
26
+ # Wait for an exec'd command to exit and return the exit code.
27
+ rpc :TaskExecWait, ::Modal::TaskCommandRouter::TaskExecWaitRequest, ::Modal::TaskCommandRouter::TaskExecWaitResponse
28
+ # Mount an image at a directory in the container.
29
+ rpc :TaskMountDirectory, ::Modal::TaskCommandRouter::TaskMountDirectoryRequest, ::Google::Protobuf::Empty
30
+ # Snapshot a directory with a mounted image, including any local changes, into a new image.
31
+ rpc :TaskSnapshotDirectory, ::Modal::TaskCommandRouter::TaskSnapshotDirectoryRequest, ::Modal::TaskCommandRouter::TaskSnapshotDirectoryResponse
32
+ end
33
+
34
+ Stub = Service.rpc_stub_class
35
+ end
36
+ end
37
+ end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modal-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Corletti
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-07-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
- description: A gem to interact with Modal from your Ruby, Rails, or Sinatra applications
12
+ description: A gem to work with Modal from your Ruby, Rails, etc applications.
13
13
  email:
14
14
  - anthcor@gmail.com
15
15
  executables: []
@@ -34,9 +34,11 @@ files:
34
34
  - lib/modal_proto/api_pb.rb
35
35
  - lib/modal_proto/api_services_pb.rb
36
36
  - lib/modal_proto/options_pb.rb
37
+ - lib/modal_proto/task_command_router_pb.rb
38
+ - lib/modal_proto/task_command_router_services_pb.rb
37
39
  homepage: https://rubygems.org/gems/modal_rb
38
40
  licenses:
39
- - Apache-2.0
41
+ - MIT
40
42
  metadata: {}
41
43
  rdoc_options: []
42
44
  require_paths:
@@ -45,14 +47,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
45
47
  requirements:
46
48
  - - ">="
47
49
  - !ruby/object:Gem::Version
48
- version: 2.7.0
50
+ version: 3.4.0
49
51
  required_rubygems_version: !ruby/object:Gem::Requirement
50
52
  requirements:
51
53
  - - ">="
52
54
  - !ruby/object:Gem::Version
53
55
  version: '0'
54
56
  requirements: []
55
- rubygems_version: 3.6.3
57
+ rubygems_version: 4.0.3
56
58
  specification_version: 4
57
- summary: Interact with modal from your Ruby code
59
+ summary: Work with Modal from your Ruby code.
58
60
  test_files: []