restate-sdk 0.5.0-aarch64-linux → 0.5.1-aarch64-linux

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c4926d9f1b3d398f990db7c8c1b69992d15dca6c4351b26ca2acdb544241dbb
4
- data.tar.gz: fa7141828b226288c421d9fd3e7e312542996ba54f84fa3b8037b7f392143315
3
+ metadata.gz: a81d6c3c60667dd85535a4c6f668e7bff95ee2d52948640751458793f8389987
4
+ data.tar.gz: b9015e2e91776a61b23a636120aeef049857ef37f5bc17ba8c31b3a1988c2348
5
5
  SHA512:
6
- metadata.gz: 97997980254554521ee6b9a24244de9a8115664bef4585b1d856ac859b8c590ae20ed938208d06f245d1d019951ec7be51f73217c359e7ceaae43da24875f21b
7
- data.tar.gz: 135673211c2a556bba886aefc3ce4b3d8b20312330a985d908a08d50b4e2d1c744514b3fec5918ecfe1fc89bb916adcc353649d28371365725913cf3872fce01
6
+ metadata.gz: '059edf3c35921e494373a1960f65cdd6f6f33a7c1ad9308c7759be87e48b9e3e2246d831b02ef4e9d00305150c409a3bbae5a62290cb824e76b4f68f18b79fe4'
7
+ data.tar.gz: f772b40c32a8200b77f5dede3c4d10d5a92e226f58f52c32a769293e4d0ef14d8f5784c915945704dac3147764c204110fc2352a0d265288659dc96d095f03f6
data/Cargo.lock CHANGED
@@ -569,7 +569,7 @@ dependencies = [
569
569
 
570
570
  [[package]]
571
571
  name = "restate_internal"
572
- version = "0.5.0"
572
+ version = "0.5.1"
573
573
  dependencies = [
574
574
  "magnus",
575
575
  "rb-sys",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "restate_internal"
3
- version = "0.5.0"
3
+ version = "0.5.1"
4
4
  edition = "2021"
5
5
  publish = false
6
6
 
Binary file
Binary file
Binary file
Binary file
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Restate
5
- VERSION = '0.5.0'
5
+ VERSION = '0.5.1'
6
6
  end
@@ -0,0 +1,307 @@
1
+ # typed: true
2
+
3
+ # RBI shipped with the restate-sdk gem.
4
+ # Tapioca merges this automatically when users run `tapioca gems`.
5
+
6
+ module Restate
7
+ # Create an endpoint, optionally binding services.
8
+ sig do
9
+ params(
10
+ services: T.untyped,
11
+ protocol: T.nilable(String),
12
+ identity_keys: T.nilable(T::Array[String])
13
+ ).returns(Restate::Endpoint)
14
+ end
15
+ def self.endpoint(*services, protocol: nil, identity_keys: nil); end
16
+
17
+ # Returns the current context (any handler).
18
+ sig { returns(Restate::Context) }
19
+ def self.current_context; end
20
+
21
+ # Returns the current context for a VirtualObject exclusive handler.
22
+ sig { returns(Restate::ObjectContext) }
23
+ def self.current_object_context; end
24
+
25
+ # Returns the current context for a VirtualObject shared handler.
26
+ sig { returns(Restate::ObjectSharedContext) }
27
+ def self.current_shared_context; end
28
+
29
+ # Returns the current context for a Workflow main handler.
30
+ sig { returns(Restate::WorkflowContext) }
31
+ def self.current_workflow_context; end
32
+
33
+ # Returns the current context for a Workflow shared handler.
34
+ sig { returns(Restate::WorkflowSharedContext) }
35
+ def self.current_shared_workflow_context; end
36
+
37
+ class TerminalError < StandardError
38
+ sig { returns(Integer) }
39
+ def status_code; end
40
+
41
+ sig { params(message: String, status_code: Integer).void }
42
+ def initialize(message = '', status_code: 500); end
43
+ end
44
+
45
+ class AttemptFinishedEvent
46
+ sig { returns(T::Boolean) }
47
+ def set?; end
48
+
49
+ sig { void }
50
+ def wait; end
51
+ end
52
+
53
+ Request = T.type_alias { T.untyped }
54
+
55
+ class RunRetryPolicy < T::Struct
56
+ const :initial_interval, T.nilable(Integer)
57
+ const :max_attempts, T.nilable(Integer)
58
+ const :max_duration, T.nilable(Integer)
59
+ const :max_interval, T.nilable(Integer)
60
+ const :interval_factor, T.nilable(Float)
61
+ end
62
+
63
+ class DurableFuture
64
+ sig { returns(T.untyped) }
65
+ def await; end
66
+
67
+ sig { returns(T::Boolean) }
68
+ def completed?; end
69
+
70
+ sig { returns(Integer) }
71
+ def handle; end
72
+ end
73
+
74
+ class DurableCallFuture < DurableFuture
75
+ sig { returns(String) }
76
+ def invocation_id; end
77
+
78
+ sig { void }
79
+ def cancel; end
80
+ end
81
+
82
+ class SendHandle
83
+ sig { returns(String) }
84
+ def invocation_id; end
85
+
86
+ sig { void }
87
+ def cancel; end
88
+ end
89
+
90
+ # Base context interface for all Restate handlers.
91
+ module Context
92
+ sig do
93
+ params(
94
+ name: String, serde: T.untyped, retry_policy: T.nilable(RunRetryPolicy),
95
+ background: T::Boolean, action: T.proc.returns(T.untyped)
96
+ ).returns(DurableFuture)
97
+ end
98
+ def run(name, serde: Restate::JsonSerde, retry_policy: nil, background: false, &action); end
99
+
100
+ sig do
101
+ params(
102
+ name: String, serde: T.untyped, retry_policy: T.nilable(RunRetryPolicy),
103
+ background: T::Boolean, action: T.proc.returns(T.untyped)
104
+ ).returns(T.untyped)
105
+ end
106
+ def run_sync(name, serde: Restate::JsonSerde, retry_policy: nil, background: false, &action); end
107
+
108
+ sig { params(seconds: Numeric).returns(DurableFuture) }
109
+ def sleep(seconds); end
110
+
111
+ sig do
112
+ params(
113
+ service: T.any(String, T::Class[T.anything]), handler: T.any(String, Symbol),
114
+ arg: T.untyped, key: T.nilable(String), idempotency_key: T.nilable(String),
115
+ headers: T.nilable(T::Hash[String, String]), input_serde: T.untyped, output_serde: T.untyped
116
+ ).returns(DurableCallFuture)
117
+ end
118
+ def service_call(service, handler, arg, key: nil, idempotency_key: nil, headers: nil,
119
+ input_serde: T.unsafe(nil), output_serde: T.unsafe(nil)); end
120
+
121
+ sig do
122
+ params(
123
+ service: T.any(String, T::Class[T.anything]), handler: T.any(String, Symbol),
124
+ arg: T.untyped, key: T.nilable(String), delay: T.nilable(Numeric),
125
+ idempotency_key: T.nilable(String), headers: T.nilable(T::Hash[String, String]),
126
+ input_serde: T.untyped
127
+ ).returns(SendHandle)
128
+ end
129
+ def service_send(service, handler, arg, key: nil, delay: nil, idempotency_key: nil,
130
+ headers: nil, input_serde: T.unsafe(nil)); end
131
+
132
+ sig do
133
+ params(
134
+ service: T.any(String, T::Class[T.anything]), handler: T.any(String, Symbol),
135
+ key: String, arg: T.untyped, idempotency_key: T.nilable(String),
136
+ headers: T.nilable(T::Hash[String, String]), input_serde: T.untyped, output_serde: T.untyped
137
+ ).returns(DurableCallFuture)
138
+ end
139
+ def object_call(service, handler, key, arg, idempotency_key: nil, headers: nil,
140
+ input_serde: T.unsafe(nil), output_serde: T.unsafe(nil)); end
141
+
142
+ sig do
143
+ params(
144
+ service: T.any(String, T::Class[T.anything]), handler: T.any(String, Symbol),
145
+ key: String, arg: T.untyped, delay: T.nilable(Numeric),
146
+ idempotency_key: T.nilable(String), headers: T.nilable(T::Hash[String, String]),
147
+ input_serde: T.untyped
148
+ ).returns(SendHandle)
149
+ end
150
+ def object_send(service, handler, key, arg, delay: nil, idempotency_key: nil,
151
+ headers: nil, input_serde: T.unsafe(nil)); end
152
+
153
+ sig do
154
+ params(
155
+ service: T.any(String, T::Class[T.anything]), handler: T.any(String, Symbol),
156
+ key: String, arg: T.untyped, idempotency_key: T.nilable(String),
157
+ headers: T.nilable(T::Hash[String, String]), input_serde: T.untyped, output_serde: T.untyped
158
+ ).returns(DurableCallFuture)
159
+ end
160
+ def workflow_call(service, handler, key, arg, idempotency_key: nil, headers: nil,
161
+ input_serde: T.unsafe(nil), output_serde: T.unsafe(nil)); end
162
+
163
+ sig do
164
+ params(
165
+ service: T.any(String, T::Class[T.anything]), handler: T.any(String, Symbol),
166
+ key: String, arg: T.untyped, delay: T.nilable(Numeric),
167
+ idempotency_key: T.nilable(String), headers: T.nilable(T::Hash[String, String]),
168
+ input_serde: T.untyped
169
+ ).returns(SendHandle)
170
+ end
171
+ def workflow_send(service, handler, key, arg, delay: nil, idempotency_key: nil,
172
+ headers: nil, input_serde: T.unsafe(nil)); end
173
+
174
+ sig do
175
+ params(
176
+ service: String, handler: String, arg: String,
177
+ key: T.nilable(String), idempotency_key: T.nilable(String),
178
+ headers: T.nilable(T::Hash[String, String])
179
+ ).returns(DurableCallFuture)
180
+ end
181
+ def generic_call(service, handler, arg, key: nil, idempotency_key: nil, headers: nil); end
182
+
183
+ sig do
184
+ params(
185
+ service: String, handler: String, arg: String,
186
+ key: T.nilable(String), delay: T.nilable(Numeric),
187
+ idempotency_key: T.nilable(String), headers: T.nilable(T::Hash[String, String])
188
+ ).returns(SendHandle)
189
+ end
190
+ def generic_send(service, handler, arg, key: nil, delay: nil, idempotency_key: nil, headers: nil); end
191
+
192
+ sig { params(serde: T.untyped).returns([String, DurableFuture]) }
193
+ def awakeable(serde: Restate::JsonSerde); end
194
+
195
+ sig { params(awakeable_id: String, payload: T.untyped, serde: T.untyped).void }
196
+ def resolve_awakeable(awakeable_id, payload, serde: Restate::JsonSerde); end
197
+
198
+ sig { params(awakeable_id: String, message: String, code: Integer).void }
199
+ def reject_awakeable(awakeable_id, message, code: 500); end
200
+
201
+ sig { params(invocation_id: String).void }
202
+ def cancel_invocation(invocation_id); end
203
+
204
+ sig { params(futures: DurableFuture).returns([T::Array[DurableFuture], T::Array[DurableFuture]]) }
205
+ def wait_any(*futures); end
206
+
207
+ sig { returns(T.untyped) }
208
+ def request; end
209
+
210
+ sig { returns(String) }
211
+ def key; end
212
+ end
213
+
214
+ # VirtualObject shared handler context (read-only state).
215
+ module ObjectSharedContext
216
+ include Context
217
+
218
+ sig { params(name: String, serde: T.untyped).returns(T.untyped) }
219
+ def get(name, serde: Restate::JsonSerde); end
220
+
221
+ sig { params(name: String, serde: T.untyped).returns(DurableFuture) }
222
+ def get_async(name, serde: Restate::JsonSerde); end
223
+
224
+ sig { returns(T.untyped) }
225
+ def state_keys; end
226
+
227
+ sig { returns(DurableFuture) }
228
+ def state_keys_async; end
229
+ end
230
+
231
+ # VirtualObject exclusive handler context (full state access).
232
+ module ObjectContext
233
+ include ObjectSharedContext
234
+
235
+ sig { params(name: String, value: T.untyped, serde: T.untyped).void }
236
+ def set(name, value, serde: Restate::JsonSerde); end
237
+
238
+ sig { params(name: String).void }
239
+ def clear(name); end
240
+
241
+ sig { void }
242
+ def clear_all; end
243
+ end
244
+
245
+ # Workflow shared handler context (read-only state + promises).
246
+ module WorkflowSharedContext
247
+ include ObjectSharedContext
248
+
249
+ sig { params(name: String, serde: T.untyped).returns(T.untyped) }
250
+ def promise(name, serde: Restate::JsonSerde); end
251
+
252
+ sig { params(name: String, serde: T.untyped).returns(T.untyped) }
253
+ def peek_promise(name, serde: Restate::JsonSerde); end
254
+
255
+ sig { params(name: String, payload: T.untyped, serde: T.untyped).void }
256
+ def resolve_promise(name, payload, serde: Restate::JsonSerde); end
257
+
258
+ sig { params(name: String, message: String, code: Integer).void }
259
+ def reject_promise(name, message, code: 500); end
260
+ end
261
+
262
+ # Workflow main handler context (full state + promises).
263
+ module WorkflowContext
264
+ include ObjectContext
265
+
266
+ sig { params(name: String, serde: T.untyped).returns(T.untyped) }
267
+ def promise(name, serde: Restate::JsonSerde); end
268
+
269
+ sig { params(name: String, serde: T.untyped).returns(T.untyped) }
270
+ def peek_promise(name, serde: Restate::JsonSerde); end
271
+
272
+ sig { params(name: String, payload: T.untyped, serde: T.untyped).void }
273
+ def resolve_promise(name, payload, serde: Restate::JsonSerde); end
274
+
275
+ sig { params(name: String, message: String, code: Integer).void }
276
+ def reject_promise(name, message, code: 500); end
277
+ end
278
+
279
+ # Stateless service base class.
280
+ class Service; end
281
+
282
+ # Keyed virtual object base class.
283
+ class VirtualObject; end
284
+
285
+ # Durable workflow base class.
286
+ class Workflow; end
287
+
288
+ class Endpoint
289
+ sig { params(services: T.untyped).void }
290
+ def bind(*services); end
291
+
292
+ sig { void }
293
+ def streaming_protocol; end
294
+
295
+ sig { void }
296
+ def request_response_protocol; end
297
+
298
+ sig { params(key: String).void }
299
+ def identity_key(key); end
300
+
301
+ sig { returns(T.untyped) }
302
+ def app; end
303
+ end
304
+
305
+ module JsonSerde; end
306
+ module BytesSerde; end
307
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restate-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Restate Developers
@@ -89,6 +89,7 @@ files:
89
89
  - lib/restate/vm.rb
90
90
  - lib/restate/workflow.rb
91
91
  - lib/tapioca/dsl/compilers/restate.rb
92
+ - rbi/restate-sdk.rbi
92
93
  homepage: https://github.com/restatedev/sdk-ruby
93
94
  licenses:
94
95
  - MIT